引言
在能源危机日益严重的当今,清洁可再生能源成了发展重点。其中水电是清洁可再生能源的重要组成部分。在水电中对水轮机的研究很是重要。在水轮机调速器中,机组频率的测量直接关系到调速器整机性能的优劣,而调速器的品质与性能直接影响到电能的品质和水电站的安全可靠运行, 故机组频率的测量是一个非常关键的技术。目前,基于PLC调速器的测频方法主要有单片机测频和PLC本体高速计数模块测频2种方式。PLC高速计数模块的测频与单片机测频相比,具有整体性好、可靠性高的优点,但对PLC硬件配置有较高要求,如须具备1 MHz以上计数模块,这将显着增加调速器的硬件成本,中小型调速器一般不适合采用此方案,大多采用单片机测频方式。但现有单片机测频方式一般均采用并行I/O与PLC传输频率值,一方面占用了PLC大量的开关量输入点,另一方面并行数据传输存在同步问题,使得数据传输可靠性较差。为此,本文采用基于ARM7处理器的32位LPC2131微控制器为硬件,开发出高性能的频率测量单元,很好地解决了PLC调速器频率测量中存在的不足问题。
1 频率测量基本原理
基于ARM处理器的LPC2131可编程调速器频率测量总体框图如图1所示。
取自发电机端电压互感器和电网电压互感器的测频输入信号,经削波、滤波处理后,变成幅度基本不变的稳定波形,再经施密特电路放大整形,得到正负幅值基本相等、占空比约为50%的方波;然后,通过光电耦合器将输出的机组频率和电网频率方波信号隔离后分别送入LPC2131微控制器CAP1.3功能捕获引脚P0.18和CAP1.2功能捕获引脚P0.19。CAP1.3和CAP1.2捕获功能设置为上升沿与下降沿同时捕获,即这2个功能引脚上的值由0到1跳变和由1到0跳变都会将当时计数器值输入相应的捕获寄存器中,同时产生中断。对任一路管脚捕获,取出2个相间隔的捕获寄存器值相减,令其差值为N,在计数器频率(时钟频率,令其为Fpclk)已知情况下,可得出2个相间隔捕获点对应时间值,即频率信号周期值:
根据频率与周期公式f=1/T可求出信号的频率值。对得到的机组频率和电网频率计数器差值采用去极大极小值进行简单的判断滤波后,采用自由口通信协议通过串口UART0将其发送至PLC,在PLC控制器内完成机组和电网频率值计算。
2 测频硬件与软件
2.1 LPC2131微控制器
LPC2131是PHILIPS公司基于ARM7TDMI-S核、单电源供电及LQFP64封装的微控制器,是基于一个支持实时仿真和嵌入式跟踪的32/16 位ARM7TDMI-STM CPU 的微控制器,并带有32kB、64kB、512 kB 的嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb?模式将代码规模降低超过30%,而性能的损失却很小。
LPC2131拥有2个符合550工业标准的异步串行口UART0和UART1,具有以下特性:16字节收发FIFO;寄存器位置符合16C550工业标准;收发器触发点可为1、4、8和14字节;内置波特率发生器;包含使能软件流控制器。LPC2131还带有2个32位可编程定时/计数器,均具有4路捕获和4路比较匹配与输出电路。定时器对外设时钟(pclk)周期进行计数,可选择产生中断或根据4个匹配寄存器的设定,在达到指定的定时值设定时执行其他动作。它的4个捕获输入,用于在输入信号发生跳变时捕获定时器的瞬时值,并可选择使捕获事件产生中断。
2.2 LPC2131微控制器定时器模块
LPC2131微控制器定时器方框图如图2所示。定时器控制寄存器TCR用来使能或者复位计数器操作;预分频寄存器PR用来分频时钟计数频率;VPB时钟频率Fpclk为计数提供时钟频率;预分频计数器PC是当TCR使能后,在每个pclk周期加1,当其达到预分频寄存器PR中保存的值时,定时器计数器TC值加1,预分频计数器在下一个周期复位;当预分频计数器达到上,定时器计数器TC值加1,当达到计数上限0xFFFFFFFF后将翻转到0x00000000;捕获寄存器与1个对应的器件引脚相关联,当引脚发生特定事件时,可将定时器计数的值装入该寄存器;捕获控制寄存器CCR用于当捕获事件发生时,确定是否装入4个捕获寄存器中的1个,以及是否产生中断。
本文选用定时器1作为两路脉冲输入捕获计数器,利用它的两路脉冲捕获功能CAP1.2和CAP1.3捕获经整形后机组频率和电网频率的上升沿和下降沿信号,以CAP1.2为例,如图3所示。通过CAP1.2捕获功能,可以将每次上升沿和下降沿到来时对应的计数器值装载到T1CR2寄存器中,将连续3次捕获时计数器值依次保存到CAPJ 0、CAPJ 1和CAPJ 2 3个定义存储单元中,储存单元对应值为CAPJ 0、CAPJ 1和CAPJ 2,每完成1次T1CR2装载即可求得1次相邻上升沿或下降沿计数器差值TJ=CAPJ 0-CAPJ 2。本文设定计数时钟不分频,根据测周法原理,机组频率值Fg为:
式中, Fpclk为VPB时钟频率,在不分频情况下为11.059 2 MHz。设机组频率为Fg=50 Hz,则周期Tg=0.02 s,测得的周期数Ng=0.02×11 059 200=221 184,测频系统的理论分辨率为0.002 6 Hz,由此可见,此方法具有很高的分辨率。
2.3 测频软件流程
系统软件由1个主程序和2个中断子程序组成,如图4所示。CAPJ0、CAPJ1和CAPJ2依次保存连续3个机组频率信号捕获对应的寄存器值T1CR2,CAPX0、CAPX1和CAPX2依次保存连续3个电网频率信号捕获时对应寄存器值T1CR3,TJ和TX分别表示机组频率和电网频率在1个周期内计数器计数差值。
在系统软件中,主程序完成各种设定功能初始化。捕获中断子程序完成对整形后的机组频率和电网频率信号捕获,计算出信号在1个周期内对应的计数器计数值,并对其进行简单判断和滤波处理。在信号捕获中采用同时捕获上升沿和下降沿,计算计数器差值时上升沿和下降沿分开计算的方法,使得每半个周期就可获得1次频率值,相对1个周期或几个周期才能求得1次频率值的计算策略,它能够更快反映机组频率的波动情况,提高了调速器频率响应性,缩短了调速器不运转的时间。
在数据发送程序中,将1个周期内计数器差值通过UART0口采用串口通信方式发送到PLC控制器中,在PLC中完成信号频率值计算。此处采用发送频率信号计数器差值而不是计算后频率值或周期值,一方面是整数比小数传送方便,通信更加简单;另一方面是频率值或周期值具有多位小数,传送时将丢失,不能保证频率值的原始性。频率值在PLC中计算完成后直接使用进行调速器控制PID计算,将使调速器控制过程更加。在数据发送程序中,完成喂狗操作,防止程序“跑飞”,同时对机组频率和电网频率信号是否消失进行判断,增加控制过程可靠性。
2.4 容错处理
在频率测量中由于干扰影响,将造成频率测量值误差,如何滤除误差保证控制的准确性在频率测量过程中也是一个重要环节。本文采用的是去极大极小值滤波法,即对连续三个频率值,取中间值为正确值,去掉和值,大于100 Hz的频率值作为错误值直接舍去,小于1 Hz的频率值作为频率信号消失处理。容错处理流程图如5所示,此处只以机组频率为例进行分析,电网频率与此相同。
3 与PLC通信
与PLC传递数据通信中,使用定时器0进行20 ms定时发送,PLC通过接收模块接收数据。如图2所示,匹配控制寄存器MCR用于设定当发生匹配控制寄存器值与定时器计数值匹配时所执行的操作(产生中断、复位定时器计数器或停止定时器);匹配控制寄存器值连续与定时器计数值相比较,当两值相等时自动触发相应动作;使用定时器0通过匹配控制器,就可完成20 ms的定时中断。在与PLC的通信中,采用自由口通信协议的串行口通信[6],改变了以往并口I/O传送模式,简化了通信的复杂度,提高了准确率。
在频率测量中,储存器可存储计数器值为0xFFFFFFFF,在理论上可测得的频率值为0.002 7 Hz,根据实际情况设定频率的测量范围为1~100 Hz,对应的周期计数值范围为0xABC000~0x1B000,如果周期计数值大于0xABC000,即频率小于1 Hz时作为频率信号消失处理;如果周期计数值小于0x1B000,即频率大于100 Hz时作为频率信号干扰处理。在与PLC通信中,PLC接收模块为字节接收,故每次多传送1个字节,对周期计数值完成传送需要用3个字节分开发送;为了保证传送准确性,需要在每1次传送的信息上增加起始字符和结束字符进行信息接收启动和信息接收结束判断,起始字符和结束字符为规定的某个的标志字符,此处选用0x53和0x4F。为避免传送周期计数值某个字节与开始或结束判断字符相同导致传送错误,每次传送的数据只能占用4位即1个字节的后4位,这样才能保证其值始终不大于0x0F。根据上面分析,则每传送1个周期计数值就需要分6次按6个字节传送,机组周期计数值、电网周期计数值和开始、结束字符完成1次传送总共需要14个字节。传送波特率设定为115 200 b/s,则每完成1次传送需要的时间t=14×8÷115 200=0.972 ms。由此可知数据传输延迟时间极短,完全可以弥补外设测量模块与内部测量模块对数据采集及时性的差异,达到测量的数据即为通信方式测量频率,基本不影响PLC控制操作,同时其传递准确性得到充分保障。
LPC2131微控制器拥有16 B的FIFO(保持寄存器),在发送过程中,只需将所要发送字节保存到FIFO中即可,发送模块自动完成发送操作,使得数据的发送和接收变得简单,与51系列单片机相比也是一个很大的改进。
4 性能分析
该测频装置的主要技术指标为:(1)理论上可测量频率Fmin=0.002 7 Hz(规定为1 Hz);(2)可测量频率规定为Fmax=100 Hz;(3)测量分辨率为0.002 26 Hz;(4)得到频率值的时间为 0.5T(信号周期); (5)信号传输时间为0.97 ms;(6)信号整形电路动作电压0.2 V,允许输入电压150 V。
结语
本文针对PLC调速器频率测量部分存在的不足,开发出一种基于LPC2131微控制器的频率测量单元。利用其捕获功能模块对整形后频率信号捕获、计算得到信号周期计数值,再将该周期计数值通过UART通信口发送至PLC,在PLC中完成信号频率值计算。测试结果表明,由于采用信号上升沿及下降沿同时捕获以及高速串行通信,不但提高了频率信号的响应速度,而且很好地解决了并行通信存在的数据传输不同步的问题。对此调速器测频单元进行了测试,从运行情况,该测频单元具有很好的稳定性与准确性,非常适合于中小型调速器。
[1]. PLC datasheet https://www.dzsc.com/datasheet/PLC_1248813.html.
[2]. LPC2131 datasheet https://www.dzsc.com/datasheet/LPC2131_454524.html.
[3]. ARM7TDMI-S datasheet https://www.dzsc.com/datasheet/ARM7TDMI-S_1231795.html.
[4]. CCR datasheet https://www.dzsc.com/datasheet/CCR_1864651.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。