基于神经元PID控制的交流稳压电源系统设计及开发
第一章 绪论
1.1 引言
电源是位于市电和用电负载之间的中间环节,能够向用电负载提供高质量的稳定的电力供给[1]。可以说,电源是工业生产的基础性环节。发展至今,可以说电源技术已经成为了一门涵盖各个不同学科的,并归纳演绎,独立为一支的特有学科。而且,其本身涵盖了巨大的市场,在工业、农业、服务业等产业,以及国防和科研等领域发挥重要作用。最早追溯到上世纪七十年代,交流稳压电源就已近存在了[2]。最早的稳压电源都是属于机械调压式稳压器,其控制原理是采用机械的方法,改变变压器的线包接触点的位置,从而改变其匝数比,起到调节输出电压大小的目的。常见的类型为继电器开关类型和碳刷位置变化类型。机械调压式稳压器的具有调压范围大的优点,但是与此同时,工作方式也决定了其存在机械磨损,寿命较短,控压精度低,体型大而笨重,输出波形失真等等的缺点。尤其是控压精度,往往达不到 1%。随着我国科技和经济的高速发展,工业和自动化水平的提高,以及计算机基础的普遍,通信技术的广泛,社会大环境对稳压系统提出了更高的要求[3]。日新月日的用电负载,首先对电源供电的连续性和稳定性有了更高要求。尤其是在各大城市用电紧张的情况下,如何提供稳定连续的电源供给,是一个重点。另外,随着计算机技术和微机处理技术在日常生活中的普及,高新的负载设备对电源的波形质量要求也更高。与传统的用电设备可接受较大输入电压波动不同的是,新用电设备对于输入电压的波动更为敏感。电压幅值的不稳定,会很大程度上,影响用电设备的工作效率。甚至大范围的电压波动,会损坏用电设备,造成财产的损失。而且,交流供电系统存在电力欠缺、电网不尽合理、线路不够规范、稳压电源内阻高、未应用地线系统等问题,都会对计算机、仪器设备、通讯系统、工业自动化设备、医疗设备、测试系统带来问题甚至是损害。在电网供电存在种种不足的情况下,交流稳压电源的应用是必然的选择。
...........
1.2 控制对象-----直流无刷电机
在本论文中,直流无刷电机是稳压系统的控制核心。电机转动拖动碳刷位置变化,从而改变变压器线包匝数,,改变输出电压值[4]。所以,稳压系统的开发是建立在直流无刷电机控制的基础之上的。中国大陆范围的稀土资源储备量是世界第一的。这一先天优势,会使得直流无刷电机这一机电控制系统的首要成员,在高效率低能耗的机电系统以及低碳化工业生产的大背景中进献进策。无刷直流电机优点明显:结构简单、效率高、输出力大等等。究其原因,是因为它可以兼有串励电机和并励电机上的两种性格和特征。在启动层面来说,相似于串励电机,调速层面来说,相似于并励电机。所以,在现在电机技术领域受到广泛重视[5]。随着不同系列的有关领域的发扬和技术的完善,无刷直流电机的典型应用技术已经日益完善,具体包括机电控制技术、数学计算理论、电力电子技术、控制理论和传感器技术等。所以相关生产工艺和制造工艺以及通用技术也得到规范化,并形成了 GB/T21418---2008、GJB1983---1984 等系列的标准。于此同时,电机的结构得到了优化,传感器的使用也渐渐淡出,驱动方法能耗更低,速度调节方法也有所调高[6]。
........
第二章 基于 STC15 的高精度稳压电源的硬件设计
2.1 稳压电源的总体介绍
如图 2.1 所示,为稳压电源的外观图。图上方中间位置的是变压器线包,线包中间的是直流无刷电机以及电机所负载的碳刷。当电机转动时,碳刷的位置也会相应的改变,从而改变变压器的输入输出匝数比,从而改变输出电压的大小。图下方的的是电机驱动电路板,以及系统供电板以及 MCU 控制板。左下方的是 LED 显示器。具有保护功能的风扇在线包的内部,线包过热时会开启。右中部的是输出继电器,不正常工作时,会关断输出继电器,从而切断输出。
.......
2.2 STC15F2K60S2 系列单片机总体介绍
本文中,在 MCU 的选择上采用了 STC15 系列的 8 位单片机。原因是 STC15 系列单片机,有 8 路 10 位 A/D 转换(30 万次/秒),能很好地适应稳压器输入电压非线性变化的应用场合。另外,自带的 2 组超高速异步串行通信端口(UART1/UART2),适用于下位机与 PC 端的通信要求。且由于单片机端只需实现经典 PID 算法,而神经元 PID 算法在 PC 端软件中实现,本文采用了 8 位单片机,而非 32 位的更高级别单片机。高精度稳压器中的无刷直流电机控制是一套微机数字控制系统,这样的电路系统有较高的标准化程度,且制作的成本低[33]。包括交流转直流电(AD/DC)的电源模块、多级运放组成的电流电压 AD 采样模块、基于 STC 单片机的 MCU 控制模块、实现电机正反转及速度控制的电机驱动模块、直流无刷电机系统总成,如下图。如上图所示,右侧三个框体组成电机系统总成的调压逻辑。在高精度稳压电源系统中,由电机转动带动变压器碳刷的位置变化,从而改变变压器的输入输出线包之间的比例关系,从而根据变压器工作方程,得出相应的电压变化比例关系,最终控制输出电压大小。总的来说,高精度稳压电源的控制核心,就是直流无刷电机的运动控制。稳压器除了直流电机以外,可分为 4 个模块:电源模块、MCU 控制模块、电机驱动模块、AD 采样模块。通过单片机的控制过程,调节电机的转动位置和速度,拖动碳刷实现相应的操作,从而改变变压器匝数,调节输出电压。
............
第三章 稳压电源的 PID 控制...........16
3.1 系统软件的设计....... 16
3.2 经典 PID 控制框图............17
3.3 系统程序流程........... 17
第 四 章 网络理论及单神经元 PID.........23
4.1 神经元模型........ 23
4.2 神经网络的拓扑结构.......... 25
4.3 神经网络的学习方法.......... 26
4.4 感知器....... 29
4.5 BP 神经网络.......30
4.5.1 BP 网络的训练过程...........31
4.5.2 BP 神经网络的函数逼近能力.....32
4.6 RBF 神经网络....33
4.7 传统 PID 控制....34
4.8 基于神经元的自适应 PID 控制............35
第五章 基于 Delphi 的神经元 PID 实现....43
5.1 神经元算法程序......... 43
5.2 神经元 PID 算法的具体实现.......44
5.3 PC 端与 MCU 端串口通信的实现........ 45
第五章 基于 Delphi 的神经元 PID 实现
神经元 PID 控制器的实现,是基于 PC 端与单片机端的协同作用的。由于单片机端采用的是 STC15 系列的 8 位机,考虑到单片机硬件资源与稳压器系统的复杂性,以及神经元 PID控制算法实现的计算难度,故将神经元 PID 算法的计算过程在 PC 端软件中实现[39-40]。PC端软件采用的是 delphi xe3[41-43]。
5.1 神经元算法程序
神经元 PID 算法的是要在如上图所示的控制界面中实现的,其中左上角的框图内显示的是神经元 PID 控制的参数。在“初始 PID”下的 Group Box 中的参数,即初始的 PID 值[44]。选择并分别改写 P、I、D,点击“OK”可以改写 PID 的初始参数。“在学习率,收敛速度”下的 Group Box 中可以分别改写 n P,n I,n D 也就是 PID 的学习速率,点击“OK”后,参数带入控制算法。在“S 函数参数:ug”名的 Group Box 中,可以修改 yg 参数,即 S 函数的倍率参数,点击 Btn_Yg 完成修改。改变其大小,可以比例放大缩小输出量,方便观察与计算。最后,在窗口中间的曲线图中,可以显示 P、I、D 以及备用调试参数的实时变化。如曲线图右上角的备注所示,前三条曲线分别是参数 P、I、D 的实时大小量,第四条曲线为备注曲线,可用来检测来自 MCU 的输入量、算法的输出量或者其余的参数大小。点击 Run或者 Stop 可以控制算法的计算启停。点击 show、stop 和 clear 可以分别控制曲线图显示、不显示或者清空。最下面的 Track Bar1 用来控制曲线变化速度(即定时器 1 的频率),向左拉曲线 x 增量减少,向右拉曲线 x 增量增加。Track Bar2 用来控制定时器 2 刷新频率。定时器 2,是用来刷新神经元 PID 计算的,定时器每走一次,进行一次神经元 PID 计算。曲线右边的 label7 和 label8 分别显示神经元函数 xf)( 的输入输出量,即 x 和 xf)( 。曲线显示时,label 也会实时更新。
.........
总结
我国对电机的控制方法(控制理论)的研究,也早已取得了相当的进展[48]。但是,传统的控制方法,对非线性对象,输入信号时变的系统,没有很好的解决问题。在此基础上,本文探讨了以神经网络为基础的,高级控制算法——神经元 PID 算法。然后,在工程项目中,实践了这一算法。在具体工程系统的实现上,本文分硬件和软件两个层面,搭建了相应的系统:
(1)首先,完成了以 STC15 为核心的下位机控制系统。系统具体可分为:电源模块部分、A/D 电压采样模块部分、电机驱动模块部分、PWM 波占空比调速模块部分、LED显示监控部分、串口通信功能等等。其中,对电机的控制主要是通过 A/D 采样采集输出电压,MCU 根据输出电压的大小调节 PWM 波占空比,电机驱动电路控制电机正反和转速大小,从而控制输出电压,这样一个闭环回路实现的。
(2)而在软件的实现层面上,主要分为两个部分,分别是上位机软件和下位机软件。下位机软件主要的主要功能是驱动硬件系统,从而控制电机速度。另外,传统 PID 的算法也在下位机中实现。文中以流程图的方式具体介绍了下位机软件的程序结构和实现细节。
(3)在上位机软件中,需要实现两个主要的功能:首先,是神经元 PID 算法的实现。神经元 PID 算法是在 Delphi 搭建的程序窗体中实现的。PC 端接收到下位机发送的电压值以后,通过算法计算出结果并发送给下位机,以待处理。另外,PC 端程序还需要兼顾数据分析的能力。通过曲线图对比经典 PID 以及神经元 PID 的控制结果,我们可以更加直观的确定,神经网络系统,对控制性能的卓越作用。
.........
参考文献(略)
本文编号:84473
本文链接:https://www.wllwen.com/wenshubaike/lwfw/84473.html