应用LPC2131开发PLC调速器测频单元
在系统软件中,主程序完成各种设定功能初始化。捕获中断子程序完成对整形后的机组频率和电网频率信号捕获,计算出信号在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配合使用中的不足,测频单元编程系统简单、频率信号响应速度快、数据传输方便、传输时间短,测频系统可靠性高、抗干扰能力强。对此调速器测频单元进行了测试,从运行情况,该测频单元具有很好的稳定性与准确性,非常适合于中小型调速器。
- 8051、ARM和DSP指令周期的测试与分析(04-19)
- 基于I2C总线的多点温度采集系统 (06-14)
- 基于P89LPC932超声波测距仪(07-09)
- 专用芯片ATT7022C的电参数测量模块设计(10-21)
- 用梯度均值法提高LPC2138的模/数转换器的分辨率 (01-10)
- 便携式功率分析仪设计-----硬件设计(三)(04-21)