Arduino Uno的數位輸出電流沒辦法直接推動馬達(請不要做任何嘗試,一定會燒壞),直接將馬達連到電池又沒辦法控制,使用繼電器要做到正反轉電路很複雜,這時候可以使用電晶體的晶片組來管控電池到馬達之間的電路,也就是馬達驅動模組。
L298馬達驅動晶片是Arduino教學課程常用的模組,市面上教學文章很多,有3~4種配電方式,讓人眼花撩亂。
其實L298n最正確的使用方式就是不要使用L298n,出問題的機率太高,實在讓人難以恭維,在此建議當作電路入門就好,如果要競賽使用,請乖乖使用做成擴展板型式的模組,或是進階使用電子調速器。
錯誤範例
遇到這種的請塊陶,馬達在滿載或是堵轉的時候L298n都自身難保了,
還肖想它能夠給你5V,如果有人這樣教你,他如果不是有意害你,
那就是你上輩子虧欠他,摸摸鼻子,心中默念「債都還清了」
然後繼續往下學習正確觀念。
範例一
簡易的接法,如果只需要推動一個小馬達可以考慮這個解法。
從Vin取電,L298n會量到7.4V的電壓,相當L298n直接連在電池盒上。
這套電路不用額外拉一條共地線,但是Vin腳位只有一個,如果要再多
一個馬達就不好處理了,而且畢竟還經過Arduino,馬達功率不能太大。
範例二
有大功率馬達的電路還是加個保險絲盤比較安全,配電上並聯也比較方便。
這個接法可以輕易再多擴充幾組L298n,所以可以接很多顆馬達。
保線絲盤本身就是共地的,但是也可以從Arduino Uno再拉一條共地線到L298n 讓訊號更穩定。
範例三
如果有更高功率且使用12V馬達的電路請參考這組。
從保險絲盤再額外接一組穩壓器,再壓降成7.4V給Arduino Uno,
其實Arduino本身也有穩壓器,這個方法可以減少其負擔,
實測這個方法最穩,也可以避免馬達驅動板造成的電壓波動影響到Arduino,
Arduino上面如果有需要連接藍牙或是PS2接收器建議這樣做。
行有餘力的話,也可以將舵機電源獨立並提供穩壓。