Interaction Design WikiElectrical Engineering

H-Bridge

Eine H-Brücke ist eine integrierte Schaltung, welche es erlaubt, die Fliessrichtung des Gleichstromes zu kontrollieren. Dadurch ist sie perfekt geeignet um sie z.B. für die Kontrolle von Gleichstrommotoren zu verwenden. Anders als bei der Verwendung eines Transistor als Schalter sind wir mit einer H-Brücke in der Lage den Motor in die eine oder andere Richtung drehen zu lassen. Es gibt unterschiedliche Typen von H-Brücken, die sich in ihren Eigenschaften – vor allem der Stärke – leicht unterscheiden. Die Belegung der Pins ist jedoch bei allen H-Brücken gleich. Die am meisten verwendeten H-Brücken sind die SN754410 (Datenblatt) oder L293D (Datenblatt). In der folgenden Darstellung sieht man das Beispiel einer SN754410.

Auf jeder Seite der H-Brücke lässt sich prinzipiell ein Motor ansteuern. Zu erst sollten jedoch alle Anschlüsse für die Spannungsversorgung verbunden werden. Dies sind GND für Ground, VCC1 für die 5V Speisung und VCC2 für eine externe Spannungsquelle (Motorspezifikationen beachten). Die Pins 1A, 2A, 3A und 4A sind dazu da, die Drehrichtung (Fliessrichtung der Spannung) einzustellen. Die Logik ist dabei: Wenn 1A HIGH und 2A LOW, dann dreht der Motor in eine Richtung, wenn 1A LOW und 2A HIGH, dann dreht der Motor in die andere Richtung. Dasselbe gilt für die Pins 3A und 4A. Der Motor selber wird an den Pins 1Y, 2Y bzw. 3Y, 4Y angeschlossen. Durch die Verwendung der Pins 1,2 EN und 3,4 EN können die H-Brücken ein bzw. ausgeschaltet werden. Hier lässt sich auch ein PWM Signal (siehe Pulse Width Modulation) anlegen um die Geschwindigkeit des Motors zu beeinflussen.

Ein weiterer Nutzen kann der Einsatz einer H-Brücke zum ansteuern eines Schrittmotors sein. Wie das geht, zeigt dieses Tutorial.

Beispiel

1x Arduino
1x H-Brücke SN754410 (Datenblatt)
1x DC Motor 

Beispiel Motor  Expand source
#define MOTOR_PIN_A 5
#define MOTOR_PIN_B 6
void setup() 
{
  pinMode(MOTOR_PIN_A, OUTPUT);
  pinMode(MOTOR_PIN_B, OUTPUT);
}
void loop() 
{
  //Eine Richtung
  digitalWrite(MOTOR_PIN_A, HIGH);
  digitalWrite(MOTOR_PIN_B, LOW);
  delay(5000);
  
  //Andere Richtung
  digitalWrite(MOTOR_PIN_A, LOW);
  digitalWrite(MOTOR_PIN_B, HIGH);
  delay(5000);
}

Aufgaben

1. Nutze einen Taster um die Laufrichtung des Motors zu verändern.
2. Verbinde den 1,2 EN Pin mit einem digitalen Output des Arduino und integriere diesen Pin in deinen Code.
3. Wie könnte man die Geschwindigkeit des Motors verändern? 

Weitere Informationen

H-Brücke - Wikipedia