谷明信,焦志勇,王 伟,侯佳男,蒋炜彤
(重庆文理学院 机电工程学院,重庆 402160)
多功能导航智能小车设计*
谷明信,焦志勇,王 伟,侯佳男,蒋炜彤
(重庆文理学院 机电工程学院,重庆 402160)
设计一款基于STC89C52单片机的可实现自主导航和手动控制的多功能导航智能小车。该系统中,红外避障传感器通过调节与障碍物的距离实现躲避,红外巡线传感器按照给定黑线实现自主导航,超声波传感器在避障的同时实现距离的测量。该系统设计为智能交通无人驾驶汽车提供支持,自动导航代替人为驾驶,减少了因人操作不当或其他因素而导致交通事故的可能。
STC89C52单片机;红外传感器; 超声波传感器;智能小车;设计
图1 系统总体结构框图
随着科技的发展和生活水平的提高,人们对汽车自主导航和远程控制要求也随之提高。汽车的智能化自动化的研制已成为必然趋势[1-2]。智能小车是集环境感知、规划决策、自动行驶等功能于一体的智能化设备[3],在军事、民用及科学研究等领域得到了广泛应用。20世纪50年代初,美国Barret Electronics公司开发了世界上第—台自动引导车辆系统(Automated Guided Vehicle System, AGVS),它具备了智能小车最基本的特征即无人驾驶[4]。2014年Google 首次展示了自己的新产品无人驾驶汽车[5]。清华大学对智能汽车在主动避撞、车载微机、汽车导航等方面进行了深入研究[6]。吉林大学自主研发了一种基于图像识别新型的车辆自动引导系统[7]。各高校对智能小车开展了广泛研究[8-10],全国大学生飞思卡尔智能车大赛促进了对智能小车的进一步研究。本文设计了基于STC89C52单片机利用各种传感器和通信技术实现小车的自动导航和手动远程遥控,为自动驾驶提供帮助。
本设计以STC公司生产的低功耗、高性能CMOS、8位微控制器STC89C52为小车控制核心。
RPR-220反射型光电探测器实现对小车轨迹的识别和判断,HJ-IR2红外电子开关进行红外避障,HS-SR04超声波测距模块进行避障和障碍物距离的检测,在LCD显示器上显示距离,HS-021红外遥控器和IR 1838红外接收头对小车进行红外遥控。智能手机通过HC-6蓝牙模块对小车进行手机遥控,L293D双桥驱动电路驱动两个HC01-48电机转动,实现自主导航和远程无线遥控。电源系统由两节3.6 V充电电池提供,输出电压7.2 V,通过LM7805电源稳压模块为单片机提供电能。系统结构如图1所示。
本智能小车的系统硬件包括STC89C52单片机、电机驱动、电机、轮胎、电池盒、电池及各种传感器。
2.1 STC89C52单片机
主要采用40引脚DIP封装的STC89C52单片机控制,STC89C52单片机的P1.2、P1.3、P1.4、P1.5、P1.6、P1.7分别接小车底盘电机驱动模块(L293D)的IN1、IN2、EN1、EN2、IN3、IN4口。P2.0、P2.1接超声波传感器的ECHO回响信号输出、TRIG触发信号输入。P3.2、P3.3接左边和右边的红外循迹模块。P3.4、P3.5分别接左边和右边的红外避障模块。P3.0、P3.1接蓝牙模块的RXD和TXD。P3.2也作为红外遥控接收头信号端。
2.2 电机驱动模块
采用ST公司的16脚封装L293D小电流电机驱动芯片。16引脚VCC是芯片供电引脚,接电源模块LM7805降压后的5 V电压。8引脚直接接电源模块7.2 V电压给小车电机供电。芯片输入端分别接STC89C52单片机的P1.2~P1.7口,用以控制电机的转向和转速。芯片输出OUT1~OUT4每两个端口接一个电机,该芯片可驱动两个电机。
ENA为使能端(电机调速PWM信号输入端)高电平有效,若ENA置为1,IN1和IN2都置为0,则四个三极管均不导通。若ENA置为1,IN1置为1,IN2都置为0,则T1和T4两个三极管导通,电机旋转。若ENA置为1,IN1置为0,IN2都置为1,则T2和T3两个三极管导通,电机反转。如此便控制了电机的正反转。电机速度的控制就是给ENA端输入不同占空比的脉冲,ENB和IN3、IN4同理。
2.3 红外循迹模块和避障模块
采用两个反射型光电探测器RPR-220作为红模块外循迹的传感器,HJ-IR2红外传感器作为避障传感器。模块由红外发射管和红外接收管、循迹可调电阻、电压比较器、信号指示灯组成。
由发射管发射红外线,当遇到不同发射率的材质或者有无物体时,红外接收头接收到不一样的信号,红外接收头将信号由O口传递给LM324电压比较器输入口。比较后输出到单片机的P3.2和P3.3口以及P3.4和P3.5口,最后单片机通过计算该值控制小车电机转向和转速,P1和P2为红外循迹,FC1和FC2是红外避障传感器。
对具体项目完成情况的评价考核,可以采用多种方式进行,比如以小组为单位进行答辩或报告,教师根据答辩和报告的情况决定具体的得分。对于过程中学生们的贡献,采取一些问答、考察等形式进行评价,学生得到的最后成绩包括两部分:个人成绩和团队成绩。不但可以激励学生更多投入小组的研究活动,更对成员之间的密切协作提供支持。通过这样的设计,让学生得到更充分的能力锻炼和协作经历,包括合理分配工作等,对他们未来的工作实践有直接的帮助。
2.4 超声波避障模块
采用的超声波避障模块为HC-SR04超声波传感器,有效检测距离为2~400 cm,四个引脚分别是GND、ECHO回响信号输出接单片机P2.0、TRIG触发信号输入接单片机P2.1、VCC。其基本原理是:采用IO口TRIG触发测距,给至少10 μs的高电平信号,模块自动发送8个40 kHz的方波,自动检测是否有信号返回,有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
2.5 红外模块
采用HS-021型红外遥控器。由发射和接收两部分组成,发射部分包括键盘、编码调制、LED红外发送器,接收部分包括光电转换放大器、解调、解码电路。红外接收头IR 1838,工作电压为4.8~5.3 V,接收频率为38 kHz,内部含有高频的滤波电路,滤出红外线合成信号,送出接收到的信号,当红外线合成信号进入红外接收模块时,在输出端可得到原发射器发出的数字编码,单片机解码程序进行解码后可根据按键做出相应的控制处理,完成红外遥控动作。
2.6 无线蓝牙模块
采用HC-06蓝牙模块,与单片机串口通信。接口包括VCC、GND、TXD、RXD,其中TXD和RXD分别接在单片机的P3.1和P3.0口。空旷地有效距离为10 m。
2.7 传感器
采用两个红外循迹传感器焊接于小车底盘下,小车红外循迹要求地面有黑白分明轨迹,单线双线都行。使用两个红外避障传感器,焊接于小车底盘上方,红外避障传感器位于小车前方,可检测并躲避障碍物。小车所用超声波传感器被固定插于小车底盘的超声波接口处,位于小车前方正中间,以便检测障碍物。
本小车使用Keil uVision4程序设计软件,将写好的单片机控制C语言代码编译为HEX文件。通过程序烧写软件STC-ISP将HEX文件写入单片机。
3.2 程序以及流程图
3.2.1 电机PWM调速程序
采用的L293D电机驱动器驱动电动机转动。根据电机驱动器的特性可知,输入驱动器EN1和EN2两端口不同的占空比脉冲即可控制电机的转动速度。利用STC89C52单片机计数器T0中断产生占空比可调的PWM脉冲信号。在T0进行1 ms定时中断,对基准PWM和预期PWM进行比较,产生预期的PWM信号。该程序设定单片机每1 ms进行一次比较,最多比较20次,产生的PWM信号0最小,20最大,PWM信号产生程序流程图如图2所示。
3.2.2 小车红外巡线程序
巡线该模块利用白色物体和黑色物体对红外光反射率的不同,反馈分别为“0”和“1” 的信号。单片机对反馈引脚的“0”和“1”进行判断来执行相应的程序,左侧检测到黑线小车左转,右侧检测到黑线小车右转,两边都未检测到时前进。图3为小车实现巡线功能的程序流程图。
图2 PWM信号产生程序流程图
图3 小车巡线程序流程图
3.2.3 小车超声波避障程序
采用超声波传感器检测小车与障碍物之间的距离,并将该距离值反馈回单片机处理,显示于LCD1602上。经过调试当小车距离物体350 mm时蜂鸣器发出警报并且停止和右转。最初程序的右转是让左侧轮子向前右侧轮子静止不动来实现,这样小车会由于转动迟缓而一直右转,改进后让小车左侧车轮向前转的同时右侧车轮向后转,小车便能迅速右转,跳出后执行向前走的程序。小车超声避障程序流程如图4所示。
本设计选用体积小、功耗低、稳定可靠、响应快的传感器,以及性能稳定的STC89C52单片机为控制核心,可实现巡线、避障、红外遥控、蓝牙遥控、自主导航和手动控制等功能。可为未来的无人驾驶提供技术支持。
[1] 彭一准,姜小宝,庄明加,等.一种基于80C51单片机控制的循迹小车设计[J].天津科技大学学报,2011,26(1):55-59.
[2] 田拓,郭中华,丁帅华,等.基于AT89C52单片机智能小车的设计[J].宁夏工程技术,2005,4(4):334-336.
[3] 陈懂,金世俊.智能小车的多传感器数据融合[J].现代电子技术,2005,28(6):3-5.
[4] 张国权.基于视觉导航的智能车辆目标检测关键技术研究[D].兰州:兰州理工大学,2012.
[5] 郑杨,李美莲,李伟.基于单片机控制的智能寻迹小车[J].科技信息,2009(36):532.
[6] 朱博,李捍东,王小梅.基于AT89S52的智能家居控制系统[J].现代机械,2014(1):92-94.
[7] 杨代强.基于单片机的智能玩具电动车的设计与实现[D].成都:电子科技大学,2012.
[8] 姬红旭.基于STC89C52单片机智能避障小车设计[J].职业技术,2011(10):141-142.
[9] 刘晋泽,朱燕红.电磁导引智能小车的设计与实现[J].微型机与应用,2016,35(19):53-55.
[10] 纪金水,刘彩虹.基于SoPC的智能寻迹小车的设计[J].电子技术应用,2013,39(7):47-53.
Design of multifunctional navigation intelligent car
Gu Mingxin, Jiao Zhiyong, Wang Wei, Hou Jianan, Jiang Weitong
(School of Mechanical and Electrical Engineering, Chognqing University of Arts and Sciences, Chongqing 402160, China)
This paper designs a multifunctional intelligent car which can realize autonomous navigation and manual control based on STC89C52 microcontroller. In this system, infrared obstacle avoidance sensor achieves escape by adjusting the distance and obstacles, infrared transmission line sensor achieves autonomous navigation and obstacle avoidance according to the given line, the ultrasonic sensor realizes distance measurement. The system is designed to provide support for the intelligent transportation of unmanned vehicles, automatic navigation instead of artificial driving, reducing the improper operation or other factors caused by traffic accidents.
STC89C52 microcontrolor; sensor; ultrasonic transducer; intelligent car; design
重庆文理学院学生科研项目(XSKY2014044)
TP273
A
10.19358/j.issn.1674- 7720.2017.12.010
谷明信,焦志勇,王伟,等.多功能导航智能小车设计[J].微型机与应用,2017,36(12):33-35.
2016-11-29)
谷明信(1986-),男,硕士研究生,助教,主要研究方向:机器人技术及视觉传感技术。
焦志勇(1994-),男,本科生,主要研究方向:机械工程及自动化。
王伟(1994-),男,本科生,主要研究方向:机械工程及自动化。