搜索
您的当前位置:首页正文

基于STM32的智能无线温度探测小车

来源:知库网
总第 21卷236期 大 众 科 技 Vol.21 No.4 2019年4月 Popular Science & Technology April 2019

基于STM32的智能无线温度探测小车

李耀乾 苗 泽 付天华 李明涛

(桂林理工大学机械与控制工程学院, 广西 桂林 541004)

【摘 要】文章基于STM32F407ZET4单片机设计了智能无线温度探测小车系统,它实现了远程遥控、实时温度监测、实时显示运动轨迹、根据上位机设定的温度值进行警戒值标定的功能。整个系统的硬件部分主要包括电机驱动、红外避障、温度探测、无线通信等模块,软件部分则采用C语言以模块化思想设计编写了对应程序。为了消除温度测量过程中的干扰,采用了卡尔曼滤波算法,经过仿真测试,可以达到预期效果。最终整个系统经过软硬件的联合调试,实现了设计要求的主要功能,具有一定的实际应用参考价值。

【关键词】单片机;温度探测;卡尔曼滤波

【中图分类号】TP23 【文献标识码】A 【文章编号】1008-1151(2019)04-0056-03

Smart Wireless Temperature Detection Car Based on STM32

Abstract: This paper designs a smart wireless temperature detection vehicle system based on STM32F407ZET4 microcontroller. It realizes remote control, real-time temperature monitoring, real-time display of movement trajectory, and calibration of alert value according to the temperature value set by the upper computer. The hardware part of the whole system mainly includes: motor drive, infrared obstacle avoidance, temperature detection, wireless communication and other modules, and the software part adopts C language to prepare the corresponding program with modularized thought design. In order to eliminate the interference in the temperature measurement process, Kalman filtering algorithm is adopted. After the simulation test, the desired effect can be achieved. Finally, the entire system is jointly debugged by hardware and software to achieve the main functions of the design requirements, and has a certain practical application reference value.

Key words: microcontrollers; temperature detection; Kalman filtering

1 引言

本设计研究当所需测量的环境极其恶劣或者情况不明,人员无法贸然进入的时候,利用智能小车划定警戒位置,代替人员进入恶劣环境中实现自主测量,并沿给定值行进。在行进过程中记录行进路线,实现警戒位置划线的效果。由于辐射、剧毒环境现实较难进行模拟,不利于设计的仿真和测试。因此,利用温度值代替这一类较难模拟的实际环境。在实际运用中,仅需将温度传感器替换为所需要的传感器类型,经过简单的软硬件调试后便可实现所需效果。

智能无线温度探测小车成功探测到该温度时,它将沿着具有该温度的路线行进,并记录路线,实时传输温度数据及坐标值至上位机,上位机经过运算将坐标值转换为实时轨迹显示在液晶显示屏上。智能无线温度探测小车在探测过程中遇见障碍物的情况下,能实现自主避障功能。当温度值发生突变,温度超出智能无线温度探测小车正常工作范围,智能无线温度探测小车应立即发出信号给上位机,使上位机报警。智能无线温度探测小车工作路径出现异常时,可通过上位机干预,实现遥控效果。当智能无线温度探测小车完成对该区域的探测,收回智能无线温度探测小车时,形成相应的等温线图。

2 系统方案设计

2.1 系统功能描述

利用无线通信模块实现上位机和智能无线温度探测小车的通信,设定所需温度值探测,当智能无线温度探测小车接收到上位机给定的温度值信号时,开始探测目标温度值。当

2.2 控制系统结构

智能无线温度探测小车系统组成如图1所示。

【收稿日期】2019-02-12

【基金项目】2018年春大学生创新创业训练计划项目(201810596494)。

【作者简介】李耀乾,男,广西北流人,桂林理工大学机械与控制工程学院学生,研究方向为机械设计制造及其自动化。 【通信作者】李明涛,男,桂林理工大学机械与控制工程学院电工电子实验室副主任,研究方向为网络化控制。 - 56 -

图1 系统结构框图

在空旷区域,某一点温度值往往不是固定值,会随着风向、空气湿度、热源的变化而变化,且温度传感器自身存在测量延时的情况。

因此针对某一点温度值容易上下波动的情况,本文采用卡尔曼滤波算法得到该点处的最优值,可以有效消除外界因素对温度产生的误差。当得到该点处的温度最优值时,利用温度对行进距离的函数求二阶微分值,通过二阶微分值来预测智能无线温度探测小车前方的温度值。当预测值达到设定值,智能无线温度探测小车前进到预测点处停止进行测量,如若最终稳定下的温度值为设定值,则开始执行寻迹任务,即保持位于车体两侧的温度传感器一侧在设定温度值以下,一侧位于设定温度值以上,即可完成温度寻迹的任务。

3 硬件设计

智能无线温度探测小车的硬件框图如图2所示。

图2 无线温度探测小车硬件框图

4 软件设计

4.1 通信程序设计

NRF2401模块采用标准SPI总线协议与MCU进行通信[1]。当MCU通过SPI协议将数据写入NRF2401的寄存器中,选择发射模式,即可完成数据的传送。由于NRF2401模块在工作状态下只能实现单向数据传输,因此,需要将上位机与下位机的NRF2401模块设置为一方发射,一方接收,当数据传送成功,则变换二者的收发状态。当发射或接收失败三次以上,则强制变为上位机发射,下位机接收,继续二者之间收发模式转换的循环。通信模块流程如图3所示:

开始上位机发射模式下位机接收模式发送数据是否成功接收计数加1上位机接收模式下位机发射模式是否超过三次结束

图3 通信模块系统流程图

4.2 避障模块

避障模块采用舵机搭载红外传感器的方式,该方式能够对小车前方无死角的进行障碍扫描,避免了多个固定式传感器互相干扰或存在扫描死角的情况。红外扫描示意如图4所示。

扫描范围红外传感器舵机小车前端

图4 红外扫描示意图

红外传感器的探测距离和智能小车的运动速度有关,在已知舵机的转速为V舵= 0.12sec/60°,对前方探测角度为60°的情况下,红外传感器探测距离计算公式如下:

S = 2×V车×t/sin60°

其中V车是智能小车的运动速度,S是红外传感器的探测距离。

4.3 定位方案

系统利用位移传感器和角度传感器来确定智能小车位置。转向角采用累积计算的方式,向右转向角度为负,向左转向角度为正。坐标定位示意如图5所示。

- 57 -

N+1NN-1P(xn,yn)rn2θP(xn-1,yn-1)112N-1NN+1

图5 坐标定位示意图

故智能小车坐标点和上一个坐标点的关系为:

即智能小车在任 xy 意 一==点的xy 坐++标都rr cossin可以用θθ ;

(x示。其中,x ,y 当前智能小车的横坐标和纵坐标 ,y的值 )来表,r车距离上一个点的距离。θ为行进路线和水平方向的 为智能小夹角。当智能小车运动时,根据位移传感器和角度传感器来控制智能小车的运动状态。

4.4 卡尔曼滤波

本文将系统误差模型近似视为均值为0的高斯白噪声,根据《DS18B20使用手册》可知,该型传感器的测量精度为±0.5℃,故根据此可确定预测方差R为0.25。系统误差需根据DS18B20实验时两次采样的时间间隔和电机的运行速度来确定。DS18B20采样一次温度需要经过750ms。根据实验调试将Q设为0.005符合设计条件。

卡尔曼滤波[2]计算过程如下:

(1)采集10次当前温度,利用冒泡排序法进行排序,去除最大值最小值后取平均值作为t-1时刻预测值。测量值取采样10次中的任意一个数。给定系统误差方差Q,测量误差方差R。

(2)t-1时刻的最优估计值即为这一时刻的预测值。

X(t) = X(t-1) (1)(3)计算预测协方差。

P(t) = P(t-1)+Q (2)(4)计算最优卡尔曼增益。

K=(P(t))/(p(t)+R) (3)(5)更新最优估计值。

X(t+1) = X(t)+K*(Z(t)-X(t)) (4)(6)更新协方差估计。

P(t+1) = (1-K)*P(t) (5)

- 58 -

(7)重复上述式(1)至式(4)过程,直至估计值方差趋向于0。

5 仿真测试

在卡尔曼滤波仿真测试中,按照设定值,R=0.25,Q=0.005,在Matlab环境下进行测试仿真。设定房间中真实温度为25℃,DS18B20测量误差方差为0.25,系统方差设定为0.005,对房间进行300次温度测量。卡尔曼滤波仿真测试如图6所示。

图6 卡尔曼滤波仿真测试图

6 结论

设计在硬件设计制作完成后,利用信号源、示波器等实验设备对硬件进行调试,使硬件能够正常工作。完成硬件调试后,在单片机中写入程序,进行软硬件联合调试,直至系统正常运行。

本文设计的系统能够实现上位机对下位机的温度实时监控和运动控制。在下位机进行自主温度探测时,能够有效规避障碍物,并完成温度探测的功能。该设计还存在不完善之处:(1)在野外探测时,未考虑到车体的设计导致不适宜进行复杂地形测量。(2)没有做防护装置应对智能无线温度探测小车在野外的极端环境下的运行,如湿度较大或者空气含盐量较大可能对电路造成损坏的野外环境。(3)通信模块由于经济成本原因仅能在近距离使用,未能更换实现更远距离传输的通信传感器。

【参考文献】

[1] 王小祥.浅谈NRF2401的应用[J].数字技术与应用,2017,

(8):106-107.

[2] 钱胜.基于多传感器的智能小车避障研究[D].无锡:江南大学,2014.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top