一种风扇控制方法、装置及电子设备和存储介质与流程

文档序号:22123291发布日期:2020-09-04 16:51阅读:172来源:国知局
一种风扇控制方法、装置及电子设备和存储介质与流程

本申请涉及计算机技术领域,更具体地说,涉及一种风扇控制方法、装置及一种电子设备和一种计算机可读存储介质。



背景技术:

伴随着科技的高速发展,互联网技术的愈发成熟,云计算和大数据产业占据了越来越重要的位置。而服务器作为数据中心的核心正扮演着更加重要的角色,而大量服务器集群组成的数据中心的功耗问题也愈发的受到关注。如何有效的提高服务器散热的效率,降低数据中心中服务器的功耗成为各个专家学者的研究重点。

传统服务器散热多采用风冷散热,即通过将冷风吹向发热元件,或者将热风从服务器内部抽出。在相关技术中,风冷散热是通过查表法读取温度,根据采集到的温度信息调整风扇转速实现温度控制,但此类方法控制精度不高且会使风扇转速产生较大的波动,不利于服务器的散热和功耗的优化。为解决该问题,服务器的风扇控制系统中多采用pid控制器来对风扇转速进行控制,pid控制器具有结构简单,鲁棒性强、适用性强等特点,是工业生产中使用最为广泛的控制器。但pid控制器的控制性能十分依赖pid参数的选择,靠经验法手动调节难以获得最优参数,从而无法取得最优的控制效果。

因此,如何选取最优pid参数,从而提高风扇控制效果是本领域技术人员需要解决的技术问题。



技术实现要素:

本申请的目的在于提供一种风扇控制方法、装置及一种电子设备和一种计算机可读存储介质,选取最优pid参数,从而提高了风扇控制效果。

为实现上述目的,本申请提供了一种风扇控制方法,包括:

通过温度传感器获取服务器的温度信息;

确定差分进化算法的变异因子、交叉因子和目标函数;其中,每次进化过程中所述变异因子与当前进化代数呈负相关,所述交叉因子与所述当前进化代数呈正相关;

利用所述改进差分进化算法确定pid参数,并基于所述pid参数和所述温度信息控制风扇转速。

其中,所述利用所述改进差分进化算法确定pid参数,包括:

生成初始种群,基于所述初始种群生成初始向量集,并在所述初始向量集中选取预设数量的初始向量;

基于所述变异因子对所述初始向量进行变异操作得到变异向量,并将所述变异向量加入所述初始向量集得到第一中间向量集;

基于所述交叉因子对所述第一中间向量集中的向量进行交叉操作,得到第二中间向量集;

利用所述目标函数对所述第二中间向量集中的向量进行选择操作,得到第三中间向量集;

判断当前进化代数是否等于最大进化代数;若否,则将所述第三中间向量集作为所述初始向量集重新进入在所述初始向量集中选取预设数量的初始向量的步骤。

其中,所述基于所述变异因子对所述初始向量进行变异操作得到变异向量之后,还包括:

基于修补算子对变异向量进行修补操作;

相应的,将将所述变异向量加入所述初始向量集得到第一中间向量集,包括:

将修补后的变异向量加入所述初始向量集得到第一中间向量集。

其中,所述修补算子具体为:

其中,vi,j,g为所述变异向量,uj和lj分别为所述初始种群中个体的上界和下界,v′i,j,g为所述修补后的变异向量。

其中,所述变异因子f的确定公式为:

其中,fmax为变异因子的最大值,fmin变异因子的最小值,g为所述最大进化代数,g为所述当前进化代数。

其中,所述变异因子cr的确定公式为:

其中,crmax为变异因子的最大值,crmin变异因子的最小值,g为所述最大进化代数,g为所述当前进化代数。

其中,所述目标函数q具体为:

其中,e(t)为t时刻的误差,ct为所述误差的加权参数,u(t)为控制器输出,(1-ct)为所述控制器输出的加权参数。

为实现上述目的,本申请提供了一种风扇控制装置,包括:

获取模块,用于通过温度传感器获取服务器的温度信息;

确定模块,用于确定差分进化算法的变异因子、交叉因子和目标函数;其中,每次进化过程中所述变异因子与当前进化代数呈负相关,所述交叉因子与所述当前进化代数呈正相关;

控制模块,用于利用所述改进差分进化算法确定pid参数,并基于所述pid参数和所述温度信息控制风扇转速。

为实现上述目的,本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述风扇控制方法的步骤。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述风扇控制方法的步骤。

通过以上方案可知,本申请提供的一种风扇控制方法,包括:通过温度传感器获取服务器的温度信息;确定差分进化算法的变异因子、交叉因子和目标函数;其中,每次进化过程中所述变异因子与当前进化代数呈负相关,所述交叉因子与所述当前进化代数呈正相关;利用所述改进差分进化算法确定pid参数,并基于所述pid参数和所述温度信息控制风扇转速。

本申请提供的风扇控制方法,利用差分进化算法选取最优pid参数,同时线性调整差分进化算法中的变异因子和交叉因子。在进化初期,变异因子取值较大有利于拓展搜索空间,保持种群的多样性;在进化后期,收敛的情况下变异因子取值较小,更有利于选中最佳区域,逼近最优取值,提高收敛速率和搜索精度。在进化初期,交叉因子取值较小可以提高搜索速度,在进化后期,交叉因子取值较大可以提高种群多样性。由此可见,本申请提供的风扇控制方法,利用差分进化算法对pid参数进行整定,获得最优的pid控制器参数,进一步提高风扇转速的控制精度,从而更好的调节服务器内部的温度。本申请还公开了一种风扇控制装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1为根据一示例性实施例示出的一种风扇控制方法的流程图;

图2为根据一示例性实施例示出的另一种风扇控制方法的流程图;

图3为根据一示例性实施例示出的一种风扇控制装置的结构图;

图4为根据一示例性实施例示出的一种电子设备的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开了一种风扇控制方法,选取最优pid参数,从而提高了风扇控制效果。

参见图1,根据一示例性实施例示出的一种风扇控制方法的流程图,如图1所示,包括:

s101:通过温度传感器获取服务器的温度信息;

在具体实施中,首先由温度传感器采集温度信息并传递给bmc(中文全称:基板管理控制器,英文全称:baseboardmanagementcontroller),bmc将控制信号通过i2c(inter-integratedcircuit)总线传递给风扇控制芯片,根据接收到的温度信息,风扇控制芯片采用pid控制方法来调节pwm(中文全称:脉冲宽度调制,英文全称:pulsewidthmodulation)信号从而实现温度控制。

s102:确定差分进化算法的变异因子、交叉因子和目标函数;其中,每次进化过程中所述变异因子与当前进化代数呈负相关,所述交叉因子与所述当前进化代数呈正相关;

在本实施例中,为了提高pid参数的优化速度,并在不降低控制性能,不破坏全局最优约束条件的情况下,提出了改进的差分进化算法,将最优目标函数应用到pid参数的整定。

差分进化算法(de)算法是一种基于种群的优化算法,通过对目标函数在多个随机选定的起始点进行抽样,然后进行智能优化搜索。de算法根据父代个体间的差分矢量通过变异、选择和选择来进行智能搜索。de算法基本思想是在预定区间内,选取随机初始群体的任意两个个体的向量差进行加权,在与通过确定的规则与另外一个个体求和以产生新的个体,然后将新个体与正在搜索的种群中提前选定的个体(一般为第一个个体)进行比较,保留经过取优函数筛选之后更优的个体,通过预定次数的迭代运算,优胜劣汰,不断地搜索逼近最优解。

de算法作为一种非常实用且有效的优化算法,但标准de算法也会陷于局部最优解,容易出现早熟收敛等现象。针对de算法的这些问题,提出了新的检索因子。

变异因子f是de算法的关键参数,它表征种群的多样性和收敛性。de算法中f一般都取定常数,f值较小时,群体的差异度减小,进化过程比较不容易跳出局部极值导致种群过早的收敛f值较大时,收敛速度会减小,但是容易跳出局部极值。变异因子f的取值在区间[0,2]内,一般在1的附近选取。在本实施例中,变异因子f的确定公式可以为:

其中,fmax为变异因子的最大值,fmin变异因子的最小值,g为所述最大进化代数,g为所述当前进化代数。

在de算法运行的初期,f取值较大,有利于拓展搜索空间,保持种群的多样性;在算法后期,收敛的情况下,f取值较小,更有利于选中最佳区域,逼近最优取值,提高收敛速率和搜索精度。

交叉因子cr表征个体参数的各维对交叉的参与程度,全局与局部的搜索平衡能力。标准de算法中cr一般都取定常数,cr值较小时,种群多样性会减小容易过早陷入局部最优解;f值较大时,又会因为扰动大于群体差异度而导致收敛缓慢,无法得到最优解。因此本实施例对交叉因子cr进行线性调整,其取值在区间[0.6,0.9]内,变异因子cr的确定公式为:

其中,crmax为变异因子的最大值,crmin变异因子的最小值,g为所述最大进化代数,g为所述当前进化代数。

另外,为了防止控制量过大,可以选用误差绝对时间积分性能指标和控制输入平方加权结合作为参数选取的最优指标函数,即目标函数q具体为:

其中,e(t)为t时刻的误差,ct为所述误差的加权参数,u(t)为控制器输出,(1-ct)为所述控制器输出的加权参数。

s103:利用所述改进差分进化算法确定pid参数,并基于所述pid参数和所述温度信息控制风扇转速。

在本步骤中,基于上一步骤确定的变异因子、交叉因子和目标函数利用改进差分进化算法确定pid参数,风扇控制芯片基于pid参数采用pid控制方法来调节pwm信号从而实现风扇转速控制。

在具体实施中,利用所述改进差分进化算法确定pid参数的步骤可以包括:生成初始种群,基于所述初始种群生成初始向量集,并在所述初始向量集中选取预设数量的初始向量;基于所述变异因子对所述初始向量进行变异操作得到变异向量,并将所述变异向量加入所述初始向量集得到第一中间向量集;基于所述交叉因子对所述第一中间向量集中的向量进行交叉操作,得到第二中间向量集;利用所述目标函数对所述第二中间向量集中的向量进行选择操作,得到第三中间向量集;判断当前进化代数是否等于最大进化代数;若是,则得到最优pid参数;若否,则将所述第三中间向量集作为所述初始向量集重新进入在所述初始向量集中选取预设数量的初始向量的步骤。

本申请实施例提供的风扇控制方法,利用差分进化算法选取最优pid参数,同时线性调整差分进化算法中的变异因子和交叉因子。在进化初期,变异因子取值较大有利于拓展搜索空间,保持种群的多样性;在进化后期,收敛的情况下变异因子取值较小,更有利于选中最佳区域,逼近最优取值,提高收敛速率和搜索精度。在进化初期,交叉因子取值较小可以提高搜索速度,在进化后期,交叉因子取值较大可以提高种群多样性。由此可见,本申请实施例提供的风扇控制方法,利用差分进化算法对pid参数进行整定,获得最优的pid控制器参数,进一步提高风扇转速的控制精度,从而更好的调节服务器内部的温度。

本申请实施例公开了一种风扇控制方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

参见图2,根据一示例性实施例示出的另一种风扇控制方法的流程图,如图2所示,包括:

s201:通过温度传感器获取服务器的温度信息;

s202:确定差分进化算法的变异因子、交叉因子和目标函数;其中,每次进化过程中所述变异因子与当前进化代数呈负相关,所述交叉因子与所述当前进化代数呈正相关;

s203:生成初始种群,基于所述初始种群生成初始向量集;

初始种群的向量个体界定范围[l,h],随机生成n个n维向量,其中第k个个体xij(k),xi,j(k)={xi,1,xi,2,...,xi,n};

其中,xi,j(k)∈[l,h],i=1,2,...,n,j=1,2,...,n,所有n个n维向量,组成初始种群,xi,j(k)=randj(0,1)×(uj-lj)+lj,k=1,2,...,n为种群内第k个个体,uj和lj为第k个个体的上界和下界。

s204:在所述初始向量集中选取预设数量的初始向量;

s205:基于所述变异因子对所述初始向量进行变异操作得到变异向量;

在本步骤中,对于初始化后的种群,通过变异操作将一个可缩放的、随机选取的向量差分增量与与第3个向量按照特定规律进行组合,生成一个新的变异向量。

s206:基于修补算子对变异向量进行修补操作,并将修补后的变异向量加入所述初始向量集得到第一中间向量集;

可以理解的是,在变异操作中,针对不同问题,变异后的向量个体有可能在搜索空间以外。因此,本实施例利用修补算子对变异向量进行修补,修补算子具体为:

其中,vi,j,g为所述变异向量,uj和lj分别为所述初始种群中个体的上界和下界,v′i,j,g为所述修补后的变异向量。

s207:基于所述交叉因子对所述第一中间向量集中的向量进行交叉操作,得到第二中间向量集;

s208:利用所述目标函数对所述第二中间向量集中的向量进行选择操作,得到第三中间向量集;

s209:判断当前进化代数是否等于最大进化代数;若是,则进入s210,若否,则将所述第三中间向量集作为所述初始向量集重新进入s204。

s210:基于确定的pid参数和所述温度信息控制风扇转速。

由此可见,本实施中的差分进化算法,综合控制性能较优,过渡过程也比较平滑,调节时间也有了明显的优化,可以有效地提高服务器中风扇控制的精度。

下面对本申请实施例提供的一种风扇控制装置进行介绍,下文描述的一种风扇控制装置与上文描述的一种风扇控制方法可以相互参照。

参见图3,根据一示例性实施例示出的一种风扇控制装置的结构图,如图3所示,包括:

获取模块301,用于通过温度传感器获取服务器的温度信息;

确定模块302,用于确定差分进化算法的变异因子、交叉因子和目标函数;其中,每次进化过程中所述变异因子与当前进化代数呈负相关,所述交叉因子与所述当前进化代数呈正相关;

控制模块303,用于利用所述改进差分进化算法确定pid参数,并基于所述pid参数和所述温度信息控制风扇转速。

本申请实施例提供的风扇控制装置,利用差分进化算法选取最优pid参数,同时线性调整差分进化算法中的变异因子和交叉因子。在进化初期,变异因子取值较大有利于拓展搜索空间,保持种群的多样性;在进化后期,收敛的情况下变异因子取值较小,更有利于选中最佳区域,逼近最优取值,提高收敛速率和搜索精度。在进化初期,交叉因子取值较小可以提高搜索速度,在进化后期,交叉因子取值较大可以提高种群多样性。由此可见,本申请实施例提供的风扇控制装置,利用差分进化算法对pid参数进行整定,获得最优的pid控制器参数,进一步提高风扇转速的控制精度,从而更好的调节服务器内部的温度。

在上述实施例的基础上,作为一种优选实施方式,所述控制模块303包括:

生成单元,用于生成初始种群,基于所述初始种群生成初始向量集;

选取单元,用于在所述初始向量集中选取预设数量的初始向量;

变异单元,用于基于所述变异因子对所述初始向量进行变异操作得到变异向量,并将所述变异向量加入所述初始向量集得到第一中间向量集;

交叉单元,用于基于所述交叉因子对所述第一中间向量集中的向量进行交叉操作,得到第二中间向量集;

选择单元,用于利用所述目标函数对所述第二中间向量集中的向量进行选择操作,得到第三中间向量集;

判断单元,用于判断当前进化代数是否等于最大进化代数;若是,则启动控制单元的工作流程;若否,则将所述第三中间向量集作为所述初始向量集重新启动选取单元的工作流程;

控制单元,用于基于所述pid参数和所述温度信息控制风扇转速。

在上述实施例的基础上,作为一种优选实施方式,所述变异单元具体为基于所述变异因子对所述初始向量进行变异操作得到变异向量,基于修补算子对变异向量进行修补操作,并将修补后的变异向量加入所述初始向量集得到第一中间向量集的单元。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请还提供了一种电子设备,参见图4,本申请实施例提供的一种电子设备400的结构图,如图4所示,可以包括处理器11和存储器12。该电子设备400还可以包括多媒体组件13,输入/输出(i/o)接口14,以及通信组件15中的一者或多者。

其中,处理器11用于控制该电子设备400的整体操作,以完成上述的风扇控制方法中的全部或部分步骤。存储器12用于存储各种类型的数据以支持在该电子设备400的操作,这些数据例如可以包括用于在该电子设备400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件13可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或通过通信组件15发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口14为处理器11和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件15用于该电子设备400与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件15可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的风扇控制方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述风扇控制方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器12,上述程序指令可由电子设备400的处理器11执行以完成上述的风扇控制方法。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1