
自动金属探测小车 大学生电子设计竞赛.docx
9页摘要本设计采用MSP430F169作为自动金属探测小车的检测和控制核心,并且采用一块 单片机(AT89S52)作为辅助系统,同时加以直流减速电机、传感器和电源电路以及其 他电路构成路面避障使用反射式红外传感器ST188,速度检测采用霍尔开关器件A44E, PWM技术动态控制电动机的转速,金属接近开关探测前方的铁片同时计数基于这些完 备而可靠的硬件设计,使用了一套独特的软件算法,实现了小车在限速、转向、倒退、 探测和实时显示过程中的一系列精确控制关键字:MSP430F169电动车传感器本设计的主要特色:(1) 高效的H型PWM电路,提高电源利用率2) 优化的软件算法,智能化的制动控制,定位精确3) 采用共阳极数码管,时间、速度显示一目了然4) 精确的红外传感器,使小车更加敏捷快速一、方案论证与原理分析1、 车体选择方案1:采用步进电机控制的小车步进电机可以精确的控制车轮转动的角度,已精确地控 制小车的转动方向,从而达到要求的角度但是步进电机造价高,对控制电路要求比较 高,所以我们放弃该方案方案2:采用直流电机控制的小车直流电机轻便简单,只要给出pwm波形,便可对其进行 调速,造价简单,我们对电机的转动角度并没有太高的要求,所以,我们选择该方案。
综上所述,我们选择方案22、 电机驱动模块2.1方案论证方案1:利用H桥电路的电机驱动模块此种电路包含若干个三极管及外围电阻等器件,通 用性强,功能强大通过对相关端口的写入,能够实现两电机正反转和pwm调速但是, 由于三极管本身工作电流的限制,此电路不能够驱动大功率电机,并且电路暴露在外部 导致稳定性不高,所以我们放弃使用该方案方案2:基于L298N的电机驱动模块L298N是一款专门用于驱动电动机的芯片,具有高集 成度、高功率的特点,其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感 性负载,如大功率直流电机,步进电机,减速电机,伺服电机,电磁阀等,较少的外围 电路(仅需要保护用的二极管和滤波电容)便可以很好地驱动大功率的电机其输入端 可以与单片机直接相联,从而很方便地受单片机控制当驱动直流电机时,可以直接控 制两路电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平而 且模块体积小,稳定性高综上所述,我们选择L298N及外围电路作为电机驱动模块2.2电机驱动原理分析电机的驱动芯片选用L298N作为驱动 芯片工作稳定电机驱动信号由MSP430提 供,信号经过光耦隔离后,传至PWM控制芯 片L298N,通过L298N的输出脚与两个电机 相连。
2-2 L298N接线原理图3、测速模块方案1:采用采用霍尔开关元器件A44E检测轮子上的小磁铁从而给单片机中断脉冲,达到 测量速度的作用霍尔元件具有体积小,频率响应宽度大,动态特性好,对外围电路要 求简单,使用寿命长,价格低廉等特点,电源要求不高,安装也较为方便霍尔开关只 对一定强度的磁场起作用,抗干扰能力强,因此可以在车轮上安装小磁铁,而将霍尔器 件安装在固定轴上,通过对脉冲的计数进行车速测量采用红外传感器进行测速但无论是反射式红外传感器还是对射式红外传感器,他 们对都对外围环境要求较高,易受外部环境的影响,稳定性不高,且价格较为昂贵通过对方案1、方案2的比较其优缺点,综合多方面因素决定选用方案14、避障模块4.1方案论证方案1:用激光传感器进行避障它由激光器、激光检测器和测量电路组成激光传感器 是新型测量仪表,它的优点是能实现无接触远距离测量,速度快,精度高,量程大,抗 光、电干扰能力强等但是激光传感器造价高,并且外围电路非常复杂,不适合我们的 系统特点所以我们放弃该方案方案2:用超声波传感器进行避障超声波传感器是利用超声波的特性研制而成的传感器 超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生 的。
遇到障碍物后能够返回,被传感器接受后,然后将这信号放大后送入单片机但超声波传感器需要精确的40KHz的方波信号来工作,模拟电路不能很好的满足此要求,但 用单片机作为方波发生器又浪费IO 口资源;超声波传感器存在盲区,一般是10cm左右 以内的障碍物不能被检测到复杂的电路结构和本身的缺陷,使我们放弃该方案方案3:用红外光电开关进行避障光电开关的工作原理:红外发射二 极管发射红外线,如果遇到障碍物后,光线反射回来,接受的光感 三极管导通,430接受到相应的电平信号红外避障模块造价低, 集成度高,外围电路简单稳定实际实验中,模块灵敏迅速,而且 通过调节开关的可变电阻能够实现对感知距离的改变(3-30cm)综合考虑,我们选用了 M18漫反射距离可调型光电开关来进行 避障系统的设计图4-1 ST188实物图4.2避障原理分析图4-2避障原理图当小车与白色墙壁达到警戒距离时,ST188传感器接收到墙壁反射的红外线使C、E 导通,此时比较器输出电平由高至低,从而达到避障效果ST188与LM393接线原理图 如图4-2所示5、 金属检测模块采用金属接近开关来检测铁片,当接近开关的探头与铁片距离达到预定值内时,高 频磁场在金属中产生了涡流,使得LC谐振回路的震荡幅度下降到阈值电压,开关输出 信号。
6、 显示模块6.1方案论证方案1:采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示 多样,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏方案2:采用LCD显示屏,虽然价格较LED液晶便宜,接线也相对简易,但显示效果非常单一,且在光线过强或过弱的条件下均不易看清显示数据,所以不采用此方 案方案3:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于 显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也 不用此种作为显示方案4:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用 动态扫描法与单片机连接时,占用的单片机口线少最大优点是可以在室内光 线阴暗的条件下远距离看清其显示数据非常直观明了综合考虑以上方案,所以采用了 LED数码管即方案4作为显示模块6.2显示原理分析显示部分采用两个4位数码管和一个1位数码管,其中两个4位数码管分别显示时 间和速度,1位数码管显示铁片个数原理图如图6-2所示4旧rDPaaH.4L旧cDPe.aH.1主:界面图6-2数码上图第一行4位数,单片机控制时钟芯片DS1302显示行驶时间,第二行4位数码管由430'三行单个数码管则是用来显示铁片个数。
控制显示行驶速度,■第 7、电源模块图7 3.3V到5V电压转换小车采用双电源供电,其中电机模块单独采用7.4V锂电池供电,主控芯片MSP430 采用3.3V供电,此外由于传感器和辅助系统AT89S52都需要采用5V电压供电,故电源 模块如下图所示二、系统的具体设计与实现以下分为硬件和软件进行分析1.系统的硬件设计框图图二硬件系统总框图2.系统的软件设计1、软件设计特色说明1.1不同占空比脉冲驱动电动机以往方案都是用事先定义好的0、1脉冲置于ROM中以查表获得脉冲的方法,但是 这种办法不但不方便于操作,还占用了 ROM单元,在使用上不具优越性而本次方案在软件设置上,每个全脉冲都由40个10ms脉冲组成,前面全都是1, 后面都是0,高脉冲,即1的个数由RAM中5AH单元中摆放的数值来决定,所有脉冲均 通过计数器中断来控制,中断每10ms询查一下5BH单元,当5BH中数小于5AH中数时, 脉冲置1,否则置0,每次5BH中数值加1,加到40就清0这样就减少了许多ROM空 间的使用,减少了软件延时控制的麻烦,通过设置5AH单元中的数来设置档,即我们有 40个档可调1.2越障程序的设计特色之处在于,本设计充分利用了障碍物即墙面高度为5cm且道路底色为黑色这个 重要条件,小车在从起点出发之初就探测四周墙壁,以通过查询红外传感器检测到反射 回来的信号,在比较各个方向是否都有反射信号来对小车运动方向进行控制。
在这个过 程中首先不断追踪小车四周的传感器,锁定后立即检测前方是否有障碍物,当检测到障 碍物时即刻放弃前行而并且适当减速转向躲避,直至不再探测到障碍物又重新追踪反射 信号,如此循环,就可达到安全迅速地通过迷宫的目的在一开始就将探测障碍物与寻 找铁片同时进行,经计算和实验论证,本方案能大幅度提高避障和寻找铁片的速度,降 低寻找路线的盲目性1.3主程序分段无论是在网上还是在一些参考资料上,许多软件大多的运行控制都是由一个主程序 的循环来进行的,但本软件在主程序上也采取了分段的方式在主程序间根据不同的功 能区间来进行跳转,很明确很直观地将主程序进行了功能分段,为子程序的设计、程序 的控制提供了很大方便,同时增强的程序的可读性1.4时钟控制时钟采取AT89S52单片机和DS1302芯片单独控制,这样不仅可以提高计时的精确 度,同时还可以大大减轻MSP430主控芯片的编程压力,从而提高系统运行效率1.5软件降温在长转弯过程中通过设置前端转向电机间隙停转以达到降温的目的1.6转弯加速由于本设计前后电机采用单独电源供电,在前轮转向时,后轮速度将有所降低,此 时即通过软件表象加速来弥补其电流的降低,从而提高了小车在弯道的行驶速度。
1.7进弯道前减速行驶分别采用不同的速度来控制直道与弯道的行驶,可以使得在直道区尽可能加速,以 节省时间;在弯道区减速,有更多的时间来搜寻路线,避免碰壁,也使得小车以比较短 的时间通过终点线三、软件调试由于本次设计需要捍接的器件较多,各器件对于电源电流的需要极大,我们先以双电源开始调 试,发现所有的开关器件很难稳定地给430和单片机送正确值,只有当更换新电池或小车刚刚启动 时才会很准确,经过思考,这都是开关元件消耗电量很大的原因,一旦电池电量不足其工作将会萎 靡不振,于是我们将所有开关器件划成一个部分,由一块电池专门供电在前轮PWM驱动转向电路运行中,我们发现,电机只给一个转向力,但保持长期转向时,电 机的转动由于受到强行制动而处于一种相对静止的状态,导致PWM驱动电路产生大量的热量,我 们既利用软件使其尽量减少长期单向转动状态,又在硬件上,在PWM驱动板上涂上了一层散热胶, 即使发热,也不会烧坏PWM驱动电路在安装上避障用红外传感开关之后,其与其它所有开关元件共用同一电源,在运行时发现三个 用于避障用的开关元件不能全部正常工作了,据分析,是由于供电电压不足所致,在对其加1K的 上拉电阻后才能正常工作。
在所有电源开启后,系统即进入大约1秒钟倒计时状态,1秒钟倒计时完毕之后,有时前轮电 机不能正常启动经分析,这是属于正常情况,因为小车本身质量较大,孤儿其启动需要克服很大 的惯性,而其电源又不能在瞬间提供很大的电流,所以就没有动静此时,关掉总电源电源,再重 新打开后即可进入正常状态去正常运行附件初始化是否要转弯检测前方铁片声光报警车底磁铁吸起铁片检测终 点线开始前行,从起始白线开始计时红外传感器检测前方障碍*调低速YNNYYNY后退至铁片处NY停车,报警,并接受查询(数 码管显示当前值)继续前行,数码管显示实时速度图四软件系统总流程图转到位否/调快数码管计数。
