基于51单片机的智能循迹避障遥控小车

2019-07-08 02:59谢菁
卫星电视与宽带多媒体 2019年4期
关键词:循迹遥控红外

谢菁

【摘要】随着现代科技的迅速发展,智能化小车逐渐被应用到更多领域。本设计的智能小车采用STC12C5A60S2单片机为主控芯片,以Keil μVision4软件为开发平台,经过软、硬件综合设计,小车可以实现红外遥控、红外循迹和超声波避障等功能。

【关键词】STC12C5A60S2单片机;红外遥控;直流电机;Keil μVision4

引言

目前,智能车发展速度迅猛,是融合了计算机、造型技术、传感技术、电子、机械、控制、人工智能等多个学科交叉的科技创新技术,在各个领域扮演着重要角色。同时,在国家级、省级电子设计竞赛以及其它创新设计竞赛中几乎每次都能找到智能车类型题目的踪影,并且全国各类高校对该方向的题目研究也非常重视。因此,具有广阔的应用前景和较大的研究意义。在实践过程中,熟悉以单片机为核心控制芯片,采用智能控制算法实现小车的遥控、循迹和避障等功能。

一、总体方案设计

本次设计采取的主控芯片是宏晶科技公司生产的STC12C5A60S2单片机。硬件电路主要由五部分组成,分别为:单片机主控模块,电源模块、电机驱动模块、红外遥控模块、循迹检测模块和超声波避障模块。如图1所示。

通过红外遥控系统的编/解码专用集成电路芯片来进行遥控操作;利用红外收发管,根据红外信号对不同颜色产生不同反射系数的原理,根据接收管输出电压的变化,单片机驱动直流电机来确定小车行走方向,進而实现循迹功能;利用超声波测量小车与障碍物之间的距离,再通过舵机控制超声波模块对不同方向的障碍物进行探测,将测试数据传送给单片机,单片机就可以根据传感器发来的信号发出命令让小车开始改变原始的方向,从而实现避障功能。

二、系统硬件部分

(1)单片机控制模块

由STC12C5A60S2单片机构成的最小应用系统如图2所示,主要由电源电路、复位电路、振荡电路和单片机4个部分组成。

(2)电源模块

本设计中我们将单片机及其外围电路和直流电机分开供电,使两者互相不影响,实现稳定供电。采用5V蓄电池直接给单片机及其外围逻辑电路供电,用2节4.2V锂电池串联的方式给直流电机供电。蓄电池具有较长的续航能力以及电压输出的值基本不怎么变化,外围逻辑电路稳定运行,2节锂电池电量较足,大大增强小车续航能力并且也可重复利用。

(3)电机驱动模块

为提高小车运行的稳定性,本设计为四驱智能小车,采用集成双H桥集成电机驱动芯片L298N来驱动直流电机。L298是全桥驱动芯片,具备高电压、大电流的特点,内部包含4通道逻辑驱动电路。一个L298芯片可以两个直流电机。L298N功率部分的供电电压在2.5~48V,一般情况需要大于6V才能正常工作,逻辑部分需要5V电压供电,可以接受TTL电平,输出电流可达2.5 A,可驱动电感性负载。左侧电路原理图如图3所示,右侧与之相同。

(4)红外遥控模块

红外遥控系统主要由发射和接收两部分构成,应用编码/解码专用集成电路芯片来进行控制操作。发射部分包括键盘矩阵、编码调制、LED 红外发送器;接收部分包括光、电转换放大器、解调、解码电路。本设计采用的是车载MP3遥控器HS-021和1838红外接收头组成红外遥控模块对小车进行控制。设计中考虑到一个1838红外接收器接受角度范围有限只有+/-35°在某些角度上存在明显的检测盲区。故选用四个1838接收器结合构成一个全方位红外接收器。

(5)循迹检测模块

本次采用的红外收发管,利用比较芯片LM339根据四路接收管的电压和四路滑动变阻器输出的参考电压分别进行比较后输出相应电平。当小车进入循迹模式后,单片机开始不停扫描I/O口,利用红外信号对白色地板和黑线不同的反射系数,一旦检测到某个I/O口有有效信号,单片机对红外传感器检测到的数据进入判断程序进行处理,进而控制小车的走向,最终完成循迹功能。

(6)超声波避障模块

本次设计选用HC-SR04超声波模块,由超声波发射器、接收器与控制电路组成。HC-SR04超声波模块能提供2cm-400cm的非接触式距离感测功能,测距精度可高达3mm,盲区2cm左右。利用单片机给控制口(Trig)发一个10μs以上的高电平触发超声波模块自动发送8个40khz 的方波。在40khz发出后,接收口(Echo)自动输出高电平的回响信号。当单片机检测到接收口高电平的时候定时器开始计时,超声波在空气中传播,途中碰到障碍物后返回。接收口检测到回波信号时停止输出回响信号,该端口变为低电平后单片机就立即停止计时。读取定时器的值就是一次测距的时间,根据超声波运动的时间t和速度v就可以算出发射点距障碍物的距离S,即:S=vt/2,如此不断的周期测,就可以移动测量距离,将测试数据传送给单片机,单片机就可以根据传感器发来的信号发出命令让小车开始改变原始的方向,从而实现避障功能。

三、系统软件部分

对于单片机控制系统来说,不仅仅需要系统硬件方面的设计,同时与需要软件设计来支撑。因此,智能小车不同功能的实现也需要相应程序设计来完成。因此,在设计过程中软件设计同样有重要的地位。本设计软件部分是以Keil μVision4为平台开发完成的,该软件是美国Keil Software公司出品的,兼容单片机C语言软件开发系统。在功能上、结构性、可读性、可维护性上,相比与汇编语言具有明显的优势,故易学易用,在国内外得到广泛使用。

本设计在软件编程方面,没有采用传统的整体代码编写,而是将整体分割成n个不同的部分,每一个部分都可以被称作是一个模块。其实这些所谓的模块都只是单独的程序代码,它们都对应着相关的功能,为每个功能程序的实现模块,这样的设计方法可以称之为模块化程序设计。

该设计法有以下的一些优点:

(1)每个模块都很容易去编写,并且单独的去调试更为方便;

(2)这些模块单独实现自己的功能,不会互相影响和冲突;

(3)模块的程序代码更易被调用,可以随时利用现有的程序。

软件部分主要由主程序、红外遥控子程序、循迹子程序、超声波避障子程序等构成。主程序流程图如图4所示。

系统以STC12C5A60S2单片机为核心器件,在Keil μVision4软件平台上进行C语言编程,利用烧录软件将生成的.hex文件下载到单片机,定时器作为系统的时钟单元,根据系统主程序执行顺序,分别设定红外遥控、红外循迹和超声波避障三个模块的任务时间,在不同任务中主程序分别调用各个子程序函数从而实现具体功能。

四、结束语

本次设计基于单片机的智能小车系统可以用遥控来控制小车的启停、左转、右转、前进、倒退,小车能自动沿着黑线行驶,遇到障碍时能够自动躲避障碍,基本上实现了各项功能,达到了预期的目标。

参考文献:

[1] 楼然苗,胡佳文.51系列单片机原理与应用[M]. 北京航空航天大学出版社, 2014, 10.

[2] 全国大学生电子设计竞赛组委会. 第六届全国大学生电子设计竞赛获奖作品选编.北京:北京理工大学出版社,2005

[3] 赵亮.跟我学51单片机(一)—单片机最小系统组成与I/O输出控制[J].电子制作,2011.

[4] 张馨月.基于51单片机的简易智能小车设计[J]. 科技创新与应用, 2017, (16):83.

[5] 钱栢霆,李娟.基于单片机的循迹避障智能小车系统的设计 [J]. 电子制作, 2015, (12):15.

猜你喜欢
循迹遥控红外
网红外卖
基于MSP430单片机的智能导盲小车设计
他是如何遥控引爆的
基于蓝牙转红外的遥控装置
基于“STC80C51单片机”的智能小车系统的设计
无人侦察遥控飞机
马静坡 元像·宋陵
基于K60的智能循迹小车系统实现
遥控赛车
摄影欣赏