Kann ich mit einem Arduino und einem L293D IC die Anzahl der Umdrehungen eines Gleichstrommotors steuern? Oder kann ich nur die Richtung und Geschwindigkeit des Motors steuern?
Ich kaufte eine zweirädrige Roboterplattform, um Arduino-Programmierung und Elektronik zu lernen. Die Plattform ist hier: http://www.robotshop.com/de/dfrobot-2wd-mobile-platform-arduino.html
Jedes Rad wird von einem Gleichstrommotor gesteuert. Ich folgte dem Tutorial von Adafruit ( https://learn.adafruit.com/adafruit-arduino-lesson-15-dc-motor-reversing ), um die Motoren mithilfe eines L293D-IC zu steuern.
Jetzt merke ich, dass ich die Drehungen des Motors nicht direkt steuern kann. Ich kann die Richtung, Spannung und Zeit der Drehung steuern. Zum Beispiel: 500 Millisekunden bei 50% Spannung vorwärts schalten.
Aber das ist schwer in tatsächliche Rotationen umzusetzen. Die Drehzahl des Motors variiert je nach Spannung (z. B. wenn ich von 2AA-Batterien auf 4AA-Batterien umschalte) und Gewicht (das Hinzufügen von Sensoren verlangsamt die Motoren). Jedes Mal, wenn ich Spannung oder Gewicht ändere, muss ich raten, wie viel Spannung / Zeit eine einzelne Umdrehung verursacht.
Ich denke, ich sollte nur Schrittmotoren kaufen. Bevor ich das mache, werde ich die Community fragen: Gibt es eine Möglichkeit, Gleichstrommotoren eher durch Rotation als durch Zeit zu steuern?
Antworten:
Wie Sie entdeckt haben, gibt es viele Variablen beteiligt, so müssen Sie eine gewisse Art von Feedback. Ein beliebter Weg, dies zu tun, ist mit einem Encoder, aber abhängig von Ihren Anforderungen können andere Arten von Sensoren ausreichen. Wenn Ihr Problem beispielsweise darin besteht, den Roboter in einer geraden Linie zu halten, kann ein elektronischer Kompass helfen. Für einen Linienverfolgungsroboter reichen normalerweise die Liniensensoren aus. Entfernungssensoren können Ihre Entfernung verfolgen. Du hast die Idee.
quelle
Stepper wäre schwer und batterieverbrauchend, wie Ignacio sagt.
Pololu stellt einen Encoder für ein Rad her: http://www.pololu.com/product/1217 , aber natürlich können Sie dies auch auf andere Weise implementieren.
quelle