《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 应用LPC2131开发PLC调速器测频单元
应用LPC2131开发PLC调速器测频单元
张江滨, 刘兴福
西安理工大学 水利水电学院, 陕西 西安710048
摘要: 针对PLC调速器频率测量部分存在的不足,开发出一种基于LPC2131微控制器的频率测量单元。利用其捕获功能模块对整形后频率信号捕获、计算得到信号周期计数值,再将该周期计数值通过UART通信口发送至PLC,在PLC中完成信号频率值计算。测试结果表明,由于采用信号上升沿及下降沿同时捕获以及高速串行通信,不但提高了频率信号的响应速度,而且很好地解决了并行通信存在的数据传输不同步的问题。
中图分类号: TP216
文献标识码: B
Frequency measurement unit exploitation of PLC hydro-turbine governor based on LPC2131
ZHANG Jiang Bin, LIU Xing Fu
Faculty of Water Resources and Hydraulic Power,Xi′an University of Technology, Xi’an 710048, China
Abstract: For the deficiency in the frequency measurement unit of PLC hydro-turbine governor, another frequency measurement unit which was based on LPC2131 was exploitation. By using its function of capture to capture the frequency of the signal after shaping we can get the value of the signal cycle, and then send the value of the cycle to the PLC through the UART interface communication. The frequency of the signal value is calculated in the PLC . Test results showed that it is not only improved the speed of the frequency response signal but also gave a very good solution to the problem of the parallel data communication does not synchronization by using adopting the capture both rising edge and falling edge and serial communication.
Key words : PLC hydro-turbine governor; frequency measurement unit; LPC2131; serial communication

    在水轮机调速器中,机组频率的测量直接关系到调速器整机性能的优劣,而调速器的品质与性能直接影响到电能的品质和水电站的安全可靠运行, 故机组频率的测量是一个非常关键的技术[1]。目前,基于PLC调速器的测频方法主要有单片机测频和PLC本体高速计数模块测频2种方式[2]。PLC高速计数模块的测频与单片机测频相比,具有整体性好、可靠性高的优点,但对PLC硬件配置有较高要求,如须具备1 MHz以上计数模块,这将显著增加调速器的硬件成本,中小型调速器一般不适合采用此方案,大多采用单片机测频方式。但现有单片机测频方式一般均采用并行I/O与PLC传输频率值,一方面占用了PLC大量的开关量输入点[3],另一方面并行数据传输存在同步问题,使得数据传输可靠性较差。为此,本文采用基于ARM7处理器的32位LPC2131微控制器为硬件核心,开发出高性能的频率测量单元,很好地解决了PLC调速器频率测量中存在的不足问题。
1 频率测量基本原理
  基于ARM处理器的LPC2131可编程调速器频率测量总体框图如图1所示。

基于ARM处理器的LPC2131可编程调速器频率测量总体框图


    取自发电机端电压互感器和电网电压互感器的测频输入信号,经削波、滤波处理后,变成幅度基本不变的稳定波形,再经施密特电路放大整形,得到正负幅值基本相等、占空比约为50%的方波[4];然后,通过光电耦合器将输出的机组频率和电网频率方波信号隔离后分别送入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封装的微控制器,是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-S型CPU的微控制器。LPC2131拥有2个符合’550工业标准的异步串行口UART0和UART1,具有以下特性:16字节收发FIFO;寄存器位置符合16C550工业标准;收发器触发点可为1、4、8和14字节;内置波特率发生器;包含使能软件流控制器。LPC2131还带有2个32位可编程定时/计数器,均具有4路捕获和4路比较匹配与输出电路。定时器对外设时钟(pclk)周期进行计数,可选择产生中断或根据4个匹配寄存器的设定,在达到指定的定时值设定时执行其他动作。它的4个捕获输入,用于在输入信号发生跳变时捕获定时器的瞬时值,并可选择使捕获事件产生中断[5]。
2.2 LPC2131微控制器定时器模块
  LPC2131微控制器定时器方框图如图2所示。定时器控制寄存器TCR用来使能或者复位计数器操作;预分频寄存器PR用来分频时钟计数频率;VPB时钟频率Fpclk为计数提供时钟频率;预分频计数器PC是当TCR使能后,在每个pclk周期加1,当其达到预分频寄存器PR中保存的值时,定时器计数器TC值加1,预分频计数器在下一个周期复位;当预分频计数器达到上限时,定时器计数器TC值加1,当达到计数上限0xFFFFFFFF后将翻转到0x00000000;捕获寄存器与1个对应的器件引脚相关联,当引脚发生特定事件时,可将定时器计数的值装入该寄存器;捕获控制寄存器CCR用于当捕获事件发生时,确定是否装入4个捕获寄存器中的1个,以及是否产生中断。

LPC2131微控制器定时器

    本文选用定时器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。
     基于ARM处理器的LPC2131可编程调速器测频单元弥补了51系列单片机作为测频单元与PLC配合使用中的不足,测频单元编程系统简单、频率信号响应速度快、数据传输方便、传输时间短,测频系统可靠性高、抗干扰能力强。对此调速器测频单元进行了测试,从运行情况,该测频单元具有很好的稳定性与准确性,非常适合于中小型调速器。
参考文献
[1]     郭玉琥.水轮机调速器设计、选型若干问题探讨[J].水电自动化与大坝监测,2007,31(4):20-22.
[2]     向家安,胡乙进.PLC微机调速器频率测量方法综述[J].水电站机电技术,2005,28(4):17-20.
[3]     魏守平.水轮机控制工程[M].武汉:华中科技大学出版社,2005.
[4]     张江滨,王德意,王涛,等.水轮发电机组频率测量系统[J].西安理工大学学报,1999,15(4):61-65.
[5]     周立功,张华.深入浅出ARM7[M].北京:北京航空航天大学出版社,2005.
[6]     施光林,刘利.可编程控制器通信与网络[M].北京:机械工业出版社,2006.

此内容为AET网站原创,未经授权禁止转载。