基于单片机和C#的电压监测系统设计
摘 要:
为了实现电源电压的监测,提出了一种基于单片机和
C#
的电压监测系统。该系统由电压监测装置和上位机程序两部分组成,它们之间通过串口进行通信。电压监测装置以AT89C51
和
ADC0832
为核心器件构建,实现电压采集、电压显示、电压超限报警、报警电压设置和串口通信等功能;上位机程序采取C#
编程语言构建,实现数据采集、实时电压状态显示、电压超限报警、报警电压设置、电压数据存储和历史电压数据显示等功能。系统应用与分析结果表明,设计的系统能实现电压监测的各种功能,运行效果良好。
关键词:
电压监测;单片机;
C#
;串口通信
0 引 言
电源对用电设备的正常运行具有非常重要的作用。对电源电压进行监测并在电压出现异常时进行报警或者调整至关重要。随着微机技术、通信技术和计算机软件技术的发展,电压监测系统的数字化、智能化和网络化技术发展迅速,提出了多种电压自动监测装置或系统,如智能电压监测系统终端[1]
、基于CS5463
的电力参数测试仪
[2]
、面向通信基站的蓄电池组在线监测系统[3]
、基于
LabVIEW
的过电压在线检测仪
[4]
和基于虚拟仪器的多路电压测量系统[5]
等。这些监测装置或系统能方便实现电压采集和显示等功能,但部分装置[1-3]
由于没有引入计算机控制功能,从而不具有集中监测和数据分析功能;还一些系统[4-5]尽管引入了计算机控制功能,但是测量端基于数据采集卡设计,从而减弱了测量端功能,如不能在测量端显示电压和报警等,造成系统实用性降低。
针对以上问题,本文提出了一种基于单片机和
C#
的电压监测系统。该系统的电压监测装置以单片机为核心构建,以增强测量端的功能和灵活性;上位机程序采取C#
语言构建,以增强系统功能、提高系统升级方便性和降低系统维护成本。
1 系统架构和功能
基于单片机和
C#
的电压监测系统的架构设计如图
1
所示。该架构主要由基于单片机的电压监测装置和基于C#
的上位机程序两部分组成,它们之间通过串口进行通信。
在系统中,基于单片机的电压监测装置主要实现电压采集、电压显示、电压超限报警、报警电压设置和串口通信等功能;而基于C#
的上位机程序主要实现数据采集、实时电压状态显示、电压超限报警、报警电压设置、电压数据存储和历史电压数据显示等功能。
2 基于单片机的电压监测装置设计
2.1 总体设计
根据需要实现的功能,设计电压监测装置的硬件结构如图2所示。该监测装置以
AT89C51
单片机为核心,外围电路包括时钟和复位电路、ADC0832
电压采集电路、
LM06L
液晶显示电路、声光报警电路、键盘输入电路和串口通信电路等。

电压监测装置的单片机程序主要完成如下功能:
①
电压采集:根据ADC0832
的控制逻辑控制该器件采集电压,采集的电压范围为DC 0~5V
。若采集的电压为交流电压,则需要添加整流滤波电路进行交直流转换;若采集的电压在量程之外,则需要添加分压电路进行量程转换;②
电压显示:根据
LM06L液晶的显示控制逻辑控制该器件显示采集的电压;③
电压超限报警:当采集的电压大于设置的报警电压值时,控制声光报警电路,点亮红色LED
灯和驱动蜂鸣器发声进行声光报警;
④
报警电压设置:接收键盘输入电路的信号实现报警电压的设置;
⑤
串口通信:实现与上位机程序通信,发送电压测量值和报警电压给上位机程序,同时接收上位机程序设置的报警电压。实现电压监测装置设计的关键是实现电压采集和串口通信。电压采集是电压监测装置的基本功能,而串口通信是实现监测装置计算机控制而增强系统功能的基础。下面从这两方面进行重点介绍。