杨久春 徐恺 朱双锋 徐彦伟 李德胜 邱明
【摘要】本文介绍了一种接近觉智能小车,该智能小车基于接近觉和STC89C52CR微处理器,采用模块化设计方案,结构简单,易于搭建平台和维修,测量精度高,可靠性好。该智能小车能够实现自动控制、被动控制、自动循迹、自动避障、测速、调速、速度显示、无线蓝牙通讯等功能,既能实现自动控制巡航,若用相关通信系统又可完成人工在线控制的功能。另外,对智能小车的超声波测距进行了温度补偿,有利于提高测距精度。接近觉智能小车的研制有助于研究以智能小车为模型的自动化驾驶技术,对智能车辆的研制与开发、现代化交通工具的智能化、多功能化发展提供了一个可行的参考方案。
【关键词】智能小车;循迹避障;无线通讯;温度补偿
Design of the Proximate Sensor Intelligent Automobile
Abstract:In this paper,the author introduces a design of the Proximate Sensor Intelligent Automobile,which is based on single chip microcomputer of STC89C52CR and Proximate Sensor.The intelligent car system adopts modular control,which has simple structure,high accuracy and good reliability and is also easy to build and repair.The intelligent car has the functions of automatic control,passive control,automatic tracking,automatic obstacle avoidance,speed measurement,speed adjust,speed display,Bluetooth wireless communication and so on.The intelligent vehicle can realize the automatic control of the cruise,and it can also complete function of artificial online control,if the related communication system is used.In addition,the ultrasonic ranging on intelligent car for the temperature compensation is conducive to improve the ranging accuracy.The research of Proximate Sensor Intelligent car is helpful for the development of the Automatic driving technology,which is based on the intelligent vehicle,and also provides a feasible reference plan for the development of the intelligent vehicle research,the modern intelligent transportation,and multifunctional.
Key words:Intelligent Automobile;Obstacle Avoidance by Tracing;Wireless Communication;Temperature Compensation
1.引言
近年来,智能自动化的发展已经遍及到机械、电子、冶金、交通、宇航、国防等各个领域,发展速度迅猛,越来越多的国家把智能自动化的发展摆在了国家性战略的高度。现在,随着随着电子技术、传感器技术、单片机技术的飞速发展,国内外对各种小型智能系统的应用越来越广泛,种类也越来越多。
智能小车又称轮式移动机器人,由于在军事侦察、反恐、防爆、防核化及污染等危险与恶劣环境作业中有广阔的应用前景,具有体积小、成本低、生存能力强等特点,智能小车得到了飞速发展[1],被广泛用于国防军事、航天航空、安全防护、工业控制、医疗卫生等领域,其中“玉兔号”月球小车就是其众多领域的一个应用特例。智能小车的研究对于自动运输机器人、采矿勘探机器人、家用自动清洁机器人等智能化器械的设计都具有一定的参考意义。同时,智能小车还可以作为玩具的发展对象,为中国高端玩具技术的提高进行一定的弥补。智能小车形式多样,控制方法多变,创新性强,因此在电子竞赛和科技创新方面一直受到热捧,每年的“飞思卡尔”智能小车比赛也备受关注。
本文以智能小车的手动控制、自动控制、自动循迹、自动避障、测速、调速、速度显示、无线蓝牙通讯等功能方面进行相关研究,重点研究了智能小车超声波模块在测距时,温度对波速的影响,进行了温度补偿,以达到精确测距的目的。
2.总体方案设计
2.1 设计要求
(1)智能小车行驶过程中,利用车体下方的红外对管对黑线检测跟踪,利用超声波模块对前方路况进行检测避障;
(2)当智能小车距障碍物小于30cm时,智能小车自动左转且在转弯运动中,加速前进;
(3)当智能小车左转后,向前行驶15cm,智能小车右转,然后继续利用车体下方的红外对管以黑线为目标进行检测、跟踪。
2.2 实现的基本功能
制作的智能小车具有手动控制和无线蓝牙控制两种模式,能够实现以下功能:
(1)智能循迹:通过车体下方的红外对管对黑线进行检测,实现寻迹功能保证智能小车沿着黑线行驶;
(2)超声避障:通过超声波传感器实现测距和自动避障功能,障碍物在规定的距离内,蜂鸣器产生报警;
(3)测速与调速、速度显示:通过轮子处测速码盘实现测速,在行驶过程中实时检测并显示车速,通过单片机编程,产生PWM 控制信号,通过L298控制电机的转速;
(4)无线蓝牙通讯:通过通信协议,利用手机蓝牙对智能小车进行手动控制;
2.3 系统总体设计
无线遥控智能小车分为:手持设备、自身车体两部分[2]。根据设计要求,为了便于调试和改进,采用模块化设计。其中,手持设备使用无线蓝牙通信模块,利用蓝牙手机进行控制;自身车体部分分为:车体机械系统模块、电池模块、电机驱动模块、主控系统模块、自动循迹模块、自动避障模块、测速与调速模块、显示模块等。
图1 系统总体设计框图
智能小车采用四轮驱动,每个轮子各用一个直流电机驱动,通过控制四个轮子的转向和转速,从而达到控制转向的目的。例如,智能小车右转时,前轮的右轮反转,左轮正转;智能小车左转时,前轮的左轮反转,右轮正转,以此达到转向的目的。车头下方根据需要选取红外对管的个数,本智能小车装有四个红外对管传感器。当智能小车检测黑线较细时,只需两路红外对管即可,其系统总体方框图如图1所示。
3.硬件设计
3.1 车体构架设计
有很多专业电子公司提供专门的智能小车开发的成品车架,它们具有易于控制、工作可靠、价格低廉、装配紧凑、外形美观、电路安装方便等优点,为了节约成本,直接购买的一个成品车架,组装成用于自动避障智能小车。
3.2 电机驱动模块
3.2.1 驱动电源
采用充电电池提供电源,本方案采用6支1.2V镍氢充电电池,提供7.2V左右的电压,为电机驱动提供能源动力。其他芯片只需采用+5v的工作电压采用降压芯片即可。
3.2.2 电机驱动原理
电机驱动采用L298N芯片,供电电源为+5V标准电压,驱动电路有4个输入端与4个输出端,每台电机由2个输出端控制[3]。单片机口输出控制信号,通过驱动电路连接到电机,实现电机的正转和反转。
电机伺服电路采用L298N专用电机驱动芯片,L298N内部集成了H桥式驱动电路,通过单片机对L298N电路提供PWM信号来控制智能小车的速度(包括起、停)。电机驱动芯片L298N内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其OUTI、OUT2和OUT3、OUT之间分别接2个电动机。5、7、10、12脚接MCU的PAUl,输入控制电平,控制电机的正反转,利用单片机产生PWM信号接到ENA和ENB端子,对电机的转速进行控制。而直流电机由于其转动力矩小、速度较为均匀、重量轻、机械强度高,使用操作简单方便等特点,通常在智能车设计过程中得到较为广泛的应用。电机转动状态编码和电机驱动原理图分别如表1、图2所示。
表1 电机转动状态编码
左电机 右电机 左电机 右电机 智能小车运行状态
IN1 IN2 IN3 IN4
1 0 1 0 正转 正转 前行
1 0 0 1 正转 反转 左转
1 0 1 1 正转 停 以左电机为中心原地左转
0 1 1 0 反转 正转 右转
1 1 1 0 停 正转 以右电机为中心原地左转
0 1 0 1 反转 反转 后退
图2 电机驱动原理图
3.3 主控模块
3.3.1 概述
主控制电路是以STC89C52CR单片机控制核心,完成传感器转换电路信号的接收、路况和车速信息处理以及智能小车运动速度、方向控制等功能。
3.3.2 微处理器
本智能小车采用STC89C52CR单片机。该单片机选用超低功耗、抗干扰能力强、低电磁辐射和超低价的8位单片机STC89C52RC[4]。该单片机与8051单片机兼容,正常工作模式下典型功耗为4~7mA,内置8K的Flash程序存储器、512B的RAM和2K的E2PROM,内部有3个定时器/计数器,可进行8、13、16位的定时/计数,宽工作电压(3.4~6V),内部看门狗电路自动执行,可省去外部电路,支持汇编语言和C语言编程。
3.4 自动循迹模块
3.4.1 循迹模块原理
红外对管由红外发射管和红外接收管组成。当智能小车沿着规定的轨道行驶时,红外线发射管发出红外线,处于底端的红外接收管接收红外线。智能小车行驶在黑色路径时,由红外发射管发出的信号大部分被吸收,导致红外接收管接收不到红外线信号而断开,使得STC89C52RC单片机的输出端口为高电平。当智能小车行驶出黑色路径的时候,红外接收管能接收到发射管发出的红外线信号,红外接收管导通,对应的单片机端口为低电平。通过发射管和接收管之间红外线信号的对接,实现对电路的控制,红外对管的红外发射部分和接收部分分别如图3、图4所示。
图3 红外对管的发射电路原理图
图4 红外对管的接收电路原理图
3.4.2 循迹模块的选择
循迹模块为智能小车、机器人等自动化机械装置提供一种多用途的红外线探测系统的解决方案。该模块使用红外线发射和接收管等分立元器件组成探头,并使用LM339电压比较器(加入迟滞电路),防止临界输出抖动作为核心器件构成中控电路。此系统具有的多种探测功能,可以极大的满足各种自动化、智能化的微型系统的应用。
该模块4路分别独立工作,工作时不受数量限制,中控板与探头分开,安装位置不受限制,模块高度≤4cm,安全工作电压范围在4V~6V,4路全开工作电流范围30mA~40mA。
3.4.3 灵敏度调试
灵敏度根据四路寻迹的电位器进行调节(以适合其环境,主要是光线明暗的影响),具体调试方法:首先,手持智能小车离地,左右晃动,当从左到右第一对红外对管离开黑线时,中控板指示D3灯应会亮。当红外对管进入黑线时,中控板指示D3红灯应会灭,调节中控板R17使其工作在上述状态。然后,调节其它三对探头,使整个智能小车正常工作。
3.5 自动避障模块
3.5.1 超声波避障原理
避障模块采用超声波避障,其基本原理是通过超声波发射装置发射一束超声波,在遇到障碍物时反射回来后,根据接收器接到超声波时的时间差与超声波的速度,可以计算与障碍物的距离。超声波检测障碍物具有精度高,反映灵敏,受外界干扰小,计算简单、易于做到实时控制等优点。
3.5.2 超声波模块选择
超声波模块采用US-100超声波测距模块,该模块可实现0~4.5m的非接触式测距功能,具有2.4~5.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO、串口等多种通信方式,内置看门狗电路,工作稳定可靠。
3.5.3 超声波测距修正
在常温下,超声波的传播速度为340m/s,但在空气中传播时的传播速度易受温度、湿度、压强等因素的影响,其中温度的影响最大。一般情况下,温度每升高1摄氏度,声速约增加0.6m/s,表2为超声波在不同温度下的波速值。
表2 超声波在不同温度下的波速值[5]
温度(℃) -20 -10 0 10 20 30 100
波速(m/s) 319 325 323 338 344 349 386
由此可见,温度对于超声波测距的影响是不可以忽略的。为了取得相对比较精确的测距结果,需要对波速进行温度补偿,通过实验结果,波速与温度之间的经验模型为
V=331.5+0.607T
其中:V—实际超声波波速;T—环境温度。
经过重复性试验,探测距离的精度可以达到0.3cm。这对于自动驾驶的安全性提高具有重大的意义。
3.5.4 串口触发测温工作原理
在串口触发测温模式下只需要在Trig/TX管脚输入0X50(波特率9600),系统便启动温度传感器对当前温度进行测量,然后将温度值通过Echo/RX管脚输出。测量完成温度后,本模块会返回一个字节的温度值(TData),实际的温度值为(TData-45)。
3.5.5 串口触发测距工作原理
在串口触发测距模式下只需要在Trig/TX管脚输入0X55(波特率9600),系统便可发出8 个40KHZ的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。输出的距离值共为两个字节,第一个字节是距离的高8位(HDate),第二个字节为距离的低8位(LData),单位为mm。即距离值为(HData*256 +LData)mm。值得注意的是,因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速选择340m/s即可。
3.6 测速调速模块与显示模块
3.6.1 测速模块
测速模块是为智能小车、机器人等自动化机械装置。使用一体化对射红外发射接收管WYC H206并使用74HC14(带施密特触发器反向器),防止临界输出抖动作为核心器件构成中控电路。具有易于安装,使用简便,灵敏度高,反应迅速等优点。
将模块接上电源+5V后用万用表测OUT输出端电压。此时的电压电压为0.3V左右,D1指示灯亮,当用大于2mm的不透明物体通过槽型光电,OUT输出端电压应接近电源,D1指示灯灭(表示已检测到物体)。已知轮子直径为D,D*3.14/20格码盘=6.5cm*3.14/20约=1cm,即一个脉冲走1cm距离,脉冲信号的频率f=周期数/时间,轮子的转速n=60f/z(其中z为码盘的孔数),测速模块的测速原理图如图5所示。
3.6.2 调速模块
为了实现降低电机转速和平滑匀速的转向过程,智能小车电机驱动电路采用PWM控制技术(即脉冲宽度调制技术)。电机驱动设计模块主要控制四个电机的正反转,改变电机的转速。该模块采用L298N芯片控制4个直流电机的转速,控制输入端接收来自单片机接口的信号,控制各个输入、输出端高、低电平的状态,通过高低电平实现PWM调速控制。当智能小车前进时,驱动轮直流电机正转,进入减速区时,由单片机控制PWM变频调速,通过软件改变脉冲波形的占空比,实现调速。
图6 主程序设计流程图
图7 制作智能小车实物图
3.6.3 显示模块
数码管由于显示效果简洁、操作简单、成本低廉而得到广泛应用。本智能小车的显示内容主要为智能小车速度,采用7段数码管足以满足要求。
3.7 无线蓝牙通信模块
通信模块主要采用HC-06蓝牙模块,根据通信协议编写程序,然后用安卓手机控制智能小车的启停、前进、后退、左拐、右拐等功能。
4.软件设计
在硬件设计基础上,通过在单片机中烧写程序来控制智能小车功能的实现。本系统中采用模块化控制方法,将各个独立的功能作为一个独立的子程序,在主程序中按照逻辑顺序来调用各子程序,可使程序条理清晰,执行效率提高,也便于程序修改和调试,主程序设计流程如图6所示,制作的智能小车如图7所示。
5.结语
此系统设计在智能循迹小车的基础上,不仅实现自动与被动控制、自动循迹与避障、测速与调速、速度显示、无线蓝牙通讯等功能,而且实现了精确测距,探测距离的精度可以达到0.3cm。该智能小车结构简单、功能多、测距精度高,实现容易。若对系统模块功能、结构稍加改进,则基于智能小车模型的智能控制、智能机器人、科学考察、无人驾驶等领域,具有重要的现实意义。
参考文献
[1]王葵,孙莹.“十二五”规划教材:电力系统自动化(第3版)[M].中国电力出版社,2012.
[2]叶郑凯,朱建鸿,李琳,王幼琴.基于单片机的无线遥控智能小车的设计与实现[J].计算机与现代化,2012,10(206):65-67.
[3]百度文库.L298N电机驱动电路图[EB/OL].http://wenku.baidu.corn/view/85ebflcOd5bbfdOa79567335.ht-m1.2012-06-05.
[4]王凯,胡杰.无线射频在智能公交系统中的应用[J].长江大学学报(自科版),2010,7(3):616-618.
[5]赵小强,赵连玉.超声波测距系统中的温度补偿[J].控制与检测,2008,7:1001-2265(2008)12-0062-03.
河南科技大学2013年度大学生研究训练计划(SRTP)经费资助(项目编号:2013017);河南省高校科技创新团队支持计划(项目编号:13IRTSTHN025)。