具体实施方式
下面将结合附图对本发明做详细的介绍:
一、控制系统结构组成:
1、控制器外壳盖板;
2、电源主板;DC20~45V输入;DC5V3A/DC15V3A输出,电源额定功率:35W。
3、泵卡;4路继电器开关量输出,4路模拟量输入。
4、主板;以ATmega128A单片机为核心,集成AD/DA数据处理、数据通讯等。
5、触摸屏;电阻式10.4寸彩色触摸屏,分辨率800*600。
6、控制器外壳;
7、控制器面贴;
二、控制系统硬件架构设计介绍:
如图2所示,NFCV2.00控制系统硬件架构采用三核处理模块设计,控制部分采用AVR单片机ATmega128A做为控制部分主控核心,外扩I/O数据处理模块,AD/DA数据处理模块,RTC实时时钟数据传输模块;供电系统采用DC24V结合DC-DC稳压模块,输出电压为DC5V、DC15V双电压输出,输出功率35W;接地部分采用数模隔离抗干扰技术,扩展128Kflash数据存储器;用于运行数据保存;串口数据采用RS485接口类型,与显示部分进行连接。
显示部分采用Cortex-M3+高速FPGA双核设计,ARM(STM32)主要进行协议解析和USB图片下载,FPGA主要实现Nandflash的图片读取和TFT控制显示系统在无指令接收的状态下,ARM基本处于空闲状态,所有大负荷的数据读取和显示刷新工作全部由FPGA纯硬件独立完成,该架构特点确保了系统的稳定性和抗干扰性能强。由于FPGA内部是采用并行处理机制,所以Nandflash的数据读取、SDRAM的写入和RGB数据输出全部在同一个时钟节拍下执行,确保了系统图片更新速度快,响应迅速。同时整个系统无操作系统,纯硬件驱动,上电即可运行。
三核之间采用RS485接口数据通讯,提高数据传输的抗干扰能力,传输速度也能满足使用要求。
三、系统软件功能设计及主要控制流程图介绍
硬件平台:ATMAGE128A-16;
编程环境:AVRStudio6.0;
编程语言:C语言;
1、系统软件设计功能介绍(表1)
主要功能 |
内容 |
控制模式 |
主泵移动方式、主泵固定方式 |
液晶显示 |
8寸电阻式彩色触摸屏、10.4寸电阻式彩色触摸屏 |
设备运行 |
设备运行实时动画显示 |
PID控制 |
PID控制系统,PID休眠功能 |
顺次运行 |
变频故障时水泵运行按顺次运行设定参数 |
辅助运行 |
水泵正常运行按辅助运行设置参数 |
温度控制 |
温度检测,风扇控制 |
防止空转 |
进水管缺水时水泵停止运行,系统报警 |
越过故障泵运行 |
水泵发生故障时,系统自动启动下一台泵运行 |
防止电机过载 |
电机过载停机保护 |
异常高压保护 |
运行压力异常系统停机保护 |
预约运行 |
按月、日、小时,预约运行压力值 |
自动巡检 |
系统实时巡检,对故障、运行状态进行检测 |
高压保护 |
运行压力越过高压设定压力值时,系统停机保护 |
低压保护 |
所有水泵运行时,运行压力达不到设定压力值时延迟自动停止并报警 |
传感器值调整 |
实际压力值与压力表显示的压力值不一致时调整 |
存储运行数据及记 |
各种运行状态记录并保存、显示实时运行曲线 |
录 |
|
系统异常运行 |
变频器及压力传感器异常时系统保护停机 |
水位溢出检测 |
外部水位检查,溢出报警 |
交替运行 |
运行一定时间后主泵自动交替运行,实现水泵均匀使用 |
进水口压力显示 |
检测并显示进水口压力值 |
模拟量输入 |
模拟量输入控制 |
双变频运行 |
控制两台变频器同时运行 |
变频器互备运行 |
一台变频器故障时,另一台变频器运行 |
两路RS485通讯 |
上位机与监控设备软件的实时数据通讯 |
多路数据采集 |
采集外围设备数据包括:电能表、流量计、变频器数据等 |
小流量泵控制 |
配置小流量泵运行模式 |
2、系统主要控制流程图介绍
如图3所示,系统上电初始化程序流程:
1、显示接口初始化、系统看门狗信号复位、电源电压信号检测、时钟信号复位。
2、电源电压信号检测是否正常:上电时MCU识别电压管理芯片POWERGOOD信号,若芯片复位失败,系统返回重启初始化过程,若正常,执行下一步。
3、看门狗复位信号是否正常:上电时MCU识别外部看门狗芯片GOOD信号,若芯片复位失败,系统返回重启初始化过程,若正常,执行下一步。
4、液晶复位信号是否正常:上电时MCU识别液晶控制芯片GOOD信号,若芯片复位失败,系统返回重启初始化过程,若正常,执行下一步。
5、时钟复位信号是否正常:上电时MCU识别时钟芯片GOOD信号,若芯片复位失败,系统返回重启初始化过程,若正常,执行下一步。
6、开关量I/O接口复位:MCU对所有开关量I/O接口进行复位成输出高电平。
7、检测开关量I/O接口复位是否正常:MCU识别开关量I/O接口复位GOOD信号,若复位失败,系统返回重启初始化过程,若正常,执行下一步。
8、数字量I/O接口复位:MCU对所有数字量I/O接口及DA处理芯片进行复位输出高电平。
9、检测数字量I/O接口及DA处理芯片复位是否正常:MCU识别数字量I/O接口及DA处理芯片复位GOOD信号,若接口及芯片复位失败,系统返回重启初始化过程,若正常,执行下一步。
10、模拟量I/O接口复位:MCU对所有模拟量I/O接口及AD处理芯片进行复位输出高电平。
11、检测模拟量I/O接口及AD处理芯片复位是否正常:MCU识别模拟量I/O接口及AD处理芯片复位GOOD信号,若接口及芯片复位失败,系统返回重启初始化过程,若正常,执行下一步。
12、RS485通讯接口复位:MCU对所有串行通讯接口及RS485芯片进行复位输出高电平。
13、检测串行通讯接口及RS485芯片复位是否正常:MCU识别串行通讯接口及RS485处理芯片复位GOOD信号,若接口及芯片复位失败,系统返回重启初始化过程,若正常,执行下一步。
14、系统数据初始化:系统对所有全局变量、EEPROM存储数据进行初始化,MCU识别初始化返回的GOOD信号,若初始化失败,系统返回重启初始化过程,若正常,执行下一步。(结束)
如图4所示,系统启动运行程序流程:
1、过程变量数据初始化:读取EEPROM存储数据,系统启动参数按设定值初始化。
2、判断过程变量数据初始化是否成功,MCU识别初始化GOOD信号,若初始化失败,系统返回重启过程变量初始化过程,若成功,执行下一步。
3、检测设备运行数据故障信号情况:对初始化后的数据进行检测。
4、检测数据是否符合系统启动运行要求,若不符合,系统执行第5步;否则,执行第7步。
5、设备故障报警输出,继续检测设备各项数据信号及系统复位信号。
6检测系统复位信号:检测是否有复位信号,若没有,返回执行第5步;反之,执行下一步。
7、检测运行信号是否为“1”:若为“0”,返回执行第3步;反之,执行下一步。
8、启动闭环频率输出控制程序集泵组切换逻辑控制程序。(结束)
如图5所示,NFC闭环控制程序流程:
1、过程变量数据初始化:读取EEPROM存储数据,系统启动参数按设定值初始化。
2、判断过程变量数据初始化是否成功,MCU识别初始化GOOD信号,若初始化失败,系统返回重启过程变量初始化过程,若成功,执行下一步。
3、实际4~20mA模拟量数据过滤,AD转换:为闭环控制系统提供实际数字量参数(反馈值)。
4、检测数据是否符合要求,若不符合,系统返回执行第3步;否则,执行第5步。
5、频率输出数据计算:公式:A=N(M-Kn)+F(Kn-Kn-1)-Cu*u(详见NFC2.00闭环控制设计方案)。
6、频率信号A值,DA转换为模拟信号,4~20mA输出。
7、检测A值是否达到切换泵设定值要求,若未达到,返回执行第3步;否则,执行第8步。
8、启动切换泵逻辑控制:启动启动切换泵逻辑控制功能程序。(结束)
如图6所示,启动切换逻辑控制程序流程:
1、过程变量数据初始化:读取EEPROM存储数据,系统启动参数按设定值初始化。
2、判断过程变量数据初始化是否成功,MCU识别初始化GOOD信号,若初始化失败,系统返回重启过程变量初始化过程,若成功,执行下一步。
3、泵组运行位置识别机检测变频故障:泵组切换时的位置确定,及变频泵是否有故障。
4、检测变频是否故障,若有故障,执行第5步;否则,执行第6步。
5、检测故障是否复位:若复位返回执行第3步,否则功能流程结束。
6、变频泵启动运行及故障检测:变频泵运行启动,并实时检测故障信号。
7、检测是否达到切换泵条件及是否运行正常:检测实时数据,判断是否到达切换设定值要求,并实时检测当前运行状态是否正常。若异常,系统返回第3步,否则执行下一步。
8、切换变频泵为工频运行,启动下一台泵为变频泵并输出复位信号。
9、检测当前工频泵是否故障:MCU接收当前工频泵运行故障信号,若为“1”执行第10步,否则流程结束。
10、停止当前工频泵运行,并报警:系统自动返回执行第8步。
3.闭环控制方案
1、计算公式说明
本发明主要是针对恒压(无负压)变频控制应用领域的闭环控制技术,采用新的算法组合达到恒定供水压力的目的,其使用效果达到《建筑给水排水设计规范》(GB50015-2009)版中3.8条款关于增压设备的相关规定和要求。详细设计方案如下:
计算公式:A=N(M-Kn)+F(Kn-Kn-1)-Cu*u--(1)
Pout=Pout+A--(2)
A:数字量频率输出值变化系数;
N:实际差值比例系数(给定值);
M:设定目标值;
Kn:当前实际值(n:第n个周期);
F:过程量差值比例系数(给定值);
Cu:节能比例优化系数(给定值);
U:节能优化值;
Pout:数字量频率实际输出值;
例1:系统设定压力值:0.32Mpa;实际差值比例系数为20(给定值);过程量差值比例系数为80(给定值);节能比例优化系数为3(给定值);节能优化值取1;当前实际值初始值取0;MCU频率f=16000000Hz;指令总量160000条。
解:系统周期:t=160000/f=0.01(秒):系统运行周期为0.01秒。
引用计算公式(1):A=N(M-Kn)+F(Kn-Kn-1)-Cu*u;
根据实例:N=20;M=0.32;F=80;Cu=3;u=1;
代入公式得:A=20(0.32-Kn)+80(Kn-Kn-1)-3--(3)
根据实际情况系统在第一个运行周期内K1=0,K0=0;
得:A=20*0.32-3=3.4;
引用计算公式(2):Pout=Pout+A;(Pout初始值取0)
Pout=0+3.4=3.4;
说明:系统运行时在第一个运行周期0.01秒,系统输出的频率信号值为3.4(该数值经过DA转化,转化为实际的频率控制模拟量信号)。
根据实际情况若系统在第二个运行周期内K2=0.03,那么K1=0(等于第一周期Kn)
代入公式(1):A=20(0.32-0.03)+80(0.03-0)-3;得:A=5.2;
代入公式(2):Pout=3.4+5.2;得:Pout=8.6;
以此类推:当M>Kn时,A为正数(给定值需取一定范围);Pout值不断增加;M-Kn差值越大,增加幅度越明显。
当M=Kn时,A=Cu*u;为负数,对Pout值进行微调,Pout值减小幅度到达最小,达到节能优化的目的,可设置不同的节能比例优化系数Cu,根据实际工况调整节能优化效果。
当M<Kn时,A为负数(给定值需取一定范围);Pout值不断减小;M-Kn负差值越大,减小幅度越明显。
根据实际情况若系统在第n个运行周期内Kn=0.34,Kn-1=0.36;
代入公式(1):A=20(0.32-0.34)+80(0.34-0.36)-3;得:A=(-5);
代入公式(2):Pout=Pout-5;Pout逐步减小。
在实际使用过程中,可不断调整给定值N、F、Cu的大小来改变控制的精度范围,满足使用需求。
2.特性曲线的分析:
由例1中的公式(3):A=20(0.32-Kn)+80(Kn-Kn-1)-3;
得:A=60Kn-80Kn-1+3.4;
因为Kn与Kn-1值之间的关系与系统的周期时间t、不同泵组的运行流量、扬程的特性曲线、管路损失、变频转化效率、变频输出效率、电机效率、流体特性等等因素有关。故该公式可视为非线性特性曲线关系。
3、软件代码算法编程分析
例2:根据计算公式(1):A=N(M-Kn)+F(Kn-Kn-1)-Cu*u;
C语言算法代码如下:
硬件平台:ATMAGE128A-16;
编程环境:AVRStudio6.0;
编程语言:C语言;
/*--------------------------------------------------------------*/
//闭环控制频率输出
/*--------------------------------------------------------------*/
uintNFC_POWER0=0;//定义频率输出值全局变量
ulongLOW_NFC=0;//定义频率输出最低限制值全局变量
voidNFC_POWER_OUTPUT(ucharN,ucharF,ucharCu,)//A=N(M-Kn)+F(Kn-Kn-1)-Cu*u算法公式函数
{
ucharoption0=EEPROM_read(0x0070);//读取设定值运行目标值:M=option0
intEt_POWER=0,OUTPUTS_POWER=0;//初始化局部变量:A=OUTPUTS_POWER
uintx1,x2,x3,x4;//定义局部变量
SET_POWER=SET_POWER_DATA();//读取设定值运行目标值:M=SET_POWER
READ_POWER=READ_POWER_DATA();//读取当前实际值Kn
Et_POWER=SET_POWER-READ_POWER;//计算差值:M-Kn
OUTPUTS_POWER=N/10*Et_POWER;//计算差值比例值:A=N(M-Kn)
OUTPUTS_POWER=OUTPUTS_POWER+F*(Et_POWER-Et_POWER0)-Cu*0x0001;
//代入公式A=N(M-Kn)+F(Kn-Kn-1)-Cu*u,Kn=Et_POWER;Kn-1=Et_POWER0;u=0x0001
Et_POWER0=SET_POWER-READ_POWER;//第n-1次差值计算:Kn-1=M-Kn-2
PID_POWER=PID_POWER+OUTPUTS_POWER;//频率输出值计算:Pout=Pout+A
LOW_PID=SET_NUM_DATA00(0x0009,0x000A);//频率低限制值计算
LOW_PID=LOW_PID*0x0E56/0x00A0;//频率低限值计算
if(PID_POWER<=0){PID_POWER=0;}//频率低限值比较
elseif(PID_POWER>=0x0E56){PID_POWER=0x0EA6;}//频率高限值比较
if(INVERTER==0)MCP4922_DA_SET(0x7000,0);//判断是否输出允许
elseMCP4922_DA_SET(0x7000,PID_POWER);//通道A输出频率模拟量
if(option0==6&&(ERROR9==1||ERROR10==1))//判断是否故障
MCP4922_DA_SET(0xF000,PID_POWER);
//通道A输出频率模拟量频率电压输出显示百分比计算0~100%--4~20mA
本发明简化公式算法,控制原理通俗易懂,方便设计者运用开发及普通用户使用。在满足使用要求的前提下,减少了软件开发过程中代码量,及复杂程度,并根据实际使用情况,在算法上加入了节能优化功能,有效提高整个系统的运行效率,增强系统实用性。
4、软件交互界面功能设计介绍
1、显示主界面设计
详细介绍:
南方泵业公司LOGO、系统版本V2.00、系统名称。
实时时间、日期。
PID频率000%;
出口设定压力;
出口实际压力;
进口实际压力;
泵识别及状态显示;
变频器运行参数:电压、电流、温度、转速、功率等;
每台泵的运行实时状态;
故障报警信息;
设备运行曲线;
设备识别泵数量;
设备总运行时间;
各级界面按键:监控界面、用户设置、系统设置、设备动画、数据记录等。
2、用户设置参数界面设计
详细介绍:
设定压力;单位Mpa,设定设备出口所需压力大小。
高压报警设定:单位Mpa,设定出口压力高限值,超过改造设备停机报警,自动复位。低压报警设定:单位Mpa,设定设备出口爆管保护压力,当设备满负荷运行时压力低限,低于改压力设备停机报警,手动复位;
最低频率设定:单位Hz,变频泵运行频率低限。
时间设定:设定系统运行时间。
用户密码设定:设定用户设置登录密码。
辅助运行压力:设定设备启动出口压力偏差值(出口压力减实际压力),大于该值设备启动下一台待机泵投入运行,当前变频泵由变频转为工频,当设备休眠时,为设备启动偏差值。启动延时时间,单位:秒。
辅助停止压力:设定设备停止出口压力偏差值(出口压力减实际压力),,大于该值设备停止一台工频泵,先启先停,当前只有一台变频泵时,设备停止该泵进入待机状态。停止延时时间,单位:秒。
顺次运行压力:只在设备变频器故障时有效,所有设备工频启动,工频停止,运行原理同辅助运行压力设定;
顺次停止压力:只在设备变频器故障时有效,所有设备工频启动,工频停止,运行原理同辅助停止压力设定;
预约运行:设备根据年、月、日不同的设定时间,根据相应的设定压力,定时改变设备出口运行设定压力值;
防冻运行:设备休眠时启动低频巡检功能;
3、系统参数设置功能设计
泵最高压力:系统运行最高压力设定上限,超过该压力,泵停机报警;
感应低压力:系统压力传感器最小感应压力级别,下限休眠压力参考偏差值;
感应高压力:系统压力传感器最高感应压力上限,故障辨别最高压力值。
感应器偏差:系统显示值与实际值偏差设定;
压差运行:功能使能,使用/不使用可选;
压差范围:运行时出水端与进水端压差范围;
进口高压报警:进水口压力报警上限;
进口低压报警:进水口压力报警下限;
(1)OptINV运行模式:
①NOTUSED:不使用该功能;
②SYNCMODE:SYNC模式运行变频器2;
③STACKMODE:STACK模式运行变频器2;
④TEMPMODE:TEMP模式运行变频器2;
⑤SmallPump1:小流量泵运行模式1;
⑥SmallPump2:小流量泵运行模式2;
⑦Inv2Mode:变频器互备运行模式;
(2)系统初始化设定:系统初始化功能选择,当选择YES时,等待3s左。
4、通讯参数功能设计(采用标准MODBUSRTU通讯协议):
SlaveID:通讯参数地址。
BaudRate:波特率参数设定。
DelayTime:通讯延迟时间设定。
DateType:数据传输类型,电流型:Current;频率型:Herz。
DriveMode:控制类型选择系统控制:Contorller;485通讯控制:485。
5、运行动画界面及功能设计:
进水压力显示(无负压);
实时显示1#泵~6#泵运行状态;
设备运行状态:设备停止/设备正常/设备故障;
泵识别数/运行数量/故障数量;
出水口实际压力、设定压力显示。
6、超级密码参数功能设计
语言设定:中英文语言选择;
运行限制:运行时间限制设定,999为无效值。
①当设备剩余2天运行时间时,系统停止并提示用户(按确定键可继续运行2天):
②当设备剩余0天运行时间,系统已停止提示用户(请联系供应商):
UnitType:压力单位选择,1:Bar;2:Kgf/cm2。
DACMin:频率电压输出下限。
DACMax:频率电压输出上限。
FANRun:风扇运行温度。
FANStop:风扇停止温度。
7、数据记录参数设计
故障报警记录共能保存最近发生的14项故障报警信息,故障报警数据循环存储。
1#泵~6#泵的数据记录存储,包括:运行时间、运行数据、故障次数。
运行次数:每次泵启动计数一次,最大值65535;
运行时间:单位小时计算,最大值65535;
报警次数:泵故障计数,最大值65535
8、防冻运行功能设计
防冻运行条件:(1)防冻运行使能(USED);(2)环境温度低于0℃;(3)泵组处于休眠状态。
防冻运行间隔时间:每次防冻运行,泵启动的间隔时间。
防冻运行时间:泵防冻运行时间。
防冻运行频率:5至10Hz。
防冻运行间隔时间、防冻运行时间不可设为0,无效。
9、预约运行功能设计
1)按小时运行每天可按6段不同的压力运行;
例如:(00时设定压力为3.5Bar,07时设定压力为5.0Bar,则系统在00至07时运行压力为3.5Bar,07至00时运行压力为5.0Bar。)
2)按小时设定压力为00.0Bar时,为无效值。
3)按日运行月可按5段不同的压力运行,每星期可按工作日和、双休日分别设定运行压力值;
例如:(02日设定压力为3.5Bar,15日设定压力为5.0Bar,则系统在02至15日运行压力为3.5Bar,15至02日运行压力为5.0Bar。)
4)按日设定压力为00.0Bar或00日,为无效值。
5)按月运行每年可按6段不同的压力运行;
例如:(01月设定压力为3.5Bar,07月设定压力为5.0Bar,则系统在01至07月运行压力为3.5Bar,07至01月运行压力为5.0Bar。)
6)按月设定压力为00.0Bar或00月,为无效值。
10、故障报警功能设计
报警时设备蜂鸣器响,报警灯闪烁,同时液晶上显示故障内容。按复位清除键可复位该故障报警;
报警时LCD显示内容及故障报警功能设计(表2)
序号 |
显示内容 |
可能故障原因 |
复位 |
1 |
低水位报警 |
进水管路缺水,或有空气 |
自动 |
2 |
泵过载 |
电机过热 |
自动 |
3 |
传感器异常 |
压力传感器故障 |
自动 |
4 |
变频器1故障 |
变频器1故障 |
手动 |
5 |
变频器2故障 |
变频器2故障 |
手动 |
6 |
压力异常报警 |
外部压力异常 |
自动 |
7 |
高压报警 |
出水口压力高 |
自动 |
8 |
低压报警 |
出水口压力低 |
自动 |
9 |
进水高压报警 |
进水口压力高 |
自动 |
10 |
进水低压报警 |
进水口压力低 |
自动 |
11 |
出水口超压 |
出水口超压 |
自动 |
12 |
水位溢出 |
外部检测水位溢出 |
自动 |
NFC2.00闭环控制设计方案如图8所示:说明:在控制输出过程中,系统的输入参考值M与实际值Kn,通过计算公式:A=N(M-Kn)+F(Kn-Kn-1)-Cu*u与Pout=Pout+A计算后输出频率控制信号Pout给变频器,变频器输出相应频率Hz;使被控对象(泵)输出相应转速为管网增压,压力通过反馈信号(传感器检测),再次得到新的实际反馈值Kn。原Kn值则变为Kn-1,在算法中根据实际情况增加相应的节能系数Cu和u,起到节能优化的效果。
闭环控制系统运行曲线如图7所示(实际运行效果):说明:系统设定目标值M,实际值Kn;变频输出值Pout;在t=0时系统启动输出,此时M-Kn差值为最大,变频输出值Pout增加到最大值,此时变化速率最快;系统在t0时刻,进入泵组切换阶段,变频输出值由最大值第一次复位为0,重新带入公式A=N(M-Kn)+F(Kn-Kn-1)-Cu*u与Pout=Pout+A计算,Kn值不断增加;在t1时刻,M-Kn差值达到最小(约0.01Mpa),系统进入输出平衡状态。
可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。