当前位置:文档之家› 智能循迹小车设计

智能循迹小车设计

智能循迹小车设计
智能循迹小车设计

智能循迹/避障小车研究

工作报告

一、智能循迹小车程序结构框图

二、Proteus仿真图

三、软件程序设计

一、智能循迹小车程序结构框图

经过几天在网上的查找,对智能循迹/避障小车有了大致的了

解,

一般有三个模块:

1、最基本的小车驱动模块,使用两个二相四线步进电机对小车的两个后轮分别进行驱动,前轮最好用万向轮,能使小车更好地转弯;

2、小车循迹模块,在小车底部有三个并排安装的红外对管,对黑色与白色的反射信号不同,经单片机处理后对小车进行相应处理;

3、避障模块,我写的程序中对于避障模块是用中断来处理的(即安装在小车车头的红外对管检测到有障碍物后,就会向单片机的P3_2口输出一个高电平或是低电平,这时中断程序将对小车进行预先设定好的避障处理),但是在程序结构框图中,我不太会表示中断处理方式,所以就用查询的方式画了。

N

Y

N

Y

二、Proteus 仿真图

我用Proteus 大概地仿真了小车的运行状态。图中的两个二相四线步进电机就代表小车的左右轮(假定步进电机顺时针转动方向为小车前进方向),网上有很多种驱动芯片,在仿真时我只使用L298N 芯

片来驱动步进电机。用三个单刀双制开关模拟用于小车循迹的三个红外对管的输出信号,经一个与门与三极管开关连接到P3_3口,中断程序对P1_0, P1_1, P1_2三个口进行检测,并做出相应处理。同时因为避障模块的优先级高于循迹模块,所以将外部中断0用于避障,外部中断1用于循迹。P1_3口则用于检测小车是否到达终点。

1、小车驱动模块:

使用一片298芯片驱动一个二相四线步进电机,电机的电压为12V。

2、小车循迹模块:

左边为三个单刀双制开关模拟小车循迹使用的红外对管的输出信号,经一个与门和三极管开关送至P3_3口,有P1_4口定时响应中断程序。又经或门送至P1_3口(图因找不到或门,所以用7411和7404代替),检测小车是否到达终点.

3、避障模块:(用一个开关代替车头红外对管的输出信号)

4、仿真结果:

根据两个步进电机的转动情况,小车可以按照预先设计好的程序进行循迹(转弯,直走),避障处理,最后停止前进。

三、软件程序设计

#include

#define uchar unsigned char

sbit P1_2=P1^2; //P1口的低三位作为小车循迹的三个红外对管与单片机的信号接口sbit P1_0=P1^0;

sbit P1_1=P1^1;

sbit P1_3=P1^3; //三个循迹的红外对管输出口经或门后的结果与P1_3接,用于实时检测

sbit P1_7=P1^7; //控制两个二相四线步进电机的启动与停止

sbit P1_6=P1^6;

sbit P1_4=P1^4; //为循迹中断所用的定时/计数器0输出口

uchar i,j,ms;

uchar dianji[]={0x11,0x22,0x44,0x88}; //电机的转动使小车前进

相关主题
文本预览
相关文档 最新文档