使用MCU内置序列发生器控制的交流信号采样
2020-06-06曹融,张敏,杜峰,张韬
曹 融,张 敏,杜 峰,张 韬
(1.西安工程大学 机电工程学院,西安 710048;2.国网陕西省电力公司 西安供电公司,西安 710032)
0 引言
随着智能电网技术的快速发展,变电站一次设备智能化项目的研究也在不断深入[1-2]。变电站一次设备智能化的核心在于相应智能组件的设计开发[3-4],但是智能组件存在运行环境恶劣、电磁干扰严重等诸多不利因素,导致变电站一次设备智能化相对变电站智能化的其它项目处于滞后状态[5]。隔离开关控制器是一种具有数据采集,开关分合控制,信息互通和安全检测等功能的智能组件,若需要对控制开关动作的三相四线交流电机进行控制,进而需要对其交流信号进行PQIU全量采样,以便实现电机故障保护和故障录波分析[6]。这里主要就该控制器交流信号采样的实现技术进行介绍。交流信号采样是一种成熟的技术,其关键在于[7]:①同相U、I需要同时采样,保证P、Q计算的精度;②按电网周波同步采样,确保PQIU的积分计算区间与电网周波一致。为了达到上述目的,一般都采用多个ADC或多通道同时AD采样系统,以及同步采样方法来实现交流信号采样[8-9]。所设计的控制器采用了Stellaris®LM3S9D92处理器作为CPU[10],该处理器内部集成了两路12位ADC转换器,使用采样序列发生器控制ADC采样,性能十分优越。由于ADC模数转换器的成本较高,如果能使用该处理器内置的ADC实现控制器所需的交流信号采样,则可以大幅降低产品成本。这里就项目的设计与实现技术进行简单介绍。
1 采用MCU内置的ADC进行交流信号采样
1.1 LM3S9D92内置的ADC系统
Stellaris®LM3S9D92处理器是一款Cortex M3嵌入式ARM MCU,内置有512k程序存储器和96k数据存储器,以及丰富的外设控制器,其中包括2路ADC模数转换器[10]。该ADC的主要特性包括:①具有12位转换分辨率;②支持16个输入通道;③采样率可达1M次;④4个可编程序列发生器(sample sequencer, SS),每个SS有8个单元的FIFO,用于存放AD转换结果;⑤2路ADC可以独立工作,并通过移项器进行同时性控制;⑥支持多种转换触发控制:定时触发器,模拟比较触发器处理触发器等;⑦16个输入通道可以自由编程,分配给两个AD转换器进行分别采样等,内置的2路ADC模块的连接关系如图1所示。
图1 内置2路ADC模块的连接关系
1.2 采用LM3S9D92内置的ADC进行多通道信号同时同步采样
1.2.1 同相U和I信号的同时采样
根据有功和无功功率的定义,在计算功率参数时要使用U和I两条曲线同一时刻的采样值进行乘法运算,否则计算结果没有物理意义或者存在理论误差。为此,通过交流采样技术测量线路功率时,就需要实现同相U、I信号的同时采样[11]。LM3S9D92内部正好集成了2路ADC,可以实现Ua/Ia、Ub/Ib、Uc/Ic信号的同时采样,但是,需要设置这2路ADC同时采样的相位控制。这2路ADC可以灵活选择触发源和信号输入源,设置2者之间采样的相位差。其中触发信号选用内部定时器同时触发;采用各自的复用选择寄存器(ADCEMUX)分别顺序选择Ua~c、Ia~c,以便控制同相信号的同时采样;通过采样相位控制寄存器(ADCSPC)设置2路ADC对不同输入信号同相采样,方法如下:
1)ADC0模块:ADCSPC = 0x00, 对AN0采样;
2)ADC1模块:ADCSPC = 0x00, 对AN1采样。
这样,内置的ADC系统就实现了同相信号的同时采样的目的。此外,采样序列发生器SS支持连续8个信号一次性采样,采样结果缓存到其内部的FIFO之中,使用2个SS分别控制2路ADC,一次触发可以一次完成16个信号的采样。根据项目的实际需要,除6路交流信号之外,还有其他4路模拟量需要采集,因此实际采样实现时,2个SS各实现5个模拟信号采样,即可满足应用需要。由于内置的ADC系统每路模拟量输入都有独立的采样保持器,加上ADC系统的采样频率为1M,时间延迟只有500 μs,使得该内置的ADC具有六通道同时采样AD转换器ADS8365的特性[8,12]。
1.2.2 与电网周波软同步的方法
由于电网周波的波动性,电气交流信号采样需采用周波跟随技术实现信号的同步采样[2,13],这里采用软同步交流采样方法进行信号采样。软同步交流采样的关键在于周波信号测量的准确性[14-15]。为了实现周波信号测量,一般将电压信号整形成方波,再用MCU的计数器中断进行测量。但是具体实现时发现周波信号测量不准,导致采样数据的误差过大,需要进一步分析和改进。就其原因,在飞读定时计数寄存器时,偶尔出错;其次,MCU在指令边界响应中断时具有一定的时间不确定性;关键在于控制器软件平台使用了μC/OS-II实时操作系统,该系统进出临界区宏采用关、开MCU总中断实现,而临界区保护在OS内部和应用软件中都频繁使用,大大加大了中断响应时刻的不确定性,因此这种周波信号周期的测量方法不可取。
通过对处理器中的通用定时器进行分析,LM3S9D92内置的通用定时器GPTM支持16位输入边沿定时模式,该模式的工作过程是:设定装载值和捕获边沿类型。计数器被使能后开始自由运行,从装定值开始递减计数,计数至0时重装初值并继续计数;若从CCP管脚上出现有效的输入脉冲边沿事件,则当前计数值会被自动复制到一个捕获寄存器里,直到遇到下一个有效输入边沿时才被刷新,否则保持不变。利用这一特点,可以采用冻结计数器值的方法来测量信号的周期。具体实现方法为:在接入GPTM捕获比较PWM管脚的CCP信号触发时,GPTMTnR寄存器捕获Tn计数器的当前值,并且该计数器的值可以通过控制器来读取。这样,中断响应时,GPTMTnR寄存器的内容因被冻结锁存,不会因中断响应时机不确定而造成误差,可以准确计算得到当前电网的周波。为了配合交流信号同步采样,每周波信号采样一旦完成,立即利用先前测量得到的周波信息调整分频触发参数,使得采样间隔紧随电网频率的变化。为了避免外部触发信号不发生时(如:没有接入交流信号和交流信号不带电),CPU因检测不到信号周期而停止采样的问题,系统对该中断进行自动监视,一旦检测到该问题,即以50 Hz频率自动采样,并指示周期采样的方式,以方便控制器的调试与检测。
综上所述,采用LM3S9D92内置的ADC,再使用通用定时器配合,可以实现电气交流信号的软同步采样。
2 交流信号采样通道
2.1 交流信号调理
外部的交流输入为220 V/5 A的强电信号,为了接入CPU,必须先使用微型精密互感器TV和TA对其进行变换,交流信号采样部分的总体框架如图2所示。
图2 控制器交流信号接入框架图
如图2所示的框架图,电压互感器TV焊装在电路板上,在其前级采用压敏电阻、磁珠、Y电容进行抗干扰处理,电流互感器TA采用穿心接入,在其后级采用磁珠吸收高频信号,互感器输出经滤波后接入压随电路。另外,接入CPU管脚前还将经过电压跟随器和0~3 V钳位电路,在保证信号准确的前提下,在外部信号异常时也不会损坏MCU处理器。以Ua和Ia信号接入为例,交流电压和电流信号调理电路如图3所示。
图3 交流电压和电流信号调理电路
2.2 周波信号调理
为了检测电网的周波,从Ua信号调理的输出端引入进行处理。首先采用二极管进行钳位,防止外部信号异常损坏调理电路。再使用LF358双运算放大器进行放大处理,使之接近方波,最后采用斯密特触发反向门进行整形,经过光电隔离后,接入MCU的CCP管脚,实现频率信号的下降沿触发。周波信号调理电路主要部分的原理如图4所示。
图4 电网周波信号调理电路
3 软件设计
在确定使用LM3S9D92内置ADC系统实现软同步电气交流信号采样的技术方案之后,完成了信号调理电路设计,并生产安装了该控制器的硬件平台。LM3S9D92内置有4个GPTM,控制器硬件使用其中Timer1进行周波信号测量和ADC触发,下面介绍相应的软件模块的设计方法。软件设计主要包括四部分:初始化、GPTM1 A通道中断服务程序、ADC0和ADC1的中断服务程序、交流信号有效值和相位角计算等。
3.1 初始化
初始化部分包括GPTM和ADC初始化两部分,其中GPTM的A通道用于周波信号测量,B通道触发ADC0和ADC1采样。控制器采用16 MHz的基础频率,倍频后MCU工作在80 MHz,Timer1 A通道预分频80次,定时单位设置为0.5 μs进行周波信号测量。GPTM1初始化过程的自然语言描述如下:
1)设置CCP1管脚的交叉定义;
2)设置GPTM1AMR寄存器,使A通道工作在边沿输入定时模式;
3)设置预分频初始值;
4)使能触发中断;
5)设置B通道的工作模式是触发ADC;
6)设置B通道的分频次数为50 Hz 24次采样的参数。
ADC的初始化过程为:
1)选择ADC0模拟输入通道,选择ADC1的模拟输入通道;
2)设置SS0控制ADC0采样,SS1控制ADC1采样;
3)设置ADC0和ADC1同相位采样;
4)设置ADC0和ADC1由CPTM1的B通道触发;
5)启动ADC0和ADC1的中断。
3.2 周波测量中断服务程序
周波信号测量中断服务程序的主要任务是:读取GPTMTAR寄存器中的值,计算当前电网的周波,并保存在全局变量CurrentHz中,供ADCnISR和其它任务使用。
3.3 ADC0和ADC1中断服务程序
ADC0和ADC1的中断服务程序工作任务相同,每周波24次采样,ADC中断服务程序流程框如图5所示。
图5 ADC中断服务程序流程框图
3.4 交流采样中断处理任务
控制器软件的支撑平台为μC/OS-II实时多任务操作系统,交流信号采样软件基于中断服务程序ISR+中断服务任务IST的架构设计,ISR完成一个周波信号采样之后向IST发送信号,IST一旦收到发送的信号量,将会被唤醒,并进行采样数据处理。
交流信号数据处理使用离散傅里叶算法实现,使用离散傅里叶算法可以计算得出基波分量的有效值。
装置采集的三相交流信号的离散公式如式(1):
(1)
m次谐波的复数形式Xc+jXs的实部和虚部分别如式(1)和(2):
(2)
(3)
式(1)和式(2)中,取m=1,可得一次谐波(基波)的Xc和Xs如式(2)和(3):
(4)
(5)
控制器软件1个周波采样24点,即N=24,代入式(4)和(5),即可得到Xc和Xs的值,再代入式(6)得到电压和电流的有效值:
(6)
利用Xc和Xs还可以计算得出电压和电流的夹角,进而计算线路的功率参数。利用U的Xc和Xs还可以计算得出交流电信号的相位角,进而判断相序,正确控制电机的正转和反转。此外,计算结果还可以对电机过载、堵转、短路进行保护,对电机启动、保护过程进行录波,以便对电机故障原因进行定量分析。
4 实验结果与分析
在完成控制器软硬件设计之后,在实验室使用科陆CL301A精密交流稳压源对交流采样部分的精度进行了测量,测量结果如表1和表2所示。
表1 周波信号测量结果
为了分析方便,表1显示的误差为电网周波周期的绝对误差,标准源设定交流信号的频率,控制器显示频率和周期值,通过计算比对周期的绝对误差。由表1周波信号测量结果可以看出最大偏差为7 μs,验证了控制器周波信号测量精度的稳定性,较项目组先前实现的边沿触发,软件中断服务程序飞读计数器的方法优势明显。
表2 三相交流信号测量结果
从表2三相交流信号测量的结果来看,交流采样的F级测量误差都在0.5%F之内,电压采样的精度高于电流,0点由于采取的零漂处理,无法测出误差。表1和表2的测量结果表明该项目控制器交流信号采样的实现技术达到了预期的效果。
5 结束语
针对一款隔离开关控制器交流信号采样的技术方案存在的问题,采用了MCU内置的ADC系统,并借助MCU的通用定时器GPTM,设计实现了一种软同步交流采样技术方案。根据实验测量结果得出其采样精度可以达到0.5%F,满足了技术规范书的要求,同时降低了控制器产品的采购成本。进一步,将提升单周波内的采样次数,争取实现采样精度达到0.2%F的目标,使得这一交流采样技术在协作单位的测量控制器产品设计中推广应用。