ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:158.12KB ,
资源ID:6387656      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6387656.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能壁障测速小车详解.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能壁障测速小车详解.docx

1、智能壁障测速小车详解一、设计方案11.1 智能壁障小车的设计分析11.2 设计要求2二、硬件电路设计22.1 单片机AT89S52简介22.1.1 ATS89S5222.1.2 ATS89S52主要特性22.2整体硬件原理图32.3 传感器设计32.3.1霍尔传感器 32.3.2红外线传感器42.4 液晶显示设计52.5电机部分 6三、程序设计73.1 程序设计内容73.2 C语言源程序7四、心得体会8五、参考文献 9六、附录10一、设计方案1.1 智能壁障小车的设计分析汽车行业的发展越来越迅速,而智能小车的相关研究也越来越多,实际生活中智能小车可以代替人类完成一些工作,因此有着得要的现实意义

2、。本文在玩具电动车上加装光电检测器,对小车的运行状态进行实时测量,包括行驶的速度、所处的位置等,然后利用单片机处理测量所得的数据,最终根据实际的测量结果对小车进行智能控制。1.2 设计要求设计一个智能小车,其功能有:1.在有障碍物的情况下能够自动壁障; 2. 在行驶过程中能够显示两个轮子的速度。二、硬件电路设计 2.1单片机AT89S52简介2.1.1 AT89S52AT89S52是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4Kb的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序

3、存储器,既可在线编程(ISP)也可用传统方法进行编程及通8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。2.1.2 AT89C52主要特性MCS-51兼容4K字节可编程闪烁存储器寿命1000写/擦;循环数据保留时间:10年;全静态工作:0Hz-24Hz;三级程序存储器锁定128*8位;内部RAM 32可编程I/O线两个;16位定时器/计数器,5个中断源 可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。图1 单片机2.2整体硬件原理图硬件部分包括传感器部分、电机部分、显示部分以及用单片机编程用

4、到的的连接口部分。 图2 硬件原理图2.3传感器设计2.3.1霍尔传感器模块说明:1尺寸:2.7cm*1.4mm2主要芯片:LM393、3144霍尔传感器3工作电压:直流5伏图3 霍尔传感器原理图模块接口说明(4线制)1VCC 外接5V电压2GND 外接GND3DO 小板数字量开关量输出接口(0和1)图4 霍尔传感器模块模块特点:1具有电源指示灯和信号输出指示。2单路信号输出。3模块无触发,输出高电平;模块有触发,输出低电平。根据这一特性,将霍尔传感器模块DO口接入单片机的两个外部中断。4灵敏度可调(精调)。5有磁场切割就有信号输出。6电路板输出开关量,可以直接接单片机或者继电器模块,蜂鸣器模

5、块等。7可用于电机测速/位置检测等场合。2.3.2红外线传感器模块描述该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围280cm,工作电压为3.3V-5V。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合。图5 红外线传感器原理图模块参数说明1 当模块检测到前方障

6、碍物信号时,电路板上绿色指示灯点亮电平,同时OUT端口持续输出低电平信号,该模块检测距离280cm,检测角度35,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。2、传感器主动红外线反射探测,因此目标的反射率和形状是探测距离的关键。其中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。3、传感器模块输出端口OUT可直接与单片机IO口连接即可,也可以直接驱动一个5V继电器;连接方式:VCC-VCC;GND-GND;OUT-IO4、比较器采用LM393,工作稳定;5、可采用3-5V直流电源对模块进行供电。当电源接通时,红色电源指示灯点亮;6、具

7、有3mm的螺丝孔,便于固定、安装;7、电路板尺寸:3.1CM*1.5CM8、每个模块在发货已经将阈值比较电压通过电位器调节好,非特殊情况,请勿随意调节电位器。模块接口说明(3线制)1VCC 外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连)2GND 外接GND3OUT 小板数字量输出接口(0和1)图6 红外线传感器模块2.4液晶显示设计显示部分用的lcd1602元件,第一行显示右轮的速度,第二行显示左轮的速度。图7 Lcd1602仿真显示2.5电机部分设计2.5.1电机的选型由于该次课程设计提供小车的底座(详见附图),使用的是连续旋转伺服电机。2.5.2伺服电机的工作原理:一个

8、微型伺服马达是一个典型闭环反馈系统,其原理可由下图表示:图8 伺服电机工作原理图减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的。2.5.3伺服电机的控制信号:它有一个零速度点(1.5ms脉宽序列(如图9),一个顺时针最大速度点(1.3ms脉宽序列(如图10),和一个逆时针的最大速度点(1.7ms脉宽序列(如图11),其中越靠近零速度点,速度越小,远离零

9、点越大速度越大。我们给伺服电机输入的脉冲一般是要在22ms左右,脉宽为1.31.7ms。图9 电机停止图10 电机顺转图11 电机逆转注:整个车子的图在附录中三、程序设计3.1程序设计内容(1)循环扫描红外线接口,并控制左右两个电机(2)两个外部中断计数(3)lcd1602显示两轮的速度(单位mm/s)3.2 C语言源程序程序及流程图见附录四、心得体会从开始进行设计智能壁障小车到完成实现壁障和测速功能,我找了很多资料,并应用了protel99se软件进行画图和proteus软件仿真,并运用单片机知识进行编程以完成设计要求的功能。在途中,也遇到了好多问题,比如:四节电池同时驱动单片机和两个电机有

10、点困难,故用了八节电池分别驱动;:电机的驱动问题,PWM波形如何获取,如果用纯粹用定时器的话,那么测速的时间就无法掌握,因为测速需要一个定时器,所以只剩下一个定时器,但是最后我就用延时程序,利用keil软件测出延时的时间(1.3-1.7ms之间),问题也就解决了;:开始将程序写完并下载后,发现小车会断断续续的走(走一段停一段在走一段),不是连续的走,经过多次的调时后,发现原因是因为中断的优先级问题,所以将电机驱动定时器T1设置为最高优先级,问题也就解决了。唯一遗憾的是小车右拐没有实现,我把左拐的程序反写,发现还是不能右拐,后退,前进,左拐都能够实现,就是右拐实现不了,也用了多种方法也实现不了,

11、想了好久还是没有想出个原因来。毕竟自己不是学电气的,很多东西自己也是不了解的。我已经尽了自己的最大努力,也从中学到了很多知识,获益匪浅。特别是每次把问题解决以后,那种心情是非常开心的,当看到小车自动避障和测速以后,脸上自然露出自豪的笑容。感谢学院给我们提供这样的实践动手机会,并通过课程设计使我们能够有机会将书本上学到的知识运用到的实际中去。在课设过程中陈老师给了我很多的指导和帮助,并监督我及时完成了本次课程设计,在此特别感谢陈陈老师和给予我帮助的同组同学。五、参考文献1 郭天祥. 51单片机C语言教程入门、提高、开发、拓展全攻略.电子工业出版社, 2009.1.2 张迎新.单片机初级教程单片机

12、基础(第二版).北京航空航天大学出版社, 2006.8.六、附录()小车底座(三视图附图中有)注:两个轮子上各粘有六个磁钢(均匀分布)()整个小车的外形()C语言程序流程图:()程序清单#include#define uchar unsigned char#define uint unsigned intuchar table1=Right:00.0;uchar table2=Left:00.0;uchar table=0123456789;sbit r=P00; /右边的红外线传感器sbit m=P01; /中间的红外线传感器sbit l=P02; /左边的红外线传感器sbit l_m=P1

13、1; /控制左轮电机sbit r_m=P10; /控制右轮电机sbit int_0=P32;sbit int_1=P33;sbit lcden=P35; /液晶使能端sbit lcdrs=P37; sbit lcdrw=P36;signed i,j;uint num,jz;float f_i,f_j,D=7.1; /i:左轮的脉冲数P3.3外部中断1 j:右轮的脉冲数P3.2外部中断0 num:计算有多少个50ms D:轮子的直径(cm)void delay(uint k) / 162是1.3ms 212是1.7ms uint t; for(t=k;t0;t-);void delayms(ui

14、nt z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void write_com(uchar com) /向1602写命令 lcdrs=0; P2=com; delayms(1); lcden=1; delayms(1); lcden=0; /向1602写数据void write_data(uchar date) lcdrs=1; P2=date; delayms(1); lcden=1; delayms(1); lcden=0;void led(uchar num1,uchar num2) /num1表示液晶第一行有几个数显示,num2表示液晶第二

15、行有几个数显示 uchar i,j; write_com(0x80); for(i=0;inum1;i+) write_data(table1i); delayms(1); write_com(0x80+0x40); for(j=0;j=20) num=0; f_i=i*D; f_j=j*D; i=f_i*10; j=f_j*10; m=j%100%10; /小数位 table19=tablem; m=j%100/10; /个位 table17=tablem; m=j/100; /十位 table16=tablem; m=i%100%10; table28=tablem; m=i%100/10; table26=tablem; m=i/100; table25=tablem; led(10,9); i=0; j=0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1