小车自动寻迹控制_第1页
小车自动寻迹控制_第2页
小车自动寻迹控制_第3页
小车自动寻迹控制_第4页
小车自动寻迹控制_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、西南民族大学毕业设计(论文)1方案论证与设计1.1设计任务与要求1.1.1设计任务设计制作一个自动寻迹小车模型,能够沿着白纸上黑色的轨迹平稳、流畅的行进。场地如图1所示:图1:场地示意图1.1.2设计要求(1)小车能够正确的寻找黑线行进;(2)小车在行进时不要蛇行前进;(3)小车在弯道上行驶时不要脱轨。1.2模块方案的论证与比较根据题目的设计要求,本设计主要实现小车能够沿着黑色的轨迹前进,同时能够自动搜寻黑色轨迹行进的功能。本系统主要由电源模块、寻迹传感器模块、控制器模块、直流电机及其驱动模块、舵机模块等组成。其系统方案框图如图2所示。为实现各模块功能,提出了几种设计方案并进行论证。控制器模块

2、测速计程模块显示模块寻迹模块驱动模块稳压模块电源模块图2 系统方框图1.2.1车体设计方案1:自己制作电动小车。如果自己制作小车的话成本将会太高,我们也没有那么多的精力去做这些事情。因此我们放弃了此方案。方案2:购买玩具电动小车。购买的玩具电动车具有组装完整的车架车轮及其电机。为我们做设计提供了很大的平台,同时很容易购买到我们需要的车体。因此我们最终选用了方案2。1.2.2控制器模块方案1:采用凌阳16位单片机spce061a作为控制核心。它是16位控制器,具有体积小、驱动能力强、易扩展、可靠性高、功耗低、中断处理能力强等特点。尤其适用于语音处理和识别等领域。但是本系统主要是进行寻迹运行的检测

3、以及电机的控制。从系统编程的简洁性考虑,我们放弃了使用凌阳spce061a单片机而考虑其它的方案。方案2:采用89c54rd+芯片,它属于89c51系列的产品,具有如下特性:时钟主频可设置在0-80m,具有16k的片内flash程序存储器和1280字节的数据ram和1k的e2prom,内置看门狗并支持双倍速,具有较高的性价比。选择89c54rd+芯片的原因还在于它有一显著优点,即具有在线可编程(isp)的特性,即不用通用的编程器,只需在用户系统上就可下载/烧录用户程序到89c54rd+芯片。不用仿真器,这样给软件的开发带来了更多的方便和灵活性。综上分析,选择方案2。1.2.3电源模块由于本系统

4、需要电池供电,我们考虑了如下几种方案为系统供电。方案1:采用12v蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。但是蓄电池的体积过于庞大,在小车上使用极为不方便。因此我们放弃了此方案。方案2:采用3节4.2v可充电式锂电池为直流电机供电,用2节锂电池经过7805的电压变换为单片机和传感器供电。再用2节锂电池经另一套7805电压变换电路为舵机供电。采用此种供电方式后,单片机和传感器工作稳定,舵机直流电机工作互不影响,且电池的体积较小,能够满足系统的要求。综上考虑,我们选择了方案2。1.2.4电机模块本系统为小车自动寻迹,对于小车来说,其驱动轮的驱动电机的选择就显得十分重要

5、。由于本实验要实现对轨迹的准确搜索和精确测量,我们综合考虑了一下两种方案。方案1:采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。虽然采用步进电机有诸多优点,但是步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车对速度有一定要求的系统。经综合比较考虑,我们放弃了此方案。方案2:采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。能够较好的满足系统的要求。因此,我们选择了方案2。1.2.5电机驱

6、动模块方案1:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。很容易受到外界干扰。我们放弃了此方案。方案2:采用专用芯片l298n作为电机驱动芯片。l298n是一个具有高电压大电流的全桥驱动芯片,一片l298n可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。因此,我们选用了方案2。1.2.6稳压模块方案1:采用两片7812将电压稳压至12v后给直流电机供电,然后采用一片7809将电压稳定至9v,最后经7805将电压稳至5v,给单片机系统和其他芯片供电,但7

7、809和7805压降过大,使7809和7805消耗的功率过大,导致7809和7805发热量过大,因此,我们放弃了这种方案。方案2:采用两片7812将电压稳压至12v后给直流电机供电,然后采用2576将电压稳至5v。2576的输出电流最大可至3a,完全满足系统要求。综上考虑,我们选择了方案2。1.2.7光电传感器模块1.2.7.1红外光电传感器原理光电传感器是指能够将可见光转换成某种电量的传感器.光敏二极管是最常见的光电传感器.光敏二极管的外型与一般二极管一样,只是它的管壳上开有一个嵌着玻璃的窗口,以便于光线射入,为增加受光面积,pn结的面积做得较大,光敏二极管工作在反向偏置的工作状态下,并与负

8、载电阻相串联,当无光照时,它与普通二极管一样,反向电流很小(<µa),称为光敏二极管的暗电流;当有光照时,载流子被激发,产生电子-空穴,称为光电载流子.在外电场的作用下,光电载流子参于导电,形成比暗电流大得多的反向电流,该反向电流称为光电流.光电流的大小与光照强度成正比,于是在负载电阻上就能得到随光照强度变化而变化的电信号.光敏三极管除了具有光敏二极管能将光信号转换成电信号的功能外,还有对电信号放大的功能.光敏三级管的外型与一般三极管相差不大,一般光敏三极管只引出两个极发射极和集电极,基极不引出,管壳同样开窗口,以便光线射入.为增大光照,基区面积做得很大,发射区较小,入射光主要

9、被基区吸收.工作时集电结反偏,发射结正偏.在无光照时管子流过的电流为暗电流iceo=(1+)icbo(很小),比一般三极管的穿透电流还小;当有光照时,激发大量的电子-空穴对,使得基极产生的电流ib增大,此刻流过管子的电流称为光电流。集电极ic=(1+)ib。可见光电三极管要比光电二极管具有更高的灵敏度。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。如图3:图3:光电传感器原理图发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(led)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器有光电二极管、光电三极管、光电池组成。在接收

10、器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。此外,光电开关的结构元件中还有反射板和光导纤维。三角反射板是结构牢固的反射装置。它由很小的三角锥体反射材料组成,能够使光束准确地从反射板中返回,具有实用意义。它可以在与光轴0到25的范围改变反射角,使光束几乎是从一根发射线,经过反射后,还是从这根反射线返回。1.2.7.2光电传感器的分类槽型光电传感器把一个光发射器和一个接收器面对面地装在一个槽的两侧的是槽光电传感器。发光器能发出红外光或可见光,在无阻情况下光接收器能收到光。但当被检测物体从槽中通过时,光被遮挡,光电开关便动作。输出一个开关控制信号,切断或接

11、通负载电流,从而完成一次控制动作。槽形开关的检测距离因为受整体结构的限制一般只有几厘米。对射型光电传感器若把发光器和收光器分离开,就可使检测距离加大。由一个发光器和一个收光器组成的光电开关就称为对射分离式光电开关,简称对射式光电开关。它的检测距离可达几米乃至几十米。使用时把发光器和收光器分别装在检测物通过路径的两侧,检测物通过时阻挡光路,收光器就动作输出一个开关控制信号。反光板型光电开关把发光器和收光器装入同一个装置内,在它的前方装一块反光板,利用反射原理完成光电控制作用的称为反光板反射式(或反射镜反射式)光电开关。正常情况下,发光器发出的光被反光板反射回来被收光器收到;一旦光路被检测物挡住,

12、收光器收不到光时,光电开关就动作,输出一个开关控制信号。扩散反射型光电开关它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。正常情况下发光器发出的光收光器是找不到的。当检测物通过时挡住了光,并把光部分反射回来,收光器就收到光信号,输出一个开关信号。1.2.7.3光电传感器的特性曲线事实上,红外光电传感器特性并不是简单的白区高电压,黑线低电压,其电压大小与传感器距离黑色路径标记线的水平距离有定量关系:离黑线越近,电压越低,离黑线越远,则电压越高,具体的对应关系与光电管型号以及离地高度有关,如下图4所示:图4:光电传感器的特性曲线因此,只要根据传感器电压偏移距离特性关系,即传感器电压上的

13、大小就可以确定各传感器与黑色标记线的距离,进而获得车身相对路径标记线的位置,得到连续分布的路径信息。1.2.7.4光电传感器方案的选择根据光电传感器的工作原理以及特性曲线我们初步拟订了三种方案。方案1:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线反射强烈,光线照射到黑线上面时,光线反射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其他更加稳定的方案。方案2:用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外

14、线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响,因此我们放弃了这个方案。方案3:用tcrt5000型光电对管。tcrt5000是一种反光板型光电探测器,其发射器是一个红外发光二极管,而接收器是一个高灵敏度的光电三极管。tcrt5000其具有如下特点:(1)塑料透镜可以提高灵敏度。(2)内置可见光过滤器能减小离散光的影响。(3)体积小,结构紧凑。(4)当发光二极管发出的光反射回来时,三极管导通输出低电平

15、。此光电对管调理电路简单,工作性能稳定。因此,我们选择了方案3。1.3小车寻迹的方法与原理1.3.1红外探测法寻迹这里的寻迹是指小车在白色地板上寻黑线行走,通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过15cm。对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红

16、外探头。经过上面比较分析我们选用tcrt5000型光电对管。1.3.2单片机如何控制寻迹单片机控制寻迹的原理一般是分两步走的:第一步,通过矩阵式扫描,即给光电传感器矩阵分别输入两个“1”信号的行值,将输出的4个列值信号分别存入两个地址(如30h、31h)的低4位,低4位从高到低分别对应着4个方向:前、后、左前、右前。然后用“f0”与这八位做“或”逻辑运算,即屏蔽掉高四位后作为本次的信号值;第二步,将本次的信号值与上一次扫描处理后的信号值进行逻辑处理,得出一个新方向,作为小车行进的方向。在这个程序里,逻辑处理内外层得到新方向是寻迹的关键。按照以下3种规则执行:前后比较规则,内外层切换规则,优先级

17、规则。(1)前后比较规则此规则是这个算法的核心规则。它的目的是尽可能的用新探测到的黑点作为新方向。新方向f通过 (1)来求得。逻辑处理前“0”表示黑线轨迹,逻辑处理后“1”表示轨迹行进方向。举例如下:以内层为例,设当前测得的值为,且前一次测得的值为经过上述(1)逻辑处理后,假设结果为,则正前方是行进的新方向。(2)内外层切换规则如果4个光电传感器前后两次所检测的值完全一样,则在逻辑处理后会出现全零,这时保持原方向行进。如果碰到曲线拐弯或者曲线断续,则有可能出现多个“1”即多个方向,这时可采用“内外层切换规则”,也就是说从内层切换到外层,启用外层扫描值重复上述前后比较规则来进行判断。启用外层信号

18、进行二次判断能很好的处理曲线拐弯及曲线断续等内层处理不好的情况。但用外层信号判断,因为其传感器布置的间隙距离比内层大,其控制精度不如用内层信号判断。(3)纠错规则在运行中,传感器有可能受到干扰而发出错误信号导致小车走错或迷失方向,这个时候纠错规则能让小车后退起到纠错作用。所谓纠错规则就是在走错后出现了内外层左面、前面、右面均没有探测到轨迹线的情况下,让小车后退,一直退到前面传感器里有传感器探测到轨迹线为止。此时再用(1)式求得新的行进方向,从而实现纠错功能。2硬件电路的设计2.1控制器模块电路的设计在控制器模块中应用stc89c54rd+芯片,作为控制核心对光电传感器送来的各种信号进行分析处理

19、并作出相应的动作。其工作原理如图5光电传感器组stc89c54rd+芯片控制直流电机控制小车转向图5:硬件框图2.2电机驱动电路的设计直流电机驱动电路使用最广泛的就是h型全桥式电路,这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。它的基本原理图如图6所示。全桥式驱动电路的4只开关管都工作在斩波状态,s1、s2为一组,s3、s4为另一组,两组的状态互补,一组导通则另一组必须关断。当s1、s2导通时,s3、s4关断,电机两端加正向电压,可以实现电机的正转或反转制动;当s3、s4导通时,s1、s2关断,电机两端为反向电压,电机反转或正转制动。图6:h型全桥式电

20、路原理图在小车动作的过程中,我们要不断地使电机在四个象限之间切换,即在正转和反转之间切换,也就是在s1、s2导通且s3、s4关断,到s1、s2关断且s3、s4导通,这两种状态之间转换。在这种情况下,理论上要求两组控制信号完全互补,但是,由于实际的开关器件都存在开通和关断时间,绝对的互补控制逻辑必然导致上下桥臂直通短路,比如在上桥臂关断的过程中,下桥臂导通了。这个过程可用图7说明。因此,为了避免直通短路且保证各个开关管动作之间的协同性和同步性,两组控制信号在理论上要求互为倒相的逻辑关系,而实际上却必须相差一个足够的死区时间,这个矫正过程既可以通过硬件实现,即在上下桥臂的两组控制信号之间增加延时,

21、也可以通过软件实现。由于电机在正常工作时对电源的干扰很大,如果只用一组电源时会影响单片机的正常工作,所以我们选用双电源供电。一组5v给单片机和控制电路供电,另外一组9v给电机供电。在控制部分和电机驱动部分之间用光耦隔开,以免影响控制部分电源的品质。2.3 pwm控制调速pwm(脉冲宽度调制)控制,通常配合桥式驱动电路实现直流电机调速,非常简单,且调速范围大。它的原理就是直流斩波原理,如图6所示。若s3、s4关断,s1、s2受pwm控制。假设高电平导通,忽略开关管损耗,则在一个周期内的导通时间为t,周期为t,波形如图8所示,则电机两端的平均电压为:u=vcc*t/t=*vcc ,其中,=t/t称

22、为占空比,vcc为电源电压(电源电压减去两个开关管的饱和压降)。图8:pwm控制波形图电机的转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快,当占空比1时,电机转速最大。pwm控制波形的实现可以通过模拟电路或数字电路实现,例如用555搭成的触发电路,但是这种电路的占空比不能自动调节,不能用于自动控制小车的调速。而目前使用的大多数单片机都可以直接输出这种pwm波形,或通过时序模拟输出,最适合小车的调速,我们系统采用的stc89c54rd+芯片,通过改变pwm波形来改变占空比,从而控制电机调速。在实际制作过程中,我们认为控

23、制信号的频率不需要太高,一般在400hz以下为宜,占空比16级调节也完全可以满足调速要求,并且在小车行进的过程中,占空比不应该太高,在直线前进和转弯的时候应该区别对待。若车速太快,则在转弯的时候,方向不易控制;而车速太慢,则很浪费时间。这时图8可以根据具体情况慢慢调节。我们经过调试将小车驱动信号的占空比设为8/16以下。2.4光电传感器的电路设计与安装2.4.1光电传感器电路的设计根据题目的要求,自动寻迹小车要沿着黑线运行,采用tcrt5000型光电对管进行探测。其工作电路图如下所示,在图9所示电路中,电阻r1,w5起限流的作用,防止tcrt5000因电压过大烧毁。r6与r8均为上拉电阻。通过

24、调解电阻w6可以调节比较器的参考电压,经示波器观察,输出波形相当规则,可以直接供单片机查询使用。而且经试验验证给此电路供电的电池的压降较小。因此我们选择此电路作为我们的传感器检测与调理电路。图9光电对管检测电路2.4.2光电传感器的安装在小车自动寻迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设5个tcrt5000型光电传感器,进行两级方向纠正控制,提高其寻迹的可靠性。这5个tcrt5000型光电传感器的具体安装位置如图10所示。图中寻迹传感器共安装5个,成“一”字型排列。其中传感器2与传感器3为第一级方向控制传感器,传感器1与传感器4为第二级方向控制传感器。小车行

25、走时,始终保持黑线在传感器2和传感器3这两个第一级传感器之间,当小车偏离黑线时,第一级探测器一旦探测到有黑线,单片机就会按照预先编定的程序发送指令给小车的控制系统,控制系统对小车路径予以纠正。若小车回到了轨道上,即只要第5个传感器检测到黑线,其他4个传感器均检测到白纸,则小车会继续直线行驶;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围,这时第二级动作,再次对小车的运动进行纠正,使之回到正确轨道上去。可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车寻迹的可靠性。3软件设计3.1系统程序流程图本系统的控制方案是根据传感器模块所获得的当前小车行驶的信息,控制直流电

26、机驱动芯片l298n动作进行pwm调速,从而调整小车的行驶方向和速度,使小车达到自动寻迹行驶的目的。图11为系统程序流程图。开始进行初始化驱动直流电机小车自动寻迹寻迹完成停止图11:系统程序流程图3.2寻迹算法流程图小车的路径搜索算法是自动寻迹小车设计中的关键部分。此系统路径搜索算法采用简单的switch语句,根据检测到黑线的光电传感器的位置判断舵机的偏转角度,同时给出相应的速度控制信号。程序流程图如图12所示。开始角度检测中间的传感器检测到黑线舵机不偏转,电机速度给定值最大左边的传感器检测到黑线舵机左转,角度越大,速度给定值越小舵机右转,角度越大,速度给定值越小经延时修正后继续前进 图12:

27、寻迹算法流程图3.3通过软件避免直通短路从前面的分析可知,桥式驱动电路中,由于开关管有开通和关断时间,因此存在上下桥臂直通短路的问题。直通短路的存在,容易使开关管发热,严重时烧毁开关管,同时也增加了开关管的能量损耗,浪费了小车宝贵的能量。死区时间的问题,只有在正转变为反转的时候才存在,而在正转启动或反转启动的时候并没有,因此不需要修正。如果开关管的开通和关断时间非常小,或者在硬件电路中增加延时环节,都可以降低开关管的损耗和发热。当然,通过软件避免直通短路是最好的办法,它的操作简单,控制灵活。通过软件实现死区时间,就是在突然换向的时候,插入一个延时的环节,待开关管关断之后,再开通应该开通的开关管。图13为利用软件修正死区时间的流程图,在开关管每次换向的时候,不立即进行方向的切换,而是

温馨提示

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

评论

0/150

提交评论