基于stm32的智能摇头避障车设计
2018-01-02王福顺郭恒吉
王福顺 郭恒吉
摘 要:此设计主要是围绕智能小车的避障功能进行的,利用了超声波的瞬态测距原理和红外避障模块遇障碍物时输出呈低电平的原理,通过超声波来检测小车与障碍物之间的距离,并将检测的距离与程序中的预定值进行比较,然后做出判断,并由微控制器stm32控制着电机和舵机的转向,以此控制着小车的前进、后退、左转、右转,以及由舵机控制着超声波测距模块收发头的朝向,从而在小车遇到障碍物时能实现自动避障。
关键词:智能小车;stm32;舵机;传感器;避障
0 前言
如今社会发展迅速,互联网、大数据、人工智能等先进智能技术愈加成熟,成为社会发展趋势,而智能汽车作为其中一种,对社会生产发展起著十分重要的支撑作用。因此,对智能车功能的研究有着重要的实际意义。
1 总体设计方案
以二驱动小车车模为载体,以舵机、云台和HC-SR04超声波模块三者共同组成轮式机器人头部,采用两节1.5 V干电池并搭配稳压管来作为简单的直流稳压电源,选用直流减速电动机,以L298N驱动模块作为驱动部分,以STM32F103ZET6芯片为系统控制核心,采用其最小系统板的形式,另外以两个红外避障模块来配合超声波测距模块进行避障,最后利用Keil的开发环境对系统程序进行编写调试。
2 硬件设计
2.1 超声波模块
HC-SR04超声波模块可提供2cm~400cm的非接触式距离感测功能,测距精度可达3mm,模块包括超声波发射器、接收器与控制电路。其基本工作原理如下:
(1)利用IO口TRIG触发测距,给出至少10μs的高电平信号;
(2)由模块本身自动发送8个40KHz的方波,自动检测是否有信号返回;
(3)若有信号返回,则通过IO口ECH0输出一个高电平,而高电平持续的时间就是超声波从发射到返回的时间;
(4)测量距离=(高电平时间*声速(340m/s))/2.
注:声速受到温度等因素的影响,未必是340m/s,故测量距离存在一定误差.
2.2 舵机
舵机是一种位置伺服的驱动器,适用于角度不断变化并保持的控制系统,具有控制简单、大扭力、成本低、易安装调试等特点。其主要性能取决于最大力矩和工作速度,单位:秒/60度。例如,机器人机电控制系统中,舵机的控制效果是影响系统整体性能的重要因素。另外,舵机易于控制和输出,能够作为基本的输出执行机构,使得它易与MCU的接口相连。舵机的控制信号是PWM信号,可通过改变占空比来改变舵机的位置。此舵机输出轴转角在0°~180°变化,其脉冲宽度在0.5ms~2.5ms变化。
2.3 红外避障模块
当模块检测到障碍物时,OUT端口持续输出低电平信号(0),反之输出为高电平(1);其可直接与单片机相连,检测角度为35°,最小检测距离达2~3cm,可通过电位器调节检测距离,面向电位器,顺时针旋转电位器,则检测距离增大,反之减小。
2.4 驱动模块
此系统设计所使用的驱动模块为L298N模块,其使用L298N作为主驱动芯片,具有驱动能力强,发热量低,抗干扰能力强的特点,且使用大容量电容以便续流保护二极管,提高可靠性,其驱动电压为5V~35V,工作逻辑电压为5V,最大逻辑电流为36mA,采用H桥双路驱动工作模式。
2.5 系统微控制器
根据程序存储容量,可将ST芯片分为LD(<64KB)、MD(<256KB)、HD(>256KB)三类。此系统设计所选MCU为STM32F103ZET6,属于HD类。它是基于ARM Cortex-M3核心的32位微控制器,属于LQFP-144封装,主频72MHz,拥有512KB内部flash、64KBSRAM、8个定时器,5路USART,多达80个GPIO且大多兼容5V逻辑,支持片外高速晶振(8MHz)和片外低速晶振(32MHz),支持JTAG/SWD调试,可与价格低廉的仿真器配合,实现高速、低成本开发,通过片内BOOT区实现串口的在线程序烧写(ISP),CPU工作电压为2.0V~3.6V。由此可见STM32F103ZET6芯片片上资源十分丰富,可快速验证片上外设功能,方便移植到其它中、低容量的F1系列芯片上,使得设计开发更加方便快捷。
2.6 电源部分
电源部分主要采用干电池、升压模块和稳压管进行供电的方式。利用两节1.5V的干电池作为直流电源,通过DC-DC可调升压稳压模块将3V的电压上调至接近12V,然后与L298N的VCC接口(12V)相连,以便提供足够的动力驱动电动机;另将3V直流电源经稳压管与MCU相连,以便为CPU提供所需电能。
3 软件设计
在系统main()函数前定义一些子函数,包括启动超声波、小车前进、后退、左转、右转、停止、超声波测距、延时、定时器初始化、中断服务程序等函数。而程序流程图中仅以hongwai= =1作为标志,统一代表遇到障碍时左右避障模块中任何一个输出为低电平的情况,并不是用“1”来直接表示低电平,“1”代表有障碍物。
4 结束语
对于移动智能设备,避障是最基本且不可缺少的功能之一,一旦缺失,便可能带来巨大的经济和安全损失。该设计主要采用超声波模块进行避障,避障效果存在一定局限性,但若将超声波模块改用快速捕捉移动物体的高清摄像头,以此采集小车或移动机器人行驶过程中前方及周围情况的障碍物信息,同时增加车载传感器的数量并安装在合适的方向和位置,则有望进一步提高避障的及时性和小车的安全性,也有利于应用在更广的领域和范围。
参考文献:
[1]郭天祥.新概念51单片机C语言教程-入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009.1.
[2]沈红卫等.STM32单片机应用与全案例实践[M].北京:电子工业出版社,2017.6.
[3]张勇.ARM Cortex-M3嵌入式开发与实践-基于STM32F103[M].北京:清华大学出版社,2017.
[4]缪璐婷.基于STM32的循迹避障智能车设计[J].技术交流,2017.
[5]李亚巨,李战胜等.基于stm32f103zet6的智能小车的制作[J].智能应用,2013.