基于STC12LE5410AD单片机的自动寻迹车设计

2011-03-10 05:21张春林赵丽
关键词:码盘黑线子程序

张春林,赵丽

(1.中国科学院 长春光学精密机械与物理研究所,长春 130033;2.长春职业技术学院,长春 130033)

寻迹机器人在社会生活中有着广泛的应用,例如自动化生产线的物料陪送机器人,医院的机器人护士,商场的导游机器人等[1]。自动寻迹车可以看作是一款寻迹机器人,它集机械、电子、检测技术与智能控制于一体,采用红外反射式光电传感器检测路面信息,利用红外遮断式传感器检测车轮转速.STC12LE5410AD单片机根据上述传感器信号进行运算分析,控制小车在路面上沿黑线行走。

STC12LE5410AD单片机是单时钟的兼容8051内核的单片机,是高速、低功耗的新一代8051单片机,速度比普通8051快8~12倍,全新的流水线、精简指令集结构,内部集成MAX810专用复位电路,自带4路PWM输出及硬件看门狗。能够很好的满足系统要求。

1 总体方案设计

自动寻迹车是一个具备自主判断、决策能力的小型机电整合系统。自动寻迹车主要分为电源模块、微控制器模块、电机控制模块、轨迹检测模块、码盘采样器模块。系统原理框图如图1所示。电源模块是智能小车的“动力源泉”,微控制器模块是自动寻迹车的大脑,轨迹检测模块相当于寻迹车的眼睛,电机控制模块和码盘采样器模块组成移动模块,移动模块相当于寻迹车的腿脚。由轨迹检测模块检测曲线的位置并输出检测信息,对检测信息进行处理后将其输入到微控制器模块,单片机控制系统根据输入信息进行判断,并根据判断结果输出指令给移动模块,移动模块根据指令驱动自动寻迹车左转、右转、前行等,从而实现寻迹功能。

图1 系统原理框图Fig.1 The block diagram of the system

2 硬件实现及单元电路设计

2.1 电机控制模块设计

系统选用了带减速器的直流电机,它具有转动力矩大、体积小、重量轻、装配简单、使用方便等优点,由于其内部由高速电动机提供原始动力,带动变速齿轮组,可以产生较大扭力。

电机控制模块用单片机的 PWM(脉冲宽度调制)[2]信号来控制H桥,用H桥来驱动电机,能够控制电机的停止、正转和反转,且能够控制电机的转动速度。

如图2所示,9012、9013三极管控制驱动管实现电平转换,D772和D882是双极性功率放大管,用于驱动电机,IN5819型二极管压降低提供续流保护作用,红、绿发光二极管用于电机正常工作指示。

图2 电机驱动电路Fig.2 The drive circuit of the motor

由于本设计采用了单极性可逆PWM变换方式,控制一个电机需要3个I/O口,其中2个用普通的I/O口即可,一个用于输出PWM信号的,即占空比可控的脉冲信号。I/O口输出信号通过逻辑控制电路与电机驱动电路对接,功能控制如下:

2.2 码盘采样器模块设计

码盘采样器模块即测速模块,利用红外遮断式传感器中三极管的开关特性产生高低电平,由单片机对其上升或下降沿进行计数,且通过定时器设定采样时间,在一定时间内计数的数量决定了小车的行驶速度。本设计中因为码盘的分辨率较低,所以采用测周期的方式来得到转速。如果按照正常的脉冲测量方式,采集一个跳变沿,那这个码盘一圈只能得到 50个数据,为了提高性能,利用了STC12LE5410AD单片机PCA模块的正、负跳变均能中断的特性,一周可获取100个数据。为了避免脉冲的占空比不等带来的问题,测周期时采用正跳对正跳、负跳对负跳的原则。码盘示意图如图3所示。

图3 码盘Fig.3 The coded disc

2.3 轨迹检测模块设计

轨迹检测模块采用红外反射式传感器进行信号采集。当红外线照射到白色地面时会有较大的反射,而照射到黑色标志线,黑色标志线会吸收大部分红外光,红外接收管接收到红外线强度就很弱。即根据反射系数不同,通过以红外反射式光电传感器为核心的光电检测电路将路面两种颜色进行区分,转化为不同电平信号[3-4],将此电平信号送给STC12LE5410AD单片机,继而控制电机作相应的转向,保证小车沿轨迹行驶。

本设计采用了8个红外传感器寻迹,8个寻迹传感器的安装如图4所示,呈一字型排列,中间的两个红外传感器在黑线范围内,反射接收到的是高电平,其余的6个红外传感器在黑线范围外,反射接收到的是低电平。当左三传感器检测到黑线的边界时,主控芯片控制电机使左轮减速,小车向左修正;当右三传感器检测到黑线时,主控芯片控制电机使右轮减速,小车向右修正;如果小车的行驶速度过快,中间的传感器均脱离了黑色跑道,则检测其他传感器,例如当左二和左三传感器检测到黑线时,主控芯片控制电机使左轮以更快速度减速,小车向左修正;当右一和右二传感器检测到黑线时,主控芯片控制电机使右轮快速减速,小车向右修正;从而使小车沿着黑色轨道快速行走,也便于小车在弯道等路面也能够快速调整。

图4 八个寻迹传感器安装Fig.4 The eght tracing sensor installation

3 软件设计

本系统软件采用模块化结构,由主程序、转速测试子程序、寻迹子程序、结束子程序等组成。寻迹子程序又包含微调函数子程序、直行函数子程序和调整子程序等。主程序流程图如图5所示。

转速测试子程序能够测定左右轮转速,并能够确定测试时微调函数子程序、直行函数子程序和调整子程序的调整参数。

图5 主程序流程图Fig.5 The main program flowchart

4 结论

本文详细阐述了基于STC12LE5410AD单片机的自动寻迹车的软硬件设计方法。基于该方法设计的自动寻迹车已用于机器人竞赛。实践证明该车具有硬件成本低、控制系统运行快速,抗干扰能力强等特点。且在弯道行驶时也能保证运行平稳可靠。

[1]黄大志,周庆贵,陈业强.基于单片机轮式寻迹机器人控制系统的设计[J].机床与液压,2009,37(8):350-352.

[2]陈鸿.嵌入式系统在瑞萨智能寻迹模型车的应用[J].学术问题研究,2009(2):75-80.

[3]宁慧慧,余红.基于单片机控制的简易自动寻迹小车设计[J].电子测试,2009(9):39-41.

[4]高月华.基于红外光电传感器的智能车自动寻迹系统设计[J].半导体光电,2009,30(1):134-137.

猜你喜欢
码盘黑线子程序
三角码盘定位机构相对于十字码盘的准确度分析和补偿计算
黑线
DA42NG飞机空调系统组成及日常维护
虾背黑线真的特别“脏”吗
这也算海鲜
浅谈子程序在数控车编程中的应用
七巧数独
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
简化编程与子程序嵌套的应用