L298N 是一種雙H橋電機驅動芯片,其中每個H橋可以提供2A的電流,功率部分的供電電壓范圍是2.5-48v,邏輯部分5v供電,接受5vTTL電平。一般情況下,功率部分的電壓應大于6V否則芯片可能不能正常工作。
L298N驅動電機接線
這次就用Arduino簡單的控制一下小車的前進及轉彎。
話不多說,要準備的東東有:小車底盤、Arduino控制器、Arduino傳感器擴展板(這里我為了接線方便使用)、L298N直流電機驅動板、電池、杜邦線若干。
L298N橋直流電機驅動板的接線方式及使用方法以前文章自走車驅動連接曾介紹過,這里就不再說了,不過還有一些網友不清楚怎么控制兩路直流電機,以及網友們對前篇文章反映不清楚的地方,這里做一下詳細說明。
首先VMS驅動部分取電可接外接電源,一般是12V左右比較合適,邏輯部分可板內取電,即端子可懸空,也可接入+5V-+7V。端子左右兩排三個插針分別用來控制兩路直流電機。EA、EB接入ArduinoPWM接口用于電機調速,I1、I2、I3、I4接口,分別用來控制兩路直流電機前進、后退、轉向以及剎車,只需接入Arduino的數字接口即可。
到此準備工作基本完成,可以編寫程序了,這里小編把小車直走、后退、左轉、右轉、剎車的功能都編寫進程序供大家參考。
程序如下:
int pinI1=8;//定義I1接口
int pinI2=9;//定義I2接口
int speedpin=11;//定義EA(PWM調速)接口
int pinI3=6;//定義I3接口
int pinI4=7;//定義I4接口
int speedpin1=10;//定義EB(PWM調速)接口
void setup()
{
pinMode(pinI1,OUTPUT);
pinMode(pinI2,OUTPUT);
pinMode(speedpin,OUTPUT);
pinMode(pinI3,OUTPUT);
pinMode(pinI4,OUTPUT);
pinMode(speedpin1,OUTPUT);
}
void loop()
{
//直走
analogWrite(speedpin,100);//輸入模擬值進行設定速度
analogWrite(speedpin1,100);
digitalWrite(pinI4,LOW);//使直流電機(右)逆時針轉
digitalWrite(pinI3,HIGH);
digitalWrite(pinI1,LOW);//使直流電機(左)順時針轉
digitalWrite(pinI2,HIGH);
delay(2000);
//后退
analogWrite(speedpin,100);//輸入模擬值進行設定速度
analogWrite(speedpin1,100);
digitalWrite(pinI4,HIGH);//使直流電機(右)順時針轉
digitalWrite(pinI3,LOW);
digitalWrite(pinI1,HIGH);//使直流電機(左)逆時針轉
digitalWrite(pinI2,LOW);
delay(2000);
//左轉
analogWrite(speedpin,60);//輸入模擬值進行設定速度
analogWrite(speedpin1,60);
digitalWrite(pinI4,LOW);//使直流電機(右)逆時針轉
digitalWrite(pinI3,HIGH);
digitalWrite(pinI1,HIGH);//使直流電機(左)逆時針轉
digitalWrite(pinI2,LOW);
delay(2000);
//右轉
analogWrite(speedpin,60);//輸入模擬值進行設定速度
analogWrite(speedpin1,60);
digitalWrite(pinI4,HIGH);//使直流電機(右)順時針轉
digitalWrite(pinI3,LOW);
digitalWrite(pinI1,LOW);//使直流電機(左)順時針轉
digitalWrite(pinI2,HIGH);
delay(2000);
//剎車
digitalWrite(pinI4,HIGH);//使直流電機(右)剎車
digitalWrite(pinI3,HIGH);
digitalWrite(pinI1,HIGH);//使直流電機(左)剎車
digitalWrite(pinI2,HIGH);
delay(2000);
}
評論
查看更多