利用STM32实时温度采集及无线传输设计

时间:2022-07-23 10:25:01  阅读:

摘要:随着微电子科技的发展,人们对科技的智能化要求越来越高,传统直布线测量满足不了要求,尤其是在某些环境恶劣的工业环境和户外环境,因此采用无线传输温度检测尤为必要。该文以STM32为控制核心的温度控制器的设计,在该设计中采用高精度温度NTC温度传感器对温度进行实时测量,通过STM32内部的12位AD进行转换,并且通过无线模块主机上,主机通过串口发送到电脑上位机上显示。

关键词: STM32;测温;无线传输

中图分类号:TP302 文献标识码:A 文章编号:1009-3044(2013)12-2929-05

单片机技术的发展是现代微电子技术发展的产物,它代表了智能科技的一个重要发展方向,它已经运用于各个行业领域的智能产品的制造。温度控制是现代工业控制里的一项重要技术,其影响着生产产品的质量及工业水平。同时无线技术的出现方便了人们的生产,让一些较危险的场合人们也能实时得到所需的数据,并进行控制。

1 方案论证

1.1 主控部分

方案一:采用STC89C52八位单片机实现。该单片机软件自由度大,价格便宜,但由于资源太少,需要外接AD芯片,增加了其复杂性及价格,故不适用于该系统。

方案二:采用当前比较流行的STM32为控制器,该32位控制器软件上基于意法半导体公司开发的固件库减小了开发的难度。硬件上资源丰富,内部带有12位AD及SPI通讯接口等外设,操作方便,性价比非常高

1.2 传感器部分

方案一:采用NTC温度传感器,该传感器测量范围广,操作方便,价格便宜。

方案二:采用数字温度传感器DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路,但该传感器价格较贵,软件操作繁琐。

1.3无线控制部分

该部分采用当前流行的NRF24L01,该模块采用2.4GHz频段,SPI接口通讯。操作方便,价格便宜。

综上所诉本系统传感器采用方案一,控制器采用方案二;

系统框图如图1,图2所示。

2 硬件电路设计

本系统主要外围设计包括:温度采集模块、电力控制模块、无线发射模块,声光报警电路、STM32主控电路。

2.1 温度采集模块

温度采集模块采用NTC温度传感器通过STM32的AD转换实时测温。电路如下:

该电路中D1,D2其电流钳位作用,防止峰值干扰测量数据,电容C1为了给该系统滤波,主要都是提高系统测量精度。

2.2 电力控制模块

当测得温度高于上限值时候系统自动断开220V电源,电路如下:

由于STM32输出0~3.3V的电平故通过一个光耦及一个三极管来驱动继电器的通断。

2.3无线发射模块

该模块主要采用是NRF24L01芯片。该是一款工作在 2.4~2.5GHz 世界通用 ISM 频段的单片无线收发器芯片。无线收发器包括: 频率发生器、增强型SchockBurst模式控制器、功率放大器、晶体振荡器、调制器、解调器、输出功率、频道选择和协议的设置可以通过SPI 接口进行设置 。其电流消耗极低,当工作在发射模式下发射功率为-6dBm 时电流消耗为9.0mA ,接收模式时为12.3mA。掉电模式和待机模式下电流消耗更低。工作原理如下:

发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。 接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1,其电路如下:

该无线模块体积小,价格便宜,传输距离大概在三四十米左右。

2.4声光报警电路

该报警器采用蜂鸣器与LED实现报警,主要为了当温度超过上限值时候起报警作用,其电路如下:

2.5 STM32主控电路

2.5.1 STM32F103RBT6是基于Corte-M3内核的微控制器

工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K 字节的SRAM),丰富的增强I/O 端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和1个PWM定时器,还包含标准和先进的通信接口:多达2个I 2C接口和SPI接口、3个USART接口、一个USB接口和一个CAN接口。

2.5.2特性

Cortex-M3 处理器,最高 72MHz工作频率;

存储器:128K字节的程序存储器(ROM);20K 字节的SRAM ;

时钟:内嵌出厂调校的8MHz 和40KHz 的RC振荡器,并且 32kHz RTC 振荡器也带校准功能 ;

复位:上电/ 断电复位(POR/PDR) ;

电源管理:2.0—3.6 伏供电和 I/O 引脚,可编程电压检测(PVD) ;

低功耗:可设置睡眠、停机和待机等三种模式;

AD:2 个12 位的模数转换器,1us 转换时间(多达 16 个输入通道),转换范围是0 至3.6V ;双采样和保持功能,内部带温度传感器;

DMA:7 通道DMA控制器,支持的外设有定时器、ADC、SPI、I2C 和USART ;

I/O 端口:51 个I/O 口,所有的 I/O 口都可以映像到16 个外部中断;几乎所有 I/O 口可以容忍5V信号 ;

定时器 :3 个16位定时器(每个定时器有多达4 个用于输入捕获/ 输出比较/PWM 或脉冲计数的通道和量编码器输入) ,1 个16位带死区控制和紧急刹车,用于电机控制的PWM 高级控制定时器 ,2 个看门狗定时器(独立的和窗口型的) ;

系统时间定时器:24位自减计数器。

3 软件设计

3.1 程序结构分析

该系统分为两块程序:一为主机采集数据并把数据发送给从机并控制电力系统通断,一为从机接受主机发送的温度数据并与计算机进行串口通讯。

3.2 功能代码(略)

3.3 组装后实物

4 结论

本设计是温度采集与无线通讯技术及控制方面的一应用案例。本设计以STM32为核心,采用NTC温度传感器、NRF24L01无线模块、继电器等进行操作。整个系统同分为两块:一块为主机控制部分,把采集的数据发送出去并实现控制操作;另一块为从机与电脑上位机通讯部分,接收主机发送过来的温度数据,并上传至电脑上,同时通过电脑发送数据操作主机控制部分。

该系统在室内可实现30米左右的无线通讯(可通过改进天线设计增加通讯距离),因此该系统可实现短距离的环境温度检测及控制,对于环境恶劣的场合非常实用。

参考文献:

[1] 意法半导体技术支持. STM32F10xxx参考手册.2010.

[2] 意法半导体技术支持. 32位基ARM微控制器固件函数库. 2010.

[3] 金发庆.传感器技术与应用[M].北京:机械工业出版社,2002.

[4] 周林.数据采集与分析技术[M].西安:电子科技大学出版社,2005.

[5] 李文忠,段朝玉.短距离无线数据通信[M].北京:航空航天大学出版社,2006.

[6] 谭浩强. C程序设计[M].北京:清华大学出版社, 1999 .

[7] 杨帮文.新型继电器实用手册[M]. 北京:人民邮电出版社,2004.

推荐访问:采集 实时 无线传输 温度 利用

版权所有:汇朗范文网 2010-2024 未经授权禁止复制或建立镜像[汇朗范文网]所有资源完全免费共享

Powered by 汇朗范文网 © All Rights Reserved.。鲁ICP备12023014号