ADuC812在三相电能测量系统中的应用
发布时间:2008/6/2 0:00:00 访问次数:595
1 aduc812简介
aduc812是全集成的高性能的12位数据采集系统,他在单个芯片内集成了8通道、12位能自校准adc和2个12位dac与8051兼容的mcu。
aduc812片内带有8kb的闪速/电擦除(flash/ee)程序存储器、640b的闪速/电擦除数据存储器以及256b的sram,还能外接最多16mb的外部数据存储器和最多64kb的外部程序存储器。a/d转换的速度最高可以达到200kb/s(12mhz晶振)。aduc812自带2.5v电压基准;8通道高精度12badc,2个12b电压输出dac。在外围接口上面,aduc812带有32条可编程的i/o线,包括uart串行口i/o,izc兼容口spi串行i/o。控制转换器的静态cpu标准、等待和掉电模式等特性,可用于低功耗的应用场合,该芯片采用52脚扁平四方形塑封(dqfp)。
aduc812区别于51系列单片机的一个显著特征就是能加载程序代码给片内在线可编程闪速/电擦除程序存储器。这种在线代码加载利用uart串行口实现。串行加载允许用户对在线连接的目标系统重新编程,因而不必使用其他的外部编程器。我们利用quickstart开发系统工具,就可以通过串口从上位机直接把程序代码写入aduc812的程序存储器中,实现在系统编程,加快开发进程。
2 系统硬件设计
采用aduc812设计的三相电能测量系统硬件框图如图1所示。在此电能测量系统中,aduc812内部转换器接受的模拟电压的输入范围为0~十vref,故需设计6路直流电平调整电路,将满度220v电压,5a电流对应地转换为0.8vref,这样和标准表进行比对时就可以达到满度120%的要求。利用aduc812内部12badc分别对电压、电流进行采样,将输入信号锁相倍频4倍作为a/d转换启动信号,以保证每周波精确采样4点。实时计算电压u、电流/和功率户并计算电能u/的累加值,每当电能值累加0.01 kw时通过p3.4口送出一个脉冲,以作校验使用。电能值掉电时保存在aduc812内部闪速/电擦除数据存储器中,作为下次开机电能累加的初始值。
由于aduc812内只有一个a/d转换器,故对6路信号的采样要通过内部的模拟开关进行切换。为保证信号采集的实时性,对6路信号的转换是这样实现的:第1路信号由锁相倍频电路输人23管脚convst启动adc转换,另外5路信号的adc转换由aduc812内部定时器2的溢出位用作起始触发脉冲输入依次启动,并尽量提高采样频率(采用10khz),让信号间的延时最小。
3 电力参数的算法
在该三相电能测量系统中,采用aduc812作cpu,将电网频率4倍频,以确保每周波采样4点,并实时计算每周波内各相电压有效值u,电流有效值i,三相总有功以及各相有功功率值p、无功功率q、功率因数cosφ和电能w。其各项计算公式见式(1)~式(6)。总的有功功率、无功功率和电能值为三相的总和。对于功率因数,为了方便软件编程的实现,利用式(6)进行计算。式中n为每周波的采样点数,u,i为ad采集的电压、电流的瞬时值。
4 系统软件设计
系统软件要完成对采集数据的处理和各电力参数的计算,并将结果送数码管显示。包括主程序、adc中断服务子程序,程序用c语言编写,大大提高了开发效率。
主程序流程图如图2所示。首先进行初始化,包括关中断、定义变量和常数、对各变量置初始值、设置外部中断1和外部管脚起动ad模式。完成初始化工作后,读出上次开机运行记录的电能值,开中
1 aduc812简介
aduc812是全集成的高性能的12位数据采集系统,他在单个芯片内集成了8通道、12位能自校准adc和2个12位dac与8051兼容的mcu。
aduc812片内带有8kb的闪速/电擦除(flash/ee)程序存储器、640b的闪速/电擦除数据存储器以及256b的sram,还能外接最多16mb的外部数据存储器和最多64kb的外部程序存储器。a/d转换的速度最高可以达到200kb/s(12mhz晶振)。aduc812自带2.5v电压基准;8通道高精度12badc,2个12b电压输出dac。在外围接口上面,aduc812带有32条可编程的i/o线,包括uart串行口i/o,izc兼容口spi串行i/o。控制转换器的静态cpu标准、等待和掉电模式等特性,可用于低功耗的应用场合,该芯片采用52脚扁平四方形塑封(dqfp)。
aduc812区别于51系列单片机的一个显著特征就是能加载程序代码给片内在线可编程闪速/电擦除程序存储器。这种在线代码加载利用uart串行口实现。串行加载允许用户对在线连接的目标系统重新编程,因而不必使用其他的外部编程器。我们利用quickstart开发系统工具,就可以通过串口从上位机直接把程序代码写入aduc812的程序存储器中,实现在系统编程,加快开发进程。
2 系统硬件设计
采用aduc812设计的三相电能测量系统硬件框图如图1所示。在此电能测量系统中,aduc812内部转换器接受的模拟电压的输入范围为0~十vref,故需设计6路直流电平调整电路,将满度220v电压,5a电流对应地转换为0.8vref,这样和标准表进行比对时就可以达到满度120%的要求。利用aduc812内部12badc分别对电压、电流进行采样,将输入信号锁相倍频4倍作为a/d转换启动信号,以保证每周波精确采样4点。实时计算电压u、电流/和功率户并计算电能u/的累加值,每当电能值累加0.01 kw时通过p3.4口送出一个脉冲,以作校验使用。电能值掉电时保存在aduc812内部闪速/电擦除数据存储器中,作为下次开机电能累加的初始值。
由于aduc812内只有一个a/d转换器,故对6路信号的采样要通过内部的模拟开关进行切换。为保证信号采集的实时性,对6路信号的转换是这样实现的:第1路信号由锁相倍频电路输人23管脚convst启动adc转换,另外5路信号的adc转换由aduc812内部定时器2的溢出位用作起始触发脉冲输入依次启动,并尽量提高采样频率(采用10khz),让信号间的延时最小。
3 电力参数的算法
在该三相电能测量系统中,采用aduc812作cpu,将电网频率4倍频,以确保每周波采样4点,并实时计算每周波内各相电压有效值u,电流有效值i,三相总有功以及各相有功功率值p、无功功率q、功率因数cosφ和电能w。其各项计算公式见式(1)~式(6)。总的有功功率、无功功率和电能值为三相的总和。对于功率因数,为了方便软件编程的实现,利用式(6)进行计算。式中n为每周波的采样点数,u,i为ad采集的电压、电流的瞬时值。
4 系统软件设计
系统软件要完成对采集数据的处理和各电力参数的计算,并将结果送数码管显示。包括主程序、adc中断服务子程序,程序用c语言编写,大大提高了开发效率。
主程序流程图如图2所示。首先进行初始化,包括关中断、定义变量和常数、对各变量置初始值、设置外部中断1和外部管脚起动ad模式。完成初始化工作后,读出上次开机运行记录的电能值,开中