发明名称 一种基于牛顿极值搜索算法的双闭环照明节能控制方法
摘要 本发明公开了一种基于牛顿极值搜索算法的双闭环照明节能控制方法,通过PID闭环控制保持照度需求,同时又通过牛顿极值搜索算法,不断迭代快速寻找到照明系统能耗的最小值,并保持最小值稳定输出,该控制应用在照明系统节能上有着重要的控制作用。针对照明能耗问题,最理想的情况是既保证区域照度需求又保持能耗降到最小值,本发明中,通过牛顿极值搜索控制算法来调节灯组(每组灯具)的分组情况即百分比,既保证了照度控制区域达到照度要求即目标照度值,同时照明系统能保持较低能耗稳定输出,即满足了用户的需求,又达到了节能的效果。
申请公布号 CN106028585A 申请公布日期 2016.10.12
申请号 CN201610346293.8 申请日期 2016.05.23
申请人 电子科技大学 发明人 殷春;程玉华;周士伟;吴姗姗;魏修岭;王伟;黄雪刚;白利兵;胡彬杨
分类号 H05B37/02(2006.01)I 主分类号 H05B37/02(2006.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平
主权项 一种基于牛顿极值搜索算法的双闭环照明节能控制方法,其特征在于,包括以下步骤:(1)、将用于照度控制区域照明的所有灯具划分为n组,且每组灯具百分比用w<sub>1</sub>,w<sub>2</sub>,…,w<sub>n</sub>表示,其中w<sub>1</sub>+w<sub>2</sub>+…+w<sub>n</sub>=1,通过改变百分比w<sub>1</sub>,w<sub>2</sub>,…,w<sub>n</sub>的值,可以进一步控制各组灯具之间的亮度;在照度控制区域安装一个光传感器,用于照度控制区域照度的采集;(2)、设定照度控制区域的目标照度值,初始化(估计)每组灯具的百分比为<img file="FDA0000996886970000011.GIF" wi="314" he="63" />第n组<img file="FDA0000996886970000012.GIF" wi="74" he="61" />我们用<img file="FDA0000996886970000013.GIF" wi="514" he="63" />得到,所以在搜索算法循环的过程中只需要n‑1项,构成向量<img file="FDA0000996886970000014.GIF" wi="499" he="79" />(3)、向量<img file="FDA0000996886970000015.GIF" wi="59" he="62" />经过扰动S(t)的作用产生输入向量W′=[w′<sub>1</sub>,w′<sub>2</sub>,…,w′<sub>n‑1</sub>]<sup>T</sup>;所述的扰动S(t)为[a<sub>1</sub>sinσ<sub>1</sub>t,a<sub>2</sub>sinσ<sub>2</sub>t,...,a<sub>n‑1</sub>sinσ<sub>n‑1</sub>t]<sup>T</sup>,其中,t为时间,系数a<sub>1</sub>,a<sub>2</sub>,…,a<sub>n‑1</sub>、频率参数σ<sub>1</sub>,σ<sub>2</sub>,…,σ<sub>n‑1</sub>,根据具体情况确定;所述的作用为:<maths num="0001"><math><![CDATA[<mrow><msup><mi>W</mi><mo>&prime;</mo></msup><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msubsup><mi>w</mi><mn>1</mn><mo>&prime;</mo></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>w</mi><mn>2</mn><mo>&prime;</mo></msubsup></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr></mtable></mtd></mtr><mtr><mtd><msubsup><mi>w</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mo>&prime;</mo></msubsup></mtd></mtr></mtable></mfenced><mo>=</mo><mover><mi>W</mi><mo>^</mo></mover><mo>+</mo><mi>S</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mover><mi>w</mi><mo>^</mo></mover><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mover><mi>w</mi><mo>^</mo></mover><mn>2</mn></msub></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr></mtable></mtd></mtr><mtr><mtd><msub><mover><mi>w</mi><mo>^</mo></mover><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>a</mi><mn>1</mn></msub><msub><mi>sin&sigma;</mi><mn>1</mn></msub><mi>t</mi></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>a</mi><mn>2</mn></msub><msub><mi>sin&sigma;</mi><mn>2</mn></msub><mi>t</mi></mrow></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mrow><msub><mi>a</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub><msub><mi>sin&sigma;</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>t</mi></mrow></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000996886970000016.GIF" wi="982" he="295" /></maths>(4)、将输入向量W′与百分比的第n项w′<sub>n</sub>=1‑w′<sub>1</sub>‑w′<sub>2</sub>‑…‑w′<sub>n‑1</sub>进行整合得到输入向量W=[w<sub>1</sub>,w<sub>2</sub>,…,w<sub>n</sub>]<sup>T</sup>,光传感器将照度控制区域的采集照度值通过I<sup>2</sup>C协议传入控制器,控制器通过串口将采集照度值数据传入到上位机;在上位机中,采集照度值与目标照度值做PID闭环控制,即目标照度值减去采集照度值,差值送入PID控制器中,PID控制器输出控制量,控制量作用于各组灯具的百分比即w<sub>1</sub>,w<sub>2</sub>,…,w<sub>n</sub>,将作用后的结果通过串口输出传给控制器,然后对各组灯具亮暗程度进行控制;而当灯具的亮暗程度改变时,再通过光传感器对照度控制区域照度进行实时采集,再次进行PID闭环控制,不断减小采集照度值和目标照度值的差值,最终使采集照度值稳定在目标照度值;(5)、计算每组灯具的能耗,然后求和,得到总能耗E′;对总能耗E′进行滤波,以滤去不稳定的波动,得到滤波后的总能耗E;(6)、如果总能耗E与上一次得到的每组灯具的亮度百分比w<sub>1</sub>,w<sub>2</sub>,…,w<sub>n</sub>下的总能耗E<sub>0</sub>的差值ΔE,即|E‑E<sub>0</sub>|小于设定的阈值,则结束,此时输出的每组灯具的亮度组合即百分比w<sub>1</sub>,w<sub>2</sub>,…,w<sub>n</sub>为满足用户照度需求,同时能耗最小亮度组合;否则,进行步骤(7);(7)、滤波后的总能耗E分别与扰动M(t)和N(t)作用,其中:所述的扰动M(t)为:<maths num="0002"><math><![CDATA[<mrow><mi>M</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>&lsqb;</mo><mfrac><mn>2</mn><msub><mi>a</mi><mn>1</mn></msub></mfrac><msub><mi>sin&sigma;</mi><mn>1</mn></msub><mi>t</mi><mo>,</mo><mfrac><mn>2</mn><msub><mi>a</mi><mn>2</mn></msub></mfrac><msub><mi>sin&sigma;</mi><mn>2</mn></msub><mi>t</mi><mo>,</mo><mo>...</mo><mo>,</mo><mfrac><mn>2</mn><msub><mi>a</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub></mfrac><msub><mi>sin&sigma;</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>t</mi><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow>]]></math><img file="FDA0000996886970000021.GIF" wi="934" he="135" /></maths>所述的总能耗E与扰动M(t)作用为M(t)·E,即:<maths num="0003"><math><![CDATA[<mrow><mi>M</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>E</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mfrac><mn>2</mn><msub><mi>a</mi><mn>1</mn></msub></mfrac><msub><mi>sin&sigma;</mi><mn>1</mn></msub><mi>t</mi></mrow></mtd></mtr><mtr><mtd><mrow><mfrac><mn>2</mn><msub><mi>a</mi><mn>2</mn></msub></mfrac><msub><mi>sin&sigma;</mi><mn>2</mn></msub><mi>t</mi></mrow></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mrow><mfrac><mn>2</mn><msub><mi>a</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub></mfrac><msub><mi>sin&sigma;</mi><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>t</mi></mrow></mtd></mtr></mtable></mfenced><mi>E</mi><mo>;</mo></mrow>]]></math><img file="FDA0000996886970000022.GIF" wi="556" he="503" /></maths>所述的扰动N(t)为一个(n‑1)×(n‑1)的矩阵,其中,i行i列元素N<sub>ii</sub>、i行j列元素N<sub>ij</sub>分别为:<maths num="0004"><math><![CDATA[<mrow><msub><mi>N</mi><mrow><mi>i</mi><mi>i</mi></mrow></msub><mo>=</mo><mfrac><mn>16</mn><msubsup><mi>a</mi><mi>i</mi><mn>2</mn></msubsup></mfrac><mrow><mo>(</mo><msup><mi>sin</mi><mn>2</mn></msup><mo>(</mo><mrow><msub><mi>&sigma;</mi><mi>i</mi></msub><mi>t</mi></mrow><mo>)</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>)</mo></mrow><mo>,</mo><msub><mi>N</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mfrac><mn>4</mn><mrow><msub><mi>a</mi><mi>i</mi></msub><msub><mi>a</mi><mi>j</mi></msub></mrow></mfrac><mi>s</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><msub><mi>&sigma;</mi><mi>i</mi></msub><mi>t</mi><mo>)</mo></mrow><mi>s</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><msub><mi>&sigma;</mi><mi>j</mi></msub><mi>t</mi><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><mi>i</mi><mo>&NotEqual;</mo><mi>j</mi><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000996886970000023.GIF" wi="1270" he="135" /></maths>所述的总能耗E与扰动N(t)作用为N(t)·E,即:<img file="FDA0000996886970000024.GIF" wi="692" he="231" />总能耗E与扰动N(t)作用后,其结果通过Riccati方程构造出Hessian矩阵H的逆矩阵的估计矩阵Γ,然后,将估计矩阵Γ乘以总能耗E与扰动M(t)作用后的结果,产生变量ΔW′;(8)、将变量ΔW′乘以‑K(常系数)后积分,在向量<img file="FDA0000996886970000025.GIF" wi="446" he="79" />处寻找到使能耗降低的下一个估计迭代点即向量<img file="FDA0000996886970000026.GIF" wi="86" he="71" />即:<maths num="0005"><math><![CDATA[<mrow><msub><mover><mi>W</mi><mo>^</mo></mover><mn>1</mn></msub><mo>=</mo><mover><mi>W</mi><mo>^</mo></mover><mo>-</mo><msup><mi>K&Delta;W</mi><mo>&prime;</mo></msup><mo>;</mo></mrow>]]></math><img file="FDA0000996886970000027.GIF" wi="374" he="71" /></maths>然后将向量<img file="FDA0000996886970000028.GIF" wi="66" he="79" />作为向量<img file="FDA0000996886970000029.GIF" wi="89" he="63" />返回步骤(3)。
地址 611731 四川省成都市高新区(西区)西源大道2006号