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í.




