一种基于AT89S52的简易智能小车设计
本文作者:admin
点击:
2007-07-11 00:00
前言:
摘 要:本文介绍了一种以AT89S52单片机作为检测和控制核心的简易智能小车设计方法,实现了小车的自动识别路线,判断并自动躲避障碍,选择正确行进路线,寻找光源等功能。
关键词:智能控制,红外传感器,PWM控制
智能车辆是一个集环境感知、规划决策、自动行驶等功能于一体的综合系统——它集中地运用了计算机、传感、信息、通讯、导航、人工智能及自动控制等技术——是典型的高新技术综合体。本文设计的简易智能小车就是这种综合体的一种尝试。文中所设计的简易智能小车在多种传感器的配合下——具有自动寻迹、障碍物探测、金属检测以及追踪定点光源等功能,可以说基本实现了简易小车的智能化。
系统结构设计
简易智能小车系统结构设计模块图如图1所示:
轨迹探测模块
简易智能小车在画有黑线的白纸“路面”上行使,由于黑线和白线对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”——黑线。判断信号可通过单片机控制驱动模块修正前进方向,以使其保持沿着黑线行进。轨迹探测模块用3只光电开关(图2)。1只置于轨道中间,2只置于轨道外侧,当小车脱离轨道时,即当置于中间的一只光
电开关脱离轨道时,等待外面任意一只检测到黑线后,做出相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。现场实测表明,虽然小车在寻迹过程中有一定的左右摇摆。但只要控制好行驶速度就可保证车身基本上接近于沿靠轨道行驶。
驱动模块
简易智能小车有两个电动机。其中一个小电动机控制前轮转向,给电动机加正反向电压,实现前轮的左右转向;另一电动机控制后轮驱动力,加的反向电压使小车前进或后退。控制转向电动机需要较小的驱动力,经过实验,选L293作为驱动芯片;由于后轮驱动功率较大,所以选用L298N,经过实验发现小车行使过程中负载较大,导致L298N发热较大,故给芯片添加散热片以保护芯片正常工作。为了优化控制性能,采用PWM脉宽调速,并利用数模转换芯片产生模拟电压,控制555生成占空比可调的脉冲从而控制L293B与L298N进行脉宽调速,具体实现电路原理图可见参考文献[2]。
光源检测模块和避障模块
(1)寻找光源利用多只光源定位器。光源定位器主要由三极管检测电路构成。在模型车实验中由于光源距地面0.2m,用金属支架将3个光敏三极管固定在车的中间部分,并使光敏三极管尽量与光源保持水平。如图3所示,VT5为光敏三极管,三极管VT4、VT6构成达林顿管,三极管VT8是为了提高电路的带负载能力。由实验得知,由光敏三极管构成的该光源定位器输出是低电平,89S52可直接对信号进行判断。
(2)红外传感器是目前使用比较普遍的一种避障传感器。模型车采用左右两个红外传感器,通过调节两个电位器来调节两个红外传感器的检测距离。该避障电路,能可靠的检测左前方、右前方、前方的障碍情况,实现良好的避障功能。
金属探测模块及电源电路
(1)在本模型车的跑道设计中,放着3块金属片,在弯道区的相应点也有一块金属片,要求小车行驶过程中对弯道上的金属片个数计数。检测到弯道上相应点的金属片后停车。在模型车中采用LC并联谐振测量方法。LC并联谐振的测量电路如图4所示,电容C3,C4,C5外侧电感L2和反向器U1A构成了LC振荡回路,运放LM393实现了正弦波的整形功能,为了提高电路的带负载能力,在输出加上了一级反相器。
(2)为确保小车在行驶过程中各部件均能正常工作且相互之间不受影响,我们使用了两组电源为不同模块提供电压。其中一组9V电源经整流稳压后单独为单片机最小系统及其附属部件供电。如此安排满足了多次测试大量用电的需求。又可以将电机驱动造成的干扰彻底消除,提高系统的稳定性。
软件设计
主程序主要起到一个导向和决策功能。其设计思路根据小车所处位置的不同,确定小车的任务。总体流程图如图5所示。
轨迹探测子程序
在黑线轨道上走直线时,对传感器的信号进行及时的判断,左边信号为零时控制电机左转,右边为零时控制电机右转。在弯道时,为了不冲出轨道,是左轮一直打偏,直到检测到右边信号为零时控制电机右转,当右信号为1时,继续使左轮一直偏。
避障及寻光源子程序
在没有检测到障碍物时调用光源检测子程序,寻找光源。当检测到障碍物时,控制小车左转一定时间后,再右转一定时间,再次判断前方是否有障碍物,直到没有障碍物的信号再调用寻光源子程序。绕障碍物程序流程图如图6。
寻光源子程序是依据3个光敏管的组合状态,单片机控制电机进行相应的动作。寻光源程序流程图见图7。
结语
该小车各部分采用模块化设计,各个模块之间独立性强。核心控制部分采用可在线编程的89S52单片机,可以在不增加系统硬件的情况下方便地对系统进行二次开发。本文对模型小车进行了试验,实现了小车的识别路线、判断并自动躲避障碍、选择正确行进路线、寻找光源等功能。
参考文献:
[1] Zvi Shiller.Emergency Lane-change maneuvers of autonomous vehicles[J].ASME Journal of Dynamics Systems,Measurement and Contrd.2001.
[2] 姜志玲.简易智能电动车的设计[J].上海:华东交通大学学报,2005(5).
[3] 先锋工作室.单片机程序设计实例[M].北京:清华大学出版社,2003.
[4] 罗志增.机器人感觉与多信息融合[M].北京: 机械工业出版社,2006.8.
[5] 黄智伟.全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社,2004.
作者简介:江晋剑(1977-),男,安徽枞阳人,安庆师范学院计算机与信息学院讲师,研究方向为嵌入式系统应用
安徽省教育厅自然科学基金资助项目(2006KJ081B)
安徽安庆科技重点攻关资助项目(200512)