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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

智能寻轨小车.docx

1、智能寻轨小车仲恺农业工程学院基于STC89C52单片机的红外寻迹小车设计 学 院 : 自动化学院 班 级 : 自动化111班 姓 名 : 杨武洁 学 号 : 201110344114 指导老师 : 唐 宇 成 绩 : 摘 要:本设计是一种基于STC89C52单片机控制的简易自动寻迹小车系统,包括小车系统构成软硬件设计方法。小车以STC89C52单片机为控制核心, 用单片机模拟产生PWM波控制小车速度,利用红外光电传感器对路面黑色轨迹进行检测,并将路面检测信号反馈给单片机。单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的

2、。关键词:单片机STC89C52 红外光电传感器 直流电机 PWM调速一、系统简述1、功能简述总体功能本设计是基于STC89C52单片机的智能寻迹小车设计,设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色车轨迹行驶;此外系统还利用编码盘对行驶的小车的速度进行测量,并显示在数码管上,系统方案方框图如图1所示。检测(黑线)驱动电机软件控制控制小车编码盘检测数码管系统方案方框图2、小车寻迹原理这里的寻迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”,采取的方法是红外探测法。红外探测法,即利用红外线在不同

3、颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。 3、控制系统总体设计自动寻迹小车控制系统由主控制电路模块、稳压电源模块、红外检测模块、电机及驱动模块等部分组成,控制系统的结构框图如图 2 所示。数码管显示速度主控芯片STC89C52LN298驱动直流电机光电传感器电压比较器主控制电路模块:用STC89C52最小单片机系统、复位电路,时钟电路,32路I/O口红外检测

4、模块:光电传感器红外双管,比较器LM339电机及驱动模块:电机驱动芯片LN298N、两个直流电机测速模块:用74HC14反向器做信号处理二、硬件设计1 、寻迹传感器模块寻迹模块采用红外线发射和接收管等分立元器件组成探头,并使用 LM339电压比较器(加入迟滞电路),防止临界输出抖动做为核心器件构成中控电路。此系统具有的多种探测功能能极大的满足 在黑线检测的测试中,若检测到黑色区域,发射管发射的红外线没有反射到接收管,测量接收管的电压为48V ,若检测到白色区域,接收管接受到发射管发射的红外线,光电管导通,电阻发生变化,所分得的电压也就随之发生变化,测的接收管的电压为05V,测试基本满足要求。判

5、断有无黑线我们用的一块比较器LM339芯片,LM339电压比较器芯片内部装有四个独立的电压比较器,各引脚如下图,比较基准电压由10K的变阻器调节,各个接收管的参数都不一致,每个传感器的比较基准电压也不尽相同,我们为每个传感器配备了一个变阻器。整个探测模块具体电路如下:通过红外双管检测黑线,输出信号给LM339芯片 ,接收电压与比较电压比较后,输出信号变为高低电平,再输入到单片机中,用以判定是否检测到黑线。 在小车具体的寻迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设4个红外探测头,在车前方横排的设置四个探头相对位置,黑线大小为两个人探头的大小。2、控制器模块采用S

6、TC公司的STC89C52 单片机作为主控制器,是一个低功耗,高性能的8 位单片机,它具有8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35

7、MHz,6T/12T可选,且可在线编程、调试,方便地实现程序的下载与整机的调试。时钟电路和复位电路与单片机构成最小系统,如图31)采用外部时钟,晶振频率为12MHZ2)采用按键复位 STC89C52最小单片机系统3、电机及驱动模块A、直流电机:电机采用直流减速电机,直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。B、电机驱动:驱动模块采用专用芯片L298N 作为电机驱动芯片,L298N 是一个具有高电压大电流的全桥驱动芯片,其响应频率高,可以直接驱动两路3-30V直流电机,并提供5V输出端口,直接供给5V

8、单片机电路系统供电本设计采用两驱驱动芯片,一片L298N可以分别控制两个直流电机。以下为L298N的引脚图和输入输出关系表。该模块提供4输入或6输入单片机信号,用跳线帽灵活选择PWM调速,板载上拉电阻,完美解决51单片机IO口驱动能力不足的问题。 L298N外部引脚 L298N输入输出关系IN1-IN4为单片机控制信号输入,ENA、ENB可以作为PWM调速输入信号端,通过单片机编程可实现PWM调速设计,可以用跳线帽直接接高电平为全速驱动;OUT1-OUT4为输出到电机,其中OUT12控制电机1,OUT34控制电机2,VCC、GND为电池盒电源供应。驱动电路的设计如图3-10 所示:L298N电

9、机驱动电路4、测速模块设计测速是利用编码盘的原理,使用一休化对射红外发射接收管WYC H206,并使用74HC14(带施密特触发器反向器),防止临界输出抖动做为核心器件构成中控电路。该装置留有安装孔易于安装,使用非常简便,灵敏度高,反应非常迅速。由红外发射管发出的红外管,在编码盘栅格遮挡下,对边的接收管没有接受到红外光,则表现为高电平输出,没有遮挡时有接受到红外光,则为低电平输出。经过对射红外发射接收管在编码盘的影响下,把传输信号经过74HC14芯片处理输出到单片机的P3.5口,利用T1计数器对下降沿信号的计数,通过在1S内的计数脉冲来求得小车速度。小车车轮直径为6.5。通过脉冲计数,在1S内

10、脉冲数C,则速度V=(2*3.14*6.5)/20*C,单位为CM/S当光电传感器开始接受信号,通过比较器将信号传入单片机中。小车进入寻迹模式,即开始不停地扫描与探测器连接的单片I/O 口,一旦检测到某个I/O 口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态。与此同时,速度检测红外对管也对编码盘进行测测速,并时时刻刻显示在数码管上。单片机采用T0定时1ms,通过产生PWM波,控制电机转速,并计时100ms测速周期,T1计数器,对下降沿进行计数,计算小车速度。三、软件设计1 、PWM控制本系统采用PWM来调节直流电机的速度。PWM是通过控制固定电压的直流电源开关频

11、率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。本系统中通过控制52单片机的定时器T0的初值,从而可以实现和输出口输出不同占空比的脉冲波形。定时器周期中断一次,

12、就使和产生一个高电平或低电平。 将直流电机的速度分为100个等级, 因此一个周期就有个100脉冲, 周期为100个脉冲的时间。速度等级对应一个周期的高电平脉冲的个数。占空比为高电平脉冲个数占一个周期总脉冲个数的百分数。一个周期加在电机两端的电压为脉冲高电压乘以占空比。占空比越大, 加在电机两端的电压越大, 电机转动越快。电机的平均速度等于在一定的占空比下电机的最大速度乘以占空比。当我们改变占空比时, 就可以得到不同的电机平均速度, 从而达到调速的目的。精确地讲, 平均速度与占空比并不是严格的线性关系, 在一般的应用中, 可以将其近似地看成线性关系。2、总体软件流程图小车进入寻迹模式后,即开始不

13、停地扫描与探测器连接的单片I/O 口,一旦检测到某个I/O 口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态或把速度测量信号发送到单片机,但单片机计算速度并显示在数码管上。软件的主程序流程图如图所示:系统初始化任务定时、计数器归零是否完成全部任务?寻迹、测速子函数是否完成本次任务?结束开始NYNY3、小车寻迹流程图红外传感器为、,虚线为黑线,小车进入寻迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序,先确定4个探测器中的哪一个探测到了黑线,如果中间个传感器探测到黑线,即小车中部压到黑线,小车向前前进;如果、或

14、级传感器探测到黑线,小车车身右偏出,此时应使小车左转;如果是、或传感器探测到了黑线,小车向左偏出了轨迹,则应使小车向右转;如果小车个传感器都没有检测到黑线,可能是应为惯性,小车冲过头了,此时使是小车向后退,回到刚刚有黑线的地方重新检测,在经过了方向调整后,小车再继续向前行走,并继续探测黑线重复上述动作。寻迹流程图如图所示寻迹流程图4、中断程序流程图这里利用的是52单片机的T0定时器,从而让单片机P0口的P2.4和P2.5引脚输出占空比不同的方波, 然后经驱动芯片放大后控制直流电机。定时器定时1ms中断一次, 就使P2.4或P2.5产生一个高电平或低电平。中断程序流程图如图所示中断程序流程图四、

15、设计总结本设计主要设计了智能循迹和速度实时测量和显示在数码管的功能。设计介绍了该设计的总体思想和一些用到的基本的原理及系统的硬件、软件设计。现将本文主要工作总结如下:(1)本设计使用模块化的设计方法。各个功能在硬件和软件的设计上都实现了模块化。(2)系统经过测试,虽然存在着一定的问题,但能够实现小车的循迹功能、寻光功能,基本上能实现小车的路径规划功能。(3)小车在弯道方面还存在稳定性问题,基于STC89C52单片机处理速度缓慢和硬件资源比较少,所以该设计最终还是集成了两块单片机,使编程方面能够很好融合硬件资源。 该小车系统还存在一些不完善和需要改进的地方,可以有以下几处需要改进和完善:(1)需

16、找较高端的单片机,像STC12系列的单片机,其内部硬件资源丰富,能够弥补软件设计过于繁冗而导致不能实现的问题,使得寻迹和测速数码管显示由一块单片机就可以完全实现; (2)小车在一些比较小角度的弯道行驶时还是有点不稳定,可以通过不断测试相应的电机速度来不断选择最佳的适应某弯道的速度,使小车行驶的时候更顺畅,更体现智能性;(3)可以在该智能循迹小车中添加更多的有趣的功能。在小车系统中加上光电传感器让小车可以实现避障功能,还可以在小车上安装喇叭让小车播放音乐等,这样小车更具有智能的特点,而且有更多的娱乐和学习的特性。(4)该智能循迹小车系统具有循线、追光和路径判断的功能。但这些功能都是用单独的程序实

17、现的,每运行一个功能就需要重新下载程序。对于这个问题,可以用多路开关与单片机的I/O口相连,通过检测开关信号进行智能循迹小车功能的选择。五、设计心得体会这次循迹小车课程设计不得不说是个大工程,让我们从中学会了许多东西,特别是分工与合作。从最开始的买元器件,到焊接、调试循迹板,再到控C语言程序的编写,都不简单。我们的循迹板在第一次焊接完毕,经过调试后,能正常工作。但是,当我们把它装在小车上让它去跑时,问题就来了,有个灯就不亮了。后来经过检测后,终于又弄好了。然后在写C语言时,主要就是调节小车的速度和转弯时的角度。而最难的是小车在过弯道时的稳定性能,真的很复杂,花了我们很多时间才把它写好。而速度测

18、量程序的编写,由于89系列单片机硬件资源有限,所以我们一直都不能实现速度实时测量显示,最后只有有2片89系列的单片机把他们独立出来,才显示成功,这是我们最大的遗憾,后期基于兴趣我们可以用12系列的单片机来弥补这一缺陷,实现1片单片机就实现所有功能。由于这次课程设计的工作量很大,所以我们组这次的分工非常明确。有的人负责硬件搭建,有的人负责写C语言程序,有的人负责循迹板的焊接与调试,还有负责资料的收集和报告的书写。最后,经过我们组的分工协作,终于把循迹小车的制作完成了。这次课程设计,收获最大的,还是告诉了我们要主动去学习新的知识。附录(单片机程序)1、寻迹程序 #include #define u

19、int unsigned int #define uchar unsigned char sbit IN1=P00; sbit IN2=P01; sbit IN3=P02; sbit IN4=P03; sbit Led1=P04; sbit Led2=P05; sbit Led3=P06; sbit Led4=P07; sbit PWM_ENA=P24; sbit PWM_ENB=P25; uint a=0,b=0; uchar N1=0; void PWM(); void run(); void back(); void left(); void right(); void main() T

20、MOD=0x01; TH0=0xff; TL0=0xf6; EA=1; ET0=1; TR0=1 ; while(1) if(Led2=1&Led3=1) run(); else if(Led3=1&Led4=1)|Led4=1|Led3=1) left(); if(Led1=1&Led2=1)|Led1=1|Led2=1) right(); if(Led1=0&Led2=0&Led3=0&Led4=0) back(); void run() a=40; b=40; IN1=1,IN2=0,IN3=1,IN4=0; PWM(); void back() a=40; b=40; IN1=0,IN

21、2=1,IN3=0,IN4=1; PWM(); void left() a=40; b=30; IN1=1,IN2=0,IN3=0,IN4=0; PWM(); void right() a=30; b=40; IN1=0,IN2=0,IN3=1,IN4=0; PWM(); void T0_time() interrupt 1 TH0=0xff; TL0=0xf6; N1+; if(N1=100) N1=0; void PWM() if(N1a) PWM_ENA=1; else PWM_ENA=0; if(N1b) PWM_ENB=1; else PWM_ENB=0;2、速度测量 #includ

22、e #define uint unsigned int #define uchar unsigned char sbit dula=P26; sbit wela=P27; uchar code table= 0x03,0xf3,0x25,0x0d,0x99,0x49,0x41,0x1f, 0x01; unsigne d code dis =0x40,0x20,0x10,0x0f; unsigned char disbuff5=0; unsigned char time=0; unsigned char i =0; unsigned int count1=0; unsigned int V=0;

23、 void delayms(uint kms) uint x,y; for(x=kms;x0;x-) for(y=110;y0;y-); void Display_SMG(void) if(+i=4)i=0; wela=1; P1=tabledisbuffi; wela=0; P1=0xff; dula=1; P1=disi; dula=0; delayms(5); void time_0()interrupt 1 using 2 TH0=(65536-2000)/256; TL0=(65536-2000)%256; time+; Display_SMG(); if(time=250) tim

24、e=0; V=count1*2; count1=0; disbuff0=V/1000; disbuff1=V%1000/100; disbuff2=V%1000%100/10; disbuff3=V %1000%100%10; void intersvr1(void) interrupt 0 using 1 count1+; void main(void) TMOD=0X01; TH0=(65536-2000)/256; TL0=(65536-2000)%256; TR0= 1; ET0= 1; EX0=1; IT0=1; IE0=0; EA = 1; while(1); 参考资料1 宋健,姜

25、军生,赵文亮. 基于单片机的直流电动机PWM 调速系统J . 农机化研究,2006 , (1) :102 - 103.2 边春元 李文涛 江杰 杜平等;C51单片机典型模块设计与应用;机械工业出版社;2008.43 李华. MCS- 51 系列单片机实用接口技术M.北京:航空航天大学出版社, 20034 楼然苗.51 单片机设计实例M.北京:航空航天大学出版社,2005.85 王晶,翁显耀,梁业宗 自动寻迹小车的传感器模块设计.武汉理工大学自动化学院湖北武汉6 刘迎春. 传感器原理设计与应用M . 长沙:国防科技大学出版社,1992.7 王晓明. 电动机的单片机控制J. 学术期刊,2002,13(15):1322-1755.8 游雨云,丁志勇,智能小车单片机控制直流电机方案与设计论文.技术研发,2006.3.9马忠梅,李月香.单片机内部资源的C语言编程J.微计算应用,1997,(03).10 段颖康,基于光电传感器自动寻迹智能小车位置信息采集模块设计论文. 新特器件应用,2004.12.11 康华光.电子技术基础(数字部分+模拟部分).北京:高等教育出版社,2006. 12 张义和,王敏男,许宏昌等.例说 51 单片机(C 语言版).北京:人民邮电出版社,2010.

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

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