- Erforderliche Komponenten:
- Schaltplan und Erläuterungen:
- Aktuelle Berechnungen:
- Funktionsweise eines Arduino-gesteuerten bidirektionalen Motors:
In diesem Projekt steuern wir Richtung und Geschwindigkeit eines 24-V-Hochstrommotors mit Arduino und zwei Relais. Für diese Schaltung werden keine Netzschalter benötigt, nur zwei Drucktasten und im Potentiometer, um die Richtung und Geschwindigkeit des Gleichstrommotors zu steuern. Ein Druckknopf dreht den Motor im Uhrzeigersinn und der andere gegen den Uhrzeigersinn. Ein n-Kanal-MOSFET ist erforderlich, um die Motordrehzahl zu steuern. Relais dienen zum Umschalten der Motorrichtung. Es ähnelt der H-Bridge-Schaltung.
Erforderliche Komponenten:
- Arduino Uno
- Zwei 12V Relais (5V Relais kann auch verwendet werden)
- Zwei Transistoren; BC547
- Zwei Drucktasten
- IRF540N
- 10k Widerstand
- 24 Volt Quelle
- 10K Potentiometer
- Drei Dioden 1N4007
- Kabel anschließen
Schaltplan und Erläuterungen:
Das Schaltbild dieses Projekts zur bidirektionalen Motorsteuerung ist in der folgenden Abbildung dargestellt. Stellen Sie die Verbindungen entsprechend her:
- Verbinden Sie den normalerweise geschlossenen Anschluss beider Relais mit dem Pluspol der Batterie.
- Verbinden Sie den normalerweise offenen Anschluss beider Relais mit dem Drain-Anschluss des MOSFET.
- Verbinden Sie die MOSFET-Quelle mit dem Minuspol der Batterie und dem Erdungsstift von Arduino UNO.
- Gate-Anschluss an PWM-Pin 6 von Arduino.
- Verbinden Sie den 10k-Widerstand von Gate zu Source und die 1N4007-Diode von Source zu Drain.
- Schließen Sie den Motor zwischen der mittleren Klemme der Relais an.
- Von zwei verbleibenden Anschlüssen geht einer zum Vin-Pin von Arduino Uno und der andere zum Kollektoranschluss des Transistors (für jedes Relais).
- Verbinden Sie den Emitteranschluss beider Transistoren mit dem GND-Pin von Arduino.
- Die digitalen Pins 2 und 3 von Arduino, jeweils in Reihe mit dem Druckknopf, gehen zur Basis der Transistoren.
- Schließen Sie die Diode genau wie in der Abbildung gezeigt an das Relais an.
- Verbinden Sie den Endanschluss des Potentiometers mit dem 5-V-Pin bzw. dem Gnd-Pin von Arduino. Und Wischeranschluss an A0-Pin.
- ** Wenn Sie zwei separate 12-V-Batterien haben, verbinden Sie den Pluspol einer Batterie mit dem Minuspol einer anderen Batterie und verwenden Sie die verbleibenden zwei Anschlüsse als Plus- und Minuspol.
Zweck der Transistoren: Die
digitalen Pins von Arduino können nicht die Strommenge liefern, die zum Einschalten eines normalen 5-V-Relais erforderlich ist. Außerdem verwenden wir in diesem Projekt 12-V-Relais. Der Vin-Pin von Arduino kann nicht einfach so viel Strom für beide Relais liefern. Daher werden Transistoren verwendet, um Strom vom Vin-Pin des Arduino zum Relais zu leiten, der unter Verwendung eines Druckknopfs gesteuert wird, der vom digitalen Pin zum Basisanschluss des Transistors verbunden ist.
Zweck von Arduino:
- Bereitstellung der zum Einschalten des Relais erforderlichen Strommenge.
- Transistor einschalten.
- Steuerung der Drehzahl von Gleichstrommotoren mit einem Potentiometer mithilfe der Programmierung. Überprüfen Sie am Ende den vollständigen Arduino-Code.
Zweck des MOSFET: Ein
MOSFET wird benötigt, um die Motordrehzahl zu steuern. Der MOSFET wird bei Hochfrequenzspannung ein- und ausgeschaltet. Da der Motor in Reihe mit dem Drain des MOSFET geschaltet ist, bestimmt der PWM-Wert der Spannung die Motordrehzahl.
Aktuelle Berechnungen:
Der Widerstand der Relaisspule wird mit einem Multimeter gemessen, das sich als = 400 Ohm herausstellt
Vin Pin von Arduino ergibt = 12V
Der Strom muss also das Relais einschalten = 12/400 Ampere = 30 mA
Wenn beide Relais angezogen sind, ist Strom = 30 * 2 = 60 mA
** Der Vin-Pin von Arduino kann einen maximalen Strom von 200 mA liefern.
Somit gibt es in Arduino kein Überstromproblem.
Funktionsweise eines Arduino-gesteuerten bidirektionalen Motors:
Die Bedienung dieser 2-Wege-Motorsteuerschaltung ist einfach. Beide Stifte (2, 3) von Arduino bleiben immer hoch.
Wenn kein Druckknopf gedrückt wird:
In diesem Fall fließt kein Strom zur Basis des Transistors, daher bleibt der Transistor ausgeschaltet (wirkt wie ein offener Schalter), wodurch kein Strom zur Relaisspule vom Vin-Pin von Arduino fließt.
Wenn ein Druckknopf gedrückt wird:
In diesem Fall fließt ein Teil des Stroms durch Drücken eines Druckknopfs zur Basis des Transistors, wodurch dieser eingeschaltet wird. Jetzt fließt leicht Strom vom Vin-Pin durch diesen Transistor zur Relaisspule, wodurch dieses Relais (RELAIS A) eingeschaltet wird und der Schalter dieses Relais auf die Position NO gestellt wird. Während sich das andere Relais (RELAIS B) noch in der NC-Position befindet. Der Strom fließt also vom Pluspol der Batterie zum Minuspol durch den Motor, dh der Strom fließt vom Relais A zum Relais B. Dies bewirkt eine Drehung des Motors im Uhrzeigersinn.
Wenn ein anderer Druckknopf gedrückt wird:
Diesmal schaltet sich ein anderes Relais ein. Jetzt fließt leicht Strom vom Vin-Pin durch den Transistor zur Relaisspule, wodurch dieses Relais (RELAIS B) eingeschaltet wird und der Schalter dieses Relais auf die Position NO gestellt wird. Während das andere Relais (RELAIS A) in der NC-Position bleibt. Der Strom fließt also vom Pluspol der Batterie zum Minuspol der Batterie durch den Motor. Diesmal fließt jedoch Strom von Relais B zu Relais A. Dies bewirkt eine Drehung des Motors gegen den Uhrzeigersinn
Wenn beide Drucktasten gedrückt werden:
In diesem Fall fließt Strom zur Basis beider Transistoren, wodurch beide Transistoren eingeschaltet werden (wirkt wie ein geschlossener Schalter). Und somit befinden sich beide Relais jetzt in der Position NO. Es fließt also kein Strom vom Pluspol der Batterie zum Minuspol durch den Motor und dreht sich daher nicht.
Steuerung der Drehzahl des Gleichstrommotors:
Das Gate des MOSFET ist mit dem PWM-Pin 6 von Arduino UNO verbunden. Mosfet wird bei hoher PWM-Frequenzspannung ein- und ausgeschaltet. Da der Motor in Reihe mit dem Drain des Mosfet geschaltet ist, bestimmt der PWM-Spannungswert die Motordrehzahl. Jetzt bestimmt die Spannung zwischen dem Wischeranschluss des Potentiometers und Gnd die PWM-Spannung an Pin Nr. 6, und wenn der Wischeranschluss gedreht wird, ändert sich die Spannung am analogen Pin A0, was zu einer Änderung der Motordrehzahl führt.
Die vollständige Funktionsweise dieser bidirektionalen Motordrehzahl- und Richtungssteuerung auf Arduino-Basis wird im folgenden Video mit dem Arduino-Code gezeigt.