模拟越野车模块系统

时间:2022-06-02 02:11:09

模拟越野车模块系统

摘 要:越野车成为当今越野而特别设计的汽车。主要特点是四轮驱动,较高的底盘、较好抓地性的轮胎、较高的排气管、较大的马力和粗大结实的保险杠。因此我们制作的模拟越野车尝试着越野车的各种性能,使得它拥有在现实中。

关键词:电机驱动;传感器模块;控制模块

1 系统总体设计

模拟越野车系统共包括四大模块:控制模块、转向舵机模块、驱动电机模块和测距转向模块。其中控制模块STC12C5A60S2单片机是系统的核心部分。它负责接收障碍物距离信息,并对这些信息进行恰当的处理,形成合适的控制量来对舵机和电机进行控制,转向舵机模块控制前轮的左右转动,以起到蔽障左右,驱动电机模块使得单片机控制下稳定走动,测距模块检测到周围环境的距离,接收到数据发送到单片机处理和来自单片机的数据发射到环境。

2 测距模块

测距模块检测到周围环境的距离,接收到数据发送到单片机处理和来自单片机的数据发射到环境,软件设计如下:

/*=========超声波测距=========*/

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单片机是系统的核心部分。它负责接收障碍物距离信息,并对这些信息进行恰当的处理,形成合适的控制量来对舵机和电机进行控制,软件设计如下:

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

{

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

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 电机驱动模块

驱动电机模块使得单片机控制下稳定走动,软件设计如下:

/*====后轮直流电机速度初始化====*/

void pwminint_0(void)

{

CMOD=0X0E;

CCAPM0=0X42;

CCON=0;

CL=0;

CH=0;

CCAP0H=CCAP0L=0Xc0;

CR=1;}

[参考文献]

[1]方彦军,孙健.智能仪器技术及其应用.北京,化学工业出版社,2004.1.

[2]刘晋,王政林,薛凯方.基于STC12C5A60S2单片机的LED显示屏硬件设计[J].微型机与应用,2011,30(22):1674-7720.9.

[3]秦友萍.C语言程序设计.北京,西北工业大学出版社,2007.8.

上一篇:基于单片机的硅片处理系统设计 下一篇:完善我国大型会计师事务所内部控制的探索