摘要:在UPS不间断电源系统的设计中,与外部交流电压锁相的50Hz正弦信号发生器是十分关键的一部分,本文介绍了一种利用数字信号处理技术通过PIC单片机实现此电路的方法。
关键词:单片机 信号发生器 数字信号处理
引言
不间断电源(UPS)通过逆变向用电设备提供纯净、稳定的电能,保证设备的正常运行,50Hz锁相正弦信号发生器则是其中的关键部分,作为系统输出电压的基准,不但要求它的输出信号频率和幅度稳定,还要与外部交流电的电压相位同步。
传统的交流信号发生方式采用反馈振荡电路,利用电路的自激振荡和选频作用输出正弦波,但是低频模拟振荡器有一个缺点:受电压和温度影响大,输出信号的频率和幅度稳定度差,很难达到作为交流基准的要求。本文介绍了一种利用单片机使用数字信号处理技术产生50Hz交流信号的方法。
50Hz锁相信号发生器的硬件设计
该电路的核心控制器采用MicroChip公司生产的PIC16C73单片机,它属于数据总线和指令总线分离的哈佛结构的RISC精简指令单片机,只有35条指令,在使用20MHz晶振时,大部分指令(跳转指令除外)只需要200ns执行时间。内部资源包括192字节的RAM,4K程序ROM,22个I/O口,此外它的周边器件也很丰富,包括3个计时/计数器,2路PWM(脉宽调制)模块,2个串行接口,其中一个可以配置为I2C总线或者SPI总线,另一个为UART异步通信口,模拟接口包括5路8位分辨率的A/D转换口,同时内部还集成了上电复位、掉电复位和看门狗定时器电路,使系统具有较高的可靠性。
该电路由以下几部分组成:交流电压互感器;精密整流电路;过零比较器;低通滤波器;反相器;模拟切换开关和PIC16C73单片机。
该电路的工作原理如下:外部的220V交流电压经过电压互感器隔离降压成为与外部电源同相位的低压交流信号,一路经过精密整流电路成为正极性的半波直流电压,通过单片机内部的A/D转换器,测得电压的幅值;另一路经过电压过零比较器输出交流信号的正负极性,经过I/O口进入单片机,这样就可测得外部交流电压的实时波形数据,再将采集的波形数字序列经过D/A转换,即可以输出正弦波。
这个过程是通过以下方式实现的,首先用该数字序列调制单片机内部的PWM脉宽调制电路,使之产生的脉冲方波宽度正比于信号幅度,采用20MHz晶振,PWM输出为8位分辨率时,输出方波的最高频率为78KHz,所以在PWM输出端加一个积分常数很小的RC低通滤波电路就可以得到很平滑的半波输出波形,而且低通滤波电路造成的相位延迟相对于50Hz信号很小,可以忽略不计。
该信号一路直接送到模拟开关,另一路送反相电路成为负极性的半波电压信号,再送到模拟开关,这正、负极性两路电压信号经过单片机控制的模拟开关切换,就输出与外部电网相位同步的正弦波信号。
但是采用这种直接输出方式产生的波形并不是稳定、纯净的正弦波,由于大功率工业设备如电焊机等带来的干扰和大量非线性感性、容性负载的影响,外部交流电压中含有大量谐波成分,所以经过电压互感器采集的交流电压信号并不是纯净的正弦波,同时由于外部电网的波动,电压信号幅值也不稳定,所以必须经过一定的数字信号处理,才能够在采集的波形数据中提取出与外部电网相位同步、幅度稳定的50Hz纯净正弦波数字序列。
数字信号处理的具体算法
本系统的数字信号处理主要完成三项功能,即:低通滤波,幅值补偿,相位校正。
由于50Hz交流电网中不含偶次谐波(实际分量很小),主要的干扰是三次和三次以上奇次谐波分量。经过测量,在电网恶劣的情况下,总谐波含量THD的典型值大约为6%~8%,其中三次谐波分量的幅值大约是基波的10%~15%,五次以上谐波分量小于5%,所以低通滤的主要目的是消除对波形影响最大的三次分量。
本系统所采用的低通滤波器是有限冲激响应数字滤波器(FIR),它的转移函数是一个N阶多项式:
设计FIR数字滤波器是直接、最简单的方法就是窗函数法,其基本思想是构造一个M阶Z多项式,使其幅频特性近似理想数字滤波器,同时保持线性相位特性。关于这种滤波器的详细设计,请参阅参考目录中的有关文献。
综合考虑,数字滤波器的采样频率为1400Hz,50Hz基波和三次谐波的归一化频率分别为0.05和0.15,取截止频率为ωc/2π=fc/fs=0.1,滤波器的输出公式为:
经过计算:此滤波器对50Hz基波信号衰减小于3dB,对三次谐波的衰减大于16dB,由于三次谐波分量的最大幅值是基波的10%~15%,大约-16dB,所以基本可以滤除三次以上谐波。
图2是上述滤波器的仿真结果,A是幅度100的基波信号,B是幅度20的三次谐波信号,C是A和B的叠加信号,D是滤波器的输出信号,可以看出,D与A相比,除了信号幅度衰减变小,波形几乎完全一致。
幅值补偿的目的是保证D/A输出信号的幅值稳定。由于采样频率为1400Hz,对50Hz信号每个周期内取样28点,所以用一个环形队列保留一个周期内28点滤波器的输出值,求出平均值,将其与基准信号值进行比较,得到一个增益系数K,将滤波器当前输出值乘以该增益系数K再进行D/A输出,就可以保证输出信号的电平稳定。
由于滤波器是根据当前输入值和此前5个、此后5个共11个取样值计算当前输出值,所以滤波器输出信号始终滞后于最新输入信号5个采样周期,相当于滞后电网50Hz电压信号相位差0.36π,为了保证输出信号与外部电网同步,必须对滤波器输出信号进行相位补偿。补偿 方法是基于这样一个假设:电网电压在相当长的一段时间内不会突变,所以前后两个周期的波形具有相似样,如果能够保证在每个周期均匀取样28点,当前周期的后5个取样值完全可以用前一个周期同一相位的取样值代替,这样就可以计算出当前相位的滤波器输出值,而且滤波器的输出信号就没有相位滞后,与外部电网完全同步。
上述算法要求必须保证在每个周期均匀取样28点,为此单片机实时测量外部电网电压信号的周期,并据此实时调整取样周期。当采样频率为1400Hz时,取样周期为714μs,而单片机内部的定时器精度可达到1μs,所以完全可以满足这个要求。
系统的软件设计
系统软件包括软、硬件初始化和数据循环采集处理两部分。
其中,软、硬件初始化主要完成硬件设备和系统变量初始参数设计,包括开放相应中断、启动定时器等。系统使用了PIC16C73单片机内部的3个定时/计数器和一个外部中断,其中定时器0只有8位计时精度,通过级联软件计数器的方法提高计数长度,配合电压过零比较电路触发的外部中断测量交流电压的周期。定时器1具有16位计时精度,其定时中断间隔设定为外部交流电压测量周期T的1/28,用来实现波形信号的定时采集和输出,定时器具有8位计时精度,用于内部PWM模块的定时基准。
数据循环采集处理部分根据系统的定时要求实时完成以下功能:每个采休样周期完成1次外部交流电压波形信号的数据采集、数据处理、数据输出。每个交流电源周期完成1次周期测量,并修正采样周期。
结论
根据上述原理研制的电路已经开发成功,经过实际应用验证完全达到设计要求:输出电压稳定度+2%,锁相误差+0.1π,总失零点系数小于5%.与模拟电路相比,它具有稳定度高,一致性好,免调试的优点。相信随着单片机性能的提高,低端数字信号处理技术将越来多地在实际设计中得到应用。