Wie kann ich die Geschwindigkeit eines DC Motors bei Arduino ohne Potentionmeter regeln?

2 Antworten

Ich will übrigens die Geschwindigkeit des Motors mit dem Arduino steuern um mir einen teuren ESC (Electronic Speed Controller) zu sparen. Also die eigentliche Frage lautet: Kann man mit dem Arduino dasselbe Ergebnis erzielen wie mit einem ESC?


Minihawk  20.11.2017, 05:59

die motoren sind zu schnell. eher 1000 Kv nehmen, und trotzdem ein Getriebe nötig.

0
Minihawk  20.11.2017, 05:58

einen Brushless-Regler auf einem Arduino programmieren, das klappt so einfach nicht. man benötigt dann mehrere Ausgänge, die aber auch die Induktionseffekte des Motors messen können. man muss eine Pwm programmieren und ein rotierendes Feld für die Drehung selbst. eher eine Doktorarbeit 😀 kauf einen Motor mit geringer KV und einen Brushlessregler.

0
Minihawk  19.11.2017, 21:31

Das Problem ist: Wir wissen nicht, welchen Strom der Motor ziehen wird. Du wirst je nach dem eine Schaltstufe mit einem Transistor benötigen (die eigentlich auf jeden Fall). Es ist möglich, dass der ESC (das muss einer für Kollektor-Motoren sein) günstiger ist, wenn man ihn z.B. bei Hobbyking kauft.

0
AntonDriller 
Beitragsersteller
 19.11.2017, 22:16
@Minihawk

Es handelt sich übrigens um folgenden Motor: 

https://www.amazon.de/LHI-MT2204%E2%85%A1-Brushless-Quadcopter-Multicopter/dp/B01E3OT7NE/ref=pd_sbs_21_3?_encoding=UTF8&psc=1&refRID=438X90C199VXKKDQ83K8

Wie ich das verstanden habe, brauche ich also doch einen ESC und komme mit der Puls-Weiten-Modulation nicht weiter.

Am besten frag ich aber einfach in einem RC-Laden nach. Das ist vielleicht weniger kompliziert. Aber trotzdem danke für deine Hilfe.

0

Das Zauberwort für die Motorregelung heisst PWM (Puls-Weiten-Modulation). Der Motor bekommt, wenn er langsamer laufen soll, nicht ständig die volle Spannung, sondern eine Frequenz (z.B. 5000Hz) als Rechteckimpuls. Der Rechteckimpuls hat einen Part, wo er Spannung hat, und einen Part, wo er keien Spannung hat. Durch Verschiebung dieses Impulses zu wenig Spannung und viel ohne Spannung läuft der Motor langsamer.

Beispiel:

___----___----___---- : Motor dreht mit halber Geschwindigkeit

________________ : Motor dreht gar nicht

------------------------- : Motor dreht mit voller Geschwindigkeit

_____-_____-_____- : Motor dreht ganz langsam


AntonDriller 
Beitragsersteller
 19.11.2017, 21:05

Aber dreht sich der Motor dann noch gleichmäßig oder wird er, wenn er ganz langsam dreht nicht etwas ruckartig? Also wird sich der Motor gleich verhalten, wie wenn ich die Geschwindigkeit mit einem Potentiometer steuere?

Und wie programmiere ich das dann? Soll ich den Motor immer in gewissen Abständen an und aus stellen? Also:

void loop() {

digitalWrite(2, HIGH);

delay(x);

digitalWrite(2, LOW);

delay(y);

}

0
Minihawk  19.11.2017, 21:28
@AntonDriller

Der Motor dreht sich auch ruhig, wenn er ganz langsam drehen soll. Allerdings hat das ganze Grenzen. Das Ganze hat aber vor allem einen gewaltigen Vorteil: Es wird keine Leistung über das Potentiometer verbraten, es wird also Energie eingespart. Im Falle des Potentiometers wird die überflüssige Spannung am Potentiometer mit dem Strom, den der Motor zieht, in Wärme verwandelt.

0