陳 林
(湖北工業(yè)職業(yè)技術學院,十堰 442000)
目前高職院校汽車電子技術專業(yè)開設了微機控制課程(如汽車單片機及車聯(lián)網(wǎng)技術)內容廣、深奧、入門難、技術性強。要求學生除了掌握電路理論知識外,還需要具備一定的繪制和設計硬件電路以及軟件編程的能力。設計四驅智能小車,用此作為載體,能很好的調動學生的積極性,提高學生的興趣及主動學習能力,真正讓學生做到學中做,做中學,理實相結合。
四驅智能小車選用STC15W4K48S4單片機作為主控芯片,該芯片參考資料多,便于無基礎的學生開發(fā)學習,降低設計難度。,采用RPR220紅外光電對管構成四路循跡,利用單片機的P1^0~P1^3雙向IO口對循跡信號進行檢測。利用P6^4 ~P6^7雙向IO口對電機進行控制。同時在硬件電路上還設計的有功能按鍵,便于調整電機的循跡速度。
四路循跡利用光電傳感器來檢測信號,信號經(jīng)過LM324四路電壓比較器來進行處理。LM324是低成本的四路運算放大器,具有真正的差分輸入。在單電源應用中,它們與標準運算放大器類型相比具有幾個明顯的優(yōu)勢。循跡時采用黑白對比,當傳感器在白線上時,電壓對比后,輸出高電平給主控芯片,循跡指示燈不亮;傳感器在黑線上時,電壓對比后,輸出低電平給主控芯片,循跡指示燈亮。
電機驅動芯片為L298N,將2個H-橋電路集成到一個芯片上,這樣可以同時控制2個電機。其中每個H橋可以提供2A的電流,功率部分的供電電壓范圍是2.5-48v,邏輯部分5v供電,接受5vTTL電平。通過單片機調整PWM占空比來控制電機的速度。獨立驅動電路如下圖:
智能小車具有紅外循跡功能,利用C語言編程來完成軟件設計。其中STC15W4K48S4單片機的P1^0 ~P1^3雙向IO口對循跡信號進行檢測。P6^4 ~P6^7雙向IO口對電機進行控制,并通過改變PWM占空比來控制電機的速度。部分控制程序(PWM控制、循跡控制)如下:
void PWM7_2_Control(u16 PWM7num,u16 PWM2num)
{
//15位寄存器第一次翻轉計數(shù) 第一次翻轉是指從低電平翻轉到高電平的計時
P_SW2=0x80; //最高位置1才能訪問和 PWM 相關的特殊寄存器
PWM7T2H=PWM7num>>8;
PWM7T2L=PWM7num;
PWM2T2H=PWM2num>>8;
PWM2T2L=PWM2num;
P_SW2 &=~0x80 ; //最高位置0,關閉訪問和 PWM相關的特殊寄存器
}
/**小車循跡程序**/
void FollowLine(void)
{
switch(XunJi&0X0F)
{
case 0x0C:PWM7_2_Control(32,32);MOTOR_GO_RIGHT ; break ;
case 0x0D:PWM7_2_Control(32,32);MOTOR_GO_RIGHT ; break ;
case 0x0E:PWM7_2_Control(32,32);MOTOR_GO_RIGHT ; break ;
case 0x03:PWM7_2_Control(32,32);MOTOR_GO_LEFT ; break ;
case 0x07:PWM7_2_Control(32,32);MOTOR_GO_LEFT ; break ;
case 0x0B:PWM7_2_Control(32,32);MOTOR_GO_LEFT ; break ;
case 0x00:MOTOR_GO_STOP ;break;
case 0x0F:
{PWM7_2_Control(26,26);MOTOR_GO_FORWARD;break;}
default:PWM7_2_Control(26,26);MOTOR_GO_FORWARD ; break ;
}
}
智能網(wǎng)聯(lián)汽車成為發(fā)展趨勢,對汽車的微機控制課程的學習刻不容緩。為了很好的入門及專研,必須在課堂教學中,理論結合實際,學以致用。四驅智能小車循跡的設計,將其運用于課程教學中,學生所學與汽車發(fā)展接軌。也可運用于專業(yè)競賽中,提升學生的能力。