智能循迹小车设计.docx

上传人:小** 文档编号:16684328 上传时间:2020-10-21 格式:DOCX 页数:9 大小:170.25KB
收藏 版权申诉 举报 下载
智能循迹小车设计.docx_第1页
第1页 / 共9页
智能循迹小车设计.docx_第2页
第2页 / 共9页
智能循迹小车设计.docx_第3页
第3页 / 共9页
资源描述:

《智能循迹小车设计.docx》由会员分享,可在线阅读,更多相关《智能循迹小车设计.docx(9页珍藏版)》请在装配图网上搜索。

1、智能循迹/避障小车研究工作报告一、 智能循迹小车程序结构框图二、 Proteus仿真图三、 软件程序设计 一、 智能循迹小车程序结构框图经过几天在网上的查找,对智能循迹/避障小车有了大致的了解,一般有三个模块:1、最基本的小车驱动模块,使用两个二相四线步进电机对小车的两个后轮分别进行驱动,前轮最好用万向轮,能使小车更好地转弯; 2、小车循迹模块,在小车底部有三个并排安装的红外对管,对黑色与白色的反射信号不同,经单片机处理后对小车进行相应处理;3、避障模块,我写的程序中对于避障模块是用中断来处理的(即安装在小车车头的红外对管检测到有障碍物后,就会向单片机的P3_2口输出一个高电平或是低电平,这时

2、中断程序将对小车进行预先设定好的避障处理),但是在程序结构框图中,我不太会表示中断处理方式,所以就用查询的方式画了。启动小车 开始 避障? N Y 避障模块 循迹模块 停止? N Y 停止 二、Proteus仿真图我用Proteus大概地仿真了小车的运行状态。图中的两个二相四线步进电机就代表小车的左右轮(假定步进电机顺时针转动方向为小车前进方向),网上有很多种驱动芯片,在仿真时我只使用L298N芯片来驱动步进电机。用三个单刀双制开关模拟用于小车循迹的三个红外对管的输出信号,经一个与门与三极管开关连接到P3_3口,中断程序对P1_0, P1_1, P1_2三个口进行检测,并做出相应处理。同时因为

3、避障模块的优先级高于循迹模块,所以将外部中断0用于避障,外部中断1用于循迹。P1_3口则用于检测小车是否到达终点。1、小车驱动模块:使用一片298芯片驱动一个二相四线步进电机,电机的电压为12V。2、小车循迹模块:左边为三个单刀双制开关模拟小车循迹使用的红外对管的输出信号,经一个与门和三极管开关送至P3_3口,有P1_4口定时响应中断程序。又经或门送至P1_3口(图因找不到或门,所以用7411和7404代替),检测小车是否到达终点.3、避障模块: (用一个开关代替车头红外对管的输出信号)4、仿真结果:根据两个步进电机的转动情况,小车可以按照预先设计好的程序进行循迹(转弯,直走),避障处理,最后

4、停止前进。三、软件程序设计#include#define uchar unsigned charsbit P1_2=P12; /P1口的低三位作为小车循迹的三个红外对管与单片机的信号接口sbit P1_0=P10;sbit P1_1=P11;sbit P1_3=P13; /三个循迹的红外对管输出口经或门后的结果与P1_3接,用于实时检测sbit P1_7=P17; /控制两个二相四线步进电机的启动与停止sbit P1_6=P16;sbit P1_4=P14; /为循迹中断所用的定时/计数器0输出口uchar i,j,ms;uchar dianji=0x11,0x22,0x44,0x88; /电

5、机的转动使小车前进uchar back=0x88,0x44,0x22,0x11; /电机的转动使小车后退void delay(int z) /延时程序 int x,y; for(x=0;xz;x+) for(y=0;y500;y+);void goahead() /小车前进程序,一个循环使小车的车轮转动一周 P1_6=1; P1_7=1; for(i=0;i4;i+) P2=dianjii; delay(50); void turnleft() /小车左转程序,小车采用两个步进电机驱动,分别控制小车左右 两个车轮的转动。小车左转时,左边的电机停止转动,右边的电机 P1_6=0; 仍然转动,即实

6、现小车的左转动作;反之则是小车的右转动作 P1_7=1; for(i=0;i4;i+) P2=dianjii; delay(50); void turnright() /小车右转程序 P1_6=1; P1_7=0; for(i=0;i4;i+) P2=dianjii; delay(50); void qianjin() /小车前进程序,此程序是为小车遇到障碍时进行躲避处理时小车前 进程序,一个循环小车的车轮转动三周 P1_6=1; P1_7=1; for(j=0;j3;j+) for(i=0;i4;i+) P2=dianjii; delay(50); void goback() /小车后退程序,此程序也是小车避障环节中的为小车后退的程序, 一个循环,小车的车轮向后转动三周 P1_6=1; P1_7=1; for(j=0;j3;j+) for(i=0;i=2) P1_4=!P1_4; ms=0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!