一种多功能循迹避障智能小车的研制

2019-03-29 08:41陈文澄张辉张晋滔
科技创新与应用 2019年4期
关键词:避障循迹遥控

陈文澄 张辉 张晋滔

摘 要:基于STC89C52为核心设计了一款多功能智能小车。硬件部分用红外传感器作为循迹与红外遥控的核心器件,同时搭载超声波模块及WIFI模块用以拓展智能小车的超声波避障功能与WIFI遥控功能。软件设计部分通过PWM程序调制控制小车姿态调整。通过了Proteus的模拟与仿真,并落地实测。实验表明,设计方案可以很好地完成循迹,避障,遥控等功能,为进一步研制智能化程度更高的机器小车提供了参考价值。

关键词:红外传感器;循迹;避障;遥控

中图分类号:TP23 文献标志码:A 文章编号:2095-2945(2019)04-0032-03

Abstract: A multifunctional intelligent car is designed based on STC89C52. In the hardware part, the infrared sensor is used as the core device of tracking and infrared remote control. At the same time, the ultrasonic module and the WIFI module are used to expand the ultrasonic obstacle evading function and the WIFI remote control function of the intelligent car. The software design part uses the PWM program modulation to control the attitude adjustment of the trolley. Through the Proteus simulation, emulation and measurement, experiments show that the design can realize tracking, obstacle evading, remote control and other functions, and provide a reference value for the further development of a more intelligent machine car.

Keywords: infrared sensor; tracking; obstacle evading; remote control

當今机器人技术发展得如火如荼,其应用在国防等众多领域得到广泛开展。神五、神六升天、无人飞船等等无不得益于机器人技术的迅速发展。一些发达国家已把机器人制作比赛作为创新教育的战略性手段[1]。智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科。主要由路径识别、角度控制及车速控制等功能模块组成[2]。本文旨在体现智能小车的自动与智能,小车可以通过传感器及串口等来获取信息,同时将信息交由单片机处理,单片机根据不同的信息调整小车的行为,可以实现自动循迹避障等自动功能,也支持红外和WIFI遥控等人为操控。

1 系统整体设计

系统采用STC89C52单片机作为核心控制芯片,根据智能小车所需要实现的功能将系统分成不同的模块,用不同的传感器模块分别对应完成各自功能。整体设计框图如图1所示。

2 硬件设计

2.1 驱动模块

2.1.1 电机驱动芯片

L293D是驱动小型直流电机的专用驱动芯片,属于H桥集成电路,其输入端可以与单片机直接相接,从而很方便地接受单片机控制[3]。只需要控制输入端的高低电平,就能实现电机正转与反转。实际操作中,建议使用带减速箱的直流电机。小车运动时传感器获取实时信息,交由单片机处理后,经由各个IO接口输出高低电平,从而实现前、后、左、右各个方向的转动。图2为电机驱动模块L293D的引脚接线图。

2.1.2 电机速度控制

采用脉冲宽度调制方式(PWM)从I/O口输出不同占空比的脉冲,经滤波后获得不同高低电平用以控制电机。本方案可以达到对速度的控制要求,且控制方法简单易实现。

脉冲宽度调制程序如下:

void go_PWM(void) //PWM前进

{

for(i=0;i<10;i++)

{

IN1=1;IN2=0;IN3=0;IN4=1;

IN5=1;IN6=0;IN7=0;IN8=1;

ENA=ENB=ENC=END=1; //设置占空比为8/13

Delay_Ms(8);

ENA=ENB=ENC=END=0;

Delay_Ms(14);

}

}

2.2 红外模块

2.2.1 红外传感器

红外传感器是一对红外线发射与接收对管,发射管发出一定频率的红外线,当被反射回来之后被接收管接收[4],经过比较器电路后会在输出口输出一个高低电平的数字量,可以调节电位器来调节检测距离,红外传感器控制电路图如图3所示。

2.2.2 红外循迹

循迹功能采用的是红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线位置和小车的行走路线[5-6]。同时为了加强系统的稳定性及可靠性,小车加入了脉冲宽度调制(即PWM信号),通过PWM信号来控制四个电机的速度,使其四个电机速度一致,可以改变占空比实现电机的调速。

红外循迹程序如下:

if(MODE_2==0) ///////进入循迹模式

{

while(1)

{ // 循迹模块边有信号为1(白线) 没有信号为0(黑线)

if(Left_X_led==1&&Right_X_led==1) ////没有碰线

go_PWM();}

if(Left_X_led==1&&Right_X_led==0) //右边碰黑线

rightrun_PWM();

if(Right_X_led==1&&Left_X_led==0) //左边碰黑线

leftrun_PWM();

if(Left_B_led==0&&Right_B_led==0) //正对障碍物

{

zhuangxiang(); //转向

zhuangxiang();

delay(30);

}

}

}

2.2.3 红外遥控

红外遥控系统由发射和接收两大部分组成,红外遥控系统框图如图4所示,应用编/解码专用集成电路芯片来进行控制。发射部分包括键盘、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。通过红外遥控器和与单片机相连的红外接收管实现对小车的红外遥控。

2.3 超声波模块

2.3.1 超声波测距原理

超声波模块部分使用的是HC-SR04测距模块,可以提供2cm-400cm的非接触式距离感测功能,测距精度可达3mm[7]。模块由超声波发射器,接收器和控制电路组成。采用单片机I/O口来触发测距,模块自动发送8个40kHz的方波,同时检测是否有信号返回,然后通过I/O口输出高低电平,高电平持续的时间为超声波从发射到返回的时间,根据声音传播的公式[8]:距离=(时间*声速(340m/S))/2可得:测试距离=(高电平时间*声速(340m/S))/2。在控制口发出高电平,等待接收口接收到高电平时即打开计时器定时,当接收到低电平时读取定时器的值,取两者的差值即为本次测量的时间,不断进行周期测量,再通过上述的公式即可达到超声波测距的功能。

超声波测距程序如下:

void Conut(void) //计算距离

{

while(!ECHO); //当RX为零时等待

TR0=1; //开启计数

while(ECHO); //当RX为1计数并等待

TR0=0; //关闭计数

time=TH0*256+TL0; //读取脉宽长度

TH0=0;

TL0=0;

S=(time*1.7)/100; //算出来是cm

}

2.3.2 超声波避障

通过在车上搭载的超声波测距模块可以实现超声波避障功能。当小车启动时同时启动超声波模块,舵机归中以确保超声波模块正对小车前方,在程序中给超声波测距模块设定一个阈值开始工作,如设定的阈值为10cm,那么当检测到前方障碍物小于该值(10cm)时,小车停止并运用舵机配合超声波测量小车左方和右方离障碍物的距离,同时将这两个距离送由單片机作比较,如果左边离障碍物的距离大于右边的测量值小车左转,反则同理。

2.4 WIFI模块

通过WIFI模块作为上位机和单片机沟通的桥梁,用C#编写上位机与单片机的通信软件,软件界面如图5所示,通过串口通信功能将指令发送到单片机的串口,单片机根据接收到的指令输出I/O口的高低电平来驱动电机的转动,从而实现通过WIFI在电脑和手机终端遥控智能小车。在小车上搭载一个摄像头并对视频进行编码,将所拍摄的画面经由WIFI返回上位机,从而实现对智能小车的实时监控。

2.5 按键模块

设计了四个独立按键来组成功能键,每按下一个按键智能小车会进入到对应的模式,如按键一对应循迹模式,按键二实现避障功能等,通过设立功能键实现智能小车功能的快速切换。

3 程序设计

智能小车的程序使用C语言编写,具有明显的可读性与可维护性,方便阅读与修改,易于理解。整体设计流程图如图6所示。通过下载线将程序烧录到单片机,经过落地实测,各种模块功能稳定可靠。最后的成品如图7所示。

4 结束语

本设计使用了模块化设计的方法,将不同的功能分模块实现,每个模块对应的功能均经过多次调试,最后将各部分模块的功能组合在一起。该智能小车能实现多种的功能,电源启动后进入到初始化,等待按下功能键选择不同的功能。循迹模式下小车通过红外传感器来不断修正路径,实现黑白线循迹;避障模式下小车通过超声波避障,实现当前方遇到障碍物,小车会自动转向从而实现避障;红外遥控模式下,小车可以通过车上的红外对接收管来接收红外遥控器发出的指令进而实现红外遥控;WIFI遥控模式下,开启车上的WIFI模块,可以通过电脑上的上位机软件实现对小车的操控,同时可以在软件中获取小车摄像头所拍摄的实时影像。所有这些功能组合成一个有机的整体,实现了一台有一定智能功能的小车,为实现更具有智能化的机器人研制打下了基础。

参考文献:

[1]刘志娴,江敏,阮玲玉.基于51单片机智能小车的设计与实现[J].电脑知识与技术,2018,14(21):273-274+279.

[2]吕美高,刘国权.基于STC89C52单片机的GPS定位智能小车[J].电子质量,2018(06):36-40.

[3]姬红旭.基于STC89C52单片机智能避障小车设计[J].职业技术,2011,10(8).

[4]李欢.基于51单片机的智能小车设计[J].信息与电脑(理论版),2016(23).

[5]杨睿,路雪松,金亚玲.智能小车的避障控制系统的单片机设计研究[J].时代农机,2018(09):248.

[6]祝松柏,李清宇.基于STC89C52的循迹避障智能小车的设计[J].轻工科技,2018,34(03):65-66.

[7]姚兵.智能小车的设计及制作[J].电子技术与软件工程,2018(05):247.

[8]张冬昌,贺子懿,张冬梅.智能小车的单片机控制设计实现[J].中国新通信,2018,20(01):230.

猜你喜欢
避障循迹遥控
基于MSP430单片机的智能导盲小车设计
他是如何遥控引爆的
基于LabVIEW的自主巡航与遥控双功能智能小车研发
基于HC—SR04超声波传感器的智能避障小车设计
基于STM32芯片的移动机器人的避障研究
基于“STC80C51单片机”的智能小车系统的设计
无人侦察遥控飞机
基于K60的智能循迹小车系统实现
遥控赛车
遥控提琴