自动循迹小车.doc

上传人:精*** 文档编号:877833 上传时间:2024-03-08 格式:DOC 页数:18 大小:1.17MB
下载 相关 举报
自动循迹小车.doc_第1页
第1页 / 共18页
自动循迹小车.doc_第2页
第2页 / 共18页
自动循迹小车.doc_第3页
第3页 / 共18页
自动循迹小车.doc_第4页
第4页 / 共18页
自动循迹小车.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、自动循迹小车 目 录目 录1摘 要:21.任务及要求31.1任务32.系统设计方案32.1小车循迹原理32.2控制系统总体设计33.系统方案43.1 寻迹传感器模块43.1.1红外传感器ST188简介43.1.2比较器LM324简介53.1.3具体电路53.1.4传感器安装63.2控制器模块63.3电源模块73.4电机及驱动模块83.4.1电机83.4.2驱动83.5自动循迹小车总体设计93.5.1总体电路图93.5.2系统总体说明114.软件设计114.1 PWM控制114.2 总体软件流程图124.3小车循迹流程图124.4中断程序流程图134.5单片机测序145参考资料17自动循迹小车摘

2、 要:本设计是一种基于单片机控制的简易自动寻迹小车系统,包括小车系统构成软硬件设计方法。小车以AT89C51 为控制核心, 用单片机产生PWM波,控制小车速度。利用红外光电传感器对路面黑色轨迹进行检测,并将路面检测信号反馈给单片机。单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的。关键词:单片机AT89C51 光电传感器 直流电机 自动循迹小车Abstract : This design is a Simple Design of a smart auto-tracking vehicle which based on

3、 MSC control. The construction of the car ,and methods of hardware and software design are included. The car use AT89C51 as heart of centrol in this system. Then using PWM waves Produced by MCU to control car speed. By using infraraed sensor to detect the information of black track. The smart vehicl

4、e acquires the information and sends t hem to the MSC. Then the MSC analyzes the signals and controls the movements of t he motors. Which make the smart vehicle move along the given black line antomaticly.Keywords : infrared sensor ;MSC ;auto-tracking1.任务及要求1.1任务 设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿

5、着黑色车轨迹行驶。系统方案方框图如图1-1所示。检测(黑线)驱动电机软件控制控制小车图1-1 系统方案方框图2.系统设计方案2.1小车循迹原理这里的循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走

6、路线。红外探测器探测距离有限, 2.2控制系统总体设计自动循迹小车控制系统由主控制电路模块、稳压电源模块、红外检测模块、电机及驱动模块等部分组成,控制系统的结构框图如图2-1 所示。稳压电源模块主控芯片AT89C51L298减速电机光电传感器电压比较器图2-1控制系统的结构框图 1、 主控制电路模块:用AT89C51单片机、复位电路,时钟电路2、 红外检测模块:光电传感器ST188,比较器LM3243、 电机及驱动模块:电机驱动芯片L298N、两个直流电机4、 电源模块:双路开关电源3.系统方案3.1 寻迹传感器模块ST系列反射式光电传感器是经常使用的传感器。这个系列的传感器种类齐全、价格便宜

7、、体积小、使用方便、质量可靠、用途广泛。我们采用ST188作为红外检测传感器。在黑线检测的测试中,若检测到白色区域,发射管发射的红外线没有反射到接收管,测量接收管的电压为48V ,若检测到黑色区域,接收管接受到发射管发射的红外线,电阻发生变化,所分得的电压也就随之发生变化,测的接收管的电压为05V,测试基本满足要求。判断有无黑线我们用的一块比较器LM324, 比较基准电压由30K的变阻器调节,各个接收管的参数都不一致,每个传感器的比较基准电压也不尽相同,我们为每个传感器配备了一个变阻器。3.1.1红外传感器ST188简介含一个反射模块(发光二极管)和一个接收模块(光敏三极管)。通过发射红外信号

8、,看接收信号变化判断检测物体状态的变化。A、K之间接发光二极管,C、E之间接光敏三极管(二者在电路中均正接,但要串联一定阻值的电阻) 图 3-1 ST188实物图 图 3-2 ST188管脚图及内部电路3.1.2比较器LM324简介LM324为四运放集成电路,采用14脚双列直插塑料封装。内部有四个运算放大器,有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源330V,或正负双电源15V15V工作。在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。在电路中,LM324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合适的比较电压。 图 3-3 LM324内部

9、电路 图 3-4 集成运放的管脚图3.1.3具体电路通过ST188检测黑线,输出接收到的信号给LM324 ,接收电压与比较电压比较后,输出信号变为高低电平,再输入到单片机中,用以判定是否检测到黑线。图3-5 传感器模块电路图3.1.4传感器安装 在小车具体的循迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设4个红外探测头,进行两级方向纠正控制,提高其循迹的可靠性。这4个红外探头的具体位置如图3-6所示。 图3-6 传感器安装图图中循迹传感器全部在一条直线上。其中X1与Y1为第一级方向控制传感器,X2与Y2为第二级方向控制传感器,并且黑线同一边的两个传感器之间的宽度不

10、得大于黑线的宽度。小车前进时,始终保持(如图3-6中所示的行走轨迹黑线)在X1和Y1这两个第一级传感器之间,当小车偏离黑线时,第一级传感器就能检测到黑线,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。若小车回到了轨道上,即4个探测器都只检测到白纸,则小车会继续行走;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围,这时第二级探测器动作,再次对小车的运动进行纠正,使之回到正确轨道上去。可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车循迹的可靠性。 3.2控制器模块采用Atmel 公司的AT89C51 单片机作为主控制器。它是一个低功耗,

11、高性能的8 位单片机,片内含32k 空间的可反复擦写100,000 次Flash 只读存储器,具有4K 的随机存取数据存储器(RAM),32 个I/O口,2个8位可编程定时计数器,且可在线编程、调试,方便地实现程序的下载与整机的调试。时钟电路和复位电路 如图3-7(与单片机构成最小系统)1)采用外部时钟,晶振频率为12MHZ2)采用按键复位图3-7 时钟电路和复位电路3.3电源模块 电源采用双路开关电源。明伟牌D-30W双路开关电源。输出(5V、12V)。实物图如图3-8所示。 图3-8双路开关电源该开关电源尺寸为129X98X38mm,交流输入转换由开关选择,具有过流短路保护功能,能自冷散热

12、。低价位、高可靠。输入电压范围-85132VAC/175264VAC,4763Hz开关选择;冲击电流-冷起动电流15A/115V 30A/230V;直流电压可调范围-额定输出电压的10%;启动、上升、保持时间-200ms,100ms,30ms;耐压性-输入输出间;输入与外壳1.5KVAC,输出与外壳,0.5KVAC,历时一分钟;工作温度、湿度- -10+60,20%90%RH;安全标准-符合CE标准;EMC标准-符合CE标准;连接方法-7位9.5mm接线端子;质量/包装-0.41Kg,45PCS/19.5Kg/1.2CUFT表1型号输出差值范围效率D-30A5V,0.5V 4.04A2%50m

13、V72%12V,0.1 1.0A3,-7%100mV3.4电机及驱动模块3.4.1电机 电机采用直流减速电机,直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。可选用减速比为1:74 的直流电机,减速后电机的转速为100r/min。若车轮直径为6cm,则小车的最大速度可以达到V=2rv=2*3.14*0.03*100/60=0.314m/s能够较好的满足系统的要求。3.4.2驱动驱动模块采用专用芯片L298N 作为电机驱动芯片,L298N 是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N可

14、以分别控制两个直流电机。以下为L298N的引脚图和输入输出关系表。 图3-9 L298N外部引脚 表2 L298N输入输出关系驱动电路的设计如图3-10 所示:图3-10 L298N电机驱动电路L298N 的5、7、10、12 四个引脚接到单片机上,通过对单片机的编程就可实现两个直流电机的PWM调速控制。2 output13 output213 output314 output43.5自动循迹小车总体设计3.5.1总体电路图图3-11 总体电路图3.5.2系统总体说明如图3-11所示,当光电传感器开始接受信号,通过比较器将信号传如单片机中。小车进入寻迹模式,即开始不停地扫描与探测器连接的单片I

15、/O 口,一旦检测到某个I/O 口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态。单片机采用T0定时计数器,通过来产生PWM波,控制电机转速。4.软件设计4.1 PWM控制本系统采用PWM来调节直流电机的速度。PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转

16、速。因此,PWM又被称为“开关驱动装置”。在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。本系统中通过控制51单片机的定时器T0的初值,从而可以实现P0.4和P0.5输出口输出不同占空比的脉冲波形。定时计数器若干时间(比如0.1ms)中断一次, 就使P0.4或P0.5产生一个高电平或低电平。 将直流电机的速度分为100个等级, 因此一个周期就有个100脉冲, 周期为100个脉冲的时间。速度等级对应一个周期的高电平脉冲的个数。占空比为高电平脉冲个数占一个周期总脉冲个数的百分数。一个周期加在电机两端的电压为脉冲高电压乘以占

17、空比。占空比越大, 加在电机两端的电压越大, 电机转动越快。电机的平均速度等于在一定的占空比下电机的最大速度乘以占空比。当我们改变占空比时, 就可以得到不同的电机平均速度, 从而达到调速的目的。精确地讲, 平均速度与占空比并不是严格的线性关系, 在一般的应用中, 可以将其近似地看成线性关系。4.2 总体软件流程图小车进入寻迹模式后,即开始不停地扫描与探测器连接的单片I/O 口,一旦检测到某个I/O 口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态。软件的主程序流程图如图4-1所示:系统初始化任务计数器归零是否完成全部任务?循迹子函数是否完成本次任务?结束开始NYN

18、Y图4-1主程序流程图4.3小车循迹流程图小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序,先确定4个探测器中的哪一个探测到了黑线,如果左面第一级传感器或者左面第二级传感器探测到黑线,即小车左半部分压到黑线,车身向右偏出,此时应使小车向左转;如果是右面第一级传感器或右面第二级传感器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。在经过了方向调整后,小车再继续向前行走,并继续探测黑线重复上述动作。循迹流程图如图4-2所示图4-2循迹流程图启动循迹模式探测黑线是否检测到黑线判断处理程序向左转Turn_lef

19、t2向左转Turn_left1向右转Turn_right1向右转Turn_Lright2继续前进NY由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。第二级通常是在超出第一级的控制范围的情况下发生作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来,则通常使第二级转向力度大于第一级,即Turn_left2 Turn_left1,Turn_right2 Turn_right1 (其中Turn_left2,Turn_left1, Turn_right2 , Turn_right1为小车转向力度,其大小通过改变单片机输出的占空比的大小来改变),具体数值在实地实验中得到。

20、4.4中断程序流程图这里利用的是51单片机的T0定时计数器,从而让单片机P0口的P0.4和P0.5引脚输出占空比不同的方波, 然后经驱动芯片放大后控制直流电机。定时计数器若干时间(比如0.1ms)比如中断一次, 就使P0.4或P0.5产生一个高电平或低电平。中断程序流程图如图4-3所示定时器赋初值技术变量赋值t=0计数值t占空比?P0.4和P0.5输出高电平P0.4和P0.5输出低电平计数变量t加1开始结束YN图4-3中断程序流程图4.5单片机测序#include#define uchar unsigned char#define uint unsigned intunsigned char

21、zkb1=0 ; /*左边电机的占空比*/unsigned char zkb2=0 ; /*右边电机的占空比*/unsigned char t=0; /*定时器中断计数器*/sbit RSEN1=P10;sbit RSEN2=P11;sbit LSEN1=P12;sbit LSEN2=P13;sbit IN1=P00;sbit IN2=P01;sbit IN3=P02;sbit IN4=P03;sbit ENA=P04;sbit ENB=P05;/*延时函数*/void delay(int z) while (z-); /*初始化定时器,中断*/void init() TMOD=0x01; T

22、H0=(65536-100)/256; TL0=(65536-100)%256; EA=1; ET0=1; TR0=1; /*中断函数+脉宽调制*/void timer0() interrupt 1 if(tzkb1) ENA=1; else ENA=0; if(t=100) t=0;/*直行*/void qianjin() zkb1=30; zkb2=30;/*左转函数1*/void turn_left1() zkb1=0; zkb2=50;/*左转函数2*/void turn_left2() zkb1=0; zkb2=60;/*右转函数1*/void turn_right1() zkb1=

23、50; zkb2=0;/*右转函数2*/void turn_right2() zkb1=60; zkb2=0;/*循迹函数*/void xunji() uchar flag; if(RSEN1=1)&(RSEN2=1)&(LSEN1=1)&(LSEN2=1) flag=0; /*直行*/ else if(RSEN1=0)&(RSEN2=1)&(LSEN1=1)&(LSEN2=1) flag=1; /*左偏1,右转1*/ else if(RSEN1=0)&(RSEN2=0)&(LSEN1=1)&(LSEN2=1) flag=2; /*左偏2,右转2*/ else if(RSEN1=1)&(RSE

24、N2=1)&(LSEN1=0)&(LSEN2=1) flag=3; /*右偏1,左转1*/ else if(RSEN1=1)&(RSEN2=1)&(LSEN1=0)&(LSEN2=0) flag=4; /*右偏2,左转2*/ switch (flag) case 0:qianjin(); break; case 1:turn_right1(); break; case 2:turn_right2(); break; case 3:turn_left1(); break; case 4:turn_left2(); break; default: break; /*主程序*/void main()

25、 init(); zkb1=30; zkb2=30; while(1) IN1=1; /*给电机加电启动*/ IN2=0; IN3=1; IN4=0; ENA=1; ENB=1;while(1) xunji(); /*寻迹*/ 5参考资料1 宋健,姜军生,赵文亮. 基于单片机的直流电动机PWM 调速系统J . 农机化研究,2006 , (1) :102 - 103.2 边春元 李文涛 江杰 杜平等;C51单片机典型模块设计与应用;机械工业出版社;2008.43 李华. MCS- 51 系列单片机实用接口技术M.北京:航空航天大学出版社, 20034 楼然苗.51 单片机设计实例M.北京:航空航天大学出版社,2005.85 王晶,翁显耀,梁业宗 自动寻迹小车的传感器模块设计.武汉理工大学自动化学院湖北武汉6 刘迎春. 传感器原理设计与应用M . 长沙:国防科技大学出版社,1992.17

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 大学论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922