摘 要:越野車成為當今越野而特別設計的汽車。主要特點是四輪驅動,較高的底盤、較好抓地性的輪胎、較高的排氣管、較大的馬力和粗大結實的保險杠。因此我們制作的模擬越野車嘗試著越野車的各種性能,使得它擁有在現(xiàn)實中。
關鍵詞:電機驅動;傳感器模塊;控制模塊
1 系統(tǒng)總體設計
模擬越野車系統(tǒng)共包括四大模塊:控制模塊、轉向舵機模塊、驅動電機模塊和測距轉向模塊。其中控制模塊STC12C5A60S2單片機是系統(tǒng)的核心部分。它負責接收障礙物距離信息,并對這些信息進行恰當?shù)奶幚恚纬珊线m的控制量來對舵機和電機進行控制,轉向舵機模塊控制前輪的左右轉動,以起到蔽障左右,驅動電機模塊使得單片機控制下穩(wěn)定走動,測距模塊檢測到周圍環(huán)境的距離,接收到數(shù)據(jù)發(fā)送到單片機處理和來自單片機的數(shù)據(jù)發(fā)射到環(huán)境。
2 測距模塊
測距模塊檢測到周圍環(huán)境的距離,接收到數(shù)據(jù)發(fā)送到單片機處理和來自單片機的數(shù)據(jù)發(fā)射到環(huán)境,軟件設計如下:
/*=========超聲波測距=========*/
uint16 count_1(void)
{
uint16 dat;
P2_0=0;
P2_0=1;
delay_1(12);
P2_0=0;
while(!P2_1);
TR0=1;
while(P2_1);
TR0=0;
dat=TH0*256+TL0;
dat=(dat*12.0/12000000*170)*100;
if(dat>700||flag){flag=0;dat=600;}
TH0=0;
TL0=0;
return dat;}
3 控制模塊
控制模塊STC12C5A60S2單片機是系統(tǒng)的核心部分。它負責接收障礙物距離信息,并對這些信息進行恰當?shù)奶幚恚纬珊线m的控制量來對舵機和電機進行控制,軟件設計如下:
main()
{
uint16 dat,i;
int8 j=40;
inint_1();
P1_3=0;
P1_2=1;
P2_6=1;
P2_7=1;
AS=1;
i=5;
while(i--)delay_1(65535);
AS=0;
pwminint_0();
while(1)
{
dat=data_1();
if(dat { P1_2=0;for(j-=10;j>0;j-=10)delay_1(65535); j=40; CCAP0H=CCAP0L=0xff; direction(); i=8; while(i--)delay_1(65535); CCAP0H=CCAP0L=0xff; } if(dat>35(dat<100)) { AD=ST; P1_2=1; CCAP0H=CCAP0L=0Xc0; } dat=data_1(); if(dat>=100){P1_2=1;AD=3;ST=3;j=50;} } } 4 轉向模塊 轉向舵機模塊控制前輪的左右轉動,以起到蔽障左右,軟件設計如下: /*=========障礙物距離判斷=========*/ uint16 data_1() { uint16 dat_1[3],dat; for(dat=0;dat<3;dat++)dat_1[dat]=count_1(); if(dat_1[0]>dat_1[1]) { dat=dat_1[0]; dat_1[0]=dat_1[1]; dat_1[1]=dat; } if(dat_1[0]>dat_1[2]) { dat=dat_1[0]; dat_1[0]=dat_1[2]; dat_1[2]=dat;} if(dat_1[1]>dat_1[2]) { dat=dat_1[1]; dat_1[1]=dat_1[2]; dat_1[2]=dat; } return dat_1[1];} 5 電機驅動模塊 驅動電機模塊使得單片機控制下穩(wěn)定走動,軟件設計如下: /*====后輪直流電機速度初始化====*/ void pwminint_0(void) { CMOD=0X0E; CCAPM0=0X42; CCON=0; CL=0; CH=0; CCAP0H=CCAP0L=0Xc0; CR=1;} [參考文獻] [1]方彥軍,孫健.智能儀器技術及其應用.北京,化學工業(yè)出版社,2004.1. [2]劉晉,王政林,薛凱方.基于STC12C5A60S2單片機的LED顯示屏硬件設計[J].微型機與應用,2011,30(22):1674-7720.9. [3]秦友萍.C語言程序設計.北京,西北工業(yè)大學出版社,2007.8.