Das Anschließen der Motoren über ein externe H-Brücke



Wenn man die Motoren über die normalen Pins des Boards steuern würde, geht das Board aus, da die normale Energieversorgung über den USB-Port oder die kleine externe Energieversorgung nicht mehr ausreicht. Außerdem entstehen durch das Anfahren oder Anhalten der Motoren Spannungsspitzen oder Spannungslücken, die das Gleiche verursachen. Des Weiteren sind die Pins des Arduino-Boards nicht dafür ausgelegt hohe Ströme zu steuern.

Deshalb verwendet man eine H-Brückensteuerung, um diese Probleme zu umgehen. Auf dem Romeo-Board befindet ein entsprechendes IC, bei mehr als ca. 600mA sollte man eine externe H-Brücke verwenden. Um das oben gezeigte zu verwenden ist folgendes notwendig:

Als erstes schließt man die externe Energieversorgung für die Motoren (5-35V) an VCC und GND an. Achtung, bei falscher Polung kann das Bauteil zerstört werden.
Anschließend benötigt man eine konstante Energieversorgung von 5V, damit die Elektronik des Boards funktioniert. Das Board hat eine eingebaute Schaltung, die für eine konstante Energieversorung über die Motorversorgung erhält, wenn diese 7V oder größer ist. Ist das nicht der Fall, benötigt man eine weitere Energieversorgung, die man zwischen +5 und GND anschließt. Die 5V vom Arduino-Board eignen sich hervorragend dafür.
Danach können bis zu zwei Motoren an die verbleibenen vier blauen Klemmen angeschlossen werden. Motor 1 kommt an OUTA und OUTB, Motor 2 an OUTC und OUTD.
Abschließend läuft die Steuerung von Motor 1 über INA und INB (Richtung, digitaler Ausgang beim Arduino-Board) sowie ENA (Geschwindigkeit, digitaler PWM-Ausgang beim Arduino-Board). Bleibt die Brücke zwischen ENA und 5V drinnen, dann läuft der Motor mit voller Kraft. Eine Steuerung der Geschwindigkeit über INA und INB ist auch möglich, wird aber hier nicht beschrieben. Die verbleibenen Ports INC, IND und ENB sind für den zweiten Motor.

Das IC L298N steuert Ströme von bis zu 2A im Dauerbetrieb und kurzfristig bis zu 3A

Eine ganz gute Erklärung, wie eine H-Brückenschaltung funktioniert, ist hier unter "Grundlagen" erklärt.


Die Ansteuerng der Motoren über die externe H-Brückenschaltung

Die folgende Erklärung bezieht sich nur auf einen Motor, der an INA, INB und ENA angeschlossen wird. INA und INB benötigen einen einfachen digitalen Ausgang, ENA - falls benötigt - eine digitalen PWM-Ausgang. Damit sich der Motor dreht, müssen die digitalen Ausgänge INA und INB unterschiedlich gesetzt sein. Bsp.:

INA INB Richtung
LOW LOW aus
LOW HIGH Richtung A
HIGH LOW Richtung B
HIGH HIGH aus

Was von den beiden vorwärts und rückwärts ist, sollte individuell geprüft werden, weil es auch von der Verdrahtung der Motoren abhängt.

Die Geschwindigkeit wird über ENA gesteuert. Man kann dort ein PWM-Signal anschließen und mit Werten von 0-255 steuern. Dazu muss allerdings der digitale Port als analog definiert sein.

Anbei ein kleines Beispiel:


Die Datei befindet sich hier. Die Datei sollte unter 'Eigene Dateien, Arduino, Bsp_Motoren' abgespeichert werden.