Gleichstrommotorsteuerung mit einem Arduino

9

Dies mag eine einfache, dumme Frage sein, aber ich frage mich, warum ich nicht einfach einen Gleichstrommotor an eine Arduino-Platine anschließen kann, um ihn zum Laufen zu bringen. Ein Pin an Masse und der andere an einem der PWM-Ausgänge.

Ich habe gerade das Sweep-Tutorial für einen Servomotor http://arduino.cc/en/Tutorial/Sweep gemacht und es funktioniert einwandfrei. Ich weiß, dass ein Servo mehr Elektronik enthält, wobei der Topf Feedback gibt.

Soweit ich weiß, würde ich mehr Antriebe (eine H-Brücke?) Oder eine andere Abschirmung für den Antrieb von Motoren benötigen, um selbst einen kleinen Gleichstrommotor anzutreiben. Ich kann das verstehen, wenn ich einige relativ große Gleichstrommotoren angetrieben habe.

Aber ich versuche zu verstehen, warum ein kleiner Gleichstrommotor mit Masse und PWM-Eingang nicht funktionieren würde. Speziell für einen gebürsteten Motor wie diesen http://music.columbia.edu/~douglas/classes/motor_mania/DC_simple2.jpg

Sicherlich ist es nur eine Frage des Gleichstroms, der durch den Draht fließt. Ist es die induktive Ladung, die sich in den Spulen aufbaut, die einen Rückstrom zur Platine verursachen kann, der das Problem darstellt?

Aus konzeptioneller Sicht, wenn ich eine Masse und eine Spannung habe (albiet eine gepulste), was muss ich tun, damit es einen Gleichstrommotor antreibt.

Chaitanya
quelle

Antworten:

6

Aufgrund der Strommenge, die Sie zum Antreiben des Motors benötigen, kann das Arduino nicht viel liefern.

Nick
quelle
Aber ich hatte den Eindruck, dass der Motor in einem Servo dem obigen Gleichstrommotor ziemlich ähnlich ist. Offensichtlich scheint das Ardunio in der Lage zu sein, das zu fahren.
Chaitanya
5
Bei einem Servo wird der Motor nicht vom Arduino angetrieben. Der Arduino liefert nur ein Signal mit geringer Leistung, um anzugeben, in welche Richtung er drehen soll.
Toby Jaffey
Moment mal, wenn du "Arduino" sagst, meinst du den Atmel-Chip? Im Servo-Tutorial gibt es keine andere Stromversorgung. Die 5V und gnd kommen beide vom Arduino Board. Ich nehme an, Sie meinen, dass der PWM-Ausgang, der an den Atmel-Chip angeschlossen ist, nicht genug Strom liefert?
Chaitanya
In der Tat. Du hast recht. Die Servo-Stromleitung wird von der Stromversorgung des Arduino getrennt, das PWM-Signal kommt von einem AVR-Pin.
Toby Jaffey
Ich weiß, dass dies ein alter Thread ist, aber könnte ich als Folge ein großes Servo (mit hohem Drehmoment) mit dem Arduino steuern oder müsste ich es anders verkabeln?
LoveMeSomeCode
6

Zusätzlich zu dem, was alle anderen gesagt haben, benötigen Sie eine Schutzschaltung, um sicherzustellen, dass ein induktiver Rückschlag vom Motor die Stifte Ihres Arduino nicht zerstört. Dies kann schließlich passieren, wenn er nicht geschützt ist.

AngryEE
quelle
4

Wie bereits erwähnt, kann der Arduino PWM-Pin nicht die Strommenge liefern / senken, die erforderlich ist, um selbst einen kleinen Gleichstrommotor anzutreiben. Der beste Weg, dies zu tun, wäre die Verwendung einer H-Brücke zwischen dem Arduino und dem Motor. Eine kostengünstigere Alternative wäre die Verwendung eines Leistungs-MOSFET, der den von Ihrem Motor benötigten Strom liefern kann. Microchip verfügt über einen Anwendungshinweis , der diese Methoden der Motorsteuerung beschreibt.

mjh2007
quelle
4

Benötigen Sie eine Richtungssteuerung Ihres Gleichstrommotors? In diesem Fall würde ich die folgende Schaltung wärmstens empfehlen (obwohl Sie einen PWM-Pin für jede Richtung verbrauchen, erhalten Sie mehr als genug Stromverstärkung von Ihrer Stromquelle, die der Arduino nicht bereitstellen kann): alt text http: / /imagebin.ca/img/CKdfPB6n.png

Stanigator
quelle
2
Bild Link ist kaputt
antony.trupe