您现在的位置是:主页 > 电路技术 > 电源管理 >


基于PID神经网络的嵌入式电源控制系统设计

2020-06-29 22:29电源管理 人已围观

简介电源控制系统在各种工业领域有广泛的应用。在焊接等电源负载状态会产生改变的控制过程中, 电源的输出特性很不稳定,受到干扰多且随时间发生变化,因此建立准确数学模型是非常...

  电源控制系统在各种工业领域有广泛的应用。在焊接等电源负载状态会产生改变的控制过程中, 电源的输出特性很不稳定,受到干扰多且随时间发生变化,因此建立准确数学模型是非常困难的。因此,当前应用广泛的传统PID控制器已不能满足各种状态变化过程的电源精密控制要求,而随着人工智能的发展,其越来越多的应用于电源智能控制中。利用算法,可无需建立受控对象的数学模型,且对具有非线性不确定特性的对象,智能控制方法较系统辨识自适应控制有更佳的鲁棒性。另外,
  
  以神经网络算法为代表的各种智能算法在智能控制中的应用越来越广泛。利用FPGA设计一基于BP神经网络PID的Buck型DC-DC变换器, 获得了更快的响应速度,减小了超调量。利用DSP设计了自适应神经网络PID三相逆变电源控制器,并证明相对传统方法其拥有更好的控制效果。但DSP与FPGA成本与开发门槛较高,且往往需要搭配其他芯片用于控制。为提高效费比和灵活性,考虑使用基于ARM架构的高性能Linux嵌入式平台设计一电源控制模块。为此针对带有逆变环节的非线性电源的控制策略做了详细的研究,将PID 控制律与神经网络相结合,并通过学习速率参数的调整,实现了神经网络的快速收敛,且缩短了学习时间,改进了计算效率和控制效果。最终实现了神经网络算法应用于逆变系统智能控制过程,形成PID神经网络电源控制系统,其具有自适应性好、抗干扰能力强、成本低,使用简便等优点。
  

  1神经网络 PID 原理

  
  用的结合 BP 神经网络的 PID 控制器有两个部分:底层由传统比例积分微分控制器组成,可直接进行 PID 控制,上层为神经网络运算部分NN,其根据系统的运行状态自动学习调整网络权值,从而自适应调整输出的参数,因此控制器的三个参数 kP、kI、kD 能够通过神经网络在线整定,从而达到控制器性能指标的最优化参数,而无需人工干预。整体系统构造,如图 1 所示。
  图 1 神经网络 PID 控制器结构
  图 1 神经网络 PID 控制器结构
  
  为了实现神经网络PID 的功能,首先必须设计神经网络的总体构造。神经网络的输入层输入首先需要满足输入参数的要求,同时保证系统良好的动态跟踪能力。因此选取输入层参数为:
  
  公式1
  
  其分别为当前误差、上次误差、前次误差,以及神经网络的阈值。所以取输入层节点数为 4。系统输出为比例、积分、微分系数 3 个参数,从而输出层节点数为 3。隐含层节点数比较难以确定,隐含层节点数若较多,则收敛时间能够缩短,但计算开销会增加,且系统容易陷入局部最优。但同时会导致系统鲁棒性劣化,导致系统振荡。而在算法能够收敛的前提下,若隐层节点数取太小,则系统灵敏度降低,抗干扰能力较差,同时参数收敛变缓慢。通过仿真证明隐含层节点数为 5 能取得收敛时间和稳定性的平衡。因此选取 4-5-3 结构的 BP 神经网络。
  
  在神经网络中,输出层由于需要输出正值参数, 因此激励取恒正的 Sigmoid 函数,隐含层则选择正负对称 Sigmoid 函数。算法学习过程为首先进行正向传播,若输出层发现结果与期望存在误差,则进行反向传播计算,通过梯度下降法优化各层神经元的权值,得到误差最小的输出。因此,输出层节点分别直接对应 3 个可调参数:
  
  公式2
  
  系统取性能指标损失函数为:
  
  公式3
  
  本设计中,PID 控制器采用采用增量式数字PID 控制算法,则有:
  
  公式4
  
  算法中权系数的修正采用梯度下降法。自变量是网络中各层的权值,而因变量则选择性能指标函数 E ( k ) 。因此权值调整的最佳方向即为对应梯度的负方向,此时算法可视为一有目标搜索算法,保证了系统的收敛性。对于本系统,梯度负方向的计算为:
  
  ①输入层—隐含层:
  
  公式5
  
  ②隐含层—输出层:
  
  公式6
  
  式中, E ( k ) 为上文损失函数;分别为输入层—隐含层、隐含层—输出层权系数矩阵元素; y ( k+1) 为被控对象的输出;u ( k ) 为控制器输出量;Ol(3)为网络输出层输出;netl(3)为网络输出层的输入。
  
  梯度的负方向即为网络权值修正的方向,为了控制修正的速度,需要额外乘以系数 η,代表算法每次搜索的步长,即为权值修正量,又叫网络学习速率。此外,为抵消权值变化影响,可以添加动量系数 α,此时权值的计算公式为:
  
  公式7
  
  其中,学习速率 η 的取值较为重要。η 太小会劣化系统跟踪性能,过大则产生振荡,或导致陷入局部最优。为避免此情况,同时提升收敛速度,在算法中使用了可变学习速率,在初始学习过程中采用较大的 η 值,当达到 1 ‰的精度阈值后减小 η 的值。惯性系数 α 对收敛影响不明显,但 α 的取值须小于一定阈值,否则系统稳定性明显劣化。根据试验,初始学习速率 η=0.2,达到阈值精度后的学习速率 η=0.01,α=0.001。
  

  2系统设计与仿真

  
  2.1Matlab 算法仿真
  
  为验证算法有效性,使用 Matlab 搭建了一时变非线性焊接过程的电源动态模型,主要仿真结构包括主控电路、负载特性模拟系统、负载特性变化系统,具体参数为:空载电压 24 V,输出电压 0~ 20 V,最大输出功率5 kW,电源占空比8%~90%,采用平外特性。系统结构图,如图 2 所示。
  图 2  仿真结构图
  图 2  仿真结构图
  
  分别使用传统PID 控制方法与 BP-PID 控制方法对系统进行仿真,通过改变输出电压与负载电流检验系统性能。
  
  系统启动时与期望输出电压在0.75 s 改变时波形,如图 3 所示。
  图 3 启动及期望电压变化时仿真电压波形比较
  图 3 启动及期望电压变化时仿真电压波形比较
  
  负载电流在 0.3 s 减小时输出电压,如图 4 所示。
  图 4 输出电流变化时仿真电压波形比较
  图 4 输出电流变化时仿真电压波形比较
  
  由图可见,BP-PID 控制方式相比传统控制方式超调略大,但输出无静差,期望电压改变后响应时间更快。可见 BP-PID 在系统扰动时超调量与调节时间均小于传统方式,说明 BP-PID 能够对系统性能有一定的改善。
  
  2.2算法实机测试
  
  为验证该算法在硬件系统上运行的有效性, 在开发板上使用编写好的算法控制程序对系统功能进行仿真与调试。其中,被控对象为二阶慢时变非线性对象,其数学模型如下:
  
  公式8
  
  为测试神经网络PID 算法对时变系统的追踪能力,式中系数a ( k ) 缓慢随时间变化。其中:
  
  公式9
  
  对搭建的系统进行稳态输出与负载阶跃仿真分析。利用期望输出作为教师信号对神经网络进行训练,得到训练好的初始权值并进行仿真,同时编写传统PID 控制程序,在相同条件下进行仿真。仿真时,首先进行稳态输出测试,随后将输入设置为在 10~20 V 之间阶跃,模拟输入电压跳变情况, 实验结果,如图 5、图 6 所示。
  图 5 启动时及期望电压变化时实机仿真输出
  图 5 启动时及期望电压变化时实机仿真输出
  图 6 kP、kI、kD 仿真输出
  图 6 kP、kI、kD 仿真输出
  
  由图可见,BP-PID 控制方式相比传统方法启动时间更少,虽然系统小幅振荡导致超调,但总体有更短的恢复时间,证明核心计算程序具有较好的性能。而传统 PID 仿真明显可见上升时间和调节时间相比 BP-PID 更长。从图 6 可以看出神经网络能够从随机初始权值迅速收敛,得到最适应的 kP、kI、kD 参数值,并在系统受到干扰时自行整定,从而增强系统稳定性、提高了控制性能。
  
  2.3总体方案设计
  
  需要精确控制的电源一般是较复杂的电能变换系统。弧焊电源是一典型时变非线性系统,因此在本文中, 参考焊机电源的设计, 采用AC-DC-AC-DC 的拓扑结构。其中对逆变电路功率元件的控制是调整电源输出电压电流的关键。另外考虑到前级通常使用二极管不控整流,没有控制需求,因此用一可调直流稳压电源代替。因此最终为 DC-AC-DC 结构。系统结构图,如图 7 所示。
  图 7 总体方案设计
  图 7 总体方案设计
  
  2.4硬件电路设计
  
  为便于研究,设计制作了一小功率全桥逆变-整流系统,输出电压 0~20 V,最大功率 200 W。逆变频率选为 20 kHz。由于需要预留死区, 占空比调节范围为 8%~80%。整流电路采用全桥不控整流,LC 滤波电感大小为 100 μH,滤波电容总大小为 470 μF。

Tags:

标签云