Contrôle de moteur à courant continu avec un Arduino

9

Cela peut être une question simple et stupide, mais je me demande pourquoi je ne peux pas simplement connecter un moteur CC à une carte Arduino pour le faire fonctionner. Une broche au sol et l'autre à l'une des sorties PWM.

Je viens de faire le didacticiel de balayage pour un servomoteur http://arduino.cc/en/Tutorial/Sweep et cela fonctionne très bien. Je sais qu'un servo a plus d'électronique là-dedans avec un pot fournissant des commentaires.

D'après ce que je comprends pour piloter même un petit moteur à courant continu, j'aurais besoin de plus de circuits (un pont en H?) Ou d'un autre blindage dédié à la commande de moteurs. Je peux comprendre cela si je conduisais des moteurs CC relativement gros.

Mais j'essaie de comprendre pourquoi un petit moteur à courant continu avec une masse et une entrée PWM ne fonctionnerait pas. Surtout pour un moteur brossé comme celui-ci http://music.columbia.edu/~douglas/classes/motor_mania/DC_simple2.jpg

Ce n'est sûrement qu'une question de courant continu traversant le fil. Est-ce la charge inductive qui s'accumule dans les bobines qui peut provoquer un retour de courant vers la carte, c'est le problème.

Fondamentalement, d'un point de vue conceptuel, étant donné que j'ai une terre et une tension (albiet une impulsion), que dois-je faire pour le faire fonctionner un moteur à courant continu.

Chaitanya
la source

Réponses:

6

C'est à cause de la quantité de courant dont vous avez besoin pour faire fonctionner le moteur, l'arduino ne peut pas fournir beaucoup.

pseudo
la source
Mais j'avais l'impression que le moteur à l'intérieur d'un servo est assez similaire au moteur DC ci-dessus. Il est clair que l'ardunio semble être en mesure de conduire cela.
Chaitanya du
5
Avec un servo, le moteur n'est pas alimenté par l'Arduino. L'Arduino fournit juste un signal de faible puissance pour lui dire dans quel sens se tourner.
Toby Jaffey
Attendez, quand vous dites "Arduino", vous voulez dire la puce Atmel? Parce que dans le tutoriel servo, il n'y a pas d'autre alimentation. Le 5V et le gnd proviennent tous les deux de la carte Arduino. Je suppose que vous voulez dire que la sortie PWM qui est connectée à la puce Atmel ne fournit pas suffisamment de courant?
Chaitanya
En effet, je le fais. Tu as raison. La ligne d'alimentation servo se détache de l'alimentation de l'Arduino, le signal PWM provient d'une broche AVR.
Toby Jaffey
Je sais que c'est un vieux fil, mais à titre de suivi, pourrais-je contrôler un grand servo (couple élevé) avec l'arduino, ou aurais-je besoin de le câbler différemment?
LoveMeSomeCode
6

En plus de ce que tout le monde a dit, vous avez besoin d'un circuit de protection pour vous assurer que le recul inductif du moteur ne détruit pas les broches de votre Arduino, ce qui se produira éventuellement s'il n'est pas protégé.

AngryEE
la source
4

Comme indiqué précédemment, la broche Arduino PWM ne peut pas fournir / absorber la quantité de courant requise pour faire fonctionner même un petit moteur CC. La meilleure façon de le faire serait d'utiliser un pont en H entre l'Arduino et le moteur. Une alternative moins coûteuse serait d'utiliser un MOSFET de puissance capable de fournir le courant requis par votre moteur. Microchip a une note d'application qui décrit ces méthodes de contrôle moteur.

mjh2007
la source
4

Avez-vous besoin d'un contrôle bidirectionnel de votre moteur à courant continu? Si c'est le cas, je recommanderais fortement le circuit suivant (même si vous utiliserez une broche PWM pour chaque direction, vous obtiendrez plus qu'assez d'amplification de courant de votre source d'alimentation que l'Arduino ne peut pas fournir): alt text http: / /imagebin.ca/img/CKdfPB6n.png

stanigator
la source
2
lien image cassé
antony.trupe