基于AT89C52单片机的智能小车设计

2020-09-10 14:53刘萌萌苗炜丽余彦琼
内燃机与配件 2020年2期
关键词:避障循迹智能小车

刘萌萌 苗炜丽 余彦琼

摘要:设计了一款基于单片机AT89C52的循迹避障小车,可在危险环境下发挥重要作用。硬件控制系统以单片机AT89C52为控制核心,采用红外探测法实现对路况的检测,通过红外对管来完成循迹、避障功能,并将相关信号传送给单片机,经单片机分析处理后,控制驱动芯片LG9110驱动直流电机实现智能小车前进、后退、左转、右转、停止。软件采用C语言编程,实现对小车运动控制。通过多次试验测试,智能小车能实现无线遥控、避障、循迹功能。

关键词:单片机AT89C52;智能小车;循迹;避障

0  引言

传感器、自动化控制技术的飞速发展[1],不但改善人类生活方式,也促进人工智能产业飞速发展。智能小车是人工智能领域一个研究热点,也是生活中应用最广泛一个方向。

人们在不断探讨、改造、认识自然的过程中,研制出能替代人劳动的机器一直是人类梦想[2]。智能小车能代替人类,在诸如爆破、有毒气体、易燃易爆、阴暗潮湿等场所工作。智能小车在快递包裹分拣行业、无人工厂都也有着较好的应用前景。一些发达国家已把机器人制作比赛作为创新教育的战略性手段[3]。全国、省内电子大赛几乎每年都有智能小车题目,全国各大高校均很重视该方面的研究[4]。在此背景下设计了一款基于单片机的智能小车。小车通过红外检测技术识别黑线轨迹,探测障碍物,能在固定路线行驶和避障。

1  总体方案设计构成

智能小车有遥控、自动两种工作模式。遥控模式:外部红外遥控系统通过特定的编解码集成芯片对智能小车实现遥控操作,实现前进、后退、转弯等功能;自动模式:智能小车在单片机控制下能自主实现循迹避障功能。使用者可根据外部具体环境选择小车工作模式。智能小车由控制模块、红外遥控模块、避障模块、循迹模块、电源模块等构成。图1为智能小车硬件设计框图。

本设计的智能小车由控制模块、红外遥控模块、避障模块、循迹模块、电源模块等构成。系统结构框图如图1所示。智能小车能沿着给定路线(黑线)前进,当遇到障碍物时,红外发射管发射的红外线,经反射后被红外接收管接收,传感器检测到这一信号就可确认前方有障碍物,并将信号传给单片机,单片机经分析处理后,由内部程序控制小车前进,后退,转向,停止,从而实现避障功能。当前方无障碍时,红外线随传播距离增加而逐渐衰弱,小车继续沿线路前进。

2  系统硬件组成与实现设计

2.1 控制模块

本设计采用单片机AT89C52作为控制芯片。AT89C52芯片具有方便快捷、易于操作等優点,是一种低功耗、高性能CMOS 8位微控制器。具有8K可编程可擦除Flash存储器,片内有8位CPU和可编程Flash,适用于多种嵌入式控制系统。

上电后,单片机根据是否收到外部遥控信号,判断小车工作模式。如是遥控模式,控制驱动芯片执行相应操作;如是自动运行模式,通过红外传感器检测当前路况,控制驱动模式,完成小车在制定路线运行。

2.2 电机驱动模块

智能小车电机选择重量轻、体积小、转动力矩大、方便的直流减速电机。电机优点:重量轻、转动力矩大、易组装、方便等。内置减速齿轮组,可直接利用内部齿轮组的相互配合实现调节直流减速电机的转速和转向功能[5]。

单片机管脚输出高电平信号电压较弱,不足以驱动直流电机,因此需选择专用电机驱动芯片来驱动电机运行。考虑到小车重量因数、电压,选择了抗干扰性好,易于控制的电机驱动芯片LG9110。智能小车采用左后轮和右后轮两轮驱动。单片机通过控制P0.1∽P0.3端口电平,对直流电机M1、M2的控制。当P0.0∽P0.3=“1010”时,M1、M2正转,小车前进;P0.0∽P0.3=“0101”时,M1、M2反转,小车后退;P0.0∽P0.3=“1001”时,M1正转M2反转,小车右转;P0.0∽P0.3=“0110”时,M1反转M2正转,小车左转。

2.3 传感器模块

智能小车通过传感器模块实现循迹、避障功能。传感器模块采用红外光电传感器检测路况[6]。因黑色、白色对红外线吸收系数不同,根据红外接收管接收到的红外线信号强弱来判断“道路情况”,以及前方是否存在障碍物。图3为路况检测设计原理图。三对红外装置分别装在车体左、中、右。循迹路线为白色地面的黑色跑道,宽度约2CM左右,大于车体左右两个红外对管的距离,保证小车正常运行。

2.3.1 循迹模块

单片机根据反射回来的红外光来确定黑线位置和小车的行走路线[7-8]。举例:当小车左侧跑出黑线,小车左侧的红外接收管V4导通,P3.5置低电平(注:P3.5为左侧红外探头),单片机控制小车右转;当小车右侧跑出黑线,右侧V5导通,P3.6置低电平,小车左转。

2.3.2 避障报警模块

目前主流避障方案有超声波、红外线避障。超声波传播的方向存在一定误差[9],且硬件电路复杂,成本高。红外线避障使用简便,成本低,性能稳定,能在空气中传播较远的距离。智能小车选择红外线避障。

小车前端、向下探头能感应前方是否有障碍,当无障碍物时,接收探头收不到红外信号;当有障碍物时,接收探头接收到被反射回来的红外线,其相应管脚为低电平,单片机接收到低电平信号后,将P0.6置为高电平信号,三极管V1导通,蜂鸣器SB1导通,发出报警信号。

2.4 电源模块

本系统单片机AT89C52、电机驱动芯片及其他芯片均需要+5V工作电压,故采用4节1.5V干电池为系统提供6V电源,既能满足系统正常运行,干电池更换也非常方便。

3  系统软件设计

程序编写采用的是移植性较高、结构清晰的C语言[10]。本设计采用模块化编程,以下主要介绍循迹模块、避障模块。

单片机上电后,对各个模块进行初始化。首先检测是否有遥控信号,之后对信号进行解码,执行相关操作。

3.1 循迹流程图

系统运行中,主程序一旦检测到遥控器发出“循迹”信号后,直接调用循迹函数,完成循迹功能。车体正前方的两个红外接收管,如果左侧红外传感器检测到黑线,则说明小车已经向右偏离轨道,需要向左行驶进行纠正。同理,如果右侧红外传感器检测到黑线,则说明小车已经向左偏离轨道,需要向右行驶进行纠正。单片机通过扫描两个红外传感器的信号,控制小车始终沿正确轨道行驶。

3.2 防撞报警流程图

系统运行中,主程序一旦检测到遥控器发出“防撞”信号后,直接调用防撞报警函数,完成防撞报警功能。

智能小车在行进中,会检测前方是否有障碍,如果正前方有障碍,小车会后退转向报警。如果左侧有障碍,单片机接收信号后控制小车右转,避开障碍并报警;如果右侧有障碍,单片机接收信号后控制小车左转,避开障碍并报警。

4  测试

测试场所包括起点、直线区、行驶区、循迹区、避障区。实际测试20次,在直线区小车位置调整次数为1次,碰触障碍物次数为1次。

经多次测试,智能小车能在5s内完成直线行驶。在循迹区,小车运行稳定,能实现平稳转弯,车身行驶在赛道、中央,基本能做10内完成循迹。在避障区,小车能顺利完成避障功能,车身基本不偏离,触碰障碍物次数仅为1次。整体看来,小车能较好完成预期功能。

5  结论

本系统以单片机AT89C52为控制核心,通过接收红外遥控信号,驱动直流减速电机实现小车前进、后退、左转、右转、停止等运行模式。经过反复测试,智能小车能在黑色预设直线轨道、弧形轨道上行驶,如有偏离,可自动纠正到预设轨道;行驶中遇到障碍物,通过自行调整,能躲避障碍并报警提醒,继续循迹。智能小车运行安全、稳定、操作简单,达到预期要求。

参考文献:

[1]陈梦婷,胡白燕,黄璨.基于单片机的智能循迹避障小车的设计与实现[J].智能机器人,2016(4):47-51.

[2]赵春,郭秀珍.智能循迹避障小车的设计[J].内蒙古科技与经济,2018(24):107-109.

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

[4]聂茹.基于蓝牙遥控的多功能智能小车设计[J].自动化与仪器仪表,2016,(4):81-85.

[5]付喜锦,高晓红.多功能智能循迹避障小车的设计与实现[J].陇东学院学报,2018,29(3):11-14.

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

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

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

[9]郭志超,何爱龙.自动循迹避障寻光智能小车硬件系统设计[J].新乡学院学报,2016,9(33):45-48.

[10]罗莎.计算机中C语言的应用特点分析[J].计算机光盘软件与应用,2012(7):165-166.

猜你喜欢
避障循迹智能小车
基于MSP430单片机的智能导盲小车设计
基于LabVIEW的自主巡航与遥控双功能智能小车研发
基于STC89C51智能小车的移动家居平台的设计
基于HC—SR04超声波传感器的智能避障小车设计
基于STM32芯片的移动机器人的避障研究
智能安全防盗探测小车
基于“STC80C51单片机”的智能小车系统的设计
基于K60的智能循迹小车系统实现
电动小车的循迹