網頁最後修改時間:2016/05/06
欲操作直流馬達或是步進馬達,可上露天賣場選購此電路板
馬達驅動板的應用實例,可參考部落格的網頁:
Note:此網頁並不會說明 L298N 馬達驅動板的規格,這些資料都列在露天賣場上,有需要再利用連結點擊前往。
L298N 馬達驅動板說明:
下圖是 L298N 馬達驅動板實體圖上各接腳的說明,請使用它作為下面各電路接線圖輔助之用
L298N 馬達驅動板個接腳說明 |
在接下來的兩個圖面:一個是 L298N 晶片內部功能方塊圖,清楚的圖示出整個晶片受控與輸出的功能方式,紅色字的部分對應到電路圖的電源標示;另一個則是 L298N 馬達驅動板的設計電路圖,其中更特別標示出跳線帽 ( 黃色兩小啞鈴圖示 ) 的位置。
對照與比對 L298N 資料手冊 ( Page1 ) 的方塊圖與 L298N 馬達驅動板電路圖,應該不難了解這些跳線帽的功能,和圖面中各電源的名稱定義與關係。
L298N 晶片內部功能示意圖 ( source: STMicroelectronics L298N datasheet ) |
L298N 馬達驅動板電路圖 |
在 L298N 馬達驅動板電路圖中,IN1 和 IN2 控制 OUT1 與 OUT2 的輸出電源;而 IN3 和 IN4 控制 OUT3 與 OUT4 的輸出電源。
輸出電源的極性控制則是經由兩個輸入端的組合而定 ( 可使用下面表格來對照 L298N 晶片內部功能示意圖 ),這些控制方法將會用在馬達轉向控制與程式撰寫上。
ENA ( ENB ) | IN1 ( IN3 ) | IN2 ( IN4 ) | OUT1 ( OUT3 ) | OUT2 ( OUT4 ) | 馬達狀態 |
---|---|---|---|---|---|
0 | X | X | X | X | 無動力停止 |
1 | 0 | 0 | 快速煞車 | ||
1 | 0 | 1 | 0 | 1 | 正轉 |
1 | 1 | 0 | 1 | 0 | 反轉 |
1 | 1 | 1 | 快速煞車 |
詳細的接線圖如下所示,點擊可放大看看原圖。
電源接線方式 (A):L298N 馬達驅動板,正反轉建議接線 |
實際接線 (A) 的情況如下圖所示,電路圖中的 BAT1 就是照片中綠色轉接頭連接的地方,依照實際馬達驅動電壓輸入就可以了 ( 此處使用的電壓必須大於 5V,小於 5V 時必須使用兩組電源輸入,也就是要使用下面 (B) 的接線方式 )。
馬達正反轉控制線路照片 ( 使用外接電源 DC 12V ) |
或許有人會問,樹莓派是 3V3 的邏輯準位,這樣行得通嗎 ?
先不說是實驗求得結果,而是由規格書上 ( L298N, Page 3 ) 來看
- Ven = L ( Enable Low Voltage ):-0.3 ~ 1.5V
- Ven = H ( Enable High Voltage ):2.3 ~ Vs ( Vs 指的是邏輯電壓,這裡是指降壓之後的 DC 5V )
所以使用 3V3 邏輯準位是可以正常動作的。
下面兩個電路圖 ( B ) 和 ( C ) 是電源部分其他接線的方式,提供給有需要的人做參考;使用上,建議使用電源接線方式 (A) 就可以了。
電源接線方式 (B):L298N 馬達驅動板,正反轉接線 |
電源接線方式 (C):L298N 馬達驅動板,正反轉接線 |
馬達正反轉測試:
點擊下方的連結或是輸入下面指令下載測試程式
pi@raspberrypi ~ $ cd Codes pi@raspberrypi ~/Codes $ wget -O - http://goo.gl/RiNF15 | tar zxvf - .... << 過程省略 >> .... pi@raspberrypi ~/Codes $ cd Motor_FR/ pi@raspberrypi ~/Codes/Motor_FR $ ls -l 總計 12 -rwxr-xr-x 1 pi pi 7242 2月 23 19:36 motorfr -rw-r--r-- 1 pi pi 3102 2月 23 19:36 motorFR.c pi@raspberrypi ~/Codes/Motor_FR $
馬達正反轉測試程式碼 (http://goo.gl/RiNF15)
直接輸入 ./motorfr 就會出現下面的選單,讓使用者選擇兩顆馬達的轉向
Motor Control ------------------------------ 1: motor 1, forward 2: motor 1, backward 3: motor 1, stop 4: motor 2, forward 5: motor 2, backward 6: motor 2, stop ------------------------------ Select:
這是個較容易完成的測試,原始程式碼與編譯的指令都在 motorFR.c 裡面。若需要對馬達進行轉速控制的話,可參考 "eZ430 運動手錶控制樹莓派小車 ( 開迴路控制 )" 網頁中,使用 LPD8806 作為 L298N 馬達驅動板 PWM 信號產生器的馬達轉速控制那一節的介紹說明。
請問按照A電路圖接好了 可是在數莓終端上執行 選擇1~6都沒有反應 問題可能出在哪裡呢?
回覆刪除(A) 圖示使用外掛獨立的電源,因此去除掉 IN1 - IN4 的電源之後,拿兩條線分別接在 IN1 與 IN2 ( 或 IN3 與 IN4 ) ,再與三個終端子的"邏輯輸入電源"與"電源(負極)" 做接觸,就可以模擬由樹莓派輸入的正反轉訊號。可以動就表示 L298N 沒壞。
刪除L298N 沒壞的話,就是您的接線接錯了 ! 檢查一下您外接電源的接地與樹莓派的GND 是否有接在一起。
上述兩點已確認過都沒有問題,還能怎麼做呢
刪除1. 外掛給馬達的電源電壓是多少 ?
刪除2. 如果你用的是我網頁中使用的那一款,能照我上面說的方法驅動馬達,只是使用樹莓派的程式不能驅動的話,那還是接線的問題 !!!
可以確認一下您的樹莓派接腳,分別控制正反轉
#define IN1 25 // Motor 1
#define IN2 24 // Motor 1
#define IN3 23 // Motor 2
#define IN4 18 // Motor 2
開啟程式並選擇選項後,量樹莓派接腳和接地(GND)之間的電壓,對照程式碼裡面的 line 25 - 31,就應該會顯示 3V3 或是 0V,確認一下 !
如果連這邊也 OK !,兩邊都沒問題,那就是再檢查電路圖與接線有無問題 !!!!
我看不到你的接線,只能土法煉鋼 !
感謝 問題已解決
刪除有個另外的問題想請問您
由於我樹梅派上接腳不夠用,我用到了GPIO9.10
但是他原本有自己的功能用途(直接用有衝突),有方法能重新定義GPIO功能嗎
因為其他的腳位,我已有其他用途
您好:
刪除GPIO9和10 是 SPI 功能接腳,如果要重新定義變成 GPIO 來使用,必須放棄系統的 SPI 功能。
下 sudo raspi-config (http://www.raspberrypi.org/documentation/configuration/raspi-config.md) 重新進入系統選單,好像在 "advanced options" 裡面 A5 SPI 選項,進入之後 disable 就可以將接腳恢復成一般的 GPIO 接腳。設定好之後若系統有提示要重開機,別忘了聽它的!
已解決 感謝您
刪除您好:請問我有兩組電源 ,一組從數莓上接出5V 一組為電池(因為我用兩塊驅動版4輪,不多接一組電會不夠) ,接到馬達驅動版上時,要兩者都接到 外部輸入電源上,還是個接一組比較好呢?還是沒有差別
刪除您好:
刪除建議您使用 (A) 組接線!
樹莓派只出控制訊號就好,馬達驅動板的電源全部都是由電池供應。