基于S TM 32的W iFi智能小车控制系统设计

2019-10-23 07:29周东瑶师文庆王楚虹
装备制造技术 2019年8期
关键词:框图温湿度小车

周东瑶,师文庆*,黄 江,王楚虹

(广东海洋大学电子与信息工程学院,广东 湛江524088)

0 引言

现在智能机器人技术极速发展,并广泛应用于各个行业之中,尤其是多功能智能车成为了主流趋势,也是自动控制领域中的一个研究热点。智能车作为智能车辆的载体,是集传感器技术、人工智能技术、自动控制技术、车辆工程控制于一体的综合技术,是未来的智能汽车发展模型[1]。无线控制智能车可应用于国防、航空航天、工业以及一些服务型行业中,如应用于国防中的无人驾驶战车,应用于灾害处理、工业上危险地区的数据采样和故障处理等。同时随着我国现代人工作、生活节奏的加快和人口老龄化加剧,人们更加需要智能车的协助,可以提高劳动生产效率[2]。

2002年,我国科技部正式启动了“十五”科技攻关计划重大项目——智能交通系统关键技术开发和示范工程,这其中的一个重要内容就是进行车辆安全和辅助驾驶的研究。对机电一体化人才的培养也越来越重视,主要体现在面向大学生的各种大型创新创业训练项目的比赛上,如全国大学生“恩智浦”杯智能汽车竞赛等,鉴此,设计一种基于STM32的WiFi智能小车。

1 系统方案概述

系统是一个基于STM32的,由WIFI无线传输模块、超声波避障模块、寻迹模块、驱动模块、温湿度检测模块等组成的。整个系统需要一个相对稳定的符合需求的架构,STM32核心控制器通过对各个模块的控制来完成各项功能。控制器发送开始信号给温湿度检测模块,使其检测温湿度,并将数据传回控制器,并将这些数据通过WiFi无线传输模块显示到上位机中;通过控制器对舵机、超声波避障模块、寻迹模块的控制,接收其返回的信息完成避障、寻迹的功能;通过上位机的控制信号对STM32控制器进行操控实现对小车的控制[3]。设计总框图如图1所示。

图1 设计总框图

2 硬件实现

硬件部分由主控芯片、电源、电机驱动、WiFi模块、自动寻迹模块、温湿度传感器等部分组成。首先,需要一个芯片来完成小车的控制,小车运动则需要电源以及电机驱动,本设计的小车功能中,遥控功能需要用到WiFi模块;自动寻迹通过五路寻迹模块来实现;避障功能通过超声波模块以及舵机配合来实现;环境的温湿度通过温湿度传感器采集数据。具体各部分叙述如下。

2.1 最小系统模块

最小系统模块是采用STM32F407VET6最小系统板,板上有充足的资源供给智能小车使用,最小系统控制整个系统,经测试稳定可靠。

2.2 电源稳压模块

供电稳定是小车正常运行的基础,只有供电稳定才能有稳定的系统,所以必须要有个合格的电源模块,本设计使用四块3.7V的锂电池,经过两个XL4015E1降压稳压模块的降压至不同电压对不同模块供电。一个降至12V并保持稳定之后为小车电机进行供电,另一个降至5V为最小系统供电。

2.3 驱动模块

本设计采用的是小车底盘自带的强磁直条双轴减速电机,比速可达1∶48,并采用L298N电机驱动模块,其内部有两个完整的H桥高电压和较大电流全桥式的驱动器,一个全桥就可以保证一个直流电机的正反转,其接收的是标准的TTL逻辑电平信号,可以驱动46V 2A以下的电机。

2.4 寻迹模块

本设计采用了五路黑白线寻迹模块,即由六对红外对管构成,五对用于寻迹,一对用于避障,每对发射管会发出一定频率的红外射线,若遇到可反射光的物体,红外射线就会反射回来被接收管吸收,输出高电平,当测到黑线时,则无法反射,该对管对应的管脚输出低电平。

2.5 超声波避障模块

本设计选用了HC-SR04超声波模块,采用IO口TRIG触发测距,给模块发送一个最少10μs的高电平信号,模块就会自动发送8个40 kHz的方波并检测是否有信号返回。若有信号返回,则通过设定成ECHO的IO口输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。所以,测试距离=(高电平时间*声速)/2,由于超声波检测范围有限,所以加装了一个舵机模块,通过舵机带动超声波模块旋转到不同角度,然后检测不同角度的前方是否存在障碍物,能使超声波测量范围加大,更好地实现避障功能。

此模块提供2 cm~400 cm的非接触式距离感测功能,测距精度高达3 mm;模块包括超声波发射器、接收器与控制电路。

2.6 温湿度检测模块

本设计使用了DHT11温湿度检测模块,DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度的复合传感器。它采用专用的温湿度传感技术和数字模块采集技术,以确保产品具有极高的可靠性与长期稳定性。

2.7 WIFI无线通信模块

本设计选用了ESP-01SWiFi模块,该模块采用的核心处理器ESP8266。虽然尺寸小,但是封装集成了业界领先的Tensilica L106超低功耗32位微型MCU,带有16位精简模式,主频可支持80 MHz和160 MHz两种[5],并集成了 Wi-Fi MAC/BB/RF/PA/LNA,此模块支持标准的IEEE802.11 b/g/n协议,TCP/IP协议栈,可使用此模块为现有的设备添加联网功能,也可构建独立的网络控制器[6-7]。

3 软件实现

本设计包括多个子模块,需要设计子函数的模块有:超声波测距模块、寻迹模块、驱动模块、传输模块、舵机模块和温湿度检测模块等。主函数中通过标志位的数值进入相对应的模式子函数中,默认为手动遥控模式子函数,每个模式下,都会判断是否到达中断定时时间,进入中断时运行温湿度采集函数,以实时在上位机显示小车周围环境的温湿度。程序总框图如下图2所示。

图2 主函数流程框图

3.1 电机控制程序

本设计用L298N驱动芯片来驱动直流减速电机,其中通过控制四个IO口输出的值来分别控制两个电机的正反转,初始化一个定时器用来输出不同占空比的PWM波来控制电机转速,就能很好地控制电机的转速和正反转。本设计设置STM32芯片的PB6、PB7、PB8、PB9 管脚分别为 L298N 芯片的 IN1、IN2、IN3、IN4,当 PB6 和 PB8为 1,PB7和 PB9 为 0时,两个电机正转;反之为反转。接下来使用定时器4使PB6、PB7、PB8、PB9输出不同PWM,来控制电机的转速,通过上述步骤,就能控制电机的转速及旋转方向了。用定时器4输出PWM控制电机程序流程图如图3所示。

3.2 寻迹程序

选用的BFD-1000五路黑白线寻迹模每对红外对管都对应着一个GPIO口,用来检测返回的信号,根据返回的信号来判断是否沿着制定好的黑色路线行进,若偏离了,则调节PWM波来控制电机左右轮的转速以达到调节方向的作用。红外管初始化和检测程序如图4所示。

图4 寻迹函数流程框图

3.3 超声波避障程序

通过一个舵机和一个超声波模块组合起来实现超声波避障功能,所以需要两个模块的配合完成,如果前方有障碍物,舵机将带动超声波模块分别转角到不同方向,然后再次启动超声波测距,然后选择继续前进的方向。控制舵机需要使用定时器输出PWM波产生不同占空比来控制舵机的转角度数。

而超声波模块工作需要两个IO口,一个输出触发信号TRIG,另一个输入回响信号ECHO,此处将PE5、PE6分别设置为ECHO和TRIG,PE6输出一个高电平时,超声波模块会发送八个40 kHz的方波,随后超声波模块会马上检测系统有没有返回的信号,若接收到返回的高电平信号,则通过ECHO传回STM32芯片做处理,即PE5高电平保持的时间就是超声波信号发出到返回所用的时间,使用此时间乘以声速再除以二则为小车与前方障碍物的距离[8-9]。本设计采用定时器5来计数。流程框图如图5所示。

图5 距离检测函数流程框图

3.4 温湿度检测程序

当STM32芯片向模块此发出开始信号后,DHT11从低功耗模式转换为高速模式,当开始信号结束后立马发送响应信号和数据,并触发一次信号采集,随后转换到低功耗模式,若无开始信号,DHT11不会主动进行温湿度采集,本设计设置PE0来发送以及接受此模块的信号,通过处理PE0所接受到的数据转换为温湿度。程序流程框图如上图6所示。

图6 温湿度检测函数流程框图

3.5 WiFi数据传输程序

采用的ESP-01s串口WiFi模块需要将开发板的串口配置好,然后给WiFi发送指令以配置WiFi的名称、密码、模式等,之后才能正常地使用WiFi模块,使用串口中断来接收或发送数据,才不会影响其他模式的运行。流程框图如图7所示。

图7 WiFi数据传输流程框图

4 测试实验

小车默认是手动遥控模式,即可通过上位机对小车发送指令进行遥控,使小车完成前、进后退等各项动作,可任意切换到自动寻迹模式或者避障模式中,每个模式运行中都可以随时通过上位机来切换模式;在自动寻迹模式中,小车可以通过红外对管检测地面上的黑色线路自行调整方向以沿着黑线前进;在避障模式中,小车会根据超声波模块和舵机配合检测前方不同方向是否存在障碍物来选择最佳的前进方向;在每个模式中都会使用定时中断来检测温湿度,并将WiFi模块将数据传输至上位机显示。小车成品如图8所示,上位机显示如图9所示。

图8 小车成品图

图9 上位机显示图

在手动控制模式下,小车能够迅速接收到上位机的发送的前进、后退、旋转、切换模式等指令并准确的完成指令;在空地中设计出一条有若干障碍物的路线,自动避障模式中,小车能够迅速检测到障碍物并调节到最合适的方向进行前进;在空地上设计出一条2 cm宽的黑色路线,在自动寻迹模式下,小车能够很准确的沿着黑线行进;上位机上也能够实时显示小车周边环境的温室度数据。

5 结束语

本设计是基于STM32F407VET6芯片的一款WiFi智能小车,与其他智能小车相比,其可开发度很高,可以增加更多的模块来完成更多的功能,本设计仅做了几个功能,本设计一共有三种模式,默认是手动遥控模式,通过上位机对小车发送指令进行遥控,可任意切换到自动寻迹模式或者避障模式中,在每个模式中都会定时检测温湿度,并将数据传输至上位机显示,而且每个模式中都可以随时通过上位机来切换模式。

猜你喜欢
框图温湿度小车
大车拉小车
自制小车来比赛
基于AT89C51的数字型蚕用温湿度计的设计
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
刘老师想开小车
基于温湿度控制的天气预测装置
两轮自平衡小车的设计与实现
电路图2017年凯迪拉克XT5
基于DSP和μcos的温湿度检测系统的设计
PLC在计算机空调机房温湿度控制中的应用