APP下载

感应式循迹小车的设计与实现

2011-03-14刘远明李道霖韩绪鹏

电子设计工程 2011年10期
关键词:循迹电平延时

刘远明,李道霖,韩绪鹏

(三峡电力职业学院电力工程系,湖北宜昌443000)

循迹小车是目前较为普遍的一项智能小车制作竞赛,该制作要求小车能寻着一条黑色轨迹前进直到终点,用达到终点的时间决定竞赛成绩。到达终点的时间越短,成绩越好。在整个设计过程中,循迹小车的寻迹电路是循迹小车的一个关键部件,传统的设计采用光电传感器[1-3]作为寻迹器件。然而,光电传感器对环境的光线变化比较敏感,不适合在露天环境和光照比较强的地方开展活动。通过反复试验和尝试,作者提出把金属感应传感器[4]用于循迹小车替代光电寻迹电路,用带不干胶的金属铝箔胶带贴在地面替代黑色轨迹线条,循迹小车寻着铝箔胶带轨道前进,无需光线介入,大大增加了寻迹小车活动的环境适应性。

1 硬件及电路

感应式循迹小车是由单片机控制系统、寻迹电路、电动机驱动电路等几部分组成。

1.1 金属感应传感器电路

金属感应传感器电路在小车中实现金属铝箔路轨的感应寻迹功能,该电路是用金属探测电路[2]改进得到的,电路如图1所示。图中,电感线圈L、电容C1、C2、C3,三极管VT1等组成了一个典型的电容三点式振荡电路,振荡电路产生的正弦波信号经VT2放大后,由VD1、VD2、C6等进行倍压整流、滤波,使三极管VT3的基极获得了一定幅度的基极电压而导通,其集电极输出低电平,后级NE555电路构成的施密特触发电路[5]因其2脚电平小于1/3VCC,其输出端3脚输出1电平。若把电感线圈L靠近金属物体,线圈的变化磁场会在金属物体内感应出涡流而产生铁损,线圈的Q质下降,电路振荡减弱直至停止振荡。作用在VT3基极上的电压消失,三极管VT3由导通变为截止,其集电极输出高电平,该电平使后级NE555的6脚电平大于2/3VCC,其输出端3脚的电平由1跳变为0,把这个信号送给单片机I/O端口,单片机就可以通过检测该端口的信号变化,了解循迹小车的运行状态,给出相应的控制指令。在该电路中,调整可调电阻RP的电阻大小可改变电路的正反馈幅度,使振荡电路刚好处于振荡的临界点上,可调节传感器感应到金属物体的灵敏度。通过精确调节RP,可使相应金属感应传感器的灵敏度达到10 mm以上。

图1 金属传感器电路Fig.1Metallic sensor circuit

1.2 单片机控制电路

整个循迹小车的设计采用51单片机[6]构建控制系统,电路图如图2所示,该电路由电源电路、ISP下载接口、电动机驱动电路接口、AT89S51单片机等几部分组成。把单片机的P3.4,P3.5,P3.6端口作为传感器的输入端口,从金属感应传感器电路原理分析中可以看出,当传感器靠近金属物体时,传感器输出为低电平,无金属物体时,输出为高电平,P3.7口直接接地,方便以后寻迹程序的编写。

图2 单片机控制电路Fig.2MCU control circuit

1.3 电动机驱动电路

机器人采用两个减速电动机分别带动左右两个动力轮,实现前进、后退、转弯等功能。电动机的驱动电路选用小直流电动机专用驱动芯片L293D,它能同时驱动2个减速电机,最大输出峰值电流达1 A,该芯片与单片机连接如图3所示。

图3 电动机驱动电路Fig.3Motor drive circuit

2 循迹小车的寻迹控制

2.1 传感器的位置

感应式循迹小车底盘结构如图4,底盘左右两轮都为动力轮,分别由两个减速电动机驱动,后面的小轮为随动轮,随着两个动力轮的运行而运行。3个金属感应传感器的电感线圈并排安装在机器人的前面,距地面约5毫米左右的距离,正常运行时,让中间的一个传感器位于道路的正上方,处于检测到金属物体的状态,传感器输出为0电平,旁边两个传感器在道路两边,没有检测到金属物体,输出为1电平,3个传感器的输出端与单片机对应端口连接,电平输出信号就是单片机端口的输入信号。

图4 循迹机器人底盘示意图Fig.4Schematic diagram of tracking robot

2.2 寻迹状态分析

在循迹小车寻着铝箔胶带轨道运行的过程中,会出现正常运行,右边偏离轨道,左边偏离轨道等各种情况,按照上面传感器的设置,循迹小车在正常行驶时,传递到单片机端口的电平信号是101,由于事先已将单片机的P3.7口接地,因此,传递给单片机P3口的高4位电平信号为0101,当循迹小车从右边偏离轨道时,左边和中间的传感器会同时检测到金属体,此时,3个传感器的输出状态为100,单片机P3口的高4位电平信号为0100,定义这种偏离为右偏,如果继续右偏,中间的传感器会从右边离开轨道,此时,只有左边的传感器检测到金属体,此时单片机端口的电平信号为0110,把这种偏离定义为严重右偏。用这种方法,可以定义机器人7个寻迹状态,把这些状态对应的电平信号用BCD码表示,并以此排序,得到端口对应的寻迹状态编码表,如表1所示。

表1 寻迹状态编码表Tab.1Coding table of tracing status

2.3 寻迹状态分析

循迹小车由左右两只电动机驱动,实现前进、后退、转弯等各种运动,控制信号由单片机P2口的低4位给出。对循迹小车的转弯控制采用一轮停止,一轮运行的方法实现,用转弯的时间来控制循迹小车转弯的幅度,同样是左转,转弯1 s和转弯2 s转弯的幅度是不一样的,后者转弯的幅度大,把转弯幅度大的叫“急转”,如“右急转”,“左急转”,以区别转弯幅度小的左转,右转等。结合表1,针对各种可能的寻迹状态,制定出控制方案如表2所示。

表2 循迹小车控制方案表Tab.2Control program table of self-tracking car

根据单片机系统图、表1和表2,把电动机控制参数和延时参数以压缩BCD码的形式组合为一个字节,控制参数放高4位,延时参数放低4位,整理后,可得到单片机信号端口和控制端口对应关系的编码表,如表3所示,可在此基础上进行寻迹机器人的程序设计。

3 循迹小车的程序设计

3.1 总体设计思路

在循迹小车运行过程中,不断读取P3口的状态值,取出高4位,将结果存入累加器A中,然后用查表的方法,取出对应的组合参数表值,在读出的表值中,高4位为控制电动机运行的参数,低4位为电机运行的延时参数,把高4位和低4位数从字节中分离出来,将高4位数送入P2口对循迹小车运动状态进行控制,将低4位值赋予延时子程序的R0,延时时间为R0×T(ms),T是单位时间,需根据循迹小车的速度性能确定,用以控制各运行状态的运行时间。另外,在循迹小车寻迹过程中,常会出现循迹小车出轨的情况,一旦循迹小车脱离寻迹轨道,往往意味着寻迹失败,因此需在程序中增加挽救措施,让循迹小车在发现自己脱轨后,立即后退,回到轨道线继续运行。根据以上设计思路,循迹小车的控制流程图如图5所示。

表3 组合参数编码表Tab.3Coding table of combination parameters

图5 循迹小车控制流程图Fig.5Control flow chart of self-tracking car

3.2 主要汇编程序实现

…………

KS:

MOV P3,#0FFH

MOV DPTR,#S4

S0:JB P1.0,$;声控启动

S1:

MOV P2,#09H;前进

MOV A,P3;读P3到A

ANL A,#0F0H;取高4位数据

MOV 40H,A;保存到内存40H中

NOP;稍候

NOP

NOP

MOV A,P3;再读P3口

ANL A,#0F0H

CJNE A,40H,S1;和上次结果比较,不同就返回重来

SWAP A;交换高低4位,取寻迹结果

图中x为输入层,给定一个序列xt=(x1,x2,……xt,xt+1)输入到RNN细胞中,根据式(1)、式(2)可计算出一个隐藏层序列st和一个输出序列yt。

MOV R4,A

MOVC A,@A+DPTR;查表取出对应组合参数

MOV R3,A;组合参数先存入R3中

ANL A,#0FH;取出低4位延时参数

MOV 41H,A;延时参数先存放到41H中

MOV A,R3

SWAP A

MOV P2,A;控制参数送P2口

JZS0;压横线,停止运行

MOV R0,41H;延时参数送R0中

ACALL YS;调用延时子程序

AJMP S1

YS:

ACALL YS10MS

DJNZ R0,YS

RET

YS10MS:;延迟10 ms

MOV R1,#250

S3:

MOV R2,#20

DJNZ R2,$

DJNZ R1,S3

RET

S4:

DB 0AH,15H,91H,1AH,85H,91H,8AH,61H;

END

4 结论

为提高传统循迹小车的运行可靠性,文章提出感应式循迹小车的设计方法,且详细地阐述了该设计的主要组成:循迹小车的硬件及电路、循迹小车的循迹控制和单片机的程序实现。

按照本文所提出的新方法,作者成功地设计和制作了感应式循迹小车的样品,样品实际测试结果表明:基于新方法设计的小车运行平稳,在长时间工作中没有出现脱轨现象,循迹小车的运行与环境光的强弱没有关系,小车的整体性能较好。

[1]刘群,郑丹莹,刘鸣.红外反射式传感器的自寻迹小车的设计[J].实验科学与技术,2007,5(5):154-156.LIUQun,ZHENGDan-ying,LIUMing.Designofautosearching cra with reflected infrared sensors[J].Experiment Science&Technology,2007,5(5):154-156.

[2]单以才,李奇林,秦剑华,等.基于红外传感器的自主循迹小车控制算法设计与实现[J].机床与液压,2010,38(14):79-81.SHANYi-cai,LIQi-lin,QINJian-hua,etal.Designand realization of self-tracking vehicle’s control algorithm based on infrared sensor[J].Machine Tool&Hydraulics,2010,38(14):79-81.

[3]王子辉,叶云岳.基于CMOS传感器的智能循迹小车图像识别技术研究[J].传感技术学报,2009,22(4):484-488.WANG Zi-hui,YE Yun-yue.Research on image acquisition of self-tracing car based on CMOS camera sensor[J].Chinese Journal of Sensors and Actuators,2009(24):484-488.

[4]王伟.金属探测器原理及其应用[J].矿冶,1996,5(4):78-83.WANG Wei.The Principle and application of metal detectors[J].Mining&Metallurgy,1996,5(4):78-83.

[5]陈永甫.多功能集成电路555经典应用实例[M].北京:电子工业出版社,2009.

[6]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:清华大学出版社,2009.

猜你喜欢

循迹电平延时
基于DFT算法的电力巡检无人机循迹检测系统设计
基于级联步进延时的顺序等效采样方法及实现
日光灯断电关闭及自动延时开关设计
智能差分循迹小车设计
基于MC9S12XS128处理器的智能循迹小车分析研究
NPC五电平Z源逆变器的设计研究
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
基于三电平光伏并网逆变器控制系统的研究与实践
基于NPC三电平变换器的STATCOM研究
一种多电平逆变器及其并网策略