刘彦戎
(陕西国际商贸学院 商学院 商务系,陕西 咸阳712046)
基于STC89C51RC单片机的智能遥感避障小车的系统设计
刘彦戎
(陕西国际商贸学院 商学院 商务系,陕西 咸阳712046)
该智能系统应用STC89C51RC单片机和红外传感器及超声波传感器实现小车的自主避障功能,系统在小车行进驱动的基础上,加装光电、红外光电、超声波传感器及wifi无线控制模块,实现对小车的电源电压、位置、运行状况、周边环境的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对小车的智能自主控制。整个系统的电路结构简单,可靠性能高,易于推广和移植,具有广阔的应用前景。
STC89C51RC单片机;智能小车;红外感应
随着计算机科学技术与嵌入式技术的迅速发展,关于汽车智能方面的研究也就越来越受人关注。目前,在科技技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上许多国家都在积极进行智能车辆的研究和开发设计。智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感 、信息、通信、导航及自动控制等技术,是典型的高新技术综合体。智能车辆也叫无人车辆,是一个集环境感知、规划决策和多级辅助驾驶等功能于一体的综合系统。它具有道路障碍自动识别、自动报警、自动控制、自动保持安全距离、车速和巡航控制等功能,智能车辆的主要特点是在复杂的道路情况下能自动地操纵和驾驶车辆绕开障碍物并沿预定的道路行进。
1.1 系统总体设计
智能避障小车以STC89C51RC单片机为核心控制芯片,采用模块化设计,模块化设计可分为红外循迹/避障模块、超声波测距模块、电机驱动模块、Wifi无线模块和显示电路模块。其硬件系统的总体设计如图1所示。
图1 系统总体设计图
1.2 工作模式
小车只要通过遥控进行控制,通过遥控‘6’键控制小车工作状态的切换,有以下两种工作模式:
1)遥控模式:打开电源即进入遥控模式。在此状态下小车通过无线遥控(蓝牙)的控制,在每个按键的控制下逐一实现其相应的操作功能。
2)自动功能:通过遥控‘6’键转换模式后,小车依靠避障功能实现自动化。进入自动状态后,可以人工选择要实现的各种操作等工作状态,增加了设计的人性化,方便了用户在各种环境下对智能小车状态的实际控制,真正体现了智能小车的智能性。
2.1 电机驱动模块
本系统采用四驱型小车,4个车轮都有驱动电机,因此需要4个电机控制输出端口,同时小车无方向舵,所以在小车的左右转向,是以左、右两组电机逆向转动来实现。电机驱动模块的核心是电机的驱动芯片及电机,电机选择了直流电机,这样可以方便控制,而电机的驱动芯片L293D可以同时控制两个直流电机,其中芯片A用于控制左前、左后两个电机,而芯片B用于控制右前、右后两个电机。从而可以控制4个电机,当Wifi模块接收到指令之后,主控芯片进行数据解析,将指令分发到电机驱动芯片A和电机驱动芯片B,从而控制电机的前、后运动和左、右转向运动。当左右4个电机同时正向运转时,小车前进,反之则为后退;左电机正向转动,右电机反向转动,则为右转向,反之为左转向。如图2所示。
2.2 红外感应模块
本系统采用反射式红外光电传感器用于检测路面的起始、终点(2 cm宽的黑线),小车车底盘上沿黑线放置一套,以适应起始的记数开始和终点的停车的需要。利用光线跟踪,采用光敏三极管接收灯泡发出的光线,当感受到光线照射时,其c-e间的阻值下降,检测电路输出高电平,经LM393电压比较器和74LS14施密特触发器整形后送单片机控制。如图3所示。
图2 电机驱动原理图
图3 红外光电传感器原理图
2.3 小车超声波测距模块
使用的是HC-SR04超声波模块。基本原理:经发射器发射出长约6 mm,频率为40 kHz的超声波信号。此信号被物体反射回来由接收头接收,接收头实质上是一种压电效应的换能器。它接收到信号后产生mV级的微弱电压信号。超声波测距是借助于超声脉冲回波渡越时间法来实现的。如图4所示。设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离D可用公式(1)求出:
基本工作原理:
1)采用I/O口TRIG触发测距,给出至少10 μs的高电平信号;
2)模块自动发送8个40 kHz的方波,自动检测是否有信号返回;
3)有信号返回,则通过I/O口ECHO输出一个高电平,高电平信号持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340 M/s))/2(1)
2.4 显示电路模块
本系统设计中用两片4位八段数码管作显示器,并具有双重功能,其中一片显示超声波测距得出的距离,另一片显示当前电源电压。当小车上电之后,分别显示实测距离和当前电源电压。
图4 超声波模块原理图
其中引脚1、2、3、4为位选引脚,A-H为段选引脚,当小车未接入声波探测块时,该模块只显示当前电压,假设当前电压为7.89 V时,则位选2、3、4位,即 2引脚显示 7和“.”,3、4引脚显示“8”和“9”,而A-H则进行段选,选择当前LED数码管的那一段发光,从而组成我们需要的数字。如图5所示。
图5 显示电路原理图
在该系统研究中,主要用到了Keil,Protues和STC_ISP_V4.7.9软件。
Keil C51是美国 Keil Software公司出品的 51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。
使用Keil软件优点在于:
1)Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。
2)与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。
Protues软件是英国Lab center electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Protues软件具有其他EDA工具软件(例:multisim)的原理布图、PCB自动或人工布线和SPICE电路仿真等主要功能。
4.1 主程序
主程序中主要包括主控芯片对各个功能部件的初始化操作。其中的自定义文件包含了单片机的各引脚功能初始化、定时器的设置、wifi模块功能初始化、电源电压显示模块初始化、电机控制模块初始化、红外及超声波模块初始化。
4.2 电机驱动程序模块
电机驱动程序,主要功能是驱动4个电机,从而实现小车的前进、后退、左转、右转。其中以小车前进为例,根据小车的电路接法,如果驱动小车前进,则让4个电机同时正向转动,则拉高每个电机的正极引脚电平,拉低负极引脚电平,从而促使电机正向转动,使小车向前驱动4.3红外避障程序模块
使用的是红外光电传感器对光线的感应原理而实现的功能,红外光电传感器中黑色部分为感应模块,透明部分为光线发生器,当发射的光线未反射回至感应头,或者感应头接收到的光线未达到要求强度,则红外光电传感器传给主控芯片未遇到障碍的信息,如若左传感器接收到反射光线,或者反射光线达到一定强度,则提示主控芯片,小车左前方遇到障碍物,主控芯片则调用小车电机驱动程序的右转程序,直到左传感器不再接收到反射光线或光线强度不再高于要求强度,则停止右转,继续向前行进。
4.3 Wifi控制模块
构建TCP/IP数据包,将摄像头、小车当前状态等数据文件,以数据包的形式,通过Wifi路由器发送至控制端。本项目使用的无线模块是已经分装好的路由模块,仅仅是使用了无线路由的数据传输功能,只是将单片机中的数据进行TCP/IP数据包构建,再将数据包发送给无线路由器,由上位机通过路由器进行数据的提取和解析。
4.4 超声波测距模块
超声波模块在目前很多领域都有使用,包括测距、工业探伤等用途,本项目中使用的为HC-SR04超声波模块。其中SR04的VCC引脚为5 V电源引脚,为该模块运行提供电源;GND引脚为地线引脚;TRIG为触发控制信号输入引脚;ECHO为回响信号输出引脚。当小车运行时,VCC引脚为超声波模块提供电源支持,如果主控芯片需要进行测距时,将会产生一个10μs的TTL触发信号传入TRIG引脚,当模块接收到该触发信号后,该模块产生8个40 kHz周期电平并发出声波信号,如果检测到有回波信号,同时ECHO引脚则会向主控芯片发送高电平回响信号,回响信号的脉冲宽度与所测的距离成正比。
1)安卓手机2.0以上,使用手机终端,连接小车无线路由SSID:Smart Car,密钥:wy123456。测试小车视频采集及其他控制功能。
2)贴有引导黑线的模拟场地(经典8字场地),将小车放置到黑线上(黑色部分),前下方的两个光电传感器分别位于黑线两边,上电查看小车自动走黑线的状况。
3)障碍物场地,在预定区域内设置障碍物(黑色部分),将小车放置其中,查看小车是否能自动避障行驶。
5.2 测试方法
1)无线控制功能测试
①小车通上电,初始化Wifi之后,使用手机连接小车自带Wifi。
②设置小车各部件操作地址,设置连接IP及端口号。
③操作小车前进、后退、左转、右转。
她看到何美宁用手擦眼睛,泪水没擦干,眼眶又红了;她看了一眼雷红,两行长泪挂在雷红脸上;自己也忍不住要流泪了,她一再提醒自己,不要被何美宁感动了,最后,还是被感动了,看得出,雷红比她还感动。
④观察小车摄像头采集的数据是否为前方景象。
2)走黑线测试
①将小车放置与8字黑线上。
②上电,查看小车是否沿着黑线行进、行进中是否能自动校准路径。
3)避障测试
①将小车放置于障碍物场地中。
②上电,查看小车是否能在场地中自动行进,遇到障碍物时能否自动避障行进。
5.3 测试数据及测试结果分析
1)小车前方摄像头采集数据无误,但容易出现卡频现象,分析为本项目采用的是web端视频,网络信号延迟造成。
2)小车Wifi初始化后,手机第一次连接小车,视频显示无问题,但无法控制小车运动,需重启后方可恢复,分析为小车TCP/IP数据封包存在问题。
文中提出了一种经济实用的智能避障小车的设计方法,给出了从硬件电路设计到软件设计的一系列步骤。硬件设计中采用STC89C51RC单片机为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。也可以使用安卓手机客户端通过Wifi信号控制小车的行进方向,并且将小车前部的摄像头采集到的数据,以实时视频的方式发回并显示到控制端。通过小车前部和下部的红外感应模块,使得小车可以进行光线的感应,进而实现走黑线的功能。软件设计中主要用到了Keil,Protues和STC_ISP_V4.7.9软件完成了小车避障功能的实现。整个系统的电路结构简单,可靠性能高,易于推广和移植,具有广阔的应用前景。
[1]谭浩强.C程序设计[M].北京:清华大学出版社,2011:69-82.
[2]周雯.C语言程序设计[M].天津:天津大学出版社,2012:48-51.
[3]何立民.单片机应用系统设计[M].北京:航天航空大学出版社,2013:205-298.
[4]李广弟.单片机基础[M].北京:北京航空航天大学出版社,2014:45-85.
[5]何希才.新型实用电子电路400例[M].北京:电子工业出版社,2014:108-123.
[6]赵负图.传感器集成电路手册[M].1版.北京:化学工业出版社,2013:205-241.
[7]陈伯时.电力拖动自动控制系统[M].2版.北京:机械工业出版社,2010:98-106.
[8]宁慧英.基于光电传感器的智能小车自动寻迹控制系统[J].仪表技术与传感器,2012(1):2-3.
[9]杨宁,薛林亭,王博,朱国伟.基于红外光电传感器的智能小车控制算法设计 [J].上海电力学院学报,2012(1):1.
[10]张弛.智能小车寻迹的研究[J].科技视界.2012(9): 3,4-5.
[11]张俊,周晖,王超.智能小车自动纠偏与避撞的实现[J].电子设计工程,2012(9):161-164.
[12]朱梅梅.智能小车设计与实现[J].电脑知识与技术,2012(21):4.
[13]赵振德.多功能遥控智能小车的制作[J].电子制作,2011(4):1-2.
[14]董雷刚,崔晓微,张丹,等.复杂路况下的智能循迹小车方案设计[J].电脑知识与技术,2014(7):1-3.
[15]林碧琴.基于单片机的智能避障小车的设计和制作[J].电子测试,2013(15):2-4.
[16]沈燕,高晓蓉,孙增友.基于单片机的超声波测距仪设计[J].现代电子技术,2012(7):2.
Design of intelligent obstacle avoidance car remote sensing system based on STC89C51RC microcontroller
LIU Yan-rong
(School Business Department of Shaanxi Institute of International Trade Business,Xianyang 712046,China)
the intelligent system applications STC89C51RC microcontroller and infrared sensors and ultrasonic sensors on the car of the autonomous obstacle avoidance function,the system on the basis of the car drive travel,equipped with photoelectric,electrcal,ultrasonic sensors and wifi wireless control module,the voltage of power supply for the car,location,operation condition,surrounding environment of real time measurement,and will measure data transfer to the single chip microcomputer for processing,then the detection by the microcontroller based on various data to realize the intelligent autonomous control of the car.The circuit of the whole system has simple structure,high reliability,easy extension and transplant,has broad application prospects.
STC89C51RC microcontroller;smart car;infrared induction
TN876
:A
:1674-6236(2017)03-0045-04
2016-01-20稿件编号:201601168
陕西省教育厅自然科学基金项目(14JK2018)
刘彦戎(1980—),女,陕西咸阳人,硕士,讲师。研究方向:计算机网络及计算机智能控制。