工具:
- 樹莓派3b+
- TBTB6612FNG 直流電機驅動
- 直流電機
- 一個外部電源(稍大一點的給電機驅動供電,我用的7.2V)
一,樹莓派引腳圖,以及電機驅動板引腳說明
(樹莓派引腳圖方便你連線,電機驅動板引腳圖方便理解)
電機驅動示意圖及其接口說明:
A控制信號輸入------PWMA VM ------電機驅動電壓輸入端(4.5V-15V)
A電機輸入端2 ------AIN2 VCC ------邏輯電平輸入端(2.7V-5.5V)
A電機輸入端1 ------AIN1 GND ------ 接地
正常工作/待機狀態控制端------STBY AO1 ------- A電機輸出端1
B電機輸入端1------BIN1 AO2 ------ A電機輸出端2
B電機輸入端2------BIN2 BO2 ------ B電機輸出端2
B控制信號輸入端------PWMB BO1 ------ B電機輸出端1
接地------GND GND ------- 接地
二,連線圖(控制兩個電機),
(手繪的很醜,還望見諒)
三,實驗程序,直線運動
mport RPi.GPIO as GPIO # 引入GPIO模塊
import cv2 as cv
PWMA = 17
AIN1 = 22
AIN2 = 27
PWMB = 13
BIN1 = 19
BIN2 = 26
#setmode
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
#gpio.out
GPIO.setup(AIN2,GPIO.OUT)
GPIO.setup(AIN1,GPIO.OUT)
GPIO.setup(PWMA,GPIO.OUT)
L_Motor= GPIO.PWM(PWMA,100)
L_Motor.start(0)
GPIO.setup(BIN2,GPIO.OUT)
GPIO.setup(BIN1,GPIO.OUT)
GPIO.setup(PWMB,GPIO.OUT)
R_Motor= GPIO.PWM(PWMB,100)
R_Motor.start(0)
L_Motor.ChangeDutyCycle(10)
GPIO.output(AIN2,True)#AIN2
GPIO.output(AIN1,False) #AIN1
R_Motor.ChangeDutyCycle(10)
GPIO.output(BIN2,True)#AIN2
GPIO.output(BIN1,False) #AIN1
input()
GPIO.cleanup()