发明内容
因此本发明所要解决的技术问题是提供一种带闭环反馈的温控风扇转速的装置和方法,本发明能够满足现有温控系统中的散热要求,对风扇转速进行更加有效的控制,从而降低系统功耗、提高设备可靠性。
本发明具体是这样实现的:
一种温控风扇转速的装置,包括:接口单元、主控单元、温度采集单元、风扇控制单元和反馈单元;接口单元用于从外部对装置的设定参数进行访问;主控单元根据接口单元设定的参数和从反馈单元获取的风扇转速值和温度值参数,经过对比计算后得到最优风扇控制参数,再通过风扇控制单元对风扇进行控制;温度采集单元采集被控设备的温度,并将采集到的温度值送给反馈单元;风扇控制单元提供主控单元对风扇进行控制的接口,并将风扇的转速输出信号送给反馈单元;反馈单元将风扇控制单元发送的风扇的转速输出信号和温度采集单元发送的温度值处理后送给主控单元。
接口单元、主控单元和反馈单元分别作为接口逻辑、主控逻辑和反馈处理逻辑由复杂可编程逻辑器件在主控单板上实现,风扇控制单元由风扇控制单板实现;接口逻辑通过I2C接口对主控逻辑进行参数设定,还实现对设备内单板的下电保护控制;主控逻辑通过I2C接口对温度采集单元进行设定,并向风扇控制单板发送脉宽调制控制信号对风扇转速进行控制,还通过电平信号对设备中的其他单板进行下电控制;风扇控制单板将风扇输出的转速脉冲信号送给反馈处理逻辑,还给风扇提供工作电源;反馈处理逻辑通过I2C接口获取温度采集单元采集到的温度值,还用风扇控制单板发送的风扇转速脉冲信号计算出风扇的转速,将温度值和转速送给主控逻辑。
按上述方案,所述接口单元还用于将告警和控制信号输出。
按上述方案,所述温度采集单元采集被控设备的环境温度和设备温度。
按上述方案,所述温度采集单元包括温度传感器和感温三极管;感温三极管是温度传感器的触点,通过线缆从温度传感器延伸到需要测温的点;每个测温点至少有两个温度传感器互为备份。
按上述方案,所述装置采用闭环控制方式,将实际的风扇转速纳入风扇转速控制中。
一种实施温控风扇转速的装置的方法,包括如下步骤:设定风扇运转在初始转速,通过接口单元设定装置的以下参数:最低环境温度、最高环境温度、风扇最低转速、风扇最高转速、风扇其它转速档位、环境温度与设备温度的最大差值、最大设定与实际风扇转速偏差;温度采集单元采集被控设备的温度,送给反馈单元;反馈单元将处理后的温度值送给主控单元,主控单元首先判断环境温度是否小于设定的最低环境温度,如果是则通过风扇控制单元将风扇的转速设为风扇最低转速,否则判断环境温度是否大于设定的最高环境温度,如果是则通过风扇控制单元将风扇的转速设为风扇最高转速;如果不存在上述情况,主控单元根据反馈单元发送的温度值通过风扇控制单元将风扇的转速设为对应的其它转速档位,所述将风扇的转速设为对应的其它转速档位过程是:设定完风扇的实际转速档位后,主控单元判断环境温度和设备温度的差,如果超出环境温度与设备温度的最大差值则将当前的风扇转速档位提高一档,通过风扇控制单元对风扇的转速进行调整;每次修改风扇转速档位后,反馈单元都通过风扇控制单元获取风扇的转速输出信号,经过处理后将实际的风扇转速送给主控单元,主控单元比较设定的风扇转速和实际的风扇转速的差,如果小于最大设定与实际风扇转速偏差则表示设定成功,否则进行设定参数的调整,直到风扇达到设定的转速为止。
按上述方案,如果环境温度小于设定的最低环境温度或者大于设定的最高环境温度,则主控单元通过接口单元输出环境温度低告警或者环境温度高告警。
按上述方案,在设定风扇运转在初始转速步骤中还设定装置的以下参数:最高设备温度、系统关电保护温度、最大风扇转速调整次数;在判断完环境温度后,还判断设备温度是否大于设定的最高设备温度,如果是则通过接口单元输出设备温度高告警,并判断设备温度是否大于设定的系统关电保护温度,如果是则向设备中的单板发送关电保护信号;在设定参数的调整过程中对设定参数的调整次数不超过最大风扇转速调整次数,否则通过接口单元输出风扇异常告警。
由于采用了上述方案,本发明与现有技术相比,具有以下优点:
本发明根据反馈的风扇转速,可以精确调节风扇的运转。这样在满足散热要求的前提下,可以使风扇运行在转速最低的状态下。随着使用时间的增加风扇会逐渐损耗,如果设置固定的值、而不是根据可满足散热要求的转速一直运行则会导致风扇使用寿命的缩短。因此,本发明不但节约了能源,也延长了风扇的使用寿命。
同时,本发明实现了完整的闭环风扇控制系统。可以切实地掌握风扇的实际运行转速,并能够立即发现风扇故障并输出告警,提高了系统的可靠性。
具体实施方式
以下结合附图对本发明的具体实施作进一步的说明:
如图1所示,本发明的闭环温控风扇转速的装置包括:温度采集单元、反馈单元、主控单元、接口单元和风扇控制单元。
1、温度采集单元:包括用于进行温度采集的设备和器件。温度采集单元采集被控设备的环境温度和设备温度,并将采集到的温度值分别送给反馈单元。
2、反馈单元:对设定转速后的风扇转速和温度进行测量,测量的结果供主控单元查询。
3、主控单元:根据接口单元设定的参数和从反馈单元获取的风扇转速值以及温度值等参数,经过对比计算后得到最优风扇控制参数,再通过风扇控制单元对风扇进行控制。
4、接口单元:是本装置的对外接口,可以从外部对装置的设定参数进行访问和增减,也可以将告警和控制信号输出。
5、风扇控制单元:作为风扇和主控单元的接口单板,起到给风扇供电和提供主控单元对风扇进行控制的接口作用,同时将风扇的转速输出信号送给反馈单元。
本发明的闭环温控风扇转速的方法包括以下步骤:
1、在系统上电时设定风扇运转在S_START上(无需外部配置,主控单元默认设置),作为一个初始转速。然后通过接口单元设定以下参数:Tin_min(最低环境温度)、Tin_max(最高环境温度)、Tout_max(最高设备温度)、Tout_off(系统关电保护温度)、Tdiff(环境温度与设备温度的最大差值)、Smin(最低转速,对应设定参数SET_MIN)、S1(第一档,对应设定参数SET_1)、S2(第二档,对应设定参数SET_2)、S3(第三档,对应设定参数SET_3)、S4(第四档,对应设定参数SET_4)、Smax(最高转速,对应设定参数SET_MAX)、OFFSETmax(最大设定与实际转速偏差)、ADJmax(最大风扇转速调整次数)、SET_STEP(转速调整步长)。上述的SET_MIN、SET_1-4和SET_MAX为达到对应温度对风扇控制单元进行的设定参数,此参数需要根据实际控制的风机进行设定。
2、温度采集单元获取被控设备的Tin(环境温度)和设备内部温度(Tout),送给反馈单元。主控单元判断Tin是否超过设定的Tin_min和Tin_max,如果超过则通过接口单元送出告警信息,并通过风扇控制单元控制风扇运行在Smin或Smax;主控单元判断Tout是否超过设定的Tout_max,如果没有超过则开始设定风扇档位,否则输出设备温度高告警,并继续判断是否大于设定的Tout_off,如果超过则通过接口单元送出关电保护控制信号,并通过风扇控制单元将风扇转速设为Smax。
3、主控单元根据采集到的温度以一档为步长设定风扇实际应该工作的档位,接下来判断环境温度和设备内部温度的差,如果超出Tdiff则将当前的风扇档位提高一档,通过风扇控制单元对风扇转速进行调整。
4、每次修改风扇档位后,都通过反馈单元获取实际的风扇转速,比较设定和实际转速的差,如果小于OFFSETmax则表示设定成功,否则,如果反馈转速大于设定转速,将当前档位对应的设定参数减少SET_STEP后,作为当前设定参数。如果反馈转速小于设定转速,将当前档位对应的设定参数增加SET_STEP,直到风扇达到设定转速为止。调整次数不超过ADJmax,否则输出风扇异常告警。
具体应用本发明可以设计一种闭环控制的风扇调温系统,解决目前应用其他方法不能准确判断风扇实际运行状态、以及不能对实际控制结果进行动态调整的问题。以下是本发明的实施实例:
如图2所示,本实施例应用于通讯机房的通讯设备上,实现主控、反馈、控制接口的CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)在主控单板上实现。主控单板通过风扇控制板控制和检测风扇的运行,同时通过温度采集单元采集设备进风口和出风口的温度,每个采温点都有两个传感器互为备份。以达到提高采温可靠性的目的,当一个失效时可以用另一个代替。主控单板还可以对其他单板进行下电控制。5个单元的具体实现详细描述如下:
1、接口逻辑是主控逻辑与外部的接口电路,由CPLD实现。
接口逻辑通过I2C接口,实现对主控逻辑的参数设定。接口逻辑还可以实现对设备内单板的下电保护控制。
2、主控逻辑是核心,用CPLD实现。
接口逻辑通过I2C总线对主控逻辑进行参数设定。主控逻辑通过I2C接口对温度采集单元进行设定,同在CPLD里的反馈处理逻辑也通过此I2C接口获取温度采集单元采集到的温度值。主控逻辑向风扇控制板发送PWM(Pulse Width Modulation,脉宽调制)控制信号,来控制风扇的转速。主控逻辑通过电平信号对设备中的其他单板进行下电控制。
3、温度采集单元由温度传感器和感温三极管组成。
感温三极管是温度传感器的触点,可以通过线缆从温度传感器延伸到需要测温的点。温度采集单元通过I2C接口与CPLD进行通讯,并向反馈处理逻辑上报采集到的温度值。
4、风扇控制板由一块风扇控制单板实现。
此单板将主控逻辑送来的PWM控制信号送给被控风扇。同时还可以将风扇输出的转速脉冲信号送给反馈处理逻辑进行检测。风扇控制板给风扇提供48V工作电源。
5、反馈处理逻辑用CPLD实现。
用风扇控制板送过来的风扇转速脉冲信号,计算出风扇的转速,并将转速送给主控逻辑。同时反馈处理逻辑还可以将从温度采集单元获取的温度值送给主控逻辑。
具体的风扇控制流程如图3所示,本实例的控制方法如下:
1、上电后首先设定风扇运行在S_START(2250rpm)上。通过I2C总线设置CPLD的相关参数:Tin_min(-20℃)、Tin_max(+50℃)、Tout_max(+65℃)、Tout_off(+70℃)、Tdiff(15℃)、Smin(2250rpm,设定参数SET_MIN=0x05)、S1(3000rpm,设定参数SET_1=0x10)、S2(3750rpm,设定参数SET_2=0x20)、S3(4500rpm,设定参数SET_3=0x30)、S4(5250rpm,设定参数SET_4=0x40)、Smax(6000rpm,设定参数SET_MAX=0x50)、OFFSETmax(5%)、ADJmax(5)、SET_STEP(0x01)。
2、温度采集单元获取被控设备的Tin(环境温度)和Tout(设备内部温度),送给反馈处理逻辑进行比较。
3、反馈处理逻辑将比较结果发送给主控逻辑,主控逻辑进行如下判断和控制:首先看Tin是否小于Tin_min(-20℃),如果是则发出环境温度低告警,然后强制将风扇的转速设为最低转速Smin(2250rpm),否则判断Tin是否大于Tin_max(+50℃),如果是则先发出环境温度高告警,并强制让风扇全速运行在Smax(6000rpm)。同时,还判断Tout是否大于Tout_max(+65℃),如果是,主控逻辑就通过接口逻辑输出设备温度高告警,并判断Tout是否大于关电保护的Tout_off(+70℃)门限,大于门限就向设备中的单板发送关电保护信号,并控制风扇运行在Smax(6000rpm),否则风扇转速增加一挡。
4、如果没有告警输出,则继续根据环境温度以一档为步长将设定修改为和环境温度对应的档位。设定风扇转速如下:
当环境温度大于-20℃,小于等于+30℃,风扇转速为S1(3000rpm);
当环境温度大于+30℃,小于等于+35℃,风扇转速为S2(3750rpm);
当环境温度大于+35℃,小于等于+45℃,风扇转速为S3(4500rpm);
当环境温度大于+45℃,小于等于+50℃,风扇转速为S4(5250rpm)。
5、接下来判断环境温度和设备内部温度的差,如果超出Tdiff(15℃)则将当前的风扇档位提高一档。
6、每次修改风扇档位后,都通过反馈处理逻辑统计风扇控制板送来的风扇转速脉冲信号,得到实际的风扇转速,比较设定和实际转速的差,如果小于设定转速的OFFSETmax(5%)则表示设定成功,否则进行设定参数的调整,直到风扇达到设定转速为止。调整的方法为,当实际转速大于设定转速值则将当前档位对应的设定参数减少SET_STEP(0x01)。反之如果实际转速小于设定转速值则将当前档位对应的设定参数增加SET_STEP(0x01)。调整次数不超过ADJmax(5)次,否则输出风扇异常告警。