【導讀】:Arduino正在引領(lǐng)開(kāi)源硬件的興起,使得越來(lái)越多的人不需要科班出身就能夠快速進(jìn)行電子方案的DIY制作。這里分享一個(gè)網(wǎng)友發(fā)布的,基于A(yíng)rduino的直流電子控制方案,供大家參考。
硬件資源
這個(gè)Arduino 雙H橋直流電機驅動(dòng)板,藍色的板子,金色的印字,做工真的很精美,物有所值,吼吼~剛拿到的驅動(dòng)板當務(wù)之急就是要了解一下這款驅動(dòng)板接口說(shuō)明和參數指南。

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

圖2,Arduino直流電機方案圖