Controle de motor DC com um Arduino

9

Esta pode ser uma pergunta simples e tola, mas estou me perguntando por que não consigo conectar um motor DC a uma placa de arduino para que ele funcione. Um pino no chão e o outro em uma das saídas PWM.

Acabei de fazer o tutorial de varredura para um servo motor http://arduino.cc/en/Tutorial/Sweep e funciona bem. Eu sei que um servo tem mais componentes eletrônicos lá com pot fornecendo feedback.

Pelo que entendi para dirigir até um pequeno motor DC, eu precisaria de mais circuitos (uma ponte H?) Ou de outro escudo dedicado aos motores de acionamento. Eu posso entender isso se eu estivesse dirigindo alguns motores DC relativamente grandes.

Mas estou tentando entender por que um pequeno motor DC com uma entrada de aterramento e PWM não funcionaria. Especialmente para um motor escovado como este http://music.columbia.edu/~douglas/classes/motor_mania/DC_simple2.jpg

Certamente é apenas uma questão de corrente contínua passando pelo fio. É a carga indutiva acumulada nas bobinas que pode causar corrente reversa de volta à placa que é o problema.

Basicamente, do ponto de vista conceitual, dado que tenho um terra e uma tensão (embora seja pulsada), o que preciso fazer para fazê-lo acionar um motor DC.

Chaitanya
fonte

Respostas:

6

É por causa da quantidade de corrente necessária para acionar o motor, o arduino não pode fornecer muito.

usuario
fonte
Mas fiquei com a impressão de que o motor dentro de um servo é bastante semelhante ao motor DC acima. Claramente, o ardunio parece ser capaz de conduzir isso.
Chaitanya
5
Com um servo, o motor não é alimentado pelo Arduino. O Arduino está apenas fornecendo um sinal de baixa potência para dizer para onde virar.
Toby Jaffey
Espere, quando você diz "Arduino", você quer dizer o chip Atmel? Porque no tutorial servo, não há outra fonte de alimentação. O 5V e o gnd são provenientes da placa do arduino. Suponho que você queira dizer que a saída PWM conectada ao chip Atmel não fornece corrente suficiente?
Chaitanya
De fato, eu faço. Você está certo. A linha de servo alimentação sai da fonte de alimentação do Arduino, o sinal PWM vem de um pino AVR.
Toby Jaffey
Sei que esse é um encadeamento antigo, mas como acompanhamento, eu poderia controlar um servo grande (alto torque) com o arduino ou precisaria conectá-lo de maneira diferente?
LoveMeSomeCode 15/02
6

Além do que todo mundo disse, você precisa de um circuito de proteção para garantir que a propensão indutiva do motor não destrua os pinos do seu Arduino, o que acontecerá eventualmente se não estiver protegido.

AngryEE
fonte
4

Como foi afirmado anteriormente, o pino do Arduino PWM não pode fornecer / reduzir a quantidade de corrente necessária para operar até um pequeno motor DC. A melhor maneira de fazer isso seria usar uma ponte H entre o Arduino e o motor. Uma alternativa mais barata seria usar um MOSFET de potência capaz de fornecer a corrente necessária ao seu motor. O microchip possui uma nota de aplicação que descreve esses métodos de controle motor.

mjh2007
fonte
4

Você precisa de controle direcional do seu motor DC? Se for esse o caso, eu recomendo o seguinte circuito (mesmo que você use um pino PWM para cada direção, você obterá amplificação de corrente mais do que suficiente da fonte de alimentação que o Arduino não pode fornecer): alt text http: / /imagebin.ca/img/CKdfPB6n.png

stanigator
fonte
2
link da imagem está quebrado
antony.trupe 15/03