摘 要: 本文介绍了一种基于新型单片机ADμC812的电力监测子系统。其采用交流采样方法进行数据采样,并计算电压、电流、有功功率、功率因数等电力参数。实践证明,该系统实现简单,参数测量精确度较高,实用性较强。
关键词: ADμC812单片机 交流采样方法 电力监测子系统
一 引言
随着电力系统的快速发展,电网容量的扩大使其结构更加复杂,实时监控、调度的自动化显得尤为重要 。而在电力调度自动化系统中,电力参数的测量是最基本的功能。如何快速、准确地采集各种电力参数是在电力调度自动化系统中首先要解决的问题。
美国模拟器件(AD)公司最新推出了ADμC812单片机,其内包含了高性能的8路12位ADC采集系统、2路12位DAC、80C52MCU内核、8KB的闪速/电可擦除程序存储器、640字节的闪速/电可擦除数据存储器、看门狗定时器、电源监视器、I2C兼容的SPI和标准的UART串行I/O模块及灵活的电源管理方案等,是一个真正的单片在系统可编程全智能数据采集系统。由于ADμC812具有足够的片内资源、I/O口以及外围设备,因此,可方便地用于各种测控系统中。
本系统利用ADμC812 单片机构成电力监测子系统,采用交流采样方法进行数据采样,并计算获得电压、电流、有功功率、功率因数等电力参数,通过RS232标准接口与上位机(即电力调度自动化系统)通信。一台上位机可与多个监测子系统连接,则构成了多路分布式巡检系统,可对输入量进行全面及时准确的判断和调度,并进行数据显示、打印、制表和报警。由于篇幅限制,本文着重介绍了交流采样方法和ADμC812电力监测子系统的软、硬件设计方法。
二 交流采样原理
电压有效值计算公式为:
![]()
将其离散化,以一个周期内采样到的有限个电压数字量来取代一个周期内连续变
化的电压函数值,则有:
![]()
式中: Tm为相邻两次采样的时间间隔; m为第m-1个时间间隔的电压采样瞬时值;N为一个周期的采样点数。
因为相邻两次采样的时间间隔相等,即 Tm为常数,则有:
将其带入(2)式,得:

式(3)就是根据一个周期内各采样瞬时值及每个周期采样点数来计算电压信号有效值的公式。
同理,计算电流有效值的公式如下
计算一相有功功率的公式为:
将其离散化得: 
式中im、m为同一时刻的电流、电压采样值。
功率因数可由下式求得:
![]()
三 系统硬件组成
本文设计的电力监测子系统利用ADμC812单片机的8路采集功能分别对电网的三相电压电流进行检测,采用交流采样方法进行数据采样,并计算获得电压、电流、有功功率、功率因数等电力参数,再利用ADμC812单片机的串行口通过RS232标准接口与上位机通信。电力监测子系统的整体框图如图1所示。
1.ADμC812采集子系统的硬件组成及控制命令格式
ADμC812 采集子系统由模拟多路开关、温度传感器、采样保持电路(T/H)、12位逐次逼近ADC、+2.5V参考电压和ADC转换校正控制逻辑等组成。其模拟输入端的电压有效输入范围与参考电压有关。当采用内部参考电压时,其有效输入范围为0~+2.5V;当采用外部参考电压时,外部参考电压应从Vref端引入,其合适的范围为+2.3~+5V,相应的模拟输入端的电压范围为0V-Vref。当信号输入为双极性时,必须加入电平位移网络电路,使其变为单极性信号输入,如图1所示。ADμC812可工作在-40℃~+85℃范围,有3V和5V两种供电工作方式。ADC模块包含了5s、8通道、12位、单电源A/D转换器。其中,A/D转换器由基于电容DAC的常规逐次逼近转换器组成,可保证±1LSB的差分非线性和±1/2LSB的积分非线性。

为适应不同信号源的实际需求,ADμC812片内ADC模块内的所有部件都能方便地通过3个SFR寄存器来设置。各寄存器控制命令格式如下:
1)ADCCON1—控制转换和采集时间,格式如下:
![]()
MD1 MD0:控制ADC的工作模式。为0 0时,ADC掉电;为0.1时,ADC正常工作;为1 0时,若不执行转换周期,则ADC掉电;为1 1时,若不执行转换周期,则ADC待机。
CK1 CK0:选择送入ADC时钟的主时钟分频系数。可选的分频比为1/2/4/8,一次ADC转换需要16个ADC时钟加上所选数目的采集时钟。
AQ1 AQ0:选择采样/保持电路采集输入信号的时间。可选的采样时钟数为1/2/4/8个ADC时钟。
T2C:当该位被置1时,将由定时器2的溢出位来启动ADC转换。
EXC:当该位被置1时,将由外部引脚CONVST的低电平来启动ADC转换。
2)ADCCON2—控制ADC通道选择和转换模式,格式如下:
![]()
ADCI:ADC中断标志位。ADC转换结束时由硬件置位;当MCU响应中断服务子程序时由硬件清除。
DMA:DMA模式使能位。置1时启动ADC的DMA模式进行工作。
CCONV:连续转换位。置1时ADC进入连续转换模式。
SCONV:单次转换位。置1时开始单个转换周期;转换结束时SCONV位自动复位至0。
CS3 CS2 CS1 CS0:通道选择位。0-7对应8个模拟输入通道,8为温度传感器,15为停止DMA工作。
3)ADCCON3—ADC状态指示,格式如下:

BUSY:ADC忙状态位。是只读状态位,为1时表示ADC正处在转换周期或校准周期中。
其余位:保留。
2.数据采集方法
系统采样时,在一个信号周期内对一相电压、电流等时间间隔准确采样16 个点,并把结果存入片外数据存储器相应的存储页内(A相电压:DPH=60H,A相电流:DPH=61H;B相电压:DPH=62H,B相电流:DPH= 63H;C相电压:DPH=64H,C相电流:DPH=65H)。具体方法为:同步信号经LM339电压比较器变成方波后送到单片机的P3.2脚(外部中断0),定时器T0选择为门控状态,即在方波保持高电平时允许T0工作。利用AD C812的片内定时器和ADC的单次转换功能来实现定时采样的目的。定时器T0定时0.625ms,则采集16点数据需要10ms(即50Hz方波信号的一半)。三相全采集完后,对采集到的数据进行处理并上传送给上位机。

四 软件设计
ADμC812作为电力监测子系统的控制器主要完成多路数据的采集及数据处理、与上位机通信等功能。本文给出了系统主程序、串行口中断服务程序及系统的数据采集子程序(即定时器中断服务程序)流程图,如图2和图3所示。
上位机在接收到数据后可对数据进行一系列处理,并在显示数据的同时报警。限于篇幅,这一部分在此不再介绍。

