Research on temperature control of high power microwave oven based on back propagation neural network PID
微波加热是将微波能转化为热能,对物料进行直接加热,与常规加热方式相比,具有内外同热、升温速率快和选择性加热等优点,已在金属冶炼[1]、陶瓷烧结[2]、矿物加工[3]、化学合成[4]等领域中有一定的应用。但是微波加热过程具有强非线性、强耦合、不确定性、较大时延等特点,这使得在微波加热过程中,常常发生媒质受热不均[5-6]和热失控[7-8]事件,这不仅会损坏被加热产品,严重时则会导致燃烧甚至爆炸。
目前工业微波加热过程中最常用的控制方式为PID控制,但常规的PID控制系统不能在线进行参数整定,抗干扰性差,难以保证加热腔中媒质温度稳定。因此,许多学者针对微波加热中媒质的温度智能控制进行了大量研究。周明长[9]构建一种适用于微波加热的自适应模糊神经推理系统(ANFIS),实验表明与常规PID、模糊PID控制策略相比,ANFIS控制策略超调更小且稳态性能更好。Liu Tong等[10]构建了过程数据驱动的神经网络模型,设计了一种基于数据的微波加热系统最优温度跟踪控制,结果表明,此方法下温度跟踪准确率及微波能利用效率都明显提高。杨彪等[11]基于多模型的模型预测控制策略,通过媒质实时温度与设定温度的温差调整微波输入功率,有效提高了微波加热过程中媒质的温升速率和温度稳定性。袁晓峰等[12]设计一种基于共轭梯度的改进BPPID控制算法,仿真结果表明该算法较PID控制相比超调量更小,自适应能力强,精度更高,但仅仅针对微波加热过程进行仿真分析并未实验验证。
本文针对10 kW高功率工业微波炉,设计一种基于反向传播神经网络PID的微波加热温度控制策略,实现对微波加热过程中媒质温度有效控制。仿真与实验结果表明,此控制方法较常规PID、模糊PID具有更小的超调且媒质稳态温度稳定性强,能够更好满足工业微波加热过程中的温度控制性能要求。
1 微波加热过程数学模型
微波加热过程中,媒质发生介电损耗和电导损耗使其吸收微波功率温度上升。媒质的温度变化满足热传导方程[13]
$ \rho c_{\mathrm{\mathit{p}}}\dfrac{\partial T}{\partial t}=\kappa\nabla^2T+P_{\mathrm{d}} $ (1)
式中:$ \rho $为密度,$ {\text{kg/}}{{\text{m}}^{\text{3}}} $;$ c\mathit{_{\mathrm{\mathit{p}}}} $表示比热容,$ \text{J/}\left(\text{kg} \cdot {{\text{℃}}}\right) $;$ \kappa $ 为热传导率,$ \text{W/}\left(\text{m} \cdot \text{K}\right) $;$ T = T\left( {x,y,{\textit{z}},t} \right) $表示t时刻媒质点$ \left( {x,y,{\textit{z}}} \right) $处的温度;$ {P_{\mathrm{d}}} $表示t时刻媒质点$ \left( {x,y,{\textit{z}}} \right) $处的微波耗散功率。
对流边界条件、辐射边界条件、初始条件设置为[14]
$ {\boldsymbol{n}} \cdot \kappa \nabla T=h\left(T-{T}_{{\mathrm{air}}}\right) $ (2)
$ -{\boldsymbol{n}} \cdot \left(-\kappa \nabla T\right)=\varphi \sigma \left(T-{T}_{{\mathrm{air}}}\right) $ (3)
$ T\left( {x,y,{\textit{z}},o} \right) = {T_0}\left( {x,y,{\textit{z}}} \right) $ (4)
式中:n为物料边界处的法向量;$ {T_{{\mathrm{air}}}} $表示环境温度,$ {T_0} $为媒质初始温度;h为媒质边界处的热对流传递系数;$ \varphi $为媒质表面辐射率,$ \sigma $为斯忒藩-玻耳兹曼常数。
微波耗散功率包括电焦耳热效应和磁耗散两部分,可表示为
$ P_{\mathrm{d}}=\pi f\varepsilon_0\varepsilon_{\mathrm{eff}}''E^2+\pi f\mu_0\mu_{\mathrm{eff}}''H^2 $ (5)
式中:f为微波频率;$ {\varepsilon _0} $为真空介电常数;$ {\varepsilon ''_{{\mathrm{eff}}}} $为有效介电损耗因子,其值与温度有关;E为电场强度,$ {\text{V}} \cdot {{\text{m}}^{ - 1}} $。$ \;{ \mu _0} $为空间磁导系数;$ \;{ \mu ''_{{\mathrm{eff}}}} $为有效磁损耗因子;H为磁场强度。对大多数媒质来说,磁损耗可以忽略不计,因此可将式(5)简化为
$ P_{\mathrm{d}}=\pi f\varepsilon_0\varepsilon_{\mathrm{eff}}''E^2 $ (6)
2 BPNNPID结构及算法
BPNNPID控制器由常规PID控制器与BP神经网络组成,其控制结构如图1所示。
图 1. 基于BPNNPID的微波加热温度控制器结构
Fig. 1. Structure of microwave heating temperature controller based on back propagation neural network PID (BPNNPID)
下载图片 查看所有图片
常规PID控制器通常采用增量式PID算法,它根据目标值$ r\left( k \right) $与实际输出值$ y\left( k \right) $构成的偏差,即
$ e\left( k \right) = r\left( k \right) - y\left( k \right) $ (7)
调整输出控制量为
$ u\left( k \right) = u\left( {k - 1} \right) + {k_{\mathrm{p}}}\left[ {e\left( k \right) - e\left( {k - 1} \right)} \right] + {k_{\mathrm{i}}}e\left( k \right) + {k_{\mathrm{d}}}\left[ {e\left( k \right) - 2e\left( {k - 1} \right) + e\left( {k - 2} \right)} \right] $ (8)
式中:$ {k_{\mathrm{p}}} $,$ {k_{\mathrm{i}}} $,$ {k_{\mathrm{d}}} $分别表示PID控制器的比例、积分和微分系数;$ u\left( k \right) $、$ u\left( {k - 1} \right) $为k、$ k - 1 $时刻控制器输出;$ e\left( k \right) $、$ e\left( {k - 1} \right) $、$ e\left( {k - 2} \right) $分别表示在k、$ k - 1 $、$ k - 2 $时刻的系统输出误差。
为降低神经网络的复杂性及训练时间,本文BPNNPID控制器中采用三层BP神经网络,其结构如图2所示。
图 2. BP神经网络结构图
Fig. 2. BP neural network structure diagram
下载图片 查看所有图片
BP神经网络算法包括正向传播算法和误差反向传播算法两部分,具体推导如下:
BP神经网络输入层的输入为
$ {O^{\left( 1 \right)}} = x\left( j \right),\quad {j = 1,2,3,4} $ (9)
隐含层输入、输出为
$ \left\{ \begin{gathered}
h_i^{\left( 2 \right)}\left( k \right) = \displaystyle\sum\limits_{j = 0}^M {\omega _{ij}^{\left( 2 \right)}O_j^1} \\
O_i^{\left( 2 \right)}\left( k \right) = f\left[ {h_i^{\left( 2 \right)}\left( k \right)} \right] \\
\end{gathered} \right.,\quad {i = 1,2, \cdots ,5} $ (10)
输出层的输入、输出为
$ \left\{ \begin{gathered}
h_l^{\left( 3 \right)}\left( k \right) = \displaystyle\sum\limits_{i = 0}^Q {\omega _{li}^{\left( 3 \right)}O_i^2\left( k \right)} ,\quad l= 1,2,3 \\
O_l^{\left( 3 \right)} = g\left[ {h_l^{\left( 3 \right)}\left( k \right)} \right],\quad l= 1,2,3 \\
O_1^{\left( 3 \right)} = {k_{\mathrm{p}}} \\
O_2^{\left( 3 \right)} = {k_{\mathrm{i}}} \\
O_3^{\left( 3 \right)} = {k_{\mathrm{d}}} \\
\end{gathered} \right. $ (11)
式(9)~(11)中:$ {O_j}^{\left( 1 \right)} $表示输入层第j个神经元的输入,$ j = 1,2,3,4 $;M为输入层节点数,在本文中其值为4;$ h_i^{\left( 2 \right)}\left( k \right) $、$ O_i^{\left( 2 \right)}\left( k \right) $分别表示隐含层第i个神经元的输入和输出,$ i = 1,2, \cdots ,5 $;$ h_l^{\left( 3 \right)}\left( k \right) $表示输出层第l个神经元的输入,$ O_l^{\left( 3 \right)} $表示输出层第l个神经元的输出量,$ l = 1,2,3 $;$ f[ \cdot] $、$ g[ \cdot] $分别表示隐含层与输出层的激活函数;$ \omega _{ij}^{\left( 2 \right)} $表示隐含层第i个神经元与输入层第j个神经元之间的权重系数;$ \omega _{li}^{\left( 3 \right)} $表示输出层第l个神经元与隐含层第i个神经元之间的权重系数。
性能指标函数为
$ E\left( k \right) = \dfrac{1}{2}{\left[ {r\left( k \right) - y\left( k \right)} \right]^2} $ (12)
输出层权值系数学习算法为
$ \Delta \omega _{li}^{\left( 3 \right)} = - \eta \dfrac{{\partial E\left( k \right)}}{{\partial \omega _{li}^{\left( 3 \right)}}} + \alpha \omega _{li}^{\left( 3 \right)}\left( {k - 1} \right) $ (13)
式中:$ \alpha $为惯性系数;$ \eta $为学习速率,0<$ \eta $<1。
$ \dfrac{\partial E\left(k\right)}{\partial {\omega }_{li}^{\left(3\right)}\left(k\right)}=\dfrac{\partial E\left(k\right)}{\partial y\left(k\right)} \dfrac{\partial y\left(k\right)}{\partial u\left(k\right)} \dfrac{\partial u\left(k\right)}{\partial {O}_{l}^{\left(3\right)}\left(k\right)} \dfrac{\partial {O}_{l}^{\left(3\right)}\left(k\right)}{\partial {h}_{l}^{\left(3\right)}\left(k\right)} \dfrac{\partial {h}_{l}^{\left(3\right)}\left(k\right)}{\partial {\omega }_{li}^{\left(3\right)}\left(k\right)} $ (14)
$ \dfrac{{\partial h_l^{\left( 3 \right)}\left( k \right)}}{{\partial \omega _{li}^{\left( 3 \right)}\left( k \right)}} = O_i^{\left( 2 \right)}\left( k \right) $ (15)
由于$ \dfrac{{\partial y\left( k \right)}}{{\partial \Delta u\left( k \right)}} $未知,可用$ {{\mathrm{sgn}}} \left( {\dfrac{{\partial y\left( k \right)}}{{\partial u\left( k \right)}}} \right) $代替。因此可以得到
$ \dfrac{{\partial u\left( k \right)}}{{\partial O_1^{\left( 3 \right)}\left( k \right)}} = e\left( k \right) - e\left( {k - 1} \right) $ (16)
$ \dfrac{{\partial u\left( k \right)}}{{\partial O_2^{\left( 3 \right)}\left( k \right)}} = e\left( k \right) $ (17)
$ \dfrac{{\partial u\left( k \right)}}{{\partial O_3^{\left( 3 \right)}\left( k \right)}} = e\left( k \right) - 2e\left( {k - 1} \right) + e\left( {k - 2} \right) $ (18)
定义
$ {\delta }_{i}^{\left(2\right)}={f}^{\prime }\left[{h}_{i}^{\left(2\right)}\left(k\right)\right] {\displaystyle \displaystyle\sum _{l=1}^{3}{\delta }_{l}^{\left(3\right)}{\omega }_{li}^{\left(3\right)}\left(k\right),\quad l=1,2,3} $ (19)
$ {\delta }_{l}^{\left(3\right)}=E\left(k\right) \mathrm{sgn}\left(\dfrac{\partial y\left(k\right)}{\partial u\left(k\right)}\right) \dfrac{\partial u\left(k\right)}{\partial {O}_{l}^{\left(2\right)}\left(k\right)} {g}^{\prime }\left[{h}_{l}^{\left(3\right)}\left(k\right)\right],\quad l=1,2,3 $ (20)
由此可将式(13)整理为
$ \Delta \omega _{li}^{\left( 3 \right)} = \alpha \Delta \omega _{li}^{\left( 3 \right)}\left( {k - 1} \right) + \eta \delta _l^{\left( 3 \right)}O_i^{\left( 2 \right)}\left( k \right) $ (21)
同理,隐含层权值系数学习算法为
$ \Delta \omega _{ij}^{\left( 2 \right)} = \alpha \Delta \omega _{ij}^{\left( 2 \right)}\left( {k - 1} \right) + \eta \delta _i^{\left( 2 \right)}O_j^{\left( 1 \right)}\left( k \right) $ (22)
式中:$ {\text{g}}'\left[ x \right] = g\left( x \right)\left[ {1 - g\left( x \right)} \right],f'\left[ x \right] = {{\left[ {1 - {f^2}\left( x \right)} \right]} \mathord{\left/ {\vphantom {{\left[ {1 - {f^2}\left( x \right)} \right]} 2}} \right. } 2} $。
综上所述,BPNNPID控制算法流程如下。
步骤1:根据输入输出数据维度确定BP神经网络结构,初始化各层权值矩阵,确定学习速率及惯性系数;
步骤2:由采样得到输入值$ r\left( k \right) $、输出值$ y\left( k \right) $,计算误差$ e\left( k \right) $;
步骤3:求解BP神经网络各层的输出值,得到PID控制器三个可调参数$ {k_{\mathrm{p}}} $,$ {k_{\mathrm{i}}} $,$ {k_{\mathrm{d}}} $,计算PID控制器输出$ u\left( k \right) $;
步骤4:根据误差量运用反向传播算法修正并更新各层权值系数;
步骤5:令$ k = k + 1 $,返回步骤2。
3 仿真与实验
3.1 微波加热模型建立
经实验测得的微波加热过程输入输出数据如图3所示。
图 3. 微波加热过程输入输出数据
Fig. 3. Input and output data of microwave heating process
下载图片 查看所有图片
实验时初始温度为23.75 ℃,输入信号功率恒定为10 kW,输出信号为温度实时采样值,采样间隔为1 s。利用MATLAB系统辨识工具箱,辨识出的分子1阶、分母2阶延时传递函数如下[15]
$ G\left( s \right) = \dfrac{{0.000\;142\;8s + 0.000\;001\;211}}{{{s^2} + 0.023\;79s + 0.000\;202\;4}}{{\mathrm{e}}^{ - 20s}} $ (23)
式中:s是拉普拉斯复变量。由式(23)系统辨识模型与实验值对比如图4所示,可以看出,该辨识模型与实验所得结果拟合良好。
图 4. 辨识模型拟合曲线
Fig. 4. Identification model fitting curve
下载图片 查看所有图片
对于BPNNPID控制器,经过整定得到PID控制器P、I、D初值分别为30.677、1.149、5.07,分别设置BP神经网络的输入采样时间$ {T_{\mathrm{s}}} $为0.01 s、惯性系数$ \alpha = 0.05 $及学习速率$ \eta = 0.3 $,隐含层及输出层的权值初值则在[0,1]区间上随机取值[16]。
在SIMULINK模块中对常规PID、模糊PID及BPNNPID控制下的微波加热温度控制系统仿真模型进行搭建,如图5所示。
图 5. 微波加热温度控制系统仿真模型
Fig. 5. Simulation model of microwave heating temperature control system
下载图片 查看所有图片
3.2 仿真与实验分析
实验装置实物及结构如图6所示,圆柱形谐振腔高度$ {h_{\rm{o}}} $为0.8 m,半径$ {r_{\rm{o}}} $为0.395 m;媒质在谐振腔内的高度$ {h_{\rm{w}}} $为0.188 m,半径$ {r_{\rm{w}}} $为0.098 m,距离底部$ {d_1} $为0.26 m;矩形波导宽$ {w_{\rm{g}}} $为0.225 m,高度$ {h_{\rm{g}}} $为0.092 m,深度$ {d_{\rm{g}}} $为0.049 m。如图6(b)所示,10个波导馈口分为5对,每对以72°夹角均匀地布置于圆柱形谐振腔侧,并对磁控管编号为1~10号,同一垂直位置放置的两个波导,$ {d_{\rm{g}}} $与$ {h_{\rm{g}}} $对调形成相位互补,以保证谐振腔内电磁场的均匀性。实际上,腔体内部还包含用于放置坩埚的金属支架,在该结构图中进行了简化。
图 6. 高功率微波炉实物及结构图
Fig. 6. Device and structural diagram of high power microwave oven
下载图片 查看所有图片
由于电路中以继电器作为控制执行器,在继电器闭合的一瞬间,磁控管的突然工作会使微波输入功率激增,媒质温度也随之上升,产生振荡。为验证本文所设计的BPNNPID控制方法在微波加热过程中的控制性能,同常规PID、模糊PID进行仿真对比分析,设定温度目标值为50 ℃,系统阶跃响应仿真曲线如图7所示。仿真结果表明,常规PID及模糊PID控制在微波加热过程中媒质温度都具有不同程度的超调,在温度到达设定值时会因为继电器开断的原因而产生振荡,而BPNNPID控制几乎没有超调,且没有产生温度振荡。
图 7. 微波加热温度仿真对比
Fig. 7. Comparison of microwave heating temperature simulation
下载图片 查看所有图片
本文微波加热温度控制系统框图如图8所示,采用STM32F407作为主控制器,磁控管型号为SAMSUNG (OM75P31),单个磁控管功率不可调且固定输出功率为1 kW,其工作时将电能转化为微波能,外电源电路由220 V受控电压源和大功率变压器(GAL-800E-4)组成,为磁控管供电。K型热电偶作为实时温度传感器,A/D转换模块采用MAX6675芯片,测温范围为0~1024 ℃,分辨率为0.25 ℃,利用10路光耦继电器(BMZ06R1-E)作为功率调节的执行器,当经过BPNNPID控制算法计算得出的控制输出量$ u\left( k \right) $大于0时,光耦继电器打开,磁控管通电处于工作状态,反之则关闭,通过$ u\left( k \right) $影响磁控管的开断实时调整微波功率的输入,从而控制媒质探测点温度稳定在设定值附近。
图 8. 微波加热温度控制系统框图
Fig. 8. Block diagram of microwave heating temperature control system
下载图片 查看所有图片
本文通过坩埚盛装自来水5 kg进行实验,坩埚半径0.098 m,高度0.376 m,坩埚内水的高度约为0.188 m,测温点为水下0.1 m左右,实验环境温度为20 ℃左右,设定目标温度为50 ℃,温度采样周期为10 s。实验结果如图9所示,各控制方法仿真与实验控制性能对比见表1。由表1可知,本文中BPNNPID控制方法较常规PID、模糊PID在抑制超调和温度稳定性方面有明显改善。
图 9. 微波加热温度实验对比
Fig. 9. Comparison of microwave heating temperature experiments
下载图片 查看所有图片
表 1. 各控制方法控制性能对比
Table 1. Comparison of control performance of various control methods
| simulated rise time/s | measured rise time/s | simulated peak time/s | measured peak time/s | simulated overshoot/% | measured overshoot/% | simulated maximum steady-state error/% | measured maximum steady-state error/% | PID | 120 | 230 | 200 | 290 | 22.36 | 16 | 11.18 | 9 | fuzzy PID | 210 | 220 | 270 | 360 | 7.28 | 11.5 | 4.7 | 8 | BPNNPID | 320 | 260 | 330 | 380 | 0.7 | 6 | 0.7 | 4 |
|
查看所有表
4 结 论
为解决现有高功率工业微波炉在对媒质微波加热过程中存在的大超调和稳态温度存在振荡等问题,本文设计一种适用于多个微波源馈入口的高功率微波炉反向传播神经网络PID温度控制方法,利用输入输出数据完成对微波加热过程的控制建模并利用MATLAB/SIMULINK搭建仿真模型,仿真与实验结果表明该控制方法较常规PID、模糊PID相比能够有效抑制温度超调,缩小稳态误差,提高了高功率工业微波炉在加热过程中的媒质温度控制性能,对提升微波加热产品质量和加强微波应用安全性具有重要意义。
王威, 李少甫, 吴昊, 蒋成, 唐颖颖. 基于反向传播神经网络PID的高功率微波炉温度控制[J]. 强激光与粒子束, 2024, 36(1): 013010. Wei Wang, Shaofu Li, Hao Wu, Cheng Jiang, Yingying Tang. Research on temperature control of high power microwave oven based on back propagation neural network PID[J]. High Power Laser and Particle Beams, 2024, 36(1): 013010.