永磁同步电机矢量控制电流环参数整定方法----Matlab controlSystemDesigner的使用

目录

1.永磁同步电机的传递函数

2.补偿器设计

3.PI参数生成

4.系统运行仿真

5.总结


1.永磁同步电机的传递函数

参考电机参数:

inverter.PWM_frequency = 10000;     %20Khz
inverter.Ts=1/inverter.PWM_frequency; %Ts

这里PWM的频率是10K, 控制频率和PWM频率一致

永磁同步电机的电流环控制框图

控制框图可以分解一下

这里反馈环节看成是单位负反馈,这里有:

F(s)=1H(s)=1;

C(s): 补偿器,在这里是PI (1P1Z),其他的一些环路系统可能补偿器更复杂,我们的目的就是要设计出补偿器的传递函数,进而求出PI参数

G(s): 可以看成是延迟环节和电机的传递函数串联,PWM频率是10K, 这里把延迟环节和PWM环节合并处理,td=Ts  (PWM的周期100us), Kpwm=1。流程图如下:

                                Gp(s)=1/(Lqs + R)

 传递函数确定,接下来通过Matlab输入传递函数,并设计补偿器C(s).

代码如下:

代码解释:

s = tf('s')  %定义传递函数的拉普拉斯变换的变量s, 然后就可以直接按照数学表达式在Matlab里面构建系统的传递函数。

Td=1/inverter.PWM_frequency+0.5/inverter.PWM_frequency; %延迟和PWM环节

Giq=1/(pmsm.InductanceLq*s+pmsm.StatorPhaseResistance);%电机的传递函数,运行后:

Gp(s)

 Giq_delay=tf([1],[pmsm.InductanceLq pmsm.StatorPhaseResistance],'inputdelay',Td); %把延迟环节和PWM环节合成一个:

G(s)=  Giq_delay

因为我们的传递函数是连续域的,生成代码的模型是离散域,需要把连续域转成离散,并整定成离散的控制器:

Giq_z=c2d(Giq_delay, inverter.Ts, 'zoh'); %这里把连续系统转成离散系统,转换方式为零阶保持

2.补偿器设计

这里初始化一个补偿器的参数,后面再通过controlSystemDesigner对参数再优化,这个补偿器就是PI传递函数的Z变换。

1. PI的控制器即C(s)的传递函数:

                                  C(s)=PI=Kp+Ki/s

2. 通过Matlab构建PI的传递函数:

给定一个初始的PI参数,C(s)的传递函数如下图所示

3. 把C(s)转成C(z): 

 通过c2d把C(s)转成了C(z),即PI的传递函数形式就可以写成:

设计PI的参数实际上就是设计补偿器参数,Id_numz和Id_denz,如上图。

Ciq_z: (Q轴电流环补偿器的离散时间传递函数C(z))

 4 .到这一步,控制系统的H(z), C(z), G(z)都已经准备好了,接下来调用controlSystemDesigner

 对控制器进行设计:

运行指令: controlSystemDesigner(Giq_z,Ciq,Hz_iq,Fz_iq);

 控制架构如图

 运行控制器的设计指令后弹出如下所示的设计界面,可以通过伯德图和根轨迹和阶跃响应分析系统的稳定性并对补偿器进行调整以达到想要的控制效果,也可以通过添加零极点设计补偿器(不限于PI,如2P2Z,3P3Z...等)

调整如下图所示的零点,抓取红圈的曲线调整增益带宽直到设计出满足需求的补偿器

 

 双击“C”弹出控制器的设计界面

 到这一步已经设计出补偿器了

3.PI参数生成

 如上图的补偿器离散时间传递函数,写成代码并运行如下:

 把上述传递函数转成PI参数,运行pid指令,如下图所示得到控制器的PI参数

 D轴的操作方法和Q轴一样,得到PI参数后我们把它放到电机系统模型

4.系统运行仿真

电流环控制,电机相电流波形

Q轴给定电流和反馈电流响应

 

5.总结

通过电流环的传递函数,结合Matlab提供的工具,可以很快的整定电流环的PI参数,通过这种方法也可以去设计各种补偿器并验证,构建的传递函数越准确,设计出来的控制器也就越能反应实际的情况,但是模型只是验证理论,实际的控制中还存在很多的不确定性,如温度引起的电感和电阻变化都,测试的准确性都会影响到系统的传递函数,进而影响到补偿器的效果,这里提供一种整定PI的方法,也是设计一种控制器的方法,速度环也可以同理设计

  • 12
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
This extension requires one license per seat Requires Unity 4.6.0 or higher. Behavior trees are used by AAA studios to create a lifelike AI. With Behavior Designer, you can bring the power of behaviour trees to Unity! Behavior Designer is a behaviour tree implementation designed for everyone - programmers, artists, designers. Behavior Designer offers an intuitive visual editor with a powerful API allowing you to easily create new tasks. It also includes hundreds of tasks, PlayMaker integration, and extensive third party integ ration making it possible to create complex AIs without having to write a single line of code! Behavior Designer was designed from the ground up to be as efficient as possible with zero allocations after initialization. As a result, it runs great on all platforms including mobile. Behavior Designer is dedicated to behavior trees, which means that each update will be a better behavior tree implementation. Features: - An intuitive visual editor - A powerful API - Visual runtime debugger - Variables to communicate between tasks - Conditional Aborts - Built in event system - Unity 5 multiplayer support - Use existing code with reflection tasks - Hundreds of tasks - Evaluate tasks using Utility Theory - Realtime error detection - Binary or JSON serialization - Data-oriented design - Zero runtime allocations after startup - Object drawers (property drawers) - Includes runtime source code - Extensive documentation and videos - Sample projects available online - And more Addon Packs: - Formations Pack - Movement Pack - Tactical Pack Complete Projects: - Deathmatch AI Kit Third Party Integrations: - 2D Toolkit - A* Pathfinding Project (Movement Pack) - Adventure Creator - Anti-Cheat Toolkit - Apex Path (Movement Pack) - Blox - Camera Path Animator - Chronos - Cinema Director - Control Freak - Core GameKit - Curvy - Dialogue System - DOTween - Final IK - Glow Effect - ICode - Inventory Pro - LeanTween - Love/Hate -

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡洛斯伊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值