1. 程式人生 > >智慧小車驅動

智慧小車驅動

本文所用到的電機就是淘寶很常見的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_

moto_go; 
Right_moto_go; 
}

}

完整的PWM可調速循跡資源地址:http://download.csdn.net/download/weixin_40342500/10251732