Das Raspberry Pi Motor Driver Board v1.0 ist ein Motortreiber, der auf dem Dual-H-Brücken-IC MC33932 von Freescale basiert und induktive Lasten bis zu 5,0 A pro Einzelbrücke steuern kann. Es ermöglicht Ihnen, zwei DC-Motoren mit einem Raspberry Pi B / B + / A + und Pi 2 Model B zu steuern und ihre Geschwindigkeit und Richtung unabhängig voneinander zu steuern.
Der Motorcontroller unterstützt einen sehr weiten Eingangsspannungsbereich von 6V ~ 28V. Darüber hinaus unterstützt der DC/DC-Wandler auf dem Board auch einen sehr weiten Eingangsspannungsbereich und versorgt den Raspberry Pi auch mit 5V bei einem maximalen Strom von 1000mA. Ein Netzteil reicht also aus, um sowohl die Motoren anzutreiben als auch den Raspberry Pi mit Strom zu versorgen.
kaufe jetzt |
Charakteristisch
- Ausgangskurzschlussschutz (VPWR oder GND)
- Überstrombegrenzung (Regelung) durch internes PWM mit fester Ausschaltzeit
- Reduzierung der temperaturabhängigen Stromgrenze
- Kompatibel mit Raspberry Pi
Technische Spezifikationen
Charakteristisch | Mindest | Typisch | max | Einheit |
---|---|---|---|---|
Betriebsspannung | 6 | / | 28 | VDC |
DC / DC-Ausgang | / | 5V / 1000mA | / | |
Ausgangsstrom (für jeden Kanal) | / | 2 (Dauerbetrieb) | 5 (Spitze) | UND |
PWM-Frequenz | / | / | 11 | kHz |
Ausgangslastbereich | 0 | / | 100 | % |
Logikeingangsspannung | -0,3 | / | 7 | v |
Arbeitstemperatur | -40 | / | 120 | ° C |
Maße | 91 x 56,15 x 32 | mm |
Hardware-Übersicht
- J1 : Eingangsanschluss.
- J2 : Motortreiber-Ausgangsanschluss.
- EN, FT : Jumper für EN-Steuerung und Fehlererkennung. Beim Kurzschließen des EN-Jumpers wird das EN-Signal auf Pin D4 abgebildet, Sie können den Ausgang der H-Brücke steuern oder den Fehler über Pin D4 zurücksetzen. Im Falle eines Kurzschlusses des FT-Jumpers wird das Fehlersignal auf den D3-Pin abgebildet, und der Fehler kann vom D3-Pin-Ether gelesen werden.
- IO : Jumper zur Auswahl des logischen Spannungspegels.
- Stromversorgung : Die Abschirmung wird von J1 (DC-Eingangsanschluss) mit Strom versorgt. Der Eingangsspannungsbereich kann auf 6 VDC ~ 28 VDC eingestellt werden. Der DC/DC-Wandler kann die DC-Eingangsspannung in eine 5-V-DC-Ausgangsspannung umwandeln, um Logikschaltungen mit Strom zu versorgen. Der DC/DC-Wandler kann auch das Mikrocontroller-Board (Arduino/Seeeduino) vom "5V"-Pin mit einem maximalen Strom von 100mA versorgen.
- Motorschnittstelle : Out 1 und Out 2 (Out 3 und Out 4) verbinden Motor A (B) für DC-Motor.
Beachtung Berühren Sie während des Betriebs nicht den H-Brücken-IC oder die Platine. Ihre Temperatur kann bei voller Beladung bis zu 100 Grad Celsius betragen. |
Verwendungszweck
Diese Demo verwendet den Raspberry Pi B, um zu zeigen, wie das Raspberry Pi Motor Driver Board v1.0 verwendet werden kann, um einen Gleichstrommotor vorwärts und rückwärts zu steuern.
Hardware-Montage
- Raspberry Pi B und Raspberry Pi Motortreiberplatine v1.0
- Hardware-Montage wie im Bild gezeigt
An das Stromnetz und die Stromversorgung anschließen.
Software
- Laden Sie Motor_Driver.py und PiSoftPwn.py in denselben Ordner herunter. Unten ist der Code Motor_Driver.py.
#! / usr / bin / python RPi.GPIO als GPIO importieren Importzeit Signal importieren aus PiSoftPwm importieren * #print 'Go_1 ...' #Frequenz = 1.0 / self.sc_1.GetValue () #speed = self.sc_2.GetValue () Klasse Motor (): def __init __ (selbst): # MC33932-Stifte self.PWMA = 25 self.PWMB = 22 selbst._IN1 = 23 self._IN2 = 24 selbst._IN3 = 17 self._IN4 = 27 # PWMA PWMB initialisieren GPIO.setmode (GPIO.BCM) GPIO.setup (selbst.PWMA, GPIO.OUT) GPIO.setup (selbst.PWMB, GPIO.OUT) GPIO.output (selbst.PWMA, True) GPIO.output (self.PWMB, True) # PWM-Ausgänge initialisieren self.OUT_1 = PiSoftPwm (0.1, 100, self._IN1, GPIO.BCM) self.OUT_2 = PiSoftPwm (0.1, 100, self._IN2, GPIO.BCM) self.OUT_3 = PiSoftPwm (0.1, 100, self._IN3, GPIO.BCM) self.OUT_4 = PiSoftPwm (0.1, 100, self._IN4, GPIO.BCM) # PWM-Ausgabe schließen self.OUT_1.start (0) self.OUT_2.start (0) self.OUT_3.start (0) selbst.OUT_4.start (0) Eigenfrequenz = 0,01 self.duty = 60 def Einstellung (self, frequency, duty): self.frequency = Frequenz self.duty = Pflicht def Go_1 (selbst): self.OUT_1.changeBaseTime (selbst.Frequenz) self.OUT_2.changeBaseTime (selbst.Frequenz) self.OUT_1.changeNbSlicesOn (self.duty) self.OUT_2.changeNbSlicesOn (0) def Back_1 (selbst): self.OUT_1.changeBaseTime (selbst.Frequenz) self.OUT_2.changeBaseTime (selbst.Frequenz) self.OUT_1.changeNbSlicesOn (0) self.OUT_2.changeNbSlicesOn (self.duty) def Go_2 (selbst): self.OUT_3.changeBaseTime (selbst.Frequenz) self.OUT_4.changeBaseTime (selbst.Frequenz) self.OUT_3.changeNbSlicesOn (0) self.OUT_4.changeNbSlicesOn (self.duty) def Back_2 (selbst): self.OUT_3.changeBaseTime (selbst.Frequenz) self.OUT_4.changeBaseTime (selbst.Frequenz) self.OUT_3.changeNbSlicesOn (self.duty) self.OUT_4.changeNbSlicesOn (0) def Stop (selbst): self.OUT_1.changeNbSlicesOn (0) self.OUT_2.changeNbSlicesOn (0) self.OUT_3.changeNbSlicesOn (0) self.OUT_4.changeNbSlicesOn (0) if __name __ == "__ main__": Motor = Motor () # Wird bei Prozessunterbrechung aufgerufen. Stellen Sie alle Pins auf den Standardmodus "Input" ein. def endProcess (signalnum = None, handler = None): motor.OUT_1.stop () motor.OUT_2.stop () motor.OUT_3.stop () motor.OUT_4.stop () motor.GPIO.cleanup () Ausgang (0) # Handler für den Prozessausgang vorbereiten signal.signal (signal.SIGTERM, endProcess) signal.signal (signal.SIGINT, endProcess) signal.signal (signal.SIGHUP, endProcess) signal.signal (signal.SIGQUIT, endProcess) Motor.Einstellung (0.01, 60) print 'Motorstart ...' während wahr: print 'Motor A dreht vorwärts ...' motor.Go_1 () time.sleep (1) print 'Motor A dreht rückwärts ...' motor.Zurück_1 () time.sleep (1) print 'Motor A stop ...' motor.Stopp () time.sleep (1) print 'Motor B dreht vorwärts ...' motor.Go_2 () time.sleep (1) print 'Motor B dreht rückwärts ...' motor.Zurück_2 () time.sleep (1) print 'Motor B stop ...' motor.Stopp () time.sleep (1)
- Schalten Sie dieses Programm ein. LED1, LED2 auf dem Raspberry Pi Motor Driver Board v1.0 blinken abwechselnd; LED3, LED4 leuchten ebenfalls abwechselnd.
Das bedeutet, dass Out 1 und Out 2 (Out 3 und Out 4) Motor A (B) vorwärts und rückwärts verbinden.
- Das Phänomen ist wie folgt:
Serielle Konsole:
Raspberry Pi Motor Driver Board v1.0: Die grüne LED und die blaue LED blinken abwechselnd.