1、西南民族大学毕业设计(论文)11 方案论证与设计1.1 设计任务与要求1.1.1 设计任务设计制作一个自动寻迹小车模型,能够沿着白纸上黑色的轨迹平稳、流畅的行进。场地如图 1 所示:图 1:场地示意图1.1.2 设计要求(1)小车能够正确的寻找黑线行进;(2)小车在行进时不要蛇行前进;(3)小车在弯道上行驶时不要脱轨。1.2 模块方案的论证与比较根据题目的设计要求,本设计主要实现小车能够沿着黑色的轨迹前进,同时能够自动搜寻黑色轨迹行进的功能。本系统主要由电源模块、寻迹传感器模块、控制器模块、直流电机及其驱动模块、舵机模块等组成。其系统方案框图如图 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)的特性,即不用通用的编程器,只需在用户系统上就可下载/烧录用户程序到 89C54
4、RD+芯片。不用仿真器,这样给软件的开发带来了更多的方便和灵活性。综上分析,选择方案 2。西南民族大学毕业设计(论文)31.2.3 电源模块由于本系统需要电池供电,我们考虑了如下几种方案为系统供电。方案 1:采用 12V 蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。但是蓄电池的体积过于庞大,在小车上使用极为不方便。因此我们放弃了此方案。方案 2:采用 3 节 4.2V 可充电式锂电池为直流电机供电,用 2 节锂电池经过 7805 的电压变换为单片机和传感器供电。再用 2 节锂电池经另一套 7805 电压变换电路为舵机供电。采用此种供电方式后,单片机和传感器工作稳定,舵
5、机直流电机工作互不影响,且电池的体积较小,能够满足系统的要求。综上考虑,我们选择了方案 2。1.2.4 电机模块本系统为小车自动寻迹,对于小车来说,其驱动轮的驱动电机的选择就显得十分重要。由于本实验要实现对轨迹的准确搜索和精确测量,我们综合考虑了一下两种方案。方案 1:采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。虽然采用步进电机有诸多优点,但是步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车对速度有一定要求的系统。经综合比较考虑,我们放弃了此方案。方案 2:采用直流减速电机。直流减速电机转
6、动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。能够较好的满足系统的要求。因此,我们选择了方案 2。1.2.5 电机驱动模块方案 1:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。很容易受到外界干扰。我们放弃了此方案。方案 2:采用专用芯片 L298N 作为电机驱动芯片。L298N 是一个具有高电压大电流的全桥驱动芯片,一片 L298N 可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能
7、优良。因此,我们选用了方案 2。西南民族大学毕业设计(论文)41.2.6 稳压模块方案 1:采用两片 7812 将电压稳压至 12V 后给直流电机供电,然后采用一片 7809 将电压稳定至 9V,最后经 7805 将电压稳至 5V,给单片机系统和其他芯片供电,但 7809 和7805 压降过大,使 7809 和 7805 消耗的功率过大,导致 7809 和 7805 发热量过大,因此,我们放弃了这种方案。方案 2:采用两片 7812 将电压稳压至 12V 后给直流电机供电,然后采用 2576 将电压稳至 5V。2576 的输出电流最大可至 3A,完全满足系统要求。综上考虑,我们选择了方案 2。
8、1.2.7 光电传感器模块1.2.7.1 红外光电传感器原理光电传感器是指能够将可见光转换成某种电量的传感器.光敏二极管是最常见的光电传感器.光敏二极管的外型与一般二极管一样,只是它的管壳上开有一个嵌着玻璃的窗口,以便于光线射入,为增加受光面积,PN 结的面积做得较大,光敏二极管工作在反向偏置的工作状态下,并与负载电阻相串联,当无光照时,它与普通二极管一样,反向电流很小(A),称为光敏二极管的暗电流;当有光照时,载流子被激发,产生电子-空穴,称为光电载流子.在外电场的作用下,光电载流子参于导电,形成比暗电流大得多的反向电流,该反向电流称为光电流.光电流的大小与光照强度成正比,于是在负载电阻上就
9、能得到随光照强度变化而变化的电信号.光敏三极管除了具有光敏二极管能将光信号转换成电信号的功能外,还有对电信号放大的功能.光敏三级管的外型与一般三极管相差不大,一般光敏三极管只引出两个极发射极和集电极,基极不引出,管壳同样开窗口,以便光线射入.为增大光照,基区面积做得很大,发射区较小,入射光主要被基区吸收.工作时集电结反偏,发射结正偏.在无光照时管子流过的电流为暗电流 Iceo=(1+)Icbo(很小),比一般三极管的穿透电流还小;当有光照时,激发大量的电子-空穴对,使得基极产生的电流 Ib 增大,此刻流过管子的电流称为光电流。集电极 Ic=(1+)Ib。可见光电三极管要比光电二极管具有更高的灵
10、敏度。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。如图 3:西南民族大学毕业设计(论文)5图 3:光电传感器原理图发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器有光电二极管、光电三极管、光电池组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。此外,光电开关的结构元件中还有反射板和光导纤维。三角反射板是结构牢固的反射装置。它由很小的三角锥体反射材料组成,能够使光束准确地从反射板中返回,具有实用意义。它可以在与光轴 0
11、 到 25的范围改变反射角,使光束几乎是从一根发射线,经过反射后,还是从这根反射线返回。1.2.7.2 光电传感器的分类槽型光电传感器把一个光发射器和一个接收器面对面地装在一个槽的两侧的是槽光电传感器。发光器能发出红外光或可见光,在无阻情况下光接收器能收到光。但当被检测物体从槽中通过时,光被遮挡,光电开关便动作。输出一个开关控制信号,切断或接通负载电流,从而完成一次控制动作。槽形开关的检测距离因为受整体结构的限制一般只有几厘米。对射型光电传感器若把发光器和收光器分离开,就可使检测距离加大。由一个发光器和一个收光器组成的光电开关就称为对射分离式光电开关,简称对射式光电开关。它的检测距离可达几米乃
12、至几十米。使用时把发光器和收光器分别装在检测物通过路径的两侧,检测物通过时阻挡光路,收光器就动作输出一个开关控制信号。反光板型光电开关把发光器和收光器装入同一个装置内,在它的前方装一块反光板,利用反射原理完成光电控制作用的称为反光板反射式(或反射镜反射式)光电开关。正常情况下,发光器发出的光被反光板反射回来被收光器收到;一旦光路被检测物挡住,收光器收不到光时,光电开关就动作,输出一个开关控制信号。扩散反射型光电开关西南民族大学毕业设计(论文)6它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。正常情况下发光器发出的光收光器是找不到的。当检测物通过时挡住了光,并把光部分反射回来,收光器
13、就收到光信号,输出一个开关信号。1.2.7.3 光电传感器的特性曲线事实上,红外光电传感器特性并不是简单的白区高电压,黑线低电压,其电压大小与传感器距离黑色路径标记线的水平距离有定量关系:离黑线越近,电压越低,离黑线越远,则电压越高,具体的对应关系与光电管型号以及离地高度有关,如下图 4 所示:图 4:光电传感器的特性曲线因此,只要根据传感器电压偏移距离特性关系,即传感器电压上的大小就可以确定各传感器与黑色标记线的距离,进而获得车身相对路径标记线的位置,得到连续分布的路径信息。1.2.7.4 光电传感器方案的选择根据光电传感器的工作原理以及特性曲线我们初步拟订了三种方案。方案 1:用光敏电阻组
14、成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线反射强烈,光线照射到黑线上面时,光线反射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其他更加稳定的方案。方案 2:用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不
15、够稳定,且容易受外界光线的影响,因此我们放弃了这个方案。西南民族大学毕业设计(论文)7方案 3:用 TCRT5000 型光电对管。TCRT5000 是一种反光板型光电探测器,其发射器是一个红外发光二极管,而接收器是一个高灵敏度的光电三极管。TCRT5000 其具有如下特点:(1)塑料透镜可以提高灵敏度。(2)内置可见光过滤器能减小离散光的影响。(3)体积小,结构紧凑。(4)当发光二极管发出的光反射回来时,三极管导通输出低电平。此光电对管调理电路简单,工作性能稳定。因此,我们选择了方案 3。1.3 小车寻迹的方法与原理1.3.1 红外探测法寻迹这里的寻迹是指小车在白色地板上寻黑线行走,通常采取的
16、方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过 15cm。对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。经过上面比较分析我们选用 TCRT5000 型光电对管。1.3.2 单片机如何控制寻迹单片机控制寻迹的原理一般是分两步走的:第一步,通过矩阵式扫描,即给光电
17、传感器矩阵分别输入两个“1”信号的行值,将输出的 4 个列值信号分别存入两个地址(如30H、31H)的低 4 位,低 4 位从高到低分别对应着 4 个方向:前、后、左前、右前。然后用“F0”与这八位做“或”逻辑运算,即屏蔽掉高四位后作为本次的信号值;第二步,将本次的信号值与上一次扫描处理后的信号值进行逻辑处理,得出一个新方向,作为小车行进的方向。在这个程序里,逻辑处理内外层得到新方向是寻迹的关键。按照以下3 种规则执行:前后比较规则,内外层切换规则,优先级规则。(1)前后比较规则此规则是这个算法的核心规则。它的目的是尽可能的用新探测到的黑点作为新方向。新方向 F 通过西南民族大学毕业设计(论文
18、)8(1)来求得。逻辑处1()iiiFP理前“0”表示黑线轨迹,逻辑处理后“1”表示轨迹行进方向。举例如下:以内层为例,设当前测得的值为 ,且前一次测得的值为,iiiabcd经过上述(1)逻辑处理后,假设结果为 ,则正前11,iiiabcd ,0F方是行进的新方向。(2)内外层切换规则如果 4 个光电传感器前后两次所检测的值完全一样,则在逻辑处理后会出现全零,这时保持原方向行进。如果碰到曲线拐弯或者曲线断续,则有可能出现多个“1”即多个方向,这时可采用“内外层切换规则”,也就是说从内层切换到外层,启用外层扫描值重复上述前后比较规则来进行判断。启用外层信号进行二次判断能很好的处理曲线拐弯及曲线断
19、续等内层处理不好的情况。但用外层信号判断,因为其传感器布置的间隙距离比内层大,其控制精度不如用内层信号判断。(3)纠错规则在运行中,传感器有可能受到干扰而发出错误信号导致小车走错或迷失方向,这个时候纠错规则能让小车后退起到纠错作用。所谓纠错规则就是在走错后出现了内外层左面、前面、右面均没有探测到轨迹线的情况下,让小车后退,一直退到前面传感器里有传感器探测到轨迹线为止。此时再用(1)式求得新的行进方向,从而实现纠错功能。2 硬件电路的设计2.1 控制器模块电路的设计在控制器模块中应用 STC89C54RD+芯片,作为控制核心对光电传感器送来的各种信号进行分析处理并作出相应的动作。其工作原理如图
20、5光电传感器组 STC89C54RD+芯片 控制直流电机 控制小车转向图 5:硬件框图西南民族大学毕业设计(论文)92.2 电机驱动电路的设计直流电机驱动电路使用最广泛的就是 H 型全桥式电路,这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。它的基本原理图如图 6 所示。全桥式驱动电路的 4 只开关管都工作在斩波状态,S1、S2 为一组,S3、S4 为另一组,两组的状态互补,一组导通则另一组必须关断。当 S1、S2 导通时,S3、S4 关断,电机两端加正向电压,可以实现电机的正转或反转制动;当 S3、S4 导通时,S1、S2 关断,电机两端为反向电压,电
21、机反转或正转制动。图 6:H 型全桥式电路原理图在小车动作的过程中,我们要不断地使电机在四个象限之间切换,即在正转和反转之间切换,也就是在 S1、S2 导通且 S3、S4 关断,到 S1、S2 关断且 S3、S4 导通,这两种状态之间转换。在这种情况下,理论上要求两组控制信号完全互补,但是,由于实际的开关器件都存在开通和关断时间,绝对的互补控制逻辑必然导致上下桥臂直通短路,比如在上桥臂关断的过程中,下桥臂导通了。这个过程可用图 7 说明。西南民族大学毕业设计(论文)10因此,为了避免直通短路且保证各个开关管动作之间的协同性和同步性,两组控制信号在理论上要求互为倒相的逻辑关系,而实际上却必须相差
22、一个足够的死区时间,这个矫正过程既可以通过硬件实现,即在上下桥臂的两组控制信号之间增加延时,也可以通过软件实现。由于电机在正常工作时对电源的干扰很大,如果只用一组电源时会影响单片机的正常工作,所以我们选用双电源供电。一组 5V 给单片机和控制电路供电,另外一组 9V 给电机供电。在控制部分和电机驱动部分之间用光耦隔开,以免影响控制部分电源的品质。2.3 PWM 控制调速PWM(脉冲宽度调制)控制,通常配合桥式驱动电路实现直流电机调速,非常简单,且调速范围大。它的原理就是直流斩波原理,如图 6 所示。若 S3、S4 关断,S1、S2 受PWM 控制。假设高电平导通,忽略开关管损耗,则在一个周期内
23、的导通时间为 t,周期为T,波形如图 8 所示,则电机两端的平均电压为:U=Vcc*t/T=*Vcc ,其中,=t/T 称为占空比,Vcc 为电源电压(电源电压减去两个开关管的饱和压降)。图 8:PWM 控制波形图电机的转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快,当占空比 1 时,电机转速最大。PWM 控制波形的实现可以通过模拟电路或数字电路实现,例如用 555 搭成的触发电路,但是这种电路的占空比不能自动调节,不能用于自动控制小车的调速。而目前使用的大多数单片机都可以直接输出这种 PWM 波形,或通过时序模拟输
24、出,最适合小车的调速,我们系统采用的 STC89C54RD+芯片,通过改变 PWM 波形来改变占空比,从而控制电机调速。在实际制作过程中,我们认为控制信号的频率不需要太高,一般在 400Hz 以下为宜,占空比 16 级调节也完全可以满足调速要求,并且在小车行进的过程中,占空比不应该太高,在直线前进和转弯的时候应该区别对待。若车速太快,则在转弯的时候,方向不易西南民族大学毕业设计(论文)11控制;而车速太慢,则很浪费时间。这时图 8 可以根据具体情况慢慢调节。我们经过调试将小车驱动信号的占空比设为 8/16 以下。2.4 光电传感器的电路设计与安装2.4.1 光电传感器电路的设计根据题目的要求,
25、自动寻迹小车要沿着黑线运行,采用 TCRT5000 型光电对管进行探测。其工作电路图如下所示,在图 9 所示电路中,电阻 R1,W5 起限流的作用,防止TCRT5000 因电压过大烧毁。R6 与 R8 均为上拉电阻。通过调解电阻 W6 可以调节比较器的参考电压,经示波器观察,输出波形相当规则,可以直接供单片机查询使用。而且经试验验证给此电路供电的电池的压降较小。因此我们选择此电路作为我们的传感器检测与调理电路。图 9 光电对管检测电路2.4.2 光电传感器的安装在小车自动寻迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设 5 个 TCRT5000 型光电传感器,进行
26、两级方向纠正控制,提高其寻迹的西南民族大学毕业设计(论文)12可靠性。这 5 个 TCRT5000 型光电传感器的具体安装位置如图 10 所示。图中寻迹传感器共安装 5 个,成“一”字型排列。其中传感器 2 与传感器 3 为第一级方向控制传感器,传感器 1 与传感器 4 为第二级方向控制传感器。小车行走时,始终保持黑线在传感器 2和传感器 3 这两个第一级传感器之间,当小车偏离黑线时,第一级探测器一旦探测到有黑线,单片机就会按照预先编定的程序发送指令给小车的控制系统,控制系统对小车路径予以纠正。若小车回到了轨道上,即只要第 5 个传感器检测到黑线,其他 4 个传感器均检测到白纸,则小车会继续直
27、线行驶;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围,这时第二级动作,再次对小车的运动进行纠正,使之回到正确轨道上去。可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车寻迹的可靠性。3 软件设计3.1 系统程序流程图本系统的控制方案是根据传感器模块所获得的当前小车行驶的信息,控制直流电机驱动芯片 L298N 动作进行 PWM 调速,从而调整小车的行驶方向和速度,使小车达到自动寻迹行驶的目的。图 11 为系统程序流程图。西南民族大学毕业设计(论文)13图 11:系开始进行初始化驱动直流电机小车自动寻迹寻迹完成停止统程序流程图3.2 寻迹算法流程图小车的路径搜索算
28、法是自动寻迹小车设计中的关键部分。此系统路径搜索算法采用简单的 switch 语句,根据检测到黑线的光电传感器的位置判断舵机的偏转角度,同时给出相应的速度控制信号。程序流程图如图 12 所示。西南民族大学毕业设计(论文)14开始角度检测中间的传感器检测到黑线舵机不偏转,电机速度给定值最大左边的传感器检测到黑线舵机左转,角度越大,速度给定值越小舵机右转,角度越大,速度给定值越小经延时修正后继续前进图 12:寻迹算法流程图3.3 通过软件避免直通短路从前面的分析可知,桥式驱动电路中,由于开关管有开通和关断时间,因此存在上下桥臂直通短路的问题。直通短路的存在,容易使开关管发热,严重时烧毁开关管,同时
29、也增加了开关管的能量损耗,浪费了小车宝贵的能量。死区时间的问题,只有在正转变为反转的时候才存在,而在正转启动或反转启动的时候并没有,因此不需要修正。如果开关管的开通和关断时间非常小,或者在硬件电路中增加延时环节,都可以降低开关管的损耗和发热。当然,通过软件避免直通短路是最好的办法,它的操作简单,控制灵活。通过软件实现死区时间,就是在突然换向的时候,插入一个延时的环节,待开关管关断之后,再开通应该开通的开关管。图 13 为利用软件修正死区时间的流程图,在开关管每次换向的时候,不立即进行方向的切换,而是先使开关管关断一段时间,使其完全西南民族大学毕业设计(论文)15关断后再换向打开另外的开关管。这
30、个关断时间由单片机软件延时实现。启动驱动程序是否换向是否调整速度改变占空比跳速延时修正换向图 13:修正死区时间的流程图4 系统功能测试4.1 测试仪器测试使用的仪器设备如表 1 所示。表 1 测试使用的仪器设备序号 名称、型号、规格 数量 备注1 DF1731SL1ATA 型直流稳压电源 1 无2 TDS1002 数字存储示波器 1 无3 CA1640P20 型函数发生器 1 无4 FLUKE 15B 型万用表 1 精度为 214位5 ZSD-803A 型秒表 1 精度为 s06 PC 机 1 Intel Celeron 2.4G,256DDR4.2 传感器与检测体间距的测试为了使光电传感器
31、 TCRT5000 能够准确的识别行驶轨迹,必须将光电传感器 TCRT5000与行驶轨迹的距离调试到最佳位置。因此我们用万用表测试集电极的电流 大小,来CrelI西南民族大学毕业设计(论文)16寻找其与轨迹间距大小的关系,从而确定光电传感器 TCRT5000 与轨迹间的最佳距离。测试数据用曲线表示,如图 14 所示。图 14:集电极电流与轨迹间距的关系于是根据集电极电流 的大小与光电传感器到被检测黑线之间的距离 d 的关系图,CrelI我们将小车上的光电传感器 TCRT5000 离黑线间的距离调试为 9mm 左右,从而使光电传感器 TCRT5000 能够迅速准确的将检测到的信息反馈给单片机 S
32、TC89C54RD+,达到最佳的寻迹效果。CrelI西南民族大学毕业设计(论文)17结束语本文设计了一个小车自动寻迹控制系统。在硬件上,该系统采用 STC89C54RD+单片机为控制核心,协调电源模块、传感器模块及直流电机驱动控制模块的工作;在控制算法上,采用路径搜索算法和类 PI 控制算法实现对小车的舵机转角和直流电机转速的控制。此外,系统还完成了对加长转臂舵机的控制,实现了转向伺服电机与车速的配合控制。实验结果表明,该小车自动寻迹时路径准确,稳定性好,达到了我们预期的目的。西南民族大学毕业设计(论文)18参考文献1.李正军。计算机控制系统。北京:机械工业出版社,20052.陈懂。智能小车的多传感器数据融合J。现代电子技术,20053.高峰编。单片微型计算机原理与接口技术。北京:科学出版社,20034.何立民。MCS51 系列单片机应用系统设计。北京:北京航空航天大学出社,2003