【導(dǎo)讀】:Arduino正在引領(lǐng)開源硬件的興起,使得越來越多的人不需要科班出身就能夠快速進行電子方案的DIY制作。這里分享一個網(wǎng)友發(fā)布的,基于Arduino的直流電子控制方案,供大家參考。
硬件資源
這個Arduino 雙H橋直流電機驅(qū)動板,藍色的板子,金色的印字,做工真的很精美,物有所值,吼吼~剛拿到的驅(qū)動板當務(wù)之急就是要了解一下這款驅(qū)動板接口說明和參數(shù)指南。
圖1 Arduino直流電機驅(qū)動板的硬件資源
可以看到板子左、右下角分別有兩個直流電機控制信號輸入接口,我這里準備了一個從玩具小車上拆下來的電機,我就選擇左邊的接口,將直流電機接入綠色端子,左下角的信號輸入接口三個插針分別是EA、I1、I2,EA是區(qū)別于右邊的EB,是用來接入PWM接口給電機調(diào)速的,I1、I2分別接入數(shù)字接口就OK了,是用來控制電機轉(zhuǎn)向的。我就將EA接入Arduino的pin11PWM接口,I1、I2分別接8、9數(shù)字接口,至于邏輯供電部分,我就直接接入Arduino板子上的5V輸出接口了,這里也可以不接線,因為這款驅(qū)動板子是可以板內(nèi)取電的,如需要板外取電需將控制板內(nèi)取電的跳線帽取下(這里我只是為了給網(wǎng)友們演示外部取電的使用方法,我并沒有取下板內(nèi)取電的跳線帽,如圖接線實際上仍是板內(nèi)取電。這里希望沒有造成誤導(dǎo)),端子左邊的VMS接口是驅(qū)動部分取電,我接入四節(jié)5號電池,按下圖連接好電路。
電機控制程序
連接好電路就剩編程的工作了,我就讓電機先順時針轉(zhuǎn)兩秒,再逆時針轉(zhuǎn)兩秒,再讓電機停止轉(zhuǎn)動,這樣循環(huá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);//輸入模擬值進行設(shè)定速度
delay(2000);
digitalWrite(pinI1,LOW);//使直流電機順時針轉(zhuǎn)
digitalWrite(pinI2,HIGH);
analogWrite(speedpin,100);
delay(2000);
digitalWrite(pinI1,HIGH);//使直流電機逆時針轉(zhuǎn)
digitalWrite(pinI2,LOW);
analogWrite(speedpin,100);
delay(2000);
digitalWrite(pinI1,HIGH);//使直流電機停止
digitalWrite(pinI2,HIGH);
delay(2000);
}
有一點值得注意,一般情況電機的速度與電機以及其負載都有關(guān)系,所以速度要根據(jù)實際情況調(diào)節(jié)。
圖2,Arduino直流電機方案圖