Controle de Motor DC - Eletrônica - Clube do Hardware
Por Nathália Campioni, 24 de julho de 2017 em Eletrônica
Nathália Campioni 0
Bom dia. Estou com um trabalho que envolve o controle de um motor de vidro elétrico. Consiste em uma bicicleta ergométrica para fisioterapia e preciso alterar o sentido e a velocidade, sem muita variação no torque. Pensei em utilizar uma ponte H com relés para alterar o sentido. Já a velocidade, utilizar PWM, mas não sei qual transistor é o melhor para essa situação, já que o motor de vidro elétrico consome uns 6 A. Ah, o programa do PWM deve ser feito no MSP430g2553. Já olhei alguns exemplos, mas gostaria de explicação quanto ao período que devo colocar. Obrigada desde já.
@Nathália Campioni ,
Usando um desses módulos de ponte H atuais, você não vai precisar de relés, pois os módulos fazem essa inversão para você. Mas terá de escolher o módulo de acordo com os dados de seu motor.
Sobre o período, é uma boa pergunta.... seguem estes links que tem uma boa discussão e teoria sobre isso :
https://electronics.stackexchange.com/questions/242293/is-there-an-ideal-pwm-frequency-for-dc-brush-motors
https://electronics.stackexchange.com/questions/80153/calculate-dc-motor-frequency
https://electronics.stackexchange.com/questions/67663/criteria-behind-selecting-pwm-frequency-for-speed-control-of-a-dc-motor
Certo, mas esses módulos estão na faixa de que preço? Se eu quisesse fazer mesmo, seria mais barato?
você está no caminho certo ao considerar os custos do projeto antes de começar.
Me deu vontade registrar isso.. de novo
pode que isso te ajude
O ideal é com os módulos mesmo mas pode considerar também mosfets de pelo menos 30A
1 hora atrás, Nathália Campioni disse:
Ah, o programa do PWM deve ser feito no MSP430g2553. Já olhei alguns exemplos, mas gostaria de explicação quanto ao período que devo colocar. Obrigada desde já.
Pelo que olhei, o datasheet não está tão detalhado no sentido de explicar o PWM dele, mas olhando os códigos dá para ver que são setadas as flags TA0CCR0 e TA0CCR1 se no caso
TA0CCR0 =1000
TA0CCR1 = 500
O clico dele é 50% ou seja a cada 1000us (microssegundo) o sinal vai ficar ligado por metade do tempo ou seja 500us. Assim a velocidade do motor vai ser a metade... se você quiser aumentar a velocidade você aumenta TA0CCR1 até no máximo 1000, mas ai no caso isso seria um sinal constante ligado ao máximo. Se quiser 25% do motor vai com 250 no TA0CCR1 e por ai vai... Em um programa normal você pode definir uma variável para trocar esse valor... colocando uma variável tipo. Ou seja criando seu "duty cycle".
TA0CCR1=x;
Assim você pode mudar essa velocidade por um botão ou potenciômetro ligado a uma porta I/O por exemplo que pode mudar esse valor de x que você pode iniciar.
https://www.kompulsa.com/example-code-msp430-pwm/
Aqui ensina a fazer o cálculo certinho com teoria
http://www.npeducations.com/2013/05/generation-of-pwm-signal-using-msp430.html?showComment=1469501557574
Se sua referencia for 12KHz 50% de duty cycle ficaria no código
TA0CCR0 =12000
TA0CCR1 = 6000-1
Como as flags são de 2^16 (dois elevado a 16 bits) não tem problema de você colocar esse número ai de 12000. Vi em algum lugar que é melhor usar 1000, mas perdi onde vi isso T_T .
Ainda não programei nesse microcontrolador... então esse é o máximo que conseguir
5 horas atrás, Nathália Campioni disse:
Existem vário tipos , dependendo das correntes envolvidas e dos tipos de motores. Por esse fato é que eu te disse que tem de saber os dados de seu motor elétrico ANTES de adquirir um módulo.
Tem de R$ 10,00 até uns R$ 80,00 , mas uma de 30A de pico fica na faixa de R$ 50,00 .
http://lista.mercadolivre.com.br/ponte-h#D[A:ponte-h]
Esta aqui é excelente e de alta potência, com mais de 40A de pico :
http://produto.mercadolivre.com.br/MLB-807437166-modulo-driver-ponte-h-43a-bts7960-ibt2-_JM
Já esta é boa para até 30A de pico, e tem duas pontes H :
http://produto.mercadolivre.com.br/MLB-790072301-ponte-h-dupla-bridge-motor-30a-vnh2sp30-monster-moto-shield-_JM
Em minha opinião : montar uma com componentes discretos fica bem parruda, usando Mosfets próprios para isso, mas acaba saindo mais caro, fora os detalhes de projeto que podem te fazer perder dias e dias até tudo funcionar sem queimar nada E entregando uma boa potência ao motor.... Eu compraria uma dessas pronta e resolvo meu problema !
Sérgio Lembo 755
Se no circuito for adicionado um sensor de corrente, a sua velocidade também poderá ser constante independente de variação de carga.
No motor DC paralelo (shunt) a velocidade é diretamente proporcional a tensão. No caso de um PWM, acaba sendo diretamento proporcional ao duty cycle. Ocorre que temos perdas na resistencia de armadura do motor. Dessa forma, deve-se fazer uma realimentação da corrente consumida pelo motor para manter na velocidade constante para qualquer carga. A equação fica dessa forma.:
V_alimentação = V_armadura + (I_armadura x R_armadura), onde:
V_alimentação = sua fonte X duty cycle
V_armadura = a tensão da armadura de um motor ideal
I_armadura = corrente drenada pelo motor
R_armadura = Resistencia interna do motor (colocada em série com a armadura ideal)
Com um ajuste correto, consegue-se estabilidade de rotação < 1%. Menor que isso só com tacogerador ou encoder (0,1%). Se tiver como adaptar os encoders usados nos mouses de bolinha vai ter um excelente regulador.
Curioso o lance da corrente constante. Imagino cá com meus velhos botões... se com as mãos eu tento frear meu motor alimentado com v constante, a corrente/tensão do sensor shunt série penso que vá aumentar. Como usar esta informação pra atuar no sistema pra manter o torque ou velocidade ou corrente constante? Pode ser no campo linear mesmo. Deve-se atuar na varmadura e vrotor? Se bem que algumas furadeiras tem o botão de velocidade que até que dá um bom torque em baixa rotação. Nunca abri pra ver...
Também penso que...
Se tiver como adaptar os encoders usados nos mouses de bolinha vai ter um excelente regulador.
pode ser menos difícil mais eficaz. Também pode ser um motorzinho qualquer. Um de passo é melhor
@Isadora Ferraz Furadeiras de corrente alternada usam dimmer com triac e as de corrente continua usam pwm com mosfet.
O botão é um tipo de potenciômetro deslizante.
@Bommu Perneta obrigada, vou testar e qualquer duvida eu mando aqui. Então eu posso adotar 1kHz tranquilamente e só ir ajustando o Duty-Cycle?
@aphawk Esse módulo seria viável? <http://produto.mercadolivre.com.br/MLB-833364842-ponte-h-bridge-motor-monste-30a-vnh2sp30-arduino-_JM?source=gps>
Lendo, acredito que atende as necessidades do motor, mas gostaria de uma confirmação. Na alimentação do motor, eu preciso colocar uma fonte de 12Vdc que forneça a corrente necessária, certo? Outra dúvida: esse módulo também pode ser controlado via MSP430?
Editado 26 de julho de 2017 por Nathália Campioni
Só fazer o teste do código, você pode buscar um simulador para fazer isso... o Proteus tem uns MSP430g, porém não é o mesmo código "2553", contudo, novamente, tem uns parecidos que podem quebrar o galho... Não tem só o Proteus ^^