智慧小車驅動
本文所用到的電機就是淘寶很常見的TT直流減速電機,對於這種電機做一般的課設是夠了,需要好的效能可以去買那種金屬的更好的電機。
電機驅動選用L298N驅動模組,此模組也是用得比較多的驅動模組,淘寶大概9元多一點一個。
那我們的程式碼是直接控制電機驅動IO口的。假如電機驅動分別是A0A1B0B1四個口子可以驅動兩個電機,那麼out口也是對應的,可以連線到電機的兩個端子口。
程式碼中是兩輪驅動的程式碼:有比較詳細的註解可以看看。我會再更新PWM控制電機
/****************************************************************************
硬體連線
P1_6 接驅動模組ENA使能端,輸入PWM訊號調節速度
P1_7 接驅動模組ENB使能端,輸入PWM訊號調節速度
P3_4 接IN1
P3_5 接IN2
P3_6 接IN3
P3_7 接IN4
關於微控制器電源:驅動模組內帶穩壓晶片,當電池輸入最低的電壓7V時候可以輸出穩定的5V
分別在針腳標+5 與GND 。這個電源可以作為微控制器系統的供電電源。
****************************************************************************/
#include<AT89x51.H>
#define Left_moto_go {P0_0=0,P0_1=1;} //P3_4 P3_5 接IN1 IN2 當 P3_4=0,P3_5=1; 時左電機前進
#define Left_moto_back {P0_0=1,P0_1=0;} //P3_4 P3_5 接IN1 IN2 當 P3_4=1,P3_5=0; 時左電機後退
#define Right_moto_go {P0_2=0,P0_3=1;} //P3_6 P3_7 接IN1 IN2當 P3_6=0,P3_7=1; 時右電機前轉
#define Right_moto_back {P0_2=1,P0_3=0;} //P3_6 P3_7 接IN1 IN2當 P3_6=1,P3_7=0; 時右電機後退
void main(void)
{
while(1)/*無限迴圈*/
{
Left_
Right_moto_go;
}
}
完整的PWM可調速循跡資源地址:http://download.csdn.net/download/weixin_40342500/10251732