基于MC9S12XS128的多路交流电压电流采集系统

时间:2022-06-24 08:41:58

基于MC9S12XS128的多路交流电压电流采集系统

摘 要 电能作为一种广泛的能源,使用于民用和工业领域,电网的供电质量好坏,直接影响民众的生活质量和企业的生产效率。为监控使用的交流电的实时情况,需对交流电的电压和电流进行测量、显示,为了实现多路的测量,我们设计了该款多路交流采集系统。

【关键词】MC9S12XS128 多路交流电压电流采集 均方根算法 霍尔互感器

1 电力交流采样系统设计方案

1.1 总体方案

电力信号数据算法主要有两种,直流采样算法,交流采样算法,而交流采样算法又分为半周期积分算法、均方根算法、傅里叶算法等,交流采铀惴ㄔ怂懔看螅占用单片机资源较多,而本设计主要针对16路交流电的电压和电流采样数据处理,为了降低对单片机资源的占用,采用直流采样算法,而为了达到电压采集数量和电流采集数量任意组合性,优化了电压和电流的前端采集模块,实现了电压采集模块和电流采集模块互换后,对信号处理影响很小。系统硬件电路由电源电路、信号采集电路、信号变换电路、信号处理电路、数据传输电路等组成,如图1所示。

电源电路将+12V电源降压到+5V,信号采集电路采集交流信号,信号变换电路将采集的信号进行调整,信号处理电路将调整好的信号进行A/D采样并进行运算处理,数据传输电路将处理好的数据向外传输。数据的采样和处理有MC9S12XS128来完成。

1.2 硬件电路设计方案

1.2.1 单片机模块

单片机是该系统的核心单元,本设计采用飞思卡尔MC9S12XS128,该款单片机带有16路12位/10位/8位的A/D采样模块,该模块中含有采样缓冲器、放大器,具有可编程采样时间,转换结束标志和转换完成中断,外部触发控制,可选择单次转换模式或者连续转换模式等特性。其采样精度可根据需要进行设置,数字量转化时间可以根据需要进行编程设置。

1.2.2 信号采集电路与信号变换电路

由于220V交流电属于强电,因此设计中采用霍尔互感器采集电力线路中的信号。根据采集的信号不同,分别采用电流型电压互感器和电流互感器,将220V交流电转变成毫安级的交流信号,提高的了设计的安全性。互感器绝缘电阻常态时大于1000MΩ,工作频率范围20Hz~20KHz,抗电强度可承受工频1000V/分钟,相移小于5°,额定电流不大于20mA。

由于本系统设计为多路电压电流采集系统,需对信号采集电路以及信号转换电路进行优化,以便根据不同需求,可以任意选择前端采集电路为电压采集电路或者电流采集电路,通过图2和图3分析,两种信号转换电路可以统一采用一种电路,只需将转换电路的输入信号设定为统一的要求,即通过选择更换不同的互感器及相应电路,就可以满足电压或者电流的采集,在后续的生产使用中,无需对单片机的程序进行修改即可使用,降低了前期的研发周期和后期的维护成本。

U1A放大器组成的是半波整流电路,将交流信号的正电压部分转换负成电压,U2放大器组成的是加法积分电路,将交流信号转换成直流信号。

1.2.3 电源电路

本系统的电源由外部提供±12V电源,而单片机的主要供电电压为+5V,因此,需要将+12V电源转换为+5V电源。在设计中,为了降低功耗,减少电源芯片的发热量,在设计中放弃了简单的三端稳压块的降压电路,而是采用DC-DC电路,提高了转换效率,提高电源芯片的使用寿命和可靠性。见图4。

该电路转换频率为380KHz,转换效率大于80%,输出最大电流1.5A(连续输出),纹波小于30mV,满足系统对+5V电压的需求。

2 系统软件设计

2.1 软件整体设计

程序主要由以下几个模块组成:单片机初始化模块,两个定时器中断,一个外部事件中断,串口通信模块,数据处理模块。其中初始化模块又包括:锁相环PLL,高速计数模块脉冲累加,定时器PIT,A/D,普通I/O口,串口发送SCI等。软件实现的主要功能包括:

(1)通过MC9S12XS128的定时器1与A/D转换模块实现模数转换,对转变后的直流信号采集并存储到寄存器中。

(2)利用算术平均根算法实现MCU对数据的处理。

(3)控制串口与外部中断实现数据传输和交互显示。

主程序流程图如图5所示。

2.2 数据采集和处理程序设计

本系统采集的信号是直流电平,其采样周期的选择与算法的选择有密切的联系,采样的周期越小,测量结果越接近真实值,越能够快速反应交流电压或者交流电流变化的情况。

数据采集流程图如图6所示。

2.2.1 A/D数据采集设计

本系统采用算术平均根算法进行参数计算,交流电的频率为50Hz,周期为20ms,采样周期10us,采用读转换完成标志位的方式读取转换数据。A/D初始化设置如下:

ATD0DIEN = 0x00;//禁止数字输入功能

ATD0CTL0 = 0x0F;//模拟输入通道为16

ATD0CTL2 = 0x40;//A/D模块快速清零,禁止外部触发,禁止中断

ATD0CTL1 = 0x40;//A/D分辨率选择12位,且采样前不放电

ATD0CTL3 = 0x80;A/D转换结果右对齐,每个序列16个通道,非FIFO模式

ATD0CTL4 = 0x07;//12位精度,AD模块时钟频率为2MHz

ATD0CTL5 = 0x30;//从通道0开始多通道连续采样,同时启动A/D转换序列

while(!ATD0STAT0_SCF);//等待A/D转换完成

2.2.2 串口数据传输

本系统由于采集的信号多达16路,设计中采用RS485通信方式将处理的数据传送到上位机或者工业显示器上。串口发送接收数据如下:

void SCI1_send(unsigned char data)

{

while(!SCI1SR1_TDRE); //等待发送数据寄存器(缓冲器)为空

SCI1DRL = data;

}

unsigned char SCI1_receive(void)

{

while(!SCI1SR1_RDRF); //等待发送数据寄存器满

return(SCI1DRL);

}

3 结语

本产品应用在对电力参数要求不高而监控的路数比较多的场合,客户实际使用中,对产品的所测参数以及稳定性给予了高度的认可,目前,已在通信机房、指挥车等场所进行应用。

上一篇:激光的应用与发展 下一篇:戏耍五禽,活跃汉语国际教育文化课堂