毕业设计-基于pic单片机的智能小车设计_第1页
毕业设计-基于pic单片机的智能小车设计_第2页
毕业设计-基于pic单片机的智能小车设计_第3页
毕业设计-基于pic单片机的智能小车设计_第4页
毕业设计-基于pic单片机的智能小车设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要PIC16F877A单片机是MICROCHIP公司生产一款八位单片机,它的易用性和多功能性受到了广大使用者的好评,它的丰富的外围功能模块为我们的设计提供了便利。这里介绍的是如何用红外线传感器采集信号并通过单片机控制来实现避障寻线小车功能的设计,该设计是结合科研项目而确定的设计类课题。本系统以设计题目的要求为目的,并进行了小车功能的拓展。小车采用PIC16F877A单片机为控制核心,实现智能小车的智能控制,包括智能避障、路面寻线、PWM调速、测速并实时显示速度等功能。整个系统的电路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的方案论证、硬件设计方法及测试结果分析。关键词PIC16F877A;红外线传感器;避障寻线系统;PWM调速;智能小车ABSTRACTPIC16F877AMICROCONTROLLERISAN8BITMCUMADEBYMICROCHIPCOMPANY,ITSEASEOFUSEANDVERSATILITYARETHEMAJORITYOFUSERSPRAISE,ITSRICHPERIPHERALFUNCTIONMODULESFOROURDESIGNPROVIDESCONVENIENCEHEREISHOWTOCAPTURETHESIGNALUSINGINFRAREDSENSORSANDTHROUGHMCUCONTROLTOACHIEVEOBSTACLEAVOIDANCEFUNCTIONOFLINETRACKINGCARDESIGN,THEDESIGNISACOMBINATIONOFSCIENTIFICRESEARCHANDTODETERMINETHEDESIGNOFCLASSTOPICSTHESYSTEMDESIGNREQUIREMENTSFORTHEPURPOSEOFTHESUBJECTANDHADACARFUNCTIONEXPANSIONPIC16F877AMICROCONTROLLERTOCONTROLTHECARUSINGTHECORE,INTELLIGENTCAROFTHEINTELLIGENTCONTROL,INCLUDINGTHESMARTOBSTACLEAVOIDANCE,ROADHUNTING,PWMSPEEDCONTROL,SPEEDANDREALTIMEDISPLAYSPEEDANDOTHERFUNCTIONSASIMPLECIRCUITSTRUCTUREOFTHESYSTEMRELIABILITYCANBEHIGHEXPERIMENTALTESTRESULTSMEETTHEREQUIREMENTS,THISARTICLEHIGHLIGHTSTHEPROGRAMDEMONSTRATIONOFTHESYSTEM,HARDWAREDESIGNMETHODSANDTESTRESULTSANALYSISKEYWORDSPIC16F877ASINGLECHIPCOMPUTERINFRAREDSENSORSOBSTACLEAVOIDANCESEEKINGLINESYSTEMPWMSPEEDSMARTCAR目录前言11方案设计与论证211总体方案选择212各模块方案选择与论证2121控制器模块2122避障模块3123寻线模块3124直流调速模块6125车速检测模块7126电机驱动模块8127电源模块813系统各模块最终方案82硬件系统的设计与实现921电源电路设计922检测电路设计923电机控制电路设计1024PWM调速设计1125舵机方向控制设计123软件系统的设计与实现1331系统软件设计与调试1332软件抗干扰技术13321数字滤波技术14322开关量的软件抗干扰技术14323指令冗余技术14324软件陷阱技术154系统测试与调整1641电路硬件测试1642系统实现功能测试1643整车测试16总结17致谢18参考文献19附录20前言当今社会,科学技术日新月异,时代前进的步伐越迈越宽,应用自动化设备,计算机处理,现代化通讯,数字化信息,现代化显示设备等高新技术而建立的现代化智能,监控等系统已经得到充分的发展与应用,智能机器人也就应运而生。同时,在建设以人为本的和谐社会的过程中,智能服务机器人能够完成考古发掘,海底揭密,宇宙探索等危险作业,以保证人身安全。国家中长期科学和技术发展规划纲要一文指出智能服务机器人是在非结构环境下为人类提供必要服务的多种高技术集成的智能化装备。以服务机器人和危险作业机器人应用需求为重点,研究设计方法、制造工艺、智能控制和应用系统集成等共性基础技术。重点研究低成本的自组织网络,个性化的智能机器人和人机交互系统、高柔性免受攻击的数据网络和先进的信息安全系统。由于单片机具有多功能、低价位及小型化等优势,它们已被广泛地应用在消费电子、汽车电子、办公室自动化、通信及一般工业产品上。近些年来,单片机技术的发展已达到了相当高的水平,一些新型单片机层出不穷,技术日新月异。传统单片机(MCU)主要由外围部件、微控制器和存储器构成。新型单片机为了更好灵活地适应不同领域的应用,除了具有这些传统的数字功能外,还提供模拟功能,甚至射频功能,它们不仅是可编程的,而且是可动态重构的。它们是具有PSOC或SOPC特性的、真正的单片机。做单片机项目开发,首先应该关注的是项目的功能和性能要求,即做需求分析通过需求分析,明确实现这些功能和性能指标所需芯片的功能和结构资源、综合成本核算和产品集成度等要求,才能从琳琅满目、特色各异的芯片中选择合适的货架产品。20062020年,既是国家中长期技术发展计划实现阶段,也是我们最具有活力和最激情洋溢的时段。于是,我们五个人认识到自己的位置,都对智能机器人的研发和制作有着强烈的好奇心,有着共同爱好和理想,想用自己的青春和智慧挥写这段焕发青春活力的乐谱。随着生产自动化的发展,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,但其价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。故对机器人的研究已成为必要。智能循线和避障是基于智能导引小车系统,采用红外传感器实现小车速度检测,判断并检测障碍物。本文对智能小车的循线,避障以及速度的采集进行了研究。第一章方案设计与论证11总体方案选择本设计的小车具有自动避障,路面寻线的功能,小车在运行过程中,能够显示当前的运行模式(避障模式和寻线模式),小车设有09档共十个档位的速度调节并能显示当前的档位,并且在运行过程中能够实时显示速度,而且本小车还设有两种模式自动切换的功能。由题目分析可得本设计需要一个由控制器模块、寻线前进模块、红外避障模块、电机驱动模块、电源模块等几部分组成的系统来实现题目要求。为实现本系统的功能,下面分别对几种不同的设计方案进行了具体的分析论证。方案一避障模式时,使用超声波进行避障。把超声波模块装在小车上,通过超声波接收到的信号,判断出障碍物的位置情况来进行多个方向的避障,在行进过程中,小车对前方障碍物进行检测并根据障碍物情况进行相应转弯,进行相应方向转弯重复前边的行进过程,寻线模式时,通过光电传感器传回的信息,判断小车是否偏离轨迹,再作出相应的处理,在轨迹上行走中。小车采用双电机驱动,根据速度差实现小车的前进和转弯。方案二避障模式时,在小车左前、前、右前、左后、后、右后各安装一个红外传感器,当小车处于前进状态时,对前方3个红外传感器传送的信号进行检测分析,当有传感器检查到信号时,进行停车处理并根据检测到的信号情况进行相应的转弯后退,后退3S后自动前进,在后退的过程中对后3个红外线传感器进行信号检测,若检测到信号,就立即刹停后前进。寻线模式时,单片机根据两排寻线的红外线传感器采集的信号情况进行相应的转弯使小车保持在黑线中央行进。寻线过程中打开前面的红外传感器,时时检测,防止小车碰到附近的墙壁。两个方案比较,方案一的超声波传感器受环境的影响较大,故放弃了此种方案。而方案二,采用普遍应用的传感器采集信号,且舵机控制方向精准、反映速度快、转弯平缓灵活等优点,故选择了方案二。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。12各模块方案选择与论证121控制器模块单片机控制模块在本系统中处于核心地位,其工作包括采集传感器的信号,进行数据处理,控制执行机构的运行等。对单片机控制模块的基本要求是具有较高的速度、资源配置满足要求。方案一采用传统的8位89C51单片机作为运动物体的控制核心。经典51单片机具有价格低廉,使用简单等特点,但其运算速度低,功能单一,外围模块少等缺点。若采用51单片机,将增加软件的设计难度。方案二采用8位单片机PIC16F877A作为小车运动的控制中心。PIC16F877A具有丰富的硬件资源RAM,ROM空间大、指令周期短、运算速度快、低功耗、低电压、外围功能模块多,单片机PIC16F877A的晶振频率为4MHZ,最高运算速度可达20MHZ;有8K的FLASH,5V供电,两个8位和一个16位的可编程定时/计数器,可以自动设置预设处置,具有运行/睡眠方式,并且芯片自带看门狗维护功能。程序具有易于编写和调试等优点。综合考虑,采用方案二。122避障系统方案一采用超声波避障,超声波受环境影响较大,电路复杂,而且墙壁对超声波的反射,会影响系统对障碍物的判断。方案二采用红外传感器避障(包括发射管和接收管),红外线发射管发射信号,发射出的红外线遇到障碍物反射,红外线接受管对反射回的信号处理,经高低电平转换电路转换成相应的电压信号送入单片机进行处理,完成避障功能。外界对红外信号的干扰较小,易于实现,故采用方案二。123寻线系统红外检测模块用以实现小车沿着场地上标出的黑色路线运动。题目中路径和周围场地黑白对比明显,可用传感器来感知前进轨迹。方案一可见光发光二极管与光敏二极管组成得发射接收电路。这种方案的缺点在于其他环境光源会对光敏二极管工作产生很大干扰,环境要求比较高。外界环境条件改变,很可能造成误判和漏判,因此没有采用这个方案。方案二采用红外线传感器。当红外线照射到下方的场地会发生反射,由于黑色胶皮和白色胶皮的反射系数不同,红外线传感器可根据接收到的反射光强弱判断是否有黑线。可使用双排反射式红外线传感器控制,达到更高的控制精度。综合考虑,选择了抗干扰能力强且易于实现的红外线电传感器,即确定方案二。本系统采用双排传感器作为寻线系统的信号采集,目前,大多数智能车采用单排传感器的道路检测方式,这种方式获得的道路信息少,对智能车的状态和道路的状况都不能很好地区别,造成控制上的麻烦。为了弥补不足,形成了大前瞻的单排传感器的道路检测方式,这种方式检测的距离更远,能够更早地判断出道路的走向,在一定程度上弥补了检测精度低的缺点,但也无法有效地区分智能车状态与道路状况。比赛的车模可选用摄像头或传感器的方式进行道路信息检测,我们的车模采用的是双排红外的循迹方式,采用大前瞻双排传感器可以得到更多的赛道信息,更早地采取策略处理,形成更好的行车轨迹。是采用复杂的摄像头方案的一种替代方式。可以在直道中实现稳定控制,加速顺畅的能力;在S弯中以小曲线的方式前进,减少行进路线和舵机调整次数。在大弯中实现提前转弯,切内弯的效果。尤其是在转弯方面,通过前后排共同对弯道的预测,达到延伸物理识别距离的能力,从而做出提前的动作,减少由于检测距离近而带来的负面影响,达到上述效果。传感器阵列布局如图11所示,图中仅以接受管示意传感器位置。图11传感器阵列布局布局方式说明前排传感器伸出距离较远,小车中心偏离黑线后,会在前排传感器上产生较大偏移量。后排传感器伸出距离较近,小车中心偏离黑线后,会在后排传感器上产生较小偏移量。利用前后排传感器对小车偏移时不同的敏感度对小车进行控制。为了使前后排体现出更明确的分工和采集到更远处的信息,我们把前排传感器倾斜约45角,使前排的前瞻距离更大,更能体现出前排的优势和特点。直道识别方式、控制策略采用此种方式布局双排红外,对于直道的判别方法可有以下5种物理方式,每种方式应用的时机列于后。图12第一种直道情况在左转大弯后,出弯时最可能出现的前后排传感器检测到黑线时的组合情况。适用于左转90弯、180弯。提前得到出弯信息,舵机向左转动较小角度,并在此时采取加速动作,起到弥补前瞻不足的作用。此情况在赛道的S弯出现时,不满足直道的第二种识别方式,故不会加速。图13第二种直道情况此情况是对第一种情况的再确认,左转大弯并经过第一种情况后,再经历此种情况,可确认无误前方为直道,继续提升小车的加速能力。控制程序由弯道程序切换到直线稳定程序。图14第三种直道情况此时采取直线稳定控制。由于前两种情况已经明确识别为直道,此种情况只是增加直道识别的成功率。图15第四种直道情况与第二种情况类似,对第五种情况的再确认,右转转大弯并经过第五种情况后,再经历此种情况,可确认无误前方为直道,继续提升小车的加速能力。控制程序由弯道程序切换到直线稳定程序。图16第五种直道情况在右转大弯后,出弯时最可能出现的前后排传感器检测到黑线时的组合情况。适用于右转转90弯、180弯。提前得到出弯信息,舵机向右转动较小角度,并在此时采取加速动作,起到弥补前瞻不足的作用。在赛道的S弯出现时,不满足直道的第二种识别方式,故不会加速。直道识别,程序辅助确认进入弯道后,随着小车的行进,会发生振荡,致使出弯时不一定满足上述5种情况。为了提高直道的识别成功率,增加第二种直道判别方法。两者同时起作用,满足第一种后经过最多15MS确认是直道。程序是循环执行,我们的程序执行频率是2KHZ。采用定时中断15MS的方式,对前排中间3个传感器编号为3、4、5使用3个计数器分别计数,每次执行程序若是其中一个检测到黑线,相对应的计数器加1。经过计算,15MS内所能计数的最大值为31。我们设定计数的最大值,若在15MS内达到所要求的计数值,就认为是直道,切换直道程序并将计数器清零;若15MS内没有达到所要求的计数值,计数器清零,重新计数。例如小车为2M/S的速度,小车行进3CM。我们只要判断225CM内为直道即可。所以设最大计数值为2025即认为是直道,跳出弯道程序。当然也可以采用更严格的方法来判断,只需调整定时中断的时间和计数值即可。此条件在进入直道后总能满足,所以作为第一种直道判别方式的补充,保证直道的稳定可靠识别。直线稳定控制策略小车出弯后,由于舵机的反应不灵敏,智能车会发生振荡,随后才能达到稳定,为了尽早减小振荡,采用如下方式控制小车出弯后的动作在弯道策略中设置标志位,进入直线程序后,识别标志位,对控制舵机转向的公式采取修正设置。公式为QK1Q1K2Q2;其中Q为最终送给舵机的控制量,Q1为前排光电传感器的返回转角值,Q2为后排红外返回转角值。K1、K2分别为前后排传感器的加权比例值。当小车从弯道进入直道并成功识别出直道后,减小K1的值,由于后排传感器距离小车的前轮转向轮很近,小车中心偏离黑线时,不会在后排传感器横向位置产生很大位移相对于前排传感器,故小车在直线上舵机调整的次数就会明显减少,直线的稳定性会好。同时,根据前后排不同传感器的组合,给出不同的转角策略在程序中以列表的方式体现,近一步提高直线的稳定控制能力。124直流调速系统方案一串电阻调速系统旋转变流系统由交流发电机拖动直流电动机实现变流,由发电机给需要调速的直流电动机供电,调节发电机的励磁电流即可改变其输出电压,从而调节电动机的转速。改变励磁电流的方向则输出电压的极性和电动机的转向都随着改变,所以GM系统的可逆运行是很容易实现的。该系统需要旋转变流机组,至少包含两台与调速电动机容量相当的旋转电机,还要一台励磁发电机,设备多、体积大、费用高、效率低、维护不方便等缺点。且技术落后,因此搁置不用。方案二静止可控整流器。简称VM系统VM系统是当今直流调速系统的主要形式。它可以是单相、三相或更多相数,半波、全波、半控、全控等类型,可实现平滑调速。VM系统的缺点是晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难。它的另一个缺点是运行条件要求高,维护运行麻烦。最后,当系统处于低速运行时,系统的功率因数很低,并产生较大的谐波电流危害附近的用电设备。采用晶闸管的直流斩波器基本原理与整流电路不同的是,在这里晶闸管不受相位控制,而是工作在开关状态。当晶闸管被触发导通时,电源电压加到电动机上,当晶闸管关断时,直流电源与电动机断开,电动机经二极管续流,两端电压接近于零。脉冲宽度调制(PULSEWIDTHMODULATION),简称PWM。脉冲周期不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速。方案三脉宽调速系统与VM系统相比,PWM调速系统有下列优点(1)由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动很小的直流电流,电枢电流容易连续,系统的低速运行平稳,调速范围较宽,可达110000左右。由于电流波形比VM系统好,在相同的平均电流下,电动机的损耗和发热都比较小。(2)同样由于开关频率高,若与快速响应的电机相配合,系统可以获得很宽的频带,因此快速响应性能好,动态抗扰能力强。(3)由于电力电子器件只工作在开关状态,主电路损耗较小,装置效率较高。根据以上综合比较,以及本设计中受控电机的容量和直流电机调速的发展方向,本设计采用了H型单极型可逆PWM变换器进行调速。脉宽调速系统的主电路采用脉宽调制式变换器,简称PWM变换器。脉宽调速也可通过单片机控制继电器的闭合来实现,但是驱动能力有限。为顺利实现电动小汽车的前行与倒车,本设计采用了可逆PWM变换器。可逆PWM变换器主电路的结构式有H型、T型等类型。我们在设计中采用了常用的双极式H型变换器,它是由4个三极电力晶体管和4各续流二极管组成的桥式电路。125车速检测系统由于红外检测具有反应速度快、定位精度高,可靠性强以及可见光传感器所不能比拟的优点,故采用红外光电码盘测速方案。具体电路同图17所示。图117行车速度检测电路红外测速由测速轮,遮光盘,红外光电耦合器及凹槽型支架组成的。测长轮的周长为记数的单位,最好取有效值为单一的数值(如01米),精度根据电动车控制的需要确定。测距轮安装在车轮上,这样能使记数值准确一些。遮光盘有一缺口,盘下方的凹形物为槽型光电耦合器,其两端高出部分的里面分别装有红外发射管和红外接收管。遮光盘在凹槽中转动时,缺口进入凹槽时,红外线可以通过,缺口离开凹槽红外线被阻挡。由此可见,测距轮每转一周,红外光接收管均能接收到一个脉冲信号经过整形器后送入计数器或直接送入单片机中。为实现可逆记数功能,我们在测距仪中并列放置了两个槽型光电耦合器,遮光盘先后通过凹槽可产生两个脉冲信号。根据两个脉冲信号发生的先后顺序与两个光电耦合器的位置关系,即可计算出玩具车的行驶方向(前进或后退)。遮光盘及槽型光电耦合器均安装在不透光的盒子里,以避免外界光线的干扰,使电路不能正常工作。测速原理将光栅安装在电机轴上,当电机转动时,光栅也随之转动,同时安装在光栅一侧的红外发光二极管点亮,在光栅的另一侧设有红外三极管,用于接收红外发光二极管发出的红外线信号。由于光栅随电机高速转动,则红外线三极管接收到的就是一系列脉冲信号。将该信号传输到PIC16F877A单片机的内部计数器计数,根据预先实测的数据换算关系即可计算出小车的行车速度。126电机驱动模块小车电机驱动模块是本系统的执行机构,用于控制小车的运行。方案一采用舵机和直流电机分别控制小车转向和驱动。舵机控制两个前轮的转向,不能为小车提供前进的动力,为使小车前进,在后轮装了个驱动马达,从而使小车既能前进又能转弯。方案二小车采用双电机实现驱动和转向。利用电机差速原理控制小车转向,能够实现原地任意角度的转向。首先在小车的后方安装一万向轮,两侧为双动力电机。由于舵机控制具有灵活、灵敏度高、反映速度快等优点,极易实现小车的快速而精确转弯,在寻线模式时优势更加明显。基于上述分析,采用了方案一。127电源模块方案一采用普通电池,选用7节电池给直流电机供电,经7805稳压管对单片机、光电传感器、金属接触传感器等供电,但对直流电机影响很大,电机转速变化大,对任务的完成极为不利。方案二采用10节可充电式镍氢电池组共12V给直流电机供电,经7805电压转换为单片机、红外线传感器等额定电压为5V器件供电。单片机和传感器工作正常,直流电机转速变化不大且平稳行进,且电池体积较小,重量较轻,能够满足系统要求。上述论证可知,电池组可保持系统稳定,选取方案二。13系统各模块的最终方案经过论证,得到各个模块的最终应用方案,方案如下1控制器模块采用MICROCHIP公司单片机PIC16F877A作为小车运动的控制核心;2寻线前进和障碍物检测躲避模块采用ST168型红外线传感器来进行信号采集;3小车电机驱动模块采用了L298N电机驱动芯片控制电机;4小车方向调整模块采用舵机的PWM波控制;5电源模块采用12V电池组经7805稳压后作为单片机、红外传感器、舵机等的电源,12V电池组直接作为直流电机的电源;6直流调速系统由单片机的CCP模块产生的PWM波控制电机的速度。第二章硬件系统的设计与实现21电源电路的设计本系统所有芯片都需要5V的工作电压,而一节电池只能提供的电压为12V的倍数的电压,10节电池电压为12V,则需要7805稳压芯片。L7805能提供小于15A的电流,足以满足芯片供电的要求。虽然微处理器和微控制器不需要支持电路,功耗也很低,但必须要加以考虑。由于直流电机的额定电压大且额定电流大,可直接由12V而不经降压为其供电,电机驱动电源由它来提供的。图21为12V电压经7805稳压后得到5V电压的稳压电路。图21电源稳压电路22检测电路设计智能小车速度检测的传感器采用红外对射式,寻路避障用的传感器采用红外反射式。ST系列反射式光电传感器是经常使用的传感器。这个系列的传感器种类齐全、价格便宜、体积小、使用方便、质量可靠、用途广泛。我们采用ST168作为小车传感器。信号检测电路如图22所示,在电机测速中,使用较多的有编码盘与色码盘,不同的是,色码盘在一个扇形区域里只有一种颜色,而编码盘在同样的扇形区域有多种颜色,假设黑色表示0,白色表示1,则这样的扇形组成二进制编码,并且相邻的区域编码连续。这样我们就可以据此判断电机的速度和方向了,但是它需要的传感器较多,使用较复杂,而小车的空间很紧张,并且对方向要求不高,所以在小车上使用不多,我们采用手工制作的码盘。如果发射管和接收管之间的障碍物时有时无,则接收管的状态就呈现0和1的交替,形成脉冲信号。只要对这个脉冲信号计数,就可以得到小车车轮的转速。我们在车轮的轴上安装手工制作的码盘与车轮同轴同步旋转,就可以得到车轮旋转的脉冲信号。在避障的测试中,室内无障碍的情况下,发射管发射的红外线没有反射到接收管,测量接收管的电压为48V,有白色障碍物情况下,接收管接受到发射管发射的红外线,电阻发生变化,所分得的电压也就随之发生变化,测的接收管的电压为05V,避障的测试基本满足要求。图22红外检测电路23电机控制电路设计电机的选择,有以下几种电机可供选择步进电机,伺服电机,直流电机,直流减速电机。根据实际的情况和要求,由于伺服电机在市面上很难买到,价格过于昂贵,直流电机虽说价格低易于购买,但我们须增加减速机构,而直流减速电机省去了设计复杂减速机构的麻烦,且输出力矩大,虽说须设计速度反馈电路,但速度反馈比较易于设计,所以我们选择直流减速电机,电机的控制部分采用直流H桥集成功放电路,直流H桥功放电路是用于控制直流电机双向运动的基本电路,该电路使电机在单电源供电下可以双向运转。图24所示电路为用三极管构成的H桥集成功放电路基本形式。为使电机顺时针转,应接通三极管A和D,对电机而言,其电压右负左正,通过改变不同的三极管导通状况,可改变电机两端电压,达到反转目的。由主控程序控制这几个脚就可以达到控制电机正反转的目的。L298N是内部集成了两个H桥的电机驱动芯片,图23所示为逻辑电平与电机转动情况表,图25所示电路为用L298N设计的电机驱动电路。ENA接单片机的PWM输出,当PWM的占空比改变时,电机的电枢电压改变,从而达到控制电机的转速的目的。IN1和IN2接单片机的两个引脚,当单片机两引脚输出不同的电平时,电机有不同的动作,其关系如表一所示。图23逻辑电平与电机转动情况表图24H桥功放电路图25L298N电机驱动电路24PWM调速实现脉宽调制器本身是一个由运算放大器和几个输入信号组成的电压比较器。运算放大器工作在开换状态,稍微有一点输入信号就可使其输出电压达到饱和值,当输入电压极性改变时,输出电压就在正、负饱和值之间变化,这样就完成了把连续电压变成脉冲电压的转换作用。加在运算放大器反相输入端上的有三个输入信号。一个输入信号是锯齿波调制信号,另一个是控制电压,其极性大小可随时改变,与锯齿波调制信号相减,从而在运算放大器的输出端得到周期不变、脉宽可变的调制输出电压。只要改变控制电压的极性,也就改变了PWM变换器输出平均电压的极性,因而改变了电动机的转向。改变控制电压的大小,则调节了输出脉冲电压的宽度,从而调节电动机的转速。只要锯齿波的线性度足够好,输出脉冲的宽度是和控制电压的大小成正比的。利用PIC16F877A的I/O口资源,CCP模块产生380HZ的PWM波,通过调节PWM的占空比来实现电机转速的调整。此时加在电机两端的平均电压为CVTLHU/通过调整PWM波的占空比,改变TH和TL的比值,从而改变了加在电机两端的平均电压U的大小,最终实现直流电机的调速。其原理图如图26所示。图26PWM调速原理图25舵机的方向控制实现舵机的控制信号为周期是20MS的脉宽调制(PWM)信号,其中脉冲宽度从05MS25MS,相对应舵盘的位置为0180度,呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。舵机内部有一个基准电路,产生周期20MS,宽度15MS的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。舵机的控制一般需要一个20MS左右的时基脉冲,该脉冲的高电平部分一般为05MS25MS范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的05MS0度;10MS45度;15MS90度;20MS135度;25MS180度;图27舵机控制原理图其控制原理如图27所示,由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并可以保持的驱动当中。比方说机器人的关节、飞机的舵面等。正是因为舵机的控制信号是一个脉宽调制信号,所以很方便和数字系统进行接口。只要能产生标准的控制信号的数字设备都可以用来控制舵机,比方PLC、单片机等。本系统利用单片机产生舵机的控制信号来进行控制。第三章软件系统的设计与实现31系统软件设计与调试在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件更为重要。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。模块程序设计法的主要优点是1、单个模块比起一个完整的程序易编写及调试;2、模块可以共存,一个模块可以被多个任务在不同条件下调用;3、模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。本系统软件采用模块化结构,由主程序定时子程序、避障子程序中断子程序显示子程序调速子程序算法子程序构成。本系统的软件设计方法是各个独立模块程序分布设计,然后所有程序连接组成系统程序,程序调试方法采用自上而下的调试方法,即对单独调试好每一个模块进行调用,然后连接成一个完整的系统调试。本系统可分为以下几个模块1小车避障程序;2小车巡线程序;3舵机控制程序;4电机控制程序;5速度检测程序;6PWM调速程序;(小车系统模块示意图见附录一,小车程序清单见附录三)32软件抗干扰技术提高玩具车智能控制的可靠性,仅靠硬件抗干扰是不够的,需要进一步借助于软件抗干扰技术来克服某些干扰。在单片机控制系统中,如能正确的采用软件抗干扰技术,与硬件干扰措施构成双道抗干扰防线,无疑为了将大大提高控制系统的可靠性。经常采用的软件抗干扰技术是数字滤波技术、开关量的软件抗干扰技术、指令冗余技术、软件陷阱技术等。321数字滤波技术一般单片机应用系统的模拟输入信号中,均含有种种噪音和干扰,它们来自被测量本身、传感器、外界干扰等。为了进行准确测量和控制,必须消除被测信号中的噪音和干扰。对于这类信号,采用积分时间等于20MS的整数倍的双积分A/D转换器,可有效的消除其影响。后者为随机信号,它不是周期信号。对于随机干扰,我们可以用数字滤波方法予以削弱或滤除。所谓数字滤波,就是通过一定的计算或判断程序减少干扰在有用信号中的比重。故实质上它是一种程序滤波。数字滤波克服了模拟滤波器的不足,它与模拟滤波器相比,有以下几个优点(1)数字滤波是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。(2)数字滤波可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便,功能强的特点。(3)数字滤波可以对频率很低的信号实现滤波,克服了模拟滤波器的缺陷。(4)由于数字滤波器具有以上优点,所以数字滤波在微机应用系统中得到了广泛的应用。322开关量的软件抗干扰技术干扰信号多呈毛刺状,作用时间短,利用这一点,我们在采集某一开关量信号时,可多次重复采集,直到连续两次或两次以上结果完全一致方为有效。若多次采样后,信号总是变化不定,可停止采集,给出报警信号,由于开关量信号主要是来自各类开关型状态传感器,如限位开关、操作按钮、电气触点等,对这些信号的采集不能用多次平均的方法,必须绝对一致才行。如果开关量信号超过8个,可按8个一组进行分组处理,也可定义多字节信息暂存区,按类似方法处理。在满足实时性要求的前提下,如果在各次采集数字信号之间接入一段延时,效果会好一些,就能对抗较宽的干扰。输出设备是电位控制型还是同步锁存型,对干扰的敏感性相对较大。前者有良好的抗毛刺干扰能力,后者不耐干扰,当锁存线上出现干扰时,它就会盲目锁存当前的数据,也不管此时数据是否有效。输出设备和惯性(响应速度)与干扰的耐受能力也有很大关系。惯性大的输出设备(如各类电磁执行机构)对毛刺干扰有一定的耐受能力。惯性小的输出设备(如通行口、显示设备)耐受能力就小一些。在软件上,最为有效的方法就是重复输出同一个数据。只要有可能,其重复周期尽可能短些。外设设备接受到一个被干扰的错误信息后,还来不及作出有效的反应,一个正确的信息又来了,就可及时防止错误动作的产生。另外,各类数据锁存器尽可能和CPU安装在同一电路板上,使传输线上传送的都是锁存好的电位控制信号,对于重要的输出设备,最好建立检测通道,CPU可以检测通道来确定输出结果的正确性。323指令冗余技术当CPU受到干扰后,往往将一些操作数当作指令码来执行,引起程序混乱。当程序弹飞到某一字节指令上时,便自动纳入正轨。当弹飞到某一双字节指令上时,有可能落到其操作数上,从而继续出错。当程序弹飞到三字节指令上时,因它有两个操作数,继续出错的机会就更大。因此,我们应多采用单字节指令(NOP或将单字节指令重复书写,这便是指令冗余。指令冗余无疑会降低系统的效率,但在绝大多数情况下,CPU还不至于忙到不能多执行几条指令的程度,故这种方法还是被广泛采用。在一些对程序流向起决定作用的指令之前插入两条NOP指令,以保证弹飞的程序迅速纳入正确轨道。在某些对系统工作状态重要的指令前也可插入两条NOP指令,以保证正确执行。指令冗余技术可以减少程序弹飞的次数,使其很快进入程序轨道,但这并不能保证在失控期间不干坏事,更不能保证程序纳入正常轨道后就太平无事了,解决这个问题必须采用软件容错技术。324软件陷阱技术指令冗余使弹飞的程序安定下来是有条件的。首先,弹飞的程序必须落到程序区;其次,必须执行到冗余指令。所谓软件陷阱,就是一套引导指令,强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序。如果我们把这段程序的入口标号记为ERR的话,软件陷阱即为一条无条件转移指令,为了加强其捕捉效果,一般还在它前面加两条NOP指令,因此真正的软件陷阱由3条指令构成NOPNOPERR软件陷阱安排在以下四种地方1未使用的中断向量区。2未使用的大片ROM空间3表格4程序区由于软件陷阱都安排在正常程序执行不到的地方,故不影响程序执行效率,在当前EPROM容量不成问题的条件下,还是多多益善。第四章系统测试与调整41电路硬件测试测试方法与仪器1、测试仪器测试仪器包括秒表、数字万用表、信号发生器、示波器、仿真软件、直流稳压电源等。2、测试方法数字万用表主要用来测试分立元件的电阻、压降、漏电流、截止/导通状态等参数;信号发生器与示波器用于测试各光电传感器信号的接收与传输;直流稳压电源在测试期间为各待测系统供电;秒表用于产品测试,按照任务书的基本要求对制成的电动车进行产品测试;软件仿真测试各模块程序。3、测试数据及测试结果分析计时精度分析计时系统采用了新型显示芯片。理论上的误差不到1秒/年。测距精度分析测速系统采用了电机轴光电码盘检测技术。电机轴与车轮轴之间采用了齿轮箱二级减速,变比1/16。车轮周长135MM,光电码盘与电机轴安装在一起,电机轴每一转产生2个脉冲,车轮每转产生32个脉冲,理论测量精度可达135MM/32422MM45MM定位精度分析本设计采用实际测量与软件补偿技术,理论上可使定位精度提高到误差10MM。42系统实现功能测试系统主要实现在障碍物行进,黑线巡线前进,行进速度显示,调速系统。其中,对各部分进行独立测试,对其他功能放在整车测试中进行。43整车测试整车测试过程中,不断进行调试和改装。尤其在建筑物行进过程和寻线过程中,不断修改参数,保证小车平稳前行。实验测试结果满足要求。总结本文提出了一种经济实用的智能小车系统设计方法,采用了直流减速电机作为执行元件,ST系列红外传感器作为检测元件,PIC16F877A单片机作为主控芯片,完成了智能机器人硬件制作及软件设计,成功实现了自动巡路避障功能,在无轨自动物料小车及工业智能机器人领域也具有一定的实用价值。在设计过程中,力求电路简单,外形美观,软件方面,力求稳定卡可靠。最终顺利完成了题目中所有的基本要求并发挥了题外部分,系统更加智能化,人性化。致谢历时两个月的科技创新设计已经告一段落。经过自己不断的搜索努力以及夏老师的耐心指导和热情帮助,本设计已经基本完成。在这段时间里,夏老师严谨的治学态度和热忱的工作作风令我十分钦佩,他的指导使我受益非浅。同时本系实验室的开放也为我的设计提供了实习场地。通过这次科技创新设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这两个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。由于自身水平有限,设计中一定存在很多不足之处,敬请各位老师批评指正。参考文献1阎石数字电路技术基础高等教育出版社,20072童诗白,华成英模拟电路技术基础高等教育出版社,20063刘启中,李荣正,王力生等PIC单片机原理及应用北京航空航天大学出版社,2003附录一(系统模块示意图)附录二(主要元器件清单)器件名称器件数量PIC16F877A单片机2片电机驱动芯片L298N1片红外线传感器ST16822个舵机1个LED数码管2个直流电机1个LED灯5个12V可充电电池组1个LM78051个光电耦合器TLP52122片电阻,电容,变阻器,三极管若干附录三(单片机程序清单)第一片单片机程序清单LISTP16F877AINCLUDE“P16F877AINC“_CONFIG3F32HTEMP_WEQU20HW工作暂存TEMPB_FEQU21H巡线前排传感器数据TEMPB_BEQU22H巡线后排传感器数据TEMP_MOTOEQU23H小车前进/后退标识TEMP_SSPEQU24H串口通信数据暂存TEMP_T0CTEQU25HFLASH动态闪烁CT_KEYAEQU26H避障模式速度数据计数CT_KEYBEQU27H巡线模式速度数据计数CT_LEDEQU28HTMR0计数位拓展(LED数据)CT_MAINBEQU2AH巡线模式单排信号个数数据DATA_SPDAEQU2BH避障模式速度数据DATA_SPDBEQU2CH巡线模式速度数据DATA_F2EQU2DH前进运行2个前探物传感器数据DATA_F3EQU2EH前进运行3个前防撞传感器数据DATA_B3EQU2FH后退运行3个后防撞传感器数据CTER_TMR1EQU30HTMR1位拓展MAINADATAEQU31H避障模式主数据MAINBDATAEQU32H巡线模式主数据ADDTMR0EQU33H随机数据ABLECHANGEQU34H自动切换数据TEMP_STATEQU35HSTART暂存DELAY1EQU36H软件延时寄存器1DELAY2EQU37H软件延时寄存器2ORG0000HNOP程序初始化I/O口方向设置STARTSTARTBSFSTATUS,RP0MOVLWB00000111MOVWFADCON1MOVLWB00111111MOVWFTRISAMOVLWB11111111MOVWFTRISBMOVLWB11010011MOVWFTRISCMOVLWB11111100MOVWFTRISDMOVLWB00000111MOVWFTRISEI/O口方向设置ENDMOVLWB00000111MOVWFOPTION_REGMOVLWB11000000MOVWFSSPSTATBCFSTATUS,RP0MOVLWB11000000MOVWFINTCONMOVLWB00001100MOVWFCCP1CONMOVLWB00100010MOVWFSSPCONMOVLWD200MOVWFPIR2MOVLWB00000110MOVWFT2CONBSFT1CON,0CLRFCT_LEDCLRFCT_KEYACLRFCT_KEYBCLRFCCPR1LCLRFDATA_SPDACLRFDATA_SPDBCLRFTEMP_T0CTCLRFCT_MAINBCLRFCTER_TMR1CLRFTEMP_T0CTCLRFTEMP_MOTO避障主程序START_AMOVFDATA_SPDA,WMOVWFCCPR1LSTARLOOPABSFPORTD,1MAINACALLDELAY10MSCALLDELAY10MSBTFSSPORTC,6GOTOKEYTESTAMOVFTEMP_MOTO,W00H前进,01H后退BTFSSSTATUS,ZGOTOBACKFRONTGOMOVLW03H检测两个前方向探物传感器状态ANDWFPORTA,WBTFSCSTATUS,ZGOTOFRONTCALLDELAY10MSMOVLW03HANDWFPORTA,WBTFSCSTATUS,ZGOTOFRONTMOVWFDATA_F2MOVFDATA_SPDA,WBTFSCSTATUS,ZGOTOFRONTLOOPMOVLWD120MOVWFCCPR1LFRONTLOOPMOVLW01HXORWFDATA_F2,WBTFSCSTATUS,ZGOTOFRONT_LMOVLW02HXORWFDATA_F2,WBTFSCSTATUS,ZGOTOFRONT_RMOVLW03HXORWFDATA_F2,WBTFSCSTATUS,ZGOTOFRONT_RANMOVLW00HXORWFDATA_F2,WBTFSCSTATUS,ZGOTOFRONT小车行进状态子程序FRONTMOVLWB11111011MOVWFMAINADATAMOVFDATA_SPDA,WMOVWFCCPR1LGOTOFRONTTESTFRONT_LMOVLWB11111010MOVWFMAINADATAGOTOFRONTTESTFRONT_RMOVLWB11111001MOVWFMAINADATAGOTOFRONTTESTFRONT_RANMOVLWB11111000MOVWFMAINADATAGOTOFRONTTESTSTOPQUICKMOVLWB00000011ANDWFMAINADATA,FMOVLWB11001100IORWFMAINADATA,FMOVFMAINADATA,WMOVWFSSPBUFCALLDELAYUSRETURN前进防撞检测FRONTTESTMOVLWB00011100ANDWFPORTA,WMOVWFDATA_F3BCFSTATUS,CRRFDATA_F3,FRRFDATA_F3,FMOVLWB00000111XORWFDATA_F3,WBTFSCSTATUS,ZGOTOLEDAFLASHCALLDELAY10MSMOVLWB00011100ANDWFPORTA,WMOVWFDATA_F3BCFSTATUS,CRRFDATA_F3,FRRFDATA_F3,FMOVLWB00000111XORWFDATA_F3,WBTFSCSTATUS,ZGOTOLEDAFLASHMOVFDATA_SPDA,WBTFSCSTATUS,ZGOTOLOOPFRONTMOVLWD120MOVWFCCPR1LLOOPFRONTCALLSTOPQUICKCALLDELAY50MS延时100MS后后退CALLDELAY50MSMOVLWB00000001MOVWFTEMP_MOTOCALLDELAYGOTOBACKGOBACKCALLDELAYTESTGOTOBACKTESTBACKGOMOVFDATA_F3,WCALLBIAO1MOVWFMAINADATABACKTESTMOVLWB00000110后退防撞检测ANDWFPORTE,WMOVWFDATA_B3MOVLWB00000110XORWFDATA_B3,WBTFSCSTATUS,ZGOTOLEDAFLASHMOVLWB00000110ANDWFPORTE,WMOVWFDATA_B3MOVLWB00000110XORWFDATA_B3,WB

温馨提示

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

评论

0/150

提交评论