APP下载

基于自动循迹的智能公交小车系统

2016-11-02郭小丹

智能计算机与应用 2016年3期
关键词:循迹小车红外

郭小丹

(西藏民族大学信息工程学院,陕西咸阳 712082)

基于自动循迹的智能公交小车系统

郭小丹

(西藏民族大学信息工程学院,陕西咸阳712082)

本文设计并实现了基于ST89C52单片机的智能公交小车控制系统。该系统能够实现根据路况自动循迹、遇到障碍自动减速、到达终点自动停止等功能,可在恶劣的环境中替代人工作业完成生产任务,避免造成人员伤亡,具有重要的应用价值。

单片机;智能小车;电机驱动

0 引 言

随着汽车工业的迅猛发展,有关汽车类的研究也日益受到广泛的关注。全国大学生电子设计竞赛每年都有类似的题目出现,智能小车在竞赛中也是必不可少的题目之一,全国各大高校都随即提升了对该类题目学习与研究的重视和投入。由此可见,智能小车在时下研发领域的优先地位和重要作用。智能公交车启停系统则是其外延扩展,研究意义已卓然明显,且现实攸关[1]。

本课题是要设计一款智能小车系统,研究中主要是完成硬件设计和软件设计。其中的硬件设计包括器件的选型和电路设计;软件是对硬件的各个部分模块进行驱动,通过软件程序的编写可以完成小车的自动循迹功能。

1 系统整体设计方案

本系统采用单片机作为主控芯片,利用红外光电传感器对地面的黑色轨迹进行检测,从而实现自动循迹功能,并且小车通过超声波测距来获得小车与障碍物的距离,再通过距离的判断与比较以达到避障的目的。在小车与障碍物距离小于安全距离时,小车会自动减速前行;当小车与障碍物的距离小于危险距离时,小车会停止行驶,等待知道前方障碍物被移除后,小车才恢复正常行驶状态[2-3]。当小车行驶到固定的终点时,通过接收站点的红外信号,小车会停止行驶[4-5]。本智能小车系统由如下模块组成:单片机控制模块、超声波测距避障模块、自动循迹模块、电机驱动模块、蜂鸣器提示模块和红外接收模块。系统结构如图1所示。

图1 系统框架图Fig.1 The system frame

2 硬件设计

2.1系统电源选择与设计

由于小车为移动设备,电源部分不能采用交流进行供电,所以设计中均需要选用电池进行供电。小车部分,单片机、液晶显示模块、电机驱动芯片提供正常的工作电压为5伏。步进电机的最低工作电压7伏左右。电机启动的瞬间可能会产生短时高压。如果选择开关电源供电,因其过载性能较差,会出现保护关断的现象,系统设计中不需要精密的稳压要求,因此设计中将不会选择开关电源的供电方式。并且由于电机工作时,会对整个电路造成干扰,因此电机控制电路和其它电路应该选择隔离电路,设计中选择TPL521用于电机控制部分和MCU芯片之间的隔离。同时,系统电源部分选择了5 V锂电池给控制板供电和12 V铅蓄电池给电机供电[6]。

2.2硬件电路设计

2.2.1单片机最小系统

STC89C52、晶体震荡电路、系统电源和阻容复位电路四部分组成了单片机的最小工作系统。最小系统是整个硬件设计的基础,只有最小系统正常工作,系统硬件电路才有可能进入预期运行。MCU正常工作的前提需要外部的时钟输入和上电复位。时钟电路为单片机提供工作时序,复位电路能够完成单片机的上电复位。进一步地,晶振震荡电路由晶振和2个20PF的电容组成,并通过无源晶振的震荡为单片机提供了工作的时序。复位电路是用来提供上电复位信号,如果遇到干扰或是运行出错,通过控制操作复位电路可以使单片机返回到初始状态。本系统复位电路的设计采用上电复位和手动复位2个方法。具体设计如图2所示。

图2 AT89S51最小系统Fig.2 AT89S51 minimum system

2.2.2红外接收电路

红外接收器(HS0038)是一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL信号,如此即大大简化了接收电路的复杂程度和电路的设计工作,方便使用。红外接收探头,接收红外信号频率为38 kHz,周期约26μs。

红外接收电路如图3所示。HS0038的1脚外接到单片机的P3.2口,单片机则通过读取P3.2的电平来判断接收的是高电平还是低电平。

图3 红外接收电路设计Fig.3 The infrared receiving circuit design

2.2.3电机驱动电路

本课题需要同时驱动2个步进电机,来实现小车的前进、后退、左右转弯的功能。电路设计是将IN1、IN2和enableA作为一组,IN3、IN4和enableB作为另一组,通过对这2组IO口的控制就可以分别实现对电机正反转、加减速的控制,完成向前、向后、左转和右转等各种组合运动。如上几个端口输入的是一个频率信号,电机的特性是给其高电平时,电机转动,给其低电平则停止。如果为其提供了时高时低的信号,电机会在惯性的作用下,并不会突然地转动或停止,这就类似电容储存电能的现象,即会慢慢加速或减速。基于如上特性分析,PWM在电机控制中的应用就尤显适合与适用了。PWM的高电平占空比大,电机就会转得快,低电平占空比大就会转得慢。OUT1和OUT2一组,OUT3和OUT4一组,分别接2组步进电机。电机驱动电路如图4所示。

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

2.2.4超声测距电路设计

只需要在Trig/TA管脚输入一个10US以上的高电平,系统便可发出8个40 KHZ的超声波脉冲,而后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,再根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RA管脚输出。在此模式下,模块将距离值转化为340 m/s时的时间值的2倍,通过Echo端输出一高电平,可根据此高电平的持续时间来计算距离值。研究可得距离值的计算原理为:(高电平时间∗340m/s)/2。超声测距电路如图5所示。

图5 超声波模块接口原理设计Fig.5 The principle of ultrasonic module interface design

2.2.5蜂鸣器提示电路设计

报警电路由蜂鸣器、PNP三极管和限流电阻组成。单片机通过控制引脚电平的高低,使PNP三极管处于导通或截止的状态,类似一个开关,从而实现开启或关闭蜂鸣器。图6中,驱动电压是5 V电压,Q1为PNP型三极管,SPEAKER是信号输入端,蜂鸣器的驱动方式可根据其类型有多种选择,此处选用蜂鸣器则为压电式蜂鸣器,通过R2和单片机的P20口相连,由该接口将会输入一定频率的脉冲信号,因此而控制蜂鸣器发出声音的频率,频率越高,蜂鸣器的声音越大、音色越尖锐。报警电路如图6所示。

图6 报警电路Fig.6 Alarm circuit

3 系统软件设计

软件的设计任务需要实现智能小车系统能按设定的速度稳定地在引导线上行驶。在设定的位置停止于设定的时间,到达引导线末端自动停止前进。

3.1主程序设计

软件设计的主流程如图7所示。系统上电后,启动初始化程序,初始化完成后,程序进入一个死循环。循环中,首先判断小车的动态标识位的数值,若Flag=0,则继续扫描小车动态标识位(Flag);若动态标志位Flag=1,调用状态信息扫描子程序,得到状态标志值,调用改变小车状态子程序,将扫描小车状态得到的标志值作为改变小车状态子程序的实参,执行改变小车状态子程序,运行完成后,回到循环开始,重新执行以上操作,直至系统断电位为止。

图7 主程序流程图Fig.7 The main program flow chart

该系统的程序设计使用了模块化的编程思想对单片机控制模块、超声测距模块、自动循迹模块、点击驱动模块和红外接收模块实现了程序编写,Keil4软件提供的平台来实施开发。小车的标志是用于记录和检测环境参数,具体小车的状态描述有以下情况:

1)如果小车的状态扫描结果是出界,则调整行驶路线,返回上一层循环;

2)如果没有出界并且有障碍物,则提示前方有障碍物,返回上一层循环更改小车的Flag标志位;

3)如果小车没有障碍物、没有出界,但是有标志线,则执行小车的循迹模块,最后返回上一层循环,更改小车的Flag标志位。

3.2扫描程序设计

采用5个光电感应器对轨道进行循迹。小车循迹流程图如图8所示。

图8 扫描程序Fig.8 The scanner

智能公交小车使用后轮驱动,后轮左右两边各有一个驱动电机,通过调整后面2个轮子的转速,从而达到控制专项的目的;前面的轮子则是万象轮,只起到支撑作用。将红外电光传感器分别装在车身的两侧和前端,当车身左侧的红外传感器检测到黑线时,芯片控制左轮电机减速,使得行驶路线向右修正;当车身右侧的红外线传感器检测到黑线时,芯片控制右轮电机减速,使得行驶路线向左修正;车身中间的红外线传感器会一直检测标志线,当检测到标志线时会左转,这就使小车在轨道中行驶。

避障原理和循迹原理是一样的,在车头的前后两端和中间各装有一个红外传感器,当车身左侧的红外传感器检测到障碍物时,小车的右轮开始减速,使小车向右行驶,从而达到向右修正行驶路线的目的;当车身右侧的红外传感器检测到有障碍物时,小车的左轮开始减速,使小车向左行驶,从而达到向左修正行驶路线的目的;当车身的中间或全部的传感器都检测到障碍物时,小车定向转动,从而达到避开障碍物的目的。

3.3电机控制程序设计

该设计中使用的是2个电机对小车状态进行实时改变,由于单片口输出电流低不能直接驱动电机转动,所以本设计采用L298N芯片来驱动电机转动。改变小车子程序流程图如图9所示。

图9 电机控制程序Fig.9 Motor control program

4 结束语

本系统由单片机最小系统、光电感应循迹模块,电机驱动模块、超声测距模块和红外接收模块组成。光电感应器循迹模块用于检测道路上的黑线,主控器将采集的信号进行处理后,控制电机驱动模块运行,驱动小车底盘上的2个电机工作,实现对小车速度和运动方向的控制。本次开发是通过软硬件探索改进,利用Protel软件设计电路原理图,采用Keil软件设计编写系统的驱动程序,实现智能公交小车的系统研究设计。该系统操作简单、智能化程度高、抗干扰性强,具有广泛的应用价值。

[1]曾增烽,刘浩,李雪.基于51单片机的串行通信协议的实现[J].硅谷,2009(13):22.

[2]赵海兰.基于单片机的红外遥控智能小车的设计[J].无线互联科技,2011(3):36-38.

[3]何立民.单片机技术的现状与未来[N].中国计算机报,2012-03-15.

[4]周淑娟.基于单片机智能寻迹小车的设计方案[J].工业技术与职业教育,2011,9(2):15-17.

[5]韩毅,杨天.基于HCS12单片机的智能寻迹模型车的设计与实现[J].学术期刊,2012,29(18):4736-4739.

[6]寸晓非.基于飞恩卡尔微控制器的智能循迹小车的设计[J].荆楚理工学院学报,2012,27(4):18-22.

Intelligent bus car system based on automatic tracking

GUO Xiaodan
(School of Information Engineering,Tibet University for Nationalities,Xianyang Shanxi 712082,China)

This paper designs and implements intelligent bus car control system based on ST89C52 single-chip microcomputer.The system can realize road automatic tracking,automatic deceleration in finding obstacles,and realize automatic stop in arriving at the destination,as well as other functions.The advantages of the design is that the system can replace manual operation in harsh environment to complete the production task,avoid the casualties on the scene,and has important application value.

single chip microcomputer;the intelligent car;motor drive

TP393.09

A

2095-2163(2016)03-0084-04

2016-05-30

郭小丹(1980-),女,硕士,实验师,主要研究方向:计算机网络及单片机。

猜你喜欢

循迹小车红外
基于DFT算法的电力巡检无人机循迹检测系统设计
网红外卖
闪亮的中国红外『芯』
大车拉小车
自制小车来比赛
浅谈基于机器视觉和姿态检测的循迹智能车
TS系列红外传感器在嵌入式控制系统中的应用
刘老师想开小车
两轮自平衡小车的设计与实现
智能差分循迹小车设计