Wie die Geschwindigkeit eines DC-Motor zu ändern mit dem Arduino

Manchmal braucht man mehr Kontrolle über die Geschwindigkeit des Motors zu haben, die die Arduino Sie mit der Motordreh Skizze zu tun erlaubt. Die folgende Abbildung zeigt Ihnen, wie Sie steuern die Geschwindigkeit des Motors mit der gleichen Schaltung.

Menu

Die Motordreh Skizze

Öffnen Sie eine neue Arduino Skizze, speichern Sie sie mit einem einprägsamen Namen, wie myMotorSpeed, und geben Sie dann den folgenden Code ein.

int motorPin = 9-Lücke setup () {pinMode(MotorPin, AUSGABE) -} Void loop () {für(int motorValue = 0 - motorValue lt; = 255- motorValue + = 5) {analogWrite(MotorPin, motorValue) -verzögern(30) -}für(int motorValue = 255 - motorValue> = 0- motorValue - = 5) {analogWrite(MotorPin, motorValue) -verzögern(30) -}}

Nachdem Sie die Skizze eingegeben haben, speichern Sie sie und die Compile-Taste drücken, um den Code zu überprüfen. Das Arduino-Umgebung sollten alle Grammatikfehler im Nachrichtenbereich markieren, wenn sie entdeckt werden.

Wenn die Skizze richtig kompiliert, klicken Sie auf Hochladen, um die Skizze zu dem Board hochzuladen. Wenn das Hochladen abgeschlossen ist, sollten Sie einen Motor haben, die sehr langsam mit zu beginnen dreht, beschleunigt seine schnellste Spin nach oben, dreht sich wieder zum Stillstand, und dann wiederholt. Es kann schwierig sein, das zu sehen, so sollten Sie etwas mehr sichtbar, wie Klebemasse zu beheben, um Ihnen zu zeigen, was los ist.

Sie bei niedrigster Punkt kann feststellen, dass der Motor summt gerade. Wenn ja, ist dies kein Problem- es bedeutet nur, dass der Elektromagnet nicht genug Spannung hat, die motorisch zu spinnen es mehr Spannung zu erzeugen, um den Magnetismus braucht und an Dynamik gewinnen.

Die Motordreh Skizze Aufschlüsselung

Der Stift Sie werden mit der Motorschaltung zu steuern, digitalen Stift 9 wird erklärt.

int motorPin = 9-

Da es sich um eine Ausgabe ist, definieren Sie es in Setup.

Leere setup () {pinMode(MotorPin, AUSGABE) -}

In der Hauptschleife, die Sie verwenden analogWrite Dies ist das gleiche Prinzip wie bei der Fade Skizze, die ein PWM-Wert zu senden 9. Pin verwendet, um eine LED verblassen. Der Erste für Schleife sendet eine allmählich steigende Wert an Pin 9, bis er den maximalen PWM-Wert von 255. Der zweite erreicht für Schleife kehrt allmählich dieser Wert auf 0- dann der Zyklus wiederholt sich

Leere Schleife () {für(int motorValue = 0 - motorValue lt; = 255- motorValue + = 5) {analogWrite(MotorPin, motorValue) -verzögern(30) -}für(int motorValue = 255 - motorValue> = 0- motorValue - = 5) {analogWrite(MotorPin, motorValue) -verzögern(30) -}}

Dieser Prozess könnte verglich einen Automotor zu drehende. Wenn Sie das Pedal nach unten drücken, beschleunigen Sie die volle Geschwindigkeit. Wenn Sie das Gaspedal tippen, beschleunigt der Motor und dann verlangsamt. Wenn Sie es mit einer konstanten Geschwindigkeit tippen, bevor es verlangsamt, werden Sie etwas von der Dynamik des Spinnmotors aufrechtzuerhalten und eine durchschnittliche erreichen (wenn auch etwas ruckartig) Geschwindigkeit.

Dies ist, was der Transistor tut, aber sehr schnell. Die Intervalle zwischen den ein- und ausgeschaltet und die Dynamik des Motors ermöglicht es Ihnen, analoge Verhalten von einem digitalen Signal zu erreichen.

Menü