轮式移动机器人的循迹设计
2015-05-12刘海龙
刘 驰,杨 风,刘海龙
(中北大学计算机与控制工程学院,山西太原030051)
1 智能循迹小车总体设计方案
1.1 整体设计方案
1)根据设计要求,确定控制方案。
2)利用Proteus设计合理的硬件原理图。
3)画出程序流程图,使用C语言进行编程。
4)在洞洞板上焊接元器件,然后往单片机内烧录程序。
5)进行调试以实现控制功能。
1.2 整体控制方案确定
图1为智能循迹小车的系统控制框图。黑色引导线是小车进行跟踪的目标,循迹传感器对目标轨迹进行检测,然后将得到的信息反馈给单片机进行处理,单片机处理后给电机驱动发出控制信号对两个直流电机进行控制,从而确保小车可以沿预定的路线正确行驶。
图1 智能小车系统控制框图
本设计使用两节3.7 V充电电池对整个系统进行供电,主控芯片为 STC公司的89C52,直流电机的驱动模块为L298N,它可改变芯片控制端的输入电平,利用TTL进行控制,从而完成电机的正反转以及停止操作。用光敏电阻组成光敏循迹传感器。这样就组成了一个如图所示的带有反馈信号的系统。
2 系统的硬件设计
2.1 单片机电路的设计
单片机内部包括ROM、RAM以及定时器、计数器、中断系统等。单片机在硬件电路设计时,由于单片机内部单元不能完全满足系统设计的需要,因此我们必须对其进行必要的扩展,增加相应的外围设备,如D/A、A/D转换器、键盘、显示器等,以满足我们的需求。本设计选择的是STC公司的产品STC89C52单片机。
2.1.1 晶振电路
晶振的作用是为系统提供基本的时钟信号,本文选用的是11.059 2 MHz无源晶振来为系统提供基本的时钟信号,同时为了防止振荡电路因为回路不通而停止振荡,导致电路不能正常工作,本文使用2个30pF电容起到并联谐振的作用。这样使得一个机器周期约为1 μs[1]。
2.1.2 复位电路
89系列单片机通过向RST引脚输入复位信号到芯片内的施密特触发器中。本文采用的电容值为10 μF的电容和阻值为1 kΩ的电阻。单片机上电后,电容会进行充电,RST会持续高电平一段时间。同样,若单片机运行中按下复位按钮也会使得RST引脚持续高电平,这就是单片机上电和复位的操作[2]。
2.2 光电传感器模块
光电传感器循迹电路图如2所示。循迹传感器的工作原理:Signal端会检测信号的输出,当传感器检测黑色轨迹时,光电传感器发出的红外线会被黑色轨迹大量吸收导致反射回来的很弱,三极管就不导通,Signal端输出高电平,从而发光二极管熄灭;当传感器检测白线时,与黑线相反,这时光电传感器发射的红外线被白线反射回来的很强,光敏三极管会导通,Signal输出低电平,从而发光二极管点亮。
图2 循迹传感器电路图
将程序烧录到单片机后,小车就可以按写入的相应程序执行循迹功能了。小车在正常前进时,左右两边传感器均产生两个低电平。当小车向右行驶偏离黑线时,左边传感器会产生一个高电平,反馈给单片机处理后,单片机会给小车发出一个信号,小车向左拐。当小车向左行驶偏离黑线时,同理,右侧传感器产生高电平,小车右拐。这样,小车一定不会偏离黑线。当两边的光电传感器同时输出的信号为高电平时,即单片机判断的都为高电平时,小车停止前进[3]。
2.3 电机驱动
本设计采用L298N电机驱动芯片来对两个12V的直流电动机进行控制。L298N是ST公司的产品,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46 V、2 A以下的电机。其中1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号[5]。
2.3.1 电机驱动原理
而图3所示就是直流电机与驱动芯片接线图,它在原有基本H桥电路的基础上又增加了四个二极管来保护电路。一个“使能”导通信号和四个与门相接,这样,用这一个信号我们就可以控制整个电路的开关了。
采用以上方法,电机的运转就只需要用三个信号来控制:一个使能信号和两个方向信号。如果 DIR-L信号为“0”,DIR-R信号为“1”,并且使能信号是“1”,那么三极管Q1和Q4导通,电流从左至右流经电机;如果DIR-L信号变为:“1”,而DIR-R信号变为“0”,那么 Q2和 Q3将导通,电流则反向流过电机[6]。
图3 直流电机和L298N驱动芯片接线图
2.3.2 小车运动逻辑
如表1。
表1 小车运动逻辑
3 系统的软件设计
本设计使用Keil软件并采用C语言来编译程序。
软件的烧录:
第一步:安装并运行STC_ISP_V480软件;
第二步:点击MCU Type栏的倒三角选项;选择对应的单片机型号STC89C52RC。
第三步:点击打开程序文件选项选择已经编译好的HEX文件。
第四步:打开设备管理器找出下载端口,选择相应的COM口,点击“点击Download/下载”,对话框出现正在尝试与单片机握手,请上电,再给单片机供电,烧录完成[7]。软件设计系统主程序流程图如图4所示。
图4 主流程图
部分系统程序附录如下:
4 结论
本设计的内容主要是智能小车的循迹系统。所设计小车采用四个光电传感器来检测循迹路线,同时对得到的数据进行融合处理。得到了以下成果:
1)小车可以在外部环境无改变时,沿着预先设定的轨道正常循迹。
2)经过数十次的测试证明,当传感器呈M形布局时,易产生不稳定的震荡信号,从而影响小车行驶时的稳定性,但M型布局最适合检测弯道较多的轨迹。因为传感器M形布局时,他们不在同一直线上,这样的话小车在转弯时,左右两边后部的传感器就会有较大的采样空间,两边前端的传感器则对采集的信号有更好的前瞻性。整个布局有利于在弯道处提高小车速度。
3)小车保留了扩展功能。小车在完成预计功能前提下,预留部分软件和硬件接口,保留一定扩展功能。
[1]罗志增,蒋静坪.循迹小车感觉与多信息融合[M].北京:机械工业出版社,2003:1-10.
[2]蔡自兴.中国的智能循迹小车研究[J].莆田学院学报,2002,9(3):36 -39.
[3]吴林.智能循迹小车主题型号工作的回顾[J].循迹小车技术与应用,2001:6-9.
[4]欧青立,何刻忠.室外智能循迹小车的发展及其关键技术研究[J].循迹小车,2000,22(6):519 -526.
[5]杨鹃.多信息融合技术在移动循迹小车避障系统中的应用[D].哈尔滨:哈尔滨理工学,2007.
[6]恒盛杰资讯.Protel电路板设计从入门到精通[M].北京:中国青年出社,2006:1-148.
[7]江思敏,陈明.Protel电路设计教程[M].北京:清华大学出版社,2006:1-296.