基于STM32和ZigBee的UPS监控系统设计
2020-12-09金嘉炜
金嘉炜
摘要:随着计算机技术、通信技术、网络技术的发展,各个领域要保障计算机信息网络系统的安全、可靠运行,就离不开不间断供电电源(UPS)。本文基于STM32单片机和ZigBee技术,运用传感器实时监测UPS系统电池电压、电流、温度等参数[2],并通过ZigBee无线网络将数据传输到上位机,实现UPS充电电压、电流、温度以及充电时间等方面的实时监控。
关键词:STM32;ZigBee;UPS;电池监控系统
Abstract: with the development of computer technology, communication technology and network technology, UPS is indispensable to ensure the safe and reliable operation of computer information network system in various fields. Based on STM32 Single-Chip Microcomputer and ZigBee technology, this paper uses sensors to monitor the battery voltage, current, temperature and other parameters of UPS system in real time, and transmits the data to the upper computer through ZigBee wireless network to realize the real-time monitoring of UPS charging voltage, current, temperature and charging time.
Keywords: STM32; ZigBee; UPS; battery monitoring system
0 引言
UPS即不间断电源,是一种含有储能装置,以逆变器为主要元件、稳压稳频输出的电源保护设备。主要用于单台计算机、计算机网络系统或其他电力电子设备提供不间断的电力供应。其基本原理是:市电输入经整流器将交流变成直流,一方面给蓄电池组充电,另一方面为逆变器提供能量,再将直流电变成交流电。当发生故障时,另一路备用电源(旁路电源)经过转换开关实现向负载供电。
随着现代通信技术,计算机网络技术,物联网技术,大数据分析在实践中的逐步应用,今后的UPS电源将向着智能化、网络化的方向发展。在UPS电源的使用中,得到UPS电池的实时使用情况或数据能有助于更好的管理UPS系统,确保供电的稳定与可靠。本文基于STM32单片机和ZigBee技术[1]的UPS电池监控系统的设计[2],保证UPS电池系统安全可靠的运行,具有一定的实际应用价值。
1 设计方案
UPS系统长时间运行,会导致产品温度升高,电池老化等问题。因此,需要设计本系统实时监测UPS的电压、电流、温度以及充电时长等参数,以确保其安全可靠的运行。如图1所示为设计的系统框图[3]。在系统启动后,各个终端自动组网。每个UPS作为一个节点,传感器实时采集UPS电池的各类信息,通过串口传递到STM32F407微处理器,处理器将环境数据实时压缩后通过ZigBee网络传输给PC上位机。使系统具有实时信息监测、显示运行状态、储存历史数据,警报等功能。
2 硬件设计
整个系统的硬件以ZigBee模块作为系统的核心,采用CC2530芯片。CC2530 结合了领先的RF收发器的优良性能,业界标准的增强型8051CPU,系统内可编程闪存。CC2530具有多种不同的运行模式,使得它尤其适应超低功耗要求的系统。此外,不同运行模式之间的转换时间较短,进一步确保了低能耗。CC2530结合了业界领先的黄金单元ZigBee协议栈,提供了一个强大和完整的ZigBee解决方案[2]。进行多节点组网时,先对本节点所用的硬件及协议栈的初始化,然后开始搜索指定信道上的网络协调器,并发出连接请求。建立连接成功后,测温节点将得到一个 16位的网络短地址,通过竞争取得信道使用权,向协调节点发送数据。
在本系统中,由于ZigBee传输信道较窄,在多个终端节点采集节点同时进行数据采集时,需要对采集到的数据进行压缩后再传输,因此采用STM32F407微处理器完成数据的压缩处理、A/D转换以及以太网模块的控制。STM32F407是基于Cortex-M4内核的微处理器,工作频率为168MHz,片上包含1MB程序存储器,192+4KB的RAM,具有超低动态功耗。在 VBAT模式下,典型RTC小于1A,适合低电压或电池供电的应用,仅需少量外围电路即可正常工作。
3 软件设计
本系统软件程序的设计采用模块化方式,包括终端采集节点程序设计、基于CC2530的程序设计、上位机程序设计。
3.1 终端采集节点程序设计
终端采集节點由UPS电池、各类传感器、STM32F407以及ZigBee模块组成。其功能是利用传感器把UPS电池运行状态的各类信息用模拟量代换,STM32F407运行ADC程序[4],将模拟量转换为数字量并通过ZigBee模块向外发送数据。终端采集节点程序流程图如图2所示。
3.2 基于CC2530的程序设计
ZigBee_CC2530为本系统信息的发送和接收单元。首先需给协调器供电,搭建新的网络并进行管理。协调器节点上电后,首先进行能量检测,如果没有网络存在,那么就配置网络协调器,然后选择信道、分配PNA ID和短地址,初始化网络完成。若发现已存在网络,发送入网请求。然后,各个ZigBee节点按照节点本身功能的需要选择性来搭建和加入网络。ZigBee协议栈提供相应的函数进行数据的收发[5]。当数据成功发送给协调节点后该节点立即进入睡眠状态,最大程度地降低功耗,延长节点电池使用时间[6]。ZigBee节点程序流程图如图3所示。
3.3 上位机程序设计
上位机软件主要功能包括系统管理、数据通信、信息显示、UPS设置、数据管理。上位机从下位机读取电池组信息,包括每个单体电池的电压、电流、温度以及报警保护信息等。用户可以实时的查看当前每个电源的电池详细状况。UPS上位机能够设置系统运行的过程参数,这些参数包括高压报警上限、低压报警下限、电流过载上限设置等等,以满足对UPS电源状态的监控。数据管理模块主要负责将监控到的UPS电源状态信息存储到数据库中,并提供访问查询历史数据功能。
4 结语
本文分析了基于STM32和ZigBee的UPS电池监控系统设计要求和功能模块,利用CC2530模块、STM32单片机和传感器,实现UPS电池使用情况的实时显示和安全管理,得到的大量数据可以通过统计分析,优化UPS系统的使用和分配,具有一定的实际应用价值。促进UPS电池监控系统朝着智能化、自动化、网络化方向发展。
参考文献
[1]王宜怀,刘晓升.嵌入式应用技术基础教程[M].北京:清华大学出版社,2005.
[2]王一各,董敏,田毅.基于LabVIEW和ZigBee的燃料电池监控系统设计[J].工业仪表与自动化装置,2019,(6):40-44.
[3]刘伟.基于STM32和ZigBee的实训室在线管理系统[J].电子测试,2019,(15):43-44.
[4]高天宇,李焕良,邵立福,王鹏飞.基于单片机与ZigBee的轮式装载机载荷数据采集系统[J].仪表技术与传感器,2016,(10):69-72.
[5]姜绍君,王忠健.基于CC2530的短距离无线通信系统的实现[J].物联网技术,2018,(10):29-30.
[6]史海昱.基于ZigBee的煤矿高压开关柜无线监测系统设计[J].煤,2020,(1):59-61.