Controlando Motor DC com Arduino e PWM

Olá pessoal! Vimos no post anterior como realizar o controle de sentido de giro com o módulo Ponte H no NodeMCU. Hoje, faremos o controle de sentido de giro e velocidade utilizando Arduino e PWM com Arduino.

PWM com Arduino

A sigla PWM significa Pulse Width Modulation ou Modulação por Largura de Pulso, em português.

Em poucas palavras, significa que a frequência da onda quadrada (digital) mantém-se em nível lógico alto. No caso do Arduino, em 5V. O tempo em que a onda fica em nível alto é chamada de Duty Cycle.

PWM

Figura 1 – PWM

O valor de duty cycle é dado em porcentagem e determina o valor média da saída. Exemplo: Se o duty cycle é de 50%, o valor da saída é de aproximadamente 2,5V, ou seja, metade da tensão de 5V. Se o duty cycle é de 75%, a saída é de 3,75V aproximadamente.

Como o Arduino não possui saídas digitais, para “simular” uma saída digital, utilizamos o PWM no comando analogWrite. Os valores utilizados variam de 0 a 255, ou seja, 0 para 0V ou duty cycle de 0% e 255 para 5v ou duty cycle de 100%.

Neste post, mostramos como controlar a velocidade de motores utilizando PWM e um módulo Ponte H.

Materiais Necessários

 

Materiais para o projeto

Figura 2 – Materiais para o projeto

Circuito Fritzing

O circuito eletrônico encontra-se na próxima figura:

Circuito PWM com Arduino e Ponte H

Figura 3 – Circuito PWM com Arduino e Ponte H

Neste experimento, utilizamos uma fonte 9V/1A, porém, você pode utilizar uma fonte a partir de 7V até 35V. Atente-se à tensão suportada pelos motores de seu projeto.

Programação

O sketch para funcionamento do projeto encontra-se abaixo:

As linhas de comando de velocidade são:

 

Caso queira manter a velocidade constante do motor, no segundo parâmetro insira um valor entre 0 e 255. Por exemplo, se desejar que o motor A gire em velocidade média:

Montagem final

O módulo Ponte H vem com dois jumpers para manter a velocidade constantes no máximo (5V). Retire os jumpers mostrados na figura abaixo:

Detalhe Jumper

Figura 4 – Detalhe Jumper

Coloque os 6 Jumper Macho Fêmea segundo o circuito esquemático do Fritzing (figura 3).

Insira o conector da fonte no projeto após upload do sketch no Arduino. O projeto em funcionamento encontra-se na figura 5:

Controle de motores DC com Ponte H

Figura 5 – Controle de motores DC com Ponte H

Ao ligar a fonte, você vai perceber que, enquanto um motor gira com velocidade total, o outro gira com velocidade mínima até parar.

Caso queira reverter o sentido de rotação dos motores, apenas troque o nível lógico dos pinos:

Se o pino está em HIGH, mude para LOW e vice-versa. Lembrando que se os pinos estiverem no mesmo nível lógico, os motores irão frear ou parar.

Espero que tenha curtido este tutorial.  Para dúvidas e sugestões, faça seus comentários abaixo! Confira outros produtos em nossa loja!

DEIXE UM COMENTÁRIO