Raspberry Pi Motor Driver Board v1.0 je ovladač motoru založený na IC Freescale MC33932 Dual H-Bridge IC, který dokáže ovládat indukční zátěže až 5,0 A na jeden most. Umožňuje vám ovládat dva stejnosměrné motory pomocí Raspberry Pi B / B + / A + a Pi 2 Model B, nezávisle na jejich rychlosti a směru.
Regulátor motoru podporuje velmi široký rozsah vstupního napětí 6V ~ 28V. Převodník DC / DC na desce také podporuje velmi široký rozsah vstupního napětí a také napájí Raspberry Pi s 5 V při maximálním proudu 1000 mA. Jeden napájecí zdroj proto stačí k pohonu motorů i napájení Raspberry Pi.
kup nyní |
Charakteristický
- Ochrana proti zkratu na výstupu (VPWR nebo GND)
- Omezení nadproudu (regulace) interním PWM s pevnou dobou vypnutí
- Snížení teplotního limitu závislého na teplotě
- Kompatibilní s Raspberry Pi
Technické specifikace
Vlastnosti | Min | Typický | Max | Jednotka |
---|---|---|---|---|
Pracovní napětí | 6 | / | 28 | VDC |
DC / DC výstup | / | 5 V / 1 000 mA | / | |
Výstupní proud (pro každý kanál) | / | 2 (nepřetržitý provoz) | 5 (vrchol) | A |
Frekvence PWM | / | / | 11 | kHz |
Rozsah výstupního zatížení | 0 | / | 100 | % |
Logické vstupní napětí | -0,3 | / | 7 | PROTI |
Pracovní teplota | -40 | / | 120 | ° C |
Rozměry | 91 x 56,15 x 32 | mm |
Přehled hardwaru
- J1 : vstupní konektor.
- J2 : Výstupní konektor ovladače motoru.
- EN, FT : Propojky pro ovládání EN a detekci poruch. V případě zkratu můstku EN bude signál EN mapován na pin D4, můžete ovládat výstup H můstku nebo resetovat chybu přes pin D4. V případě zkratu propojky FT bude chybový signál mapován na pin D3 a chybu lze číst z ethernetu pinů D3.
- IO : jumper pro výběr úrovně logického napětí.
- Napájení : Stínění je napájeno z J1 (DC vstupní konektor). Rozsah vstupního napětí lze nastavit na 6Vdc ~ 28Vdc. Převodník DC / DC může převádět vstupní napětí DC na výstupní napětí 5 V DC, aby dodával logiku. Převodník DC / DC může také napájet desku mikrokontroléru (Arduino / Seeeduino) z pinu „5V“ s maximálním proudem 100 mA.
- Rozhraní motoru : Out 1 a Out 2 (Out 3 a Out 4) připojují motor A (B) pro stejnosměrný motor.
Pozor Během provozu se nedotýkejte čipu H-můstku nebo PCB. Jejich teplota může být při plném zatížení až 100 stupňů Celsia. |
Používání
Toto demo používá Raspberry Pi B k ukázce, jak lze desku ovladače Raspberry Pi Motor Driver Board v1.0 použít k ovládání stejnosměrného motoru dopředu a dozadu.
Montáž hardwaru
- Deska ovladače Raspberry Pi B a Raspberry Pi v1.0
- Sestava hardwaru, jak je znázorněno na obrázku
Připojte k elektrické síti a ke zdroji napájení.
Software
- Stáhněte si Motor_Driver.py a PiSoftPwn.py do stejné složky. Níže je uveden kód Motor_Driver.py.
#! / usr / bin / python importovat RPi.GPIO jako GPIO čas importu importovat signál z importu PiSoftPwm * #print 'Go_1 ...' #frequency = 1,0 / self.sc_1.GetValue () #speed = self.sc_2.GetValue () třída Motor (): def __init __ (vlastní): # MC33932 kolíky self.PWMA = 25 self.PWMB = 22 self._IN1 = 23 self._IN2 = 24 self._IN3 = 17 self._IN4 = 27 # Inicializovat PWMA PWMB GPIO.setmode (GPIO.BCM) GPIO.setup (self.PWMA, GPIO.OUT) GPIO.setup (self.PWMB, GPIO.OUT) GPIO.výstup (self.PWMA, True) GPIO.output (self.PWMB, True) # Inicializujte výstupy PWM 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) # Zavřete výstup pwm self.OUT_1.start (0) self.OUT_2.start (0) self.OUT_3.start (0) self.OUT_4.start (0) vlastní frekvence = 0,01 vlastní daň = 60 def Nastavení (vlastní, frekvence, povinnost): self.frequency = frekvence self.duty = povinnost def Go_1 (vlastní): self.OUT_1.changeBaseTime (self.frequency) self.OUT_2.changeBaseTime (self.frequency) self.OUT_1.changeNbSlicesOn (self.duty) self.OUT_2.changeNbSlicesOn (0) def Back_1 (vlastní): self.OUT_1.changeBaseTime (self.frequency) self.OUT_2.changeBaseTime (self.frequency) self.OUT_1.changeNbSlicesOn (0) self.OUT_2.changeNbSlicesOn (self.duty) def Go_2 (vlastní): self.OUT_3.changeBaseTime (self.frequency) self.OUT_4.changeBaseTime (self.frequency) self.OUT_3.changeNbSlicesOn (0) self.OUT_4.changeNbSlicesOn (self.duty) def Back_2 (vlastní): self.OUT_3.changeBaseTime (self.frequency) self.OUT_4.changeBaseTime (self.frequency) self.OUT_3.changeNbSlicesOn (self.duty) self.OUT_4.changeNbSlicesOn (0) def Stop (vlastní): self.OUT_1.changeNbSlicesOn (0) self.OUT_2.changeNbSlicesOn (0) self.OUT_3.changeNbSlicesOn (0) self.OUT_4.changeNbSlicesOn (0) pokud __name __ == "__ main__": motor = motor () # Volano při přerušení procesu. Nastavte všechny piny na výchozí režim „Vstup“. 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 () výstup (0) # Připravte obslužné rutiny na ukončení procesu signal.signal (signal.SIGTERM, endProcess) signal.signal (signal.SIGINT, endProcess) signal.signal (signal.SIGHUP, endProcess) signal.signal (signal.SIGQUIT, endProcess) nastavení motoru (0,01, 60) tisk 'start motoru ...' zatímco je pravda: tisk 'motor A otáčení vpřed ...' motor.Go_1 () time.sleep (1) tisk 'motor A otáčení dozadu ...' motor.Back_1 () time.sleep (1) tisk 'motor A stop ...' motor.Stop () time.sleep (1) tisk 'motor B otáčení vpřed ...' motor.Go_2 () time.sleep (1) tisk 'motor B otáčení dozadu ...' motor.Back_2 () time.sleep (1) tisk 'motor B stop ...' motor.Stop () time.sleep (1)
- Zapněte tento program. LED1, LED2 na desce ovladače motoru Raspberry Pi v1.0 budou střídavě blikat; LED3, LED4 se také střídavě rozsvítí.
To znamená, že Out 1 a Out 2 (Out 3 a Out 4) spojují motor A (B) dopředu a dozadu.
- Tento jev je následující:
Sériová konzole:
Deska ovladače motoru Raspberry Pi v1.0: zelená LED a modrá LED střídavě blikají.