基于51单片机的智能寻迹小车副本.docx
《基于51单片机的智能寻迹小车副本.docx》由会员分享,可在线阅读,更多相关《基于51单片机的智能寻迹小车副本.docx(25页珍藏版)》请在冰豆网上搜索。
![基于51单片机的智能寻迹小车副本.docx](https://file1.bdocx.com/fileroot1/2023-1/23/0aec7335-eec5-4555-b0fd-f4ab060b711a/0aec7335-eec5-4555-b0fd-f4ab060b711a1.gif)
基于51单片机的智能寻迹小车副本
摘要
智能车辆作为现代社会的新产物,以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备,智能小车的研究和开发正成为广泛关注的焦点。
本设计是一种基于单片机控制的简易自动寻迹小车系统,系统的设计主要分为总体方案设计、硬件和软件设计,其中每一部分均采用模块化设计原则,使得设计易读、易修改、易扩充。
该设计重点介绍循迹小车如何解决轨迹检测和路线跟随问题。
系统以AT89C51为控制核心,利用定时器T0通过定时器中断产生PWM波形,通过调整占空比控制小车速度和转向。
利用红外光电传感器ST188对路面黑色轨迹进行检测,并将路面检测信号反馈给单片机,单片机对采集到的信号予以分析判断,及时控制左右轮电机的转速以调整小车转向,从而使小车能够沿着环形黑色轨迹自动行驶,达到自动寻迹的目的。
关键词:
AT89C51单片机、光电检测器、PWM调速、电动小车
Abstract
Intelligentvehicleisanewproductofmodernsociety,andproductdevelopmentbasedonintelligentvehiclehasbecomeakeyequipmentautomationlogisticstransportation,flexibleproductionorganizationsystem,researchanddevelopmentofintelligentvehicleisbecomingthefocusofattention.Thedesignisasimplecarautotracingsystembasedonsingle-chipmicrocomputercontrol,systemdesignmainlyincludesdesign,astheschemeofhardwareandsoftwaredesign,whereeachpartadoptsmodulardesignmakesthedesignprinciple,readable,easytomodify,extend.
Thedesignfocusesonhowtosolvetheproblemoftrajectorytrackingcardetectionandroutetofollowproblem.SystemusesAT89C51asthecontrolcore,usingthetimerT0timerinterruptthroughPWMwaveformgeneration,byadjustingthedutycyclecontrolvehiclespeedandsteering.FortracingusinginfraredphotoelectricsensorST188,andthepavementdetectionsignalsbacktotheSCM,SCMtoanalysissignalcollected,timelycontrolleftandrightwheelmotorspeedtoadjustthecarsteering,sothatthecarcanalongtheringshapedblacktrajectoryautomatically,toachievethepurposeofautomatictracing.
keyword:
AT89C51microcontroller,photoelectricdetector,PWMspeed,electriccar
1.绪论
1.1课题背景
目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。
世界上许多国家都在积极进行智能车辆的研究和开发设计。
智能车辆也叫无人车辆,是一个集环境感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。
它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和巡航控制等功能。
智能车辆的主要特点是在复杂的道路情况下,能自动地操纵和驾驶车辆绕开障碍物并沿着预定的道路(轨迹)行进。
智能车辆作为移动机器人的一个重要分支正得到越来越多的关注。
1.2课题研究的目的和意义
目前,国内外的许多大学及研究机构都在积极投入人力、财力研制开发针对特殊条件下的安全监测系统。
其中包括研究使用远程、无人的方法来进行实现,如机器人、远程监控等。
无线传输的发展使得测量变得相对简单而且使得处理数据的速度变得很快甚至可以达到实时处理。
该智能小车可以作为机器人的典型代表。
它可以分为三大组成部分:
传感器检测部分、执行部分、CPU。
机器人要实现循迹功能,还可以扩展自动避障等功能,感知导引线和障碍物。
可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。
通过构建智能小车系统,培养设计并实现自动控制系统的能力。
在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测、驱动和显示等外围电路,采用智能控制算法实现小车的智能循迹。
灵活应用机电等相关学科的理论知识,联系实际电路设计的具体实现方法,达到理论与实践的统一。
在此过程中,加深对控制理论的理解和认识
2.系统方案设计
按照题目要求,本次设计的系统是利用主控芯片控制电机,通过相关传感器对路面的轨迹信息进行检测,并将检测信号传输给控制器,然后控制器做出相应的处理,实现小车的寻迹前行。
设计的首要问题即解决路径检测和小车转向。
2.1循迹原理
采用与地面颜色有较大差别的线条(例如白色路面上画一条黑色曲线)作引导线,由于不同颜色对光线的反射系数不同,因此可根据反射光的强弱来判断路径是否正确。
在该模块中可选用一种简单有效、应用较普遍的检测方法——红外探测法[1]。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
正是基于光电传感器对是否接收到反射信号所产生的电压信号原理,经过后续电路处理来判断行车路径是否正确,通过单片机控制系统调节寻迹小车的转向使其能够自动检测到引导线,并沿此引导线移动。
2.2系统总体框图
根据设计要求,小车系统主要分为以下几个模块:
单片机控制模块、轨迹检测模块、电机驱动模块。
系统框架图如图2.1所示
图2.1系统框架图
2.3轨迹检测模块
根据引导线与路面的反射系数不同,通过以光电传感器为核心的光电检测电路对路面两种颜色进行区分,并将传感器信号转化为不同电平信号,将此电平信号送单片机,由单片机控制转向电机作相应的转向,确保小车沿引导线行驶。
2.3.1传感器模块
采用光电传感器。
光电传感器原理简单,实现方便,价格低廉,可集发射器和接收器于一体。
使用这类光电传感器电路简单,工作性能稳定,能完成需要的信号检测功能。
选择ST188红外光电传感器,它的特点是尺寸小、使用方便、工作状态受温度影响小、工作较稳定、外围电路简单。
2.3.2检测放大器方案
由于传感器的输出信号很微弱且带有噪音,因此必须先将该信号进行放大整形,整成高低电平形式再供单片机读取
综合考虑系统的各项性能,采用数字器件——施密特触发器。
施密特触发器是双稳态触发器的变形,它有两个稳定状态,触发方式为电平触发,只要外加触发信号的幅值增加到足够大,它就从一个稳定状态翻转到另一个稳定状态。
施密特触发器具有与滞回比较器相类似的滞回特性,但施密特触发器的抗干扰能力比滞回比较器更强。
2.4MCU控制模块
采用AT89C51单片机作为主控制器。
AT89C51是一款低功耗,高性能的8位单片机,片内含有8KB的Flash片内程序存储器,256Bytes的RAM,32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断等。
价格便宜,使用方便。
编程实现难度低,适合用来实现系统的控制功能。
2.5电机及驱动模块
2.5.1转向和动力
转向和动力结合的电动小车。
转向和动力结合的电动小车是使用两个独立的电动机各自带动一个轮胎位于两侧,通过两个轮胎速度的改变实现小车的转向。
控制所用程序较少,控制器控制起来简单(这种转向方式类似于坦克的转向方式。
)为了小车的平衡再装上保持平衡的轮子。
2.5.2电动机模块
采用直流电机。
直流电机转动力矩大,响应快速,体积小,重量轻,较大的起动转矩使其有从零转速至额定转速具备可提供额定转矩的性能。
可用变速齿轮改变其速度来达到本系统要求。
价格较低。
选用减速比为1:
74的直流电机,减速后电机的转速为100r/min。
若车轮直径为6cm,则小车的最大速度可以达到
能够较好的满足系统的要求。
2.5.3调速系统
脉宽调速系统。
采用晶闸管的直流斩波器基本原理与整流电路不同的是,在这里晶闸管不受相位控制,而是工作在开关状态。
当晶闸管被触发导通时,电源电压加到电动机上,当晶闸管关断时,直流电源与电动机断开,电动机经二极管续流,两端电压接近于零。
脉冲宽度调制(PulseWidthModulation),简称PWM。
脉冲周期不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速。
可在行进间变速,直道高速,弯道低速。
与V-M系统相比,PWM调速系统有下列优点:
1)由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动很小的直流电流,电枢电流容易连续,系统的低速运行平稳,调速范围较宽,可达1:
10000左右。
由于电流波形比V-M系统好,在相同的平均电流下,电动机的损耗和发热都比较小。
2)同样由于开关频率高,若与快速响应的电机相配合,系统可以获得很宽的频带,因此快速响应性能好,动态抗扰能力强。
3)由于电力电子器件只工作在开关状态,主电路损耗较小,装置效率较高。
根据以上综合比较,以及本设计中受控电机的容量和直流电机调速的发展方向,本设计采用PWM波进行调速。
PWM的产生可通过单片机中的定时器来实现,但是驱动能力有限,因此PWM的输出需通过驱动电路才能驱动电机正常运转。
2.5.4电机驱动模块
采用集成芯片L298N驱动直流电机。
L298N是一种高电压、大电流电机驱动芯片。
主要特点是:
工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。
内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
2.6电源模块
用电池串联6--8V电压,接后续稳压电路,单片机与大电流器件分开供电,避免大电流器件对单片机造成干扰。
在不超过单片机工作电压范围的情况下,又能驱动直流电机。
且这个电源结构简单,价格便宜,容易得到。
2.7显示模块
本系统采用两个颜色不同的的LED灯来显示系统的运行状况,P2.6口接绿灯,P2.7口接红灯。
当系统正常运行时,P2.6口输出低电平,P2.7口输出高电平,绿色LED灯亮,红灯熄灭,电机正常运行。
当系统出现问题时,P2.6输出高电平,P2.7输出低电平,绿灯熄灭,红灯亮,电机停转,系统须复位后才能正常运行。
2.8系统工作原理
本次设计利用ST188红外传感器作为路径检测元件,由于传感器输出信号微弱且带有噪音干扰,因此传感器输出接放大电路(施密特触发器)进行滤波整形,将传感器信号转换为稳定的高低电平以供单片机查询。
系统上电后,单片机开始不停地扫描与检测电路连接的I/O口状态。
一旦检测到某个I/O口有信号变化,就执行相应的判断程序,并通过电机驱动LN298N驱动左、右电机。
在驱动过程中,单片机采用T0定时计数器,通过来产生PWM波,控制电机转速。
当左右电机转速相同时则小车直走,若不同则实现转向功能。
小车转向主要通过两不同占空比的PWM波通过驱动电路来控制左右轮电机的转速,由于占空比不同因此两轮转速不同,左轮快则向右转反之则左转从而纠正小车的状态,使之回到预设轨道上。
系统原理图如图2.3所示。
图2.2系统原理图
3.硬件设计
根据各模块方案选择结果,本次设计所涉及到的硬件部分主要包括:
1)电源模块,电源采用干电池接后续稳压电路为各模块独立供电。
2)单片机最小系统模块,使单片机能正常工作。
3)前向通道模块,包括传感器电路和放大电路。
4)后向通道模块,利用单片机通过驱动芯片L298N驱动直流电机。
3.1电源模块设计
3.1.1智能车电源设计要点
由于电机在正常工作时对电源的干扰很大,只用一组电源时会影响单片机的正常工作,所以选用双电源供电。
一组5V电源给单片机和控制电路供电,另外一组5V、9V电源给L298N的+VSS、+VS供电。
电源是整个系统稳定工作的前提,因此必须有一个合理的电源设计,且应该主要注意稳压压差和最大输出电流两个指标能否满足设计要求。
对于小车来说电源设计应注意两点:
1.与一般的稳压电源不同,小车的电池电压一般在6-8V,还要考虑在电池损耗的情况下电压的降低,因此常用的78系列稳压芯片不再能够满足要求,因此必须采用低压差的稳压芯片,在本设计中以较为常见的LM2940-5.0为核心器件。
2.单片机必须与大电流器件分开供电,避免大电流器件对单片机造成干扰,影响单片机的稳定运行。
3.1.2低压差稳压芯片LM2940简介
LM2940系列是输出电压固定的低压差三端端稳压器;输出电压有5V、8V、10V多种;最大输出电流1A;输出电流1A时,最小输入输出电压差小于0.8V;最大输入电压26V;工作温度-40~+125℃;内含静态电流降低电路、电流限制、过热保护、电池反接和反插入保护电路。
同时LM2940价格适中而且较容易购买,非常适合在本设计中使用。
LM2940-5.0封装和实物图如图3.1所示。
图3.1LM2940封装和实物图
从封装可以看出LM2940-5.0与78系列完全相同,实际应用中电路也大同小异。
图3.2为参考电路图。
图3.2LM2940参考电路图
如图3.2所示,采用两路供电,这样可以使用其中一路单独为单片机,指示灯等供电。
另外一路提供L298N、光电管工作电压。
3.2单片机最小系统设计
AT89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单、可靠。
用89C51单片机构成最小应用系统[4]时,只要将单片机接上时钟电路和复位电路即可[2]。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
其应用特点:
有可供用户使用的大量I/O口线,内部存储器容量有限,应用系统开发具有特殊性。
1)时钟电路
AT89C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。
AT89C51单片机的时钟产生方法有两种。
内部时钟方式和外部时钟方式。
本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。
本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHZ到12MHZ之间选择。
电容值无严格要求,CX1、CX2可在20pF到100pF之间取值。
所以本设计中,振荡晶体选择11.0592MHZ,电容选择30pF。
在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。
为了提高温度稳定性,应采用NPO电容。
2)复位电路
AT89C51的复位是由外部的复位电路来实现的。
复位引脚RST通过在每个机器周期的对复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种方式。
最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。
只要VCC的上升时间不超过1ms,就可以实现自动上电复位。
时钟频率用11.0592MHZ时C取10uF,R取10KΩ。
控制器模块如图3.3所示。
图3.351单片机最小系统
除了上电复位外,有时还需要按键手动复位。
本设计就是用的按键手动复位。
按键手动复位有电平方式和脉冲方式两种。
其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。
按键手动复位电路见图3.4。
时钟频率选用6MHZ时,C取22uF,Rs取200Ω,RK取1KΩ。
图3.480C51复位电路
3)程序存储器
MCS-51具有64kB程序存储器寻址空间,可以分为片内ROM空间和片外ROM空间,主要用于存放程序(可执行的二进制代码映像文件,包括程序中的数据信息)以及初始化代码等软件。
在MCS-51系列中,8051/89C51片内分别驻留最低地址空间的4KB的ROM/EPROM,MCS-51系列的程序计数器PC是16位的寄存器,它具有64KB的寻址能力。
在使用逻辑地址寻址程序存储器时,不分内部和外部,CPU会自动按指定地址去片内或片外读取程序的指令代码。
但是MCS-51不会把程序的执行从程序存储器地址空间转移到数据存储器地址空间,它不提供这种转移指令[5]。
3.3前向通道设计
单片机用于测控系统时,总要有与被测对象相联系的前向通道[5]。
因此,前向通道设计与被测对象的状态、特征、所处环境密切相关。
在前向通道设计时要考虑到传感器或敏感元件选择、通道结构、信号调节、电源配置、抗干扰设计等。
在通道电路设计中还涉及到模拟电路诸多问题。
1)前向通道的含义
当将单片机用作测控系统时,系统中总要有被测信号输入通道,有计算机拾取必要的输入信息。
作为测试系统,对被测对象拾取必要的原始参量信号是系统的核心任务,对控制系统来说,对被控对象状态的测试以及对控制条件的监测也是不可缺少的环节。
在前向通道中,传感器、敏感元件及其相关电路占有重要地位。
对被测对象的信号的拾取其主要任务就是最忠实地反映被测对象的真实状态,它包括实时性与测量精度。
同时使这些测量信号能满足计算机输入接口的电平要求。
因此,单片机应用系统中的前向通道体现了被测对象与系统相互联系的信号输入通道,原始参数输入通道。
由于在该通道中主要是传感器与传感器有关的信号调节、变换电路,故也可称为传感器接口通道[7]。
2)前向通道的设计
本设计采用ST188红外传感器作为探测行车路径的检测元件。
红外线传感器采用反射接收原理,其应用电路如图3.5所示。
红外线发射器通电后不断会发射一定强度的红外线照射物体。
红外线接收器在接受到一定强度的红外线会后导通。
如图通过在红外线的正极接出一个信号来观察红外线接收器是否导通。
当红外线接收器导通时,输出信号为0;反之则为1。
红外线在不同颜色的物体上反射程度是不同的,当红外线传感器在黑色物体时,黑色物体吸收大量红外线,反射少量红外线,红外线接收其不足以导通,输出信号为1。
当红外线传感器在白色物体上时,输出信号为0。
因此本设计采用红外线传感器模块与有黑线的路面组合使用。
图3.5红外线传感器的应用电路
3)红外传感器ST188简介
ST188含一个反射模块(发光二极管)和一个接收模块(光敏三极管),实物如图3.6。
通过发射红外信号,看接收信号变化判断检测物体状态的变化。
A、K之间接发光二极管,C、E之间接光敏三极管(二者在电路中均正接,但要串联一定阻值的电阻),其特点如下:
采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。
检测距离:
4--13mm。
图3.6ST188实物图
4)传感器的安装
在小车具体的循迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设4个红外探测头,进行两级方向纠正控制,提高其循迹的可靠性。
这4个红外探头的具体位置如图3.7所示:
图3.7传感器安装图
图中循迹传感器全部在一条直线上。
其中X1与Y1为第一级方向控制传感器,X2与Y2为第二级方向控制传感器,并且黑线同一边的两个传感器之间的宽度不得大于黑线的宽度。
小车前进时,始终保持在X1和Y1这两个第一级传感器之间,当小车偏离黑线时,第一级传感器就能检测到黑线,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。
若小车回到了轨道上,即4个探测器都只检测到白纸,则小车会继续行走;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围,这时第二级探测器动作,再次对小车的运动进行纠正,使之回到正确轨道上去。
可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车循迹的可靠性。
由于光电传感器只输出一种高低电平信号且伴有外界杂波干扰,在本设计中可利用滞回比较器来解决简单电压比较器抗干扰能力差的问题,使其不会因为输入信号因受干扰在阈值附近变化时比较器输出会反复的从一个电平跳到另一个电平。
滞回比较器有两个数值不同的阈值,当输入信号因受干扰或其他原因发生变化时,只要变化量不超过两个阈值之差,滞回比较器的输出电压就不会来回变化,抗干扰能力强。
图3.8迟滞比较器
在本设计中选用放大器LM324[12],其简介如下:
LM324为四运放集成电路,采用14脚双列直插塑料封装。
内部有四个运算放大器,有相位补偿电路。
电路功耗很小,工作电压范围宽,可用正电源3~30V,或正负双电源±1.5V~±15V工作。
在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。
在电路中,LM324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合适的比较电压。
图3.9前向通道电路结构
3.4后向通道设计
3.4.1后向通道简介
在工业控制系统中,单片机总要对控制对象实现操作,因此,在这样的系统中,总要有后向通道。
后向通道是计算机实现控制运算处理后,对控制对象的输出通道接口。
根据单片机的输出和控制对象实现控制信号的要求,后向通道具有以下特点:
1)小信号输出、大功率控制。
根据目前单片机输出功率的限制,不能输出控制对象所要求的功率信号。
2)是一个输出通道。
输出伺服驱动系统控制信号,而伺服驱动系统中的状态反馈信号通常是作为检测信号输入前向通道。
3)接近控制对象,环境恶劣。
控制对象多为大功率伺服驱动机构,电磁、机械干扰较为严重。
但后向通道是一个输出通道,而且输出电平较高,不易受到直接损害。
但这些干扰易从系统的前向通道窜入。
单片机在完成控制处理后,总是以数字信号通过I/O口或数据总线送给控制对象。
这些数字信号形态主要有开关量、二进制数字量和频率量,可直接用于开关量、数字量系统及频率调制系统,但对于一些模拟量控制系统,则应通过数/模转换成模拟量控制信号。
根据单片机输出信号形态及控制对象要求,后向通道应解决:
1)功率驱动。
将单片机输出信号进行功率放大,以满足伺服驱动的功率要求。
2)干扰防治。
主要防治伺服驱动系统通过信号通道﹑电源以及空间电磁场对计算机系统的干扰。
通常采用信号隔离﹑电源隔离和对功率开关实现过零切换等方法进行干扰防治。
3)数/模转换。