快速認識L298P馬達驅動擴展板

L298P是一款雙H橋直流電機驅動晶片,可用於驅動直流馬達。L298P模組可以直接驅動兩個直流電機,驅動電流可達2A。傑森特別要介紹的這款是擴展板形式,只要插到Arduino Uno,完全不用接線,就能立刻使用。

目前最流行的馬達驅動板一直都是L298N,但它的複雜接線,常讓初學者卻步,也造成很多老師在教學時的困擾。所以傑森真心推薦改用L298P,會輕鬆非常多!

購買L298P:
https://www.jmaker.com.tw/products/l298p

擴展板最讓人擔心的,就是它會不會吃掉過多的PIN腳,嘿,L298P不會哦!

馬達驅動部份:D10、D11、 D12、D13
D4:內建的有源蜂鳴器
D9:伺服馬達

除此之外,其它的PIN腳都能自由運用,就算要把藍牙、紅外線模組、超音波模組全接上也沒什麼問題,而且還提供了方便的PIN腳,還不錯吧!

可用數位PIN腳:D2 D3 D5 D6 D7 D8
可用類比PIN腳:A0 A1 A2 A3 A4 A5

我開始動手試試吧!先把擴展板插到UNO板上。因為要驅動2顆馬達,肯定是要接外部電源的,擴展板上有外接電源的接座,用鎖的,可接4.8V~24V的電池。

接著把兩顆馬達接到MotorA和MotorB的接座上。

接線工作搞定!是的,就是這麼簡單!

開始寫程式囉!要安裝函式庫嗎?不用,直接寫程式就可以了!

D10:控制MotorA的速度,PWM,0~255
D11:控制MotorB的速度,PWM,0~255
D12:控制MotorA的方向,HIGH正轉,LOW反轉
D13:控制MotorB的方向,HIGH正轉,LOW反轉

我們寫一個簡單的程式,先讓兩顆馬達慢速轉、正轉,5秒;然後兩顆馬達用稍快的速度,反轉5秒,然後重複。

真的很簡單對吧,快換掉L298N,改用L298P吧! ^^



int E1 = 10;  //MotorA的速度
int M1 = 12;  //MotorA的轉向
int E2 =11;   //MotorB的速度
int M2 = 13;  //MotorB的轉向
void setup() {
  pinMode(M1, OUTPUT);
  pinMode(M2, OUTPUT);
}
void loop() {
  digitalWrite(M1,HIGH);  //MotorA正轉
  digitalWrite(M2, HIGH); //MotorB正轉
  analogWrite(E1, 150);  // 用PWM設定MotorA速度
  analogWrite(E2, 150);  // 用PWM設定MotorB速度
  delay(5000);
  digitalWrite(M1,LOW);   //MotorA反轉
  digitalWrite(M2, LOW);  //MotorB反轉
  analogWrite(E1, 220);  //用PWM設定MotorA速度
  analogWrite(E2, 220);  //用PWM設定MotorB速度
  delay(5000);
}


購買L298P:
https://www.jmaker.com.tw/products/l298p