基于STM32F0xx的智能温湿度控制器的设计
李曙光刘逸凡张旭周瑞敏
(河南平高电气股份有限公司,河南 平顶山 467001)
【摘要】介绍了一种基于STM32F0xx的智能温湿度控制器的设计方法及功能实现;该控制器可实现控制柜内温湿度控制和控制柜内外温湿度显示。
教育期刊网 http://www.jyqkw.com
关键词 STM32F0xx;温湿度控制;智能化;RS-485
Intelligent Temperature and Humidity Controller Design Based on STM32F0xx
LI Shu-guangLIU Yi-fanZHANG XuZHOU Rui-min
(Henan Pinggao Eletric Co.,Ltd., Pingdingshan Henan 467001, China)
【Abstract】Based on the STM32F0xx, the author introduces a kind of intelligent temperature and humidity controller design method and function implementation. The controller can realize temperature and humidity control inside power supply control cabinet and temperature and humidity auxiliary display outside the cabinet.
【Key words】STM32F0xx; Temperature and Humidity control; Intelligent; RS-485
0引言
在电力系统中,供电可靠性要求很高。汇控柜、开关柜等供配电设备工作环境的温度、湿度是影响设备安全可靠运行的重要因素。高温会加速电子元器件老化;低温、潮湿环境会使设备表面凝露,降低绝缘性能,增加了爬电、闪络等事故发生的可能性[1]。
本文介绍了一种基于STM32F0xx的智能温湿度控制器的硬件设计及软件实现方法,该控制器可实现控制柜内温湿度控制和控制柜外温湿度显示;结合RS-485总线技术和上位机软件,可实现控制器定值的远程设定、温湿度数据上传及远程控制,满足设备智能化及网络化的发展需求。
1硬件电路设计
本控制器以STM32F030F4为核心控制单元,系统外扩串行EEPROM为24C02,容量256字节,地址范围为0x0000~0x00FF,能够满足系统参数的实时存取;控制器包含两个4位数码管、5个状态指示LED、四个设置按键,具有手动启停功能;采用AM2301数字温湿度传感器,可同时实现对环境温度、湿度的控制;结合RS-485总线技术和上位机软件,可实现控制器定值的远程设定、温湿度数据上传及远程控制。
温湿度控制器硬件电路总体框架如图1所示:
1.1主控制器设计
图2所示为STM32F030F4外围电路,该MCU内核为ARM32-bitCortex-M0,工作电源电压2.4V~3.6V,最高工作温度85℃,最低工作温度-40℃,20个引脚,15个I/O输入输出端口,接口类型包含I2C、SPI、UART等,CPU最高频率48MHz,16K字节Flash,4K字节RAM,5个16位定时器,1个12位ADC,16个A/D通道[2]。
1.2数字温湿度采集模块
AM2301湿敏电容数字温湿度模块是一款含有已校准数字信号输出的温湿度复合传感器,采用单总线接口,具有体积小,功耗低等优点。
由于AM2301采用单总线通信方式,接受指令和输出温湿度数据通过一根线完成,为了提高系统的抗干扰性,AM2301与MCU之间采用TLP118高速光耦合器隔离,如图3所示。其中V1、V2为肖特基二极管。
1.3数字温湿度显示模块
控制器采用TM1638驱动控制两排共阴极数码管,TM1638管脚功能如表1所示:
控制器具有上下两排4位共阴极数码管,上排数码管第一位显示温度正负、后3位显示温度值,下排数码管后3位显示湿度值,如果两路温湿度传感器均启用,则每隔3秒,切换温湿度测量通道,轮流显示。
控制器设置手动/自动按键、设置按键、减少按键、增加按键四个按键,分别对应芯片引脚K1,K2和KS1,KS2组成的键矩阵。键扫数据储存地址如图4所示。
装置共设置9个参数设置界面,显示界面与参数对应关系如表2所示。
按下设置按键即可进入参数设置界面,通过加、减键调整值的大小,调整好参数值再次按下设置键保存,若调整参数值后十秒内没有按下设置键,则不保存设定值并返回温湿度显示界面。
1.4温湿度控制策略
结合工程实际需求和应用,制定了一下温湿度控制策略。
启动排风:当系统获取的环境温度高于温度控制回路1启控值,启动排风。
停止排风:当系统获取的环境温度低于温度控制回路1启控值与温度控制回路1停控回差值之差时,停止排风。
启动加热:当系统获取的环境温度低于温度控制回路2启控值时,启动加热;当系统获得的环境湿度大于湿度控制回路2启控值且环境温度不高于温度控制回路1启控值,启动加热。
停止加热:当系统获得的环境温度大于温度控制回路2启控值与温度控制回路2停控回差值之和时,停止加热。
2软件设计方法
系统软件主函数主要是由软件抗干扰模块,系统初始化模块,主循环模块组成。图5 为主函数流程图。
3Modbus通信
结合RS-485总线技术和上位机软件,可实现温湿度采集数据及设备状态参数的远传,通信接口为2线制半双工RS-485接口,波特率为9.6Kbps,8位数据位,1位停止位,无校验位和无流控。
该装置支持ModbusRTU协议的04和06命令。04(0x04)为读输入寄存器功能码,使用该功能码能够从一个远程设备中读取1~125个连续输入寄存器。06(0x06)为写单个寄存器功能码,使用该功能码能够在一个远程设备中写单个保持寄存器。同时,ModbusRTU协议还支持差错码0x86、异常码01(功能码错误)、异常码02(输出地址错误)、异常码03(输出数据错误)和异常码04(从设备忙),采用CRC校验方式。
Modbus寄存器状态地址分配如表3所示。
表3Modbus寄存器状态地址分配表
4结束语
在实际应用中,通过温湿度传感器采集汇控柜、开关柜等供配电设备柜体内外的温湿度数据,经MCU处理后输出继电器控制信号,再通过继电器加热器和风扇启停。
实践表明,以此方法设计的智能温湿度控制器方便应用,抗电磁干扰性能强,结合RS-485总线技术和上位机软件可方便的实现柜体内温湿度控制及远程查看。
教育期刊网 http://www.jyqkw.com
参考文献
[4]方严,王晓明.一种智能温湿度控制器的设计[J].器件与设备,2006.
[2]STM32F030技术手册[Z].瑞士意法半导体(ST)公司,2013,12.
[3]LED驱动控制专用电路TM1638[Z].深圳市天微电子有限公司,2010.
[责任编辑:汤静]