电机控制PI调节器(速度闭环,PFC闭环)
- 格式:pdf
- 大小:409.43 KB
- 文档页数:8
VIENNA整流器PFC控制的设计与实现张勇;张晓丽;王卓琳;古韶辉;吴昊【摘要】伴随着电力电子技术不断发展,电力电子装置的应用日益广泛,随之也给电网带来了谐波污染.具有功率因数高,输入电流谐波小,开关损耗低、稳定性强等优势的VIENNA整流器拓扑电路应运而生.本文基于VIENNA整流器拓扑电路可以工作在较高的开关频率下,采用DSP实现PFC控制,合理的设计了主回路参数和PFC环路.最后通过试验表明,在双闭环控制策略下,VIENNA整流器PFC控制系统具有谐波含量低、功率因数高、动态性能良好的特性.【期刊名称】《电子世界》【年(卷),期】2016(000)021【总页数】3页(P76-77,79)【关键词】电力电子;谐波污染;VIENNA整流器;PFC控制;DSP【作者】张勇;张晓丽;王卓琳;古韶辉;吴昊【作者单位】许继电源有限公司;许继电源有限公司;许继电源有限公司;许继电源有限公司;许继电源有限公司【正文语种】中文VIENNA整流器拓扑电路由Kolar J。
W等学者提出,此电路使用得功率器件少,功率开关管承受一半的母线电压,减小了功率器件耐压值,提高产品输出效率[1]。
VIENNA整流器拓扑电路可以应用在不间断电源、航空电源、风力发电、光伏发电、电动汽车充换电站、工业变频器等领域。
本文在VIENNA整流器拓扑结构的基础上完成了功率主回路和DSP数字芯片控制算法的实现,制作一台6KW试验样机。
VIENNA整流器拓扑电路原理图如图1所示,其中Va、Vb、Vc是三相交流输入, La、Lb、Lc是升压电感,L1、L2、L3是滤波电感,快速恢复二极管(D1~D6)构成不控整流桥,有源滤波部分由三个双向功率开关管(Qa1~Qa2、Qb1~Qb2、Qc1~Qc2)星形连接实现三电平输出,同时还有两个正负母线电容C1、C2及RL电阻组成[2]。
PFC主拓扑控制结构框图如图2所示:Va、Vb、Vc三相输入经过EMI滤波然后经过升压电感,由DSP芯片的模数转换接口采样到芯片内核中,然后通过电压反馈补偿器,输出反馈电压信号,随后通过乘法器将反馈电压信号与输入电压的全波波形相乘,得到整流之后的电流参考值。
电机控制实验指导谢卫才主编湖南工程学院2005一、实验的作用与目的《电机控制》是一门工程技术类课程,本课程涉及面广,综合性和使用性较强。
通过实验,进一步加深学生对电机控制技术的理解,掌握电机控制系统的工作原理、系统结构及设计方法,提高学生分析和解决实际问题的能力。
二、实验教学对象实验开设对象为电气工程及其自动化专业三、课程简介《电机控制》是一门工程技术类课程,本课程涉及面广,综合性和使用性较强。
是电气工程及其自动化专业的专业限修课。
本课程讲授电机的控制技术,分析电机控制系统特性,电机控制系统的工作原理、系统结构及设计方法。
四、实验的方式与基本要求1.实验方式:独立地接线和进行实验,测取和分析实验数据。
2.实验是理论联系实际,训练学生实验操作技能,培养学生独立工作能力的重要环节。
3.实验前要求预习,实验后要求学生认真、独立地完成实验报告,通过实验要求达到:能正确的选择,使用各种仪器仪表,能独立地接线和进行实验,达到具有测取和分析实验数据的能力。
4.实验后要求学生认真、独立地完成实验报告,根据学生参加实验的到课率、进度、学习情况、动手能力、实验中出现的问题及解决情况,测取和分析实验数据的能力,实验报告完成情况等,进行成绩考核。
教师每次批改作业后,要按五级分制(优、良、中、及格、不及格)评定成绩,并签名、写明日期。
实验一、双闭环控制的直流脉宽调速系统一、实验目的(1)了解PWM全桥直流调速系统的工作原理。
(2)分析电流环与速度环在直流调速系统中的作用。
二、实验所需挂件及附件三、实验线路及原理本实验系统的主电路采用受限单极性PWM控制方式,其中主电路由四个IGBT管构成H桥,通过控制IGBT的栅极电压,用以控制IGBT管的通断。
受限单极性的控制方式是这样进行控制的:在图5-12中,电机正转时,在VT1的栅极施加脉冲,VT4的栅极施加高电平,VT2VT3的栅极为低电平;反转时,VT2栅极施加脉冲,VT3的栅极施加高电平,VT1VT4的栅极为低电平。
pfc控制原理
PFC(功率因数修正电路)控制原理是一种用于改善电力系统
中的功率因数的技术。
它通过自动调整输入电流与电压之间的相位差来提高功率因数,从而减少系统中的无功功率或谐波失真。
PFC控制器通常采用闭环控制的方式,其中的关键部件是比较器和补偿器。
比较器用于比较输入电压与输出电压的差值,并将差值的信号传递给补偿器。
补偿器根据差值信号的大小和方向来调整开关频率和占空比,从而控制输入电流的相位和振幅,以使输出电压与输入电压保持在一个稳定的范围内。
PFC的控制原理可以分为两种主要的类型:电流型PFC和电
压型PFC。
电流型PFC通过控制输入电流的相位和振幅来实
现功率因数修正,它通常采用开环控制,并且具有简单的电路结构和较低的成本。
然而,电流型PFC对于负载的变化和电
网扰动比较敏感,并且在低负载时可能存在控制精度不高的问题。
电压型PFC通过控制开关开关频率和占空比来实现功率因数
修正,它通常采用闭环控制,并具有较高的控制精度和稳定性。
然而,电压型PFC在设计和实施过程中需要更多的复杂性,
并且成本相对较高。
除了以上两种类型的PFC控制原理,还存在其他一些改进的
技术,如半桥PFC、LLC谐振PFC等,它们在不同的应用场
景中具有各自的优势和适用性。
总之,PFC控制原理通过改善电力系统中的功率因数,提高能源利用效率,减少能源损耗和污染。
在实际应用中,根据具体的需求和条件选择合适的PFC控制方式,并进行合理的设计和实施,可以有效地改善电力系统的性能和可靠性。
单闭环系统的动态校正——PI调节器的设计1. 概述在设计闭环调速系统时,常常会遇到动态稳定性与稳态性能指标发生矛盾的情况,这时,必须设计合适的动态校正装置,用来改造系统,使它同时满足动态稳定和稳态指标两方面的要求。
2. 动态校正的方法⑴串联校正;⑵并联校正;⑶反馈校正。
而且对于一个系统来说,能够符合要求的校正方案也不是唯一的。
在电力拖动自动控制系统中,最常用的是串联校正和反馈校正。
串联校正比较简单,也容易实现。
串联校正方法:①无源网络校正——RC网络;②有源网络校正——PID调节器。
对于带电力电子变换器的直流闭环调速系统,由于其传递函数的阶次较低,一般采用PID调节器的串联校正方案就能完成动态校正的任务。
PID调节器的类型:①比例微分(PD)②比例积分(PI)③比例积分微分(PID)PID调节器的功能①由PD调节器构成的超前校正,可提高系统的稳定裕度,并获得足够的快速性,但稳态精度可能受到影响;②由PI调节器构成的滞后校正,可以保证稳态精度,却是以对快速性的限制来换取系统稳定的;③用PID调节器实现的滞后—超前校正则兼有二者的优点,可以全面提高系统的控制性能,但具体实现与调试要复杂一些。
一般的调速系统要求以动态稳定和稳态精度为主,对快速性的要求可以差一些,所以主要采用PI调节器;在随动系统中,快速性是主要要求,须用PD 或PID 调节器。
3. 系统设计工具在设计校正装置时,主要的研究工具是伯德图(Bode Diagram ),即开环对数频率特性的渐近线。
它的绘制方法简便,可以确切地提供稳定性和稳定裕度的信息,而且还能大致衡量闭环系统稳态和动态的性能。
正因为如此,伯德图是自动控制系统设计和应用中普遍使用的方法。
在定性地分析闭环系统性能时,通常将伯德图分成低、中、高三个频段,频段的分割界限是大致的,不同文献上的分割方法也不尽相同,这并不影响对系统性能的定性分析。
下图绘出了自动控制系统的典型伯德图。
典型伯德图从图中三个频段的特征可以判断系统的性能,这些特征包括以下四个方面:L/dB ωcω/s -1-20dB/dec低频段中频段高频段图1伯德图与系统性能的关系①中频段以-20dB/dec 的斜率穿越0dB ,而且这一斜率覆盖足够的频带宽度,则系统的稳定性好;②截止频率(或称剪切频率)越高,则系统的快速性越好; ③低频段的斜率陡、增益高,说明系统的稳态精度高;④高频段衰减越快,即高频特性负分贝值越低,说明系统抗高频噪声干扰的能力越强。
无电解电容永磁同步电机驱动系统控制策略综述罗慧;陈威龙;尹泉【摘要】永磁同步电机驱动系统在家用电器中有着广泛应用,电解电容是系统中最薄弱的部分,制约着系统的寿命.近几年无电解电容永磁同步电机驱动系统成为主要的研究热点,国内外很多学者针对无电解电容电机驱动系统提出各种各样的控制策略.无电解电容电机驱动系统的控制策略主要目的是实现高功率因数,抑制输入电流谐波.分析了无电解电容电机驱动系统实现高功率因数的基本思想,对实现高功率因数的功率控制策略进行归纳和分类.最后,综合比较不同控制策略的优缺点,给出了无电解电容电机驱动系统的研究建议.【期刊名称】《电气传动》【年(卷),期】2019(049)004【总页数】8页(P11-18)【关键词】永磁同步电机;控制策略;无电解电容;高功率因数【作者】罗慧;陈威龙;尹泉【作者单位】华中科技大学自动化学院,湖北武汉 430074;华中科技大学自动化学院,湖北武汉 430074;华中科技大学自动化学院,湖北武汉 430074【正文语种】中文【中图分类】TM341随着功率电子技术的快速发展,永磁同步电机(PMSM)变频驱动系统在家用电器中得到了广泛应用。
目前,传统永磁同步电机变频驱动系统主要由整流器、功率因数校正(power factor correction,PFC)电路、电解电容、逆变器和PMSM组成,如图1所示。
母线端用大容量的电解电容来维持母线电压恒定,保证电机有足够的运行电压。
据统计[1-3],母线端电解电容是永磁同步电机驱动系统中最薄弱的部分。
由于电流纹波和温度易使电解液蒸发,高质量电解电容的寿命仅为10 000 h左右,电解电容的低寿命大大降低了系统的可靠性。
此外,电解电容体积大和重量大的缺点制约了系统往小型化方向发展。
因母线大容量电解电容的存在,不控整流二极管的导通角小,输入电流严重失真,电流谐波大大增加,输入功率因数变差,严重污染电网质量。
为了使输入电流满足IEC—61000—3—2谐波标准[4],需要加入PFC电路[5-6]。
无桥图腾柱结构PFC电路结构设计与仿真作者:王会刚来源:《电脑知识与技术》2022年第11期摘要:采用Cascode GaN器件作为开关管,SJ-MOS作为整流管,设计了一种4000W的单相图腾柱结构电源PFC模块。
完成了整体框图和拓扑结构,设计了电流环调节器,电压环调节器,采用PSIM软件完成系统仿真。
采用数字处理器为核心搭建硬件,完成仿真,编程和整机调试,实现功能。
关键词:PFC;图腾柱结构;PSIM仿真中图分类号:TP391 文献标识码:A文章编号:1009-3044(2022)11-0112-02宽禁带半导体氮化镓(GaN)器件与传统硅(Si)器件相比禁带宽度更大,击穿电场强度更高,载流子速度更快。
Cascode GaN器件即可以实现器件常闭工作,同时方便将传统Si器件的驱动电路直接应用于新型器。
可以广泛用于连续导电模式(CCM)升压PFC拓扑的电源系统中,而相对于传统Si器件。
同条件下效率、温升、BOM、体积方面体现出更大的优势。
而且图腾柱结构的PFC电路中发挥其反向特性Qrr小,开关速度快等特点[1-2]。
电路采用两颗CASCODE的GaN器件和两个MOSFET组成,两颗CASCDE GaN器件作为PWM开关和升压二极管用。
两个SJ-MOSFET作为正负半周的整流器件。
分别在正负两个半周导通和截至,替代传统的二极管,体现出更高的效率。
1 电路功率部分图1是整个系统的电源部分,驱动部分,开关管部分。
其中GaN1和GaN2作为PWM控制开关管,MOS1和MOS2作为同步整流管。
C作为输出电容,RL作为输出等效电阻;L是输入工作电感。
Vin是输入电源电压;ISEN4是电感上电流传感器。
Voutsen作为输出电压传感器;ON1-ON4作为功率管驱动电路,实现栅极驱动信号的保持状态。
ISEN_UP和ISEN_DOWN 作为上下桥臂的电流传感器,通过V45,V46显示。
高频的PWM控制信号经过ON3和ON4形成CASCODE GaN器件的驱动信号,在每半个周期内,一个GaN器件作为PWM开关管,另一个作为续流二极管的功能,两个GaN器件轮换角色,实现电感上的蓄能和释放到输出端,实现整DC-DC升压转换,两个MOS管分别控制单个工频周期每半个周期的电流通路,实现整流输出[3]。
永磁同步电机pi参数调节永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)是一种高效、高性能的电机,广泛应用于各种工业领域。
在永磁同步电机的运行中,PI参数调节是非常重要的一环。
一、永磁同步电机简介1.1 永磁同步电机的原理永磁同步电机是一种基于交流电源工作的电机,其原理是利用定子线圈产生旋转磁场,在转子上安装有永磁体,通过定子和转子之间的相互作用,实现驱动转子旋转。
1.2 永磁同步电机的特点永磁同步电机具有高效率、高功率密度、高精度控制等优点。
由于其具有较高的功率因数和较低的损耗,因此在许多应用中得到了广泛应用。
二、PI参数调节概述2.1 PI控制器原理PI控制器是一种经典的控制器,在永磁同步电机中得到了广泛应用。
PI控制器通过比较实际输出与期望输出之间的偏差,并将这些偏差转换为一个控制信号来调节电机的运行。
2.2 PI参数调节原理PI参数调节是一种通过调整PI控制器的比例和积分系数来优化电机性能的方法。
通过调整这些参数,可以使电机在不同负载下获得更好的效率和响应性能。
三、PI参数调节方法3.1 确定初始值在进行PI参数调节之前,需要先确定初始值。
这些初始值可以根据电机的规格和设计参数来确定。
3.2 按照步骤进行调整在进行PI参数调节时,需要按照以下步骤进行:(1)将比例系数设置为一个较小的值,例如0.1;(2)将积分系数设置为0;(3)将电机连接到负载上,并启动电机;(4)逐渐增加比例系数,直到输出信号开始震荡;(5)降低比例系数,直到输出信号停止震荡;(6)逐渐增加积分系数,直到输出信号开始震荡;(7)降低积分系数,直到输出信号停止震荡。
3.3 调整PI参数以优化性能在确定了合适的初始值并按照步骤进行了调整之后,可以对PI参数进行微调以进一步优化电机性能。
这些微调可以根据实际应用需求进行。
四、PI参数调节注意事项4.1 避免过度调整在进行PI参数调节时,需要避免过度调整。
电压闭环pi### 电压闭环PI控制器原理及应用电压闭环PI(比例积分)控制器是一种常用的控制器,广泛应用于电力系统、工业自动化、机器人控制等领域。
本文将介绍电压闭环PI控制器的原理及应用。
#### 1. 原理简介电压闭环PI控制器是一种反馈控制系统,常用于调节输出电压以达到期望值或稳定工作点。
其主要包含两个部分:比例控制和积分控制。
**比例控制**:比例控制是根据误差信号和比例常数Kp的乘积调节输出。
当误差增大时,比例控制会加大输出变化幅度,从而更快地响应系统的变化。
但过大的比例系数可能导致系统振荡或不稳定。
**积分控制**:积分控制是根据误差信号的累积值和积分常数Ki的乘积调节输出。
积分控制可以减小稳态误差,提高系统的精度和稳定性。
但积分控制的过强可能导致系统超调或振荡。
通过合理选择比例常数Kp和积分常数Ki,可以使电压闭环PI控制器在系统响应速度和稳定性之间取得平衡。
#### 2. 应用场景电压闭环PI控制器广泛应用于各种需要稳定控制输出电压的系统中。
以下是几个常见的应用场景:**电力系统**:电压闭环PI控制器在电力系统中常用于电力变压器、发电机和稳压器等设备的电压调节,以保持输出电压的稳定性。
**工业自动化**:在工业自动化中,电压闭环PI控制器可以用于调节电机、传动装置和调速器等设备的电压输出,以实现精确的运动控制。
**机器人控制**:机器人的运动控制系统中,电压闭环PI控制器常用于调节关节电机的电压输出,以实现精确的位置和速度控制。
**能源管理**:在能源管理系统中,电压闭环PI控制器可以用于调节太阳能电池板、风力发电机组和电池储能系统等的电压输出,以优化能源的收集和使用效率。
#### 3. 优势与不足电压闭环PI控制器具有以下优势:- 精确性:通过比例和积分的控制,能够实现对输出电压的精确控制,减小稳态误差,提高系统的精度和稳定性。
- 自适应性:通过调节比例和积分常数,可以适应不同系统的特性和需求,提高系统的适应性和鲁棒性。
直流电机pi调节原理直流电机是一种常见的电动机,广泛应用于工业生产和家庭电器等领域。
而PI调节是一种常用的控制算法,被广泛应用于直流电机的速度和位置控制中。
PI调节是一种比例-积分控制器,其原理是根据偏差信号来调整输出信号,以实现对系统的控制。
在直流电机控制中,PI调节器通常用于调节电机的转速或位置,使其达到期望的目标。
在直流电机控制中,PI调节器的输入是偏差信号,即期望值与实际值之间的差异。
通过比例控制和积分控制来调整输出信号,进而实现对电机的控制。
在比例控制中,输出信号与偏差信号成正比。
偏差信号越大,输出信号就越大,从而加快电机的响应速度。
而在积分控制中,输出信号与偏差信号的积分成正比。
积分控制的作用是消除系统的稳态误差,使电机能够更好地跟踪期望值。
当偏差信号较小时,比例控制占主导地位,输出信号的变化主要由比例控制器决定。
而当偏差信号较大时,积分控制逐渐起作用,输出信号的变化主要由积分控制器决定。
通过调节比例参数和积分参数,可以实现对电机控制的精确调节。
比例参数决定了输出信号对偏差信号的敏感程度,而积分参数决定了输出信号对偏差信号积分的敏感程度。
通过合理选择和调节这两个参数,可以使电机控制系统达到较好的性能。
在实际应用中,PI调节器常常与速度传感器和位置传感器配合使用,以获取实际值和期望值。
传感器将实际值反馈给PI调节器,PI调节器根据偏差信号进行调节,并将输出信号送往电机驱动器,控制电机的转速或位置。
总的来说,直流电机PI调节的原理是通过比例控制和积分控制来调整输出信号,实现对电机的精确控制。
通过合理选择和调节比例参数和积分参数,可以使电机控制系统达到较好的性能。
这种控制方法在直流电机的速度和位置控制中被广泛应用,并取得了良好的效果。
实验一异步电机矢量变换控制原理实验一、实验目的:1.了解异步电机转子磁场定向控制的原理结构框图及硬件构成2.了解异步电机转子磁场位置检测电流模型法3.了解异步电动机转子磁场定向控制原理中实现矢量变换的方法及意义二、实验设备三、实验线路及原理1.运动控制系统的硬件配置图1-1 运动控制系统硬件构成图1-1为本系统的硬件配置框图。
THKDSP-1为运动控制实验箱,箱内装有DSP主控板(B1),功率驱动板(B2)及控制电源和功率模块板(B3)。
图1-2为DSP主控板的组成框图。
它包括DSP芯片;RAM芯片IC1、IC2;E2PROM存储器芯片IC3;用于RS232串行通信的接口芯片IC4以及MC-BUS I/O连接器J1、J2。
图1-2 DSP主控板组成框图图1-3为功率驱动板框图。
它包括电动机两相电流I a,I b(Iu、Iv)检测;直流母线电压V dc检测电路;保护电路;PWM信号驱动电路。
图1-3 功率驱动板电路结构框图电源功率模块板包括﹢5V,±15V, +15V三组电源和由六个IGBT构成的逆变电路。
2.异步电动机转子磁场定向控制的原理图1-4 转子磁场定向控制原理框图电机的相电流i a,i b检测之后,经过3/2变换(Park变换)和旋转变换后得到旋转变换坐标上的二个分量i sd,i sq,这两个分量分别与磁通参考值i sdref和转矩参考值i sqref比较之后送入电流和磁通调节器PI。
电流调节器的输出即为在旋转坐标上的电压分量参考值U dref和U qref;此二分量经旋转逆变换和3/2变换(Park变换)之后得到定子三相电压的参考值U aref,U bref,U cref。
根据U aref,U bref,U cref产生三相逆变器的PWM驱动信号。
转子磁通的位置角θ则由电机的模型和电机速度反馈信号计算而得。
四、实验内容1.熟悉运动控制的系统硬件构成2.异步电机转子磁场定向控制(FOC)得输入信号测量,i a、i b和转子磁场位置角计算3.电流信号的3/2变换(Park变换)及旋转变换4.i sd,i sq波形观察,并与i sdref,i sqref作比较五、预习要求1.仔细阅读FOC控制原理的有关章节2.3/2变换(Park变换)与旋转变换的计算公式3.画出异步电机的电流模型框图及有关θ计算公式4.画出电压、电流和转子磁通的空间向量及旋转坐标的d-q轴,静止坐标a-b-c、和α-β。
目录第一章概述 (2)第二章双闭环控制串级调速系统 (3)2.1双闭环控制串级调速系统的组成 (3)2.2异步电动机串级调速时转子整流电路工作状态的选择 (4)2.3串级调速系统的动态数学模型 (6)2.4异步电动机和转子直流回路传递函数计算 (9)2.5调节器参数的设计-电流环和转速环设计 (10)2.5.1 电流环的设计 (10)2.5.2 转速环的设计 (12)第三章 MATLAB仿真 (14)3.1给定阶跃的仿真: (14)3.2抗扰仿真 (14)第四章收获与致谢 (16)参考文献 (16)第一章概述串级调速理论早在20世纪30年代就已提出,到了60-70年代,当可控电力电子器件出现以后,才得到更好的应用。
20世纪60年代以来,由于高压大电流晶闸管的出现,串级调速系统获得了空前的发展。
60年代中期,W.Shepherd和J.Stanw 就提出了一种将绕线转子电动机的转差功率进行整流,然后经过晶闸管逆变器将整流后的转差功率逆变为电网频率的交流功率,并将其反馈到电动机的定子辅助绕组中的晶闸管串级方案,称为“定子反馈”方案,而把通过变压器,逆变变压器,将转差功率反馈到电网,常规的晶闸管串级,称为“电网反馈”方案。
在“定子反馈”方案中,辅助绕组与定子绕组电气上绝缘,通过磁耦合,即电磁感应,将转差功率经过定子绕组反馈到电网,这就是我们所说的“内馈”串调。
20世纪60年代末期,我国的一些单位开始进行晶闸管串级调速的试验,70年代后期,西安整流器厂首先推出了系列产品,以后其他厂家也相继推出。
国内最先是由屈维谦在80年代后期提出内馈串级调速方案的。
90年代中期以后,有一家公司又推出斩波式内馈串调。
随着电力电子技术和控制策略的发展,新的拓扑结构和控制策略被不断提出。
到目前为止全国已有四到五家知名的内馈串级调速装置的生产厂家。
如今节约能源、更加合理地、有效地利用能源是一项艰巨、利国利民造福子孙的长期工作,也是我国的一项基本国策。
∑∑==+=+=kj i pkj Isp j e K k e Kj e T Tk e K k u 0)()(])()([)( (3.60)= kp * e(k) + yn(k+1)= kp * e(k) + ki * e(k) + yn(k)= K1*(kp * e(k) + ki * e(k) + yn(k) )//K1为寄存器比例系数,下一程序取64.目的是能转化成MCU 调节//**************************************************************************** // @Function// C calling format: //// int pi_controller32(long *pi_parameter,int reference,int actual) ////---------------------------------------------------------------------------- // @Description //// PI-Controller// derived from transfer function G = kp + 1/(p*Ti)//// e(k) = reference - actual T0 =// yn(k+1)= yn(k) + ki * e(k) ki = T0/Ti// y(k+1) = yn(k+1) + kp * e(k) * 64//----------------------------------------------------------------------------// Computing time 42 CPU-cycle////----------------------------------------------------------------------------// @Returnvalue//// int "@4" Output of pi_controller64//----------------------------------------------------------------------------// @Parameters////--------------------------- Arguments -------------------------------------// reference : reference value// actual : actual value//// struct pi_parameter// {// long yn; Integral buffer// int kp; Proportional Constant// int ki; Integral Constant// int ymin; Limit value min// int ymax; Limit value max// };////----------------------------------------------------------------------------// @Date 27.11.2004// Condition optimization off / one//**************************************************************************** inline int pi_controller32( PI_array *pi_parameter, int reference, int actual)//inline int pi_controller32(int *pi_parameter, int reference, int actual){int retvalue;__asm( "\n"" mov r8,MCW ;Save MCW register \n"" mov MCW,#0600h ;Set shift left \n"" mov %0,ZEROS ;Load zero in R9 \n"" CoLOAD %0,%2 ;Load Accumulator (High) with %2(reference \n"" CoSUB %0,%3 ;error = reference - actual \n"" CoSTORE r13 ,MAS ;Load error in @R5 \n"" mov r12,[%1+] \n"" CoLOAD r12,[%1+] ;Load yn (integral buffer) in accumulator \n"" mov r11,%1 ;Save parameters addres in R1 \n"" mov r12,[r11+] ;Load Kp (proportional Constant) in R5 \n"" mov r10,[r11+] ;Load Ki = T0/Ti (integral Constant) in R6 \n"" CoMAC r10,r13 ;yn = Ki * error + yn \n"" mov r10,[r11+] ;Load ynmax (limit value max) \n"" mov r9,[r11+] ;Load ynmin (limit value min) \n"" CoMIN %0,r10 ;Limit max yn \n"" CoMAX %0,r9 ;Limit min yn \n"" CoSTORE %2,MAH ;Store yn-high in R4 \n"" CoSTORE %3,MAL ;Store yn-low in R3 \n"" mov [-%1],%2 ;Store R4 in integral buffer(High) \n"" mov [-%1],%3 ;Store R3 in integral buffer(Low) \n"" CoMUL r12,r13 ;Kp * error \n"" CoSHL #6 ;64 * Kp * error \n"" CoADD %3,%2 ;y = yn + (64 * Kp * error) \n"" mov r10,[r11+] ;Load ymax (limit value max) \n"" mov r9,[r11+] ;Load ymin (limit value min) \n"" CoMIN %0,r10 ;Limit max y \n"" CoMAX %0,r9 ;Limit min y \n"" CoSTORE %0,MAH ;Store y-high in %0 (return register) \n"" mov MCW,r8 ;Restore MCW register \n""\n": /* output registers */: "w"(reference),"w"(actual) /* input registers */: "r13","r12","r11","r10","r9","r8" /*scratch registers */);return retvalue; }下文使用的是16位定点DSP ,在计算中不可避免会产生截断误差,为了防止截断误差的累积,本文采用位置式的PI 算法,为了解决上文提到的积分饱和问题,本文采用抑制积分饱和的PI 算法:)()()1()()1()()(n U U e e K n e K n I n I n I n e K n U s pi pi sat i n n n p -=⋅+⋅+-=-+⋅= 其中,当max )(U n U ≥时,max U U s =; 当min )(U n U ≤时,min U U s =;否则)(n U U s =式中,s U 表示抑制积分饱和PI 算法的输出,)(n U 表示本次的PI 调节器的计算结果,p K 表示比例调节系数,i K 表示积分系数,sat K 表示抗饱和系数,)(n I n 为本次积分累加和,max U ,min U 分别表示PI 调节器输出的最大值和最小值,用户可以根据控制量的特性,确定PI 调节器输出的最大值和最小值,例如,当控制对象为占空比时,max U 和min U 的值可分别设置为1和0。
使用这种PI 算法,可以将调节器的输出限定在需要的范围内,保证当计算出现错误时也不会使控制量出现不允许的数值。
PI 调节器的输出具有饱和特性。
图3.16表明了这种PI 算法的流程图。
图3.16 抑制积分饱和的PI算法/*************************************************** 下程序取自FSL洗衣机程序) () ()1()()1 ()( )(nUUeeKneKnInInIneKnUs pipisatinnnp-=⋅+⋅+-=-+⋅=***************************************************///PI调节器程序段开始,for 380vif(Soft_enable_flag==1||Soft_end_flag==1){Bus_Input_ErrorK=BusVoltage_Ref-Sample_Vbus;//Q15,实际采样的电压//添加积分分离算法,保证PI调节器初始上电时不会饱和if(Bus_Input_ErrorK>295){VoltageLoop_temp=(Word32)Kp_VoltageLoop*Bus_Input_ErrorK;//比例项}else{VoltageLoop_temp=(Word32)Ki_VoltageLoop*Bus_Input_ErrorK;//Q15+Q15=Q30VoltageLoop_temp=VoltageLoop_temp>>3;//Q30-Q3=Q27Intergral_VoltageK=VoltageLoop_temp+Intergral_VoltageK_1;//Q27VoltageLoop_temp=(Word32)K_sat_coef*(Duty_output-Voltage_pi_Output);//Q16+Q15=Q31抗饱和系数应该限幅,参照上面流程图VoltageLoop_temp=VoltageLoop_temp>>4;//Q31-Q4=Q27Intergral_VoltageK=Intergral_VoltageK+VoltageLoop_temp;//Q27//if(Intergral_VoltageK>Intergral_Max){Intergral_VoltageK_1=Intergral_Max;//Q27}else if(Intergral_VoltageK<Intergral_Min){Intergral_VoltageK_1=Intergral_Min;//Q27}else{Intergral_VoltageK_1=Intergral_VoltageK;//Q27}VoltageLoop_temp=(Word32)Kp_VoltageLoop*Bus_Input_ErrorK+Intergral_VoltageK_1;//Q12+Q15=Q27,积分项Q27定标}if(VoltageLoop_temp>134217728)//Q27定标,限幅值需要重新校正{VoltageLoop_temp=134217728;}if(VoltageLoop_temp<-134217728){VoltageLoop_temp=-134217728;}Voltage_pi_Output=VoltageLoop_temp>>11;//Q27-Q11=Q16if(Voltage_pi_Output>DutyLimit_Up)//Q16{Duty_output=DutyLimit_Up;//Q16}else if(Voltage_pi_Output<DutyLimit_Down)//Q16{Duty_output=DutyLimit_Down;//Q16}else{Duty_output=Voltage_pi_Output;//Q16}}PPG1_SetRatio16(Duty_output);//设置占空比}。