硬件資源
這個(gè)Arduino 雙H橋直流電機(jī)驅(qū)動(dòng)板,藍(lán)色的板子,金色的印字,做工真的很精美,物有所值,吼吼~剛拿到的驅(qū)動(dòng)板當(dāng)務(wù)之急就是要了解一下這款驅(qū)動(dòng)板接口說(shuō)明和參數(shù)指南。
可以看到板子左、右下角分別有兩個(gè)直流電機(jī)控制信號(hào)輸入接口,我這里準(zhǔn)備了一個(gè)從玩具小車上拆下來(lái)的電機(jī),我就選擇左邊的接口,將直流電機(jī)接入綠色端子,左下角的信號(hào)輸入接口三個(gè)插針?lè)謩e是EA、I1、I2,EA是區(qū)別于右邊的EB,是用來(lái)接入PWM接口給電機(jī)調(diào)速的,I1、I2分別接入數(shù)字接口就OK了,是用來(lái)控制電機(jī)轉(zhuǎn)向的。我就將EA接入Arduino的pin11PWM接口,I1、I2分別接8、9數(shù)字接口,至于邏輯供電部分,我就直接接入Arduino板子上的5V輸出接口了,這里也可以不接線,因?yàn)檫@款驅(qū)動(dòng)板子是可以板內(nèi)取電的,如需要板外取電需將控制板內(nèi)取電的跳線帽取下(這里我只是為了給網(wǎng)友們演示外部取電的使用方法,我并沒(méi)有取下板內(nèi)取電的跳線帽,如圖接線實(shí)際上仍是板內(nèi)取電。這里希望沒(méi)有造成誤導(dǎo)),端子左邊的VMS接口是驅(qū)動(dòng)部分取電,我接入四節(jié)5號(hào)電池,按下圖連接好電路。
電機(jī)控制程序
連接好電路就剩編程的工作了,我就讓電機(jī)先順時(shí)針轉(zhuǎn)兩秒,再逆時(shí)針轉(zhuǎn)兩秒,再讓電機(jī)停止轉(zhuǎn)動(dòng),這樣循環(huán)進(jìn)行。
int pinI1=8;//定義I1接口
int pinI2=9;//定義I2接口
int speedpin=11;//定義EA(PWM調(diào)速)接口
void setup()
{
pinMode(pinI1,OUTPUT);//定義該接口為輸出接口
pinMode(pinI2,OUTPUT);
pinMode(speedpin,OUTPUT);
}
void loop()
{
analogWrite(speedpin,100);//輸入模擬值進(jìn)行設(shè)定速度
delay(2000);
digitalWrite(pinI1,LOW);//使直流電機(jī)順時(shí)針轉(zhuǎn)
digitalWrite(pinI2,HIGH);
analogWrite(speedpin,100);
delay(2000);
digitalWrite(pinI1,HIGH);//使直流電機(jī)逆時(shí)針轉(zhuǎn)
digitalWrite(pinI2,LOW);
analogWrite(speedpin,100);
delay(2000);
digitalWrite(pinI1,HIGH);//使直流電機(jī)停止
digitalWrite(pinI2,HIGH);
delay(2000);
}
有一點(diǎn)值得注意,一般情況電機(jī)的速度與電機(jī)以及其負(fù)載都有關(guān)系,所以速度要根據(jù)實(shí)際情況調(diào)節(jié)。