硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2972|回复: 3
收起左侧

FOC电机控制学习记录(三)dq轴下的电机数学模型

[复制链接]

95

主题

528

回帖

828

积分

金牌会员

积分
828
发表于 2024-9-21 20:55:56 | 显示全部楼层 |阅读模式
这部分的内容可以先跳过,直接去看SVPWM章节。
SVPWM掌握之后,电机就能转起来了。而电机模型会和后面的环路调参有关系。

对于数学模型,我能够查阅到的所有资料里都是都是提了一句,说推导过程比较复杂,不展开。然后直接给出结论,就结束了。
笔者也没能找到相关的详细推导过程的资料,而且估计给出来了我也看不太懂,所以这里也直接引用结论了。

只能给自己找个借口,如下所示:
我们在做电机控制时候,也是直接使用结论,至于为什么电机的简化模型是这样的,就是另外领域的问题。
(类似于学习模拟电路的时候,我们知道二极管伏安特性曲线是咋样的就行了,至于为啥是这样的,PN结是怎么参杂的,我们不关心)

d-q坐标系电压方程
(我主要参考了叶志鈞的《交流电机控制回路设计》这本书)
在符号中,我参考的资料里,把下标中带有小写s的代表定子,小写r的代表转子。
上标r说明这个是在旋转坐标系中的意思。
按照这个规则,我们可以把定子d轴电压方程和定子的q轴电压方程表示出来,结果如下:

Snipaste_2024-09-21_19-28-19.png
各个物理量的含义为:
Snipaste_2024-09-21_09-14-53.png

也就是说这个电机dq轴电压的最后简化模型,就是一个电阻+电感+反电动势。
(电感乘上电流对时间的导数就是电压,我也疑惑,但是去百度了一下的确公式定义就是这样。
虽然不知道为什么电感乘上电流对时间导数,怎么就变成电压了,然后反电动势也是一样)
所以我只能知其然,而不知其所以然。基本上我现在就不纠结为什么了,默认书上给的公式是正确的,想了很久也搞不明白为什么。

微信图片_20240921091728.jpg


d-q坐标系转矩方程
Snipaste_2024-09-21_15-17-55.png
1.P为极数。
我们简化模型里面只有一个绕组,但是实际电机会有多个绕组。
也就是说如果我们机械角度转了一圈,我们的电角度就转了P圈。
可以认为:机械角度*P=电角度。
P/2就是极对数


我们分析的时候都是按照一个电周期进行分析,所以用的是电角度。
编码器测出来的是机械角度,我们不要搞错了哦。

2.隐极性和凸极性
由于制造工艺的不同, 表贴式永磁同步电机(SPMSM)的Ld和Lq接近,可以把(Ld-Lq)的那项给消去,最后得到
Snipaste_2024-09-21_09-22-58.png
这里的磁链\lambda是由永磁体提供,如果不考虑温度变化等原因,也可以看成是不变的。
我们通过控制旋转坐标系下q轴定子的电流,就可以控制电磁力矩了。这与我在前几篇文章提到的解耦合也是一致的。
(但是这里要注意,我们这个模型成立的条件,就是需要旋转坐标系紧紧跟随转子的速度才行,如果不是这个坐标系下的话就不成立了哦)

另外凸极性的电机(Ld<Lq的电机),我们这里不讨论。这种电机需要加负的d轴电流,得到正的电磁转矩。当弱磁(MPTA)的时候可以获得额外的转矩。


机械转矩方程
这个方程描述了各个电机力矩和速度之间的关系。这个方程不管是什么电机都是一样的。因为他和机械有关。

J是转动惯量,单位为kg*m^2
B为摩擦系数,单位为N*m/(rad/s)
TL为负载转矩,单位为N*m
ωrm为机械角速度注意这里是机械角速度,不是电角速度哦。



到这里我们dq坐标系下的数学方程就写完了。
1.对q轴的电压方程做拉氏变换
这里的Vd,Vq,Id,Iq都是时间上的函数,其他都是常数,我们对它做拉氏变换得到下面这个式子。
Snipaste_2024-09-21_20-04-01.png

在matlab里面用自定义函数搭建一个函数如下所示:
4个输入u(1)为d轴电流ids,u(3)为电角度ωr,u(4)为q轴电流iqs,u(2)为d轴电压vds。
1个输出位定子电流ids
Snipaste_2024-09-21_19-51-53.png

2.对d轴电压方程做拉氏变换
注意这里的变量是Vqs,ωr,Ids,Iqs这四个。
Snipaste_2024-09-21_19-46-57.png
4个输入u(1)为q轴电流iqs,u(3)为电角度ωr,u(4)为d轴电流ids,u(2)为q轴电压vqs。
1个输出位定子电流ids
Snipaste_2024-09-21_19-51-53.png
3.对电磁力矩方程做拉氏变换(用的是凸极性的方程,凸极性更有普遍性,如果Ld=Lq就可以转换为隐极性的)
这里的变量是电磁力矩Te、d轴电流ids、q轴电流iqs

2个输入,u(2)为q轴电流iqs,u(1)为d轴电流ids
1个输出为电磁力矩
Snipaste_2024-09-21_20-07-27.png
4.机械方程
Snipaste_2024-09-21_20-29-33.png
3个输入,u(1)为电磁转矩Te,u(2)为机械角速度ωrm,u(3)为负载TL
1个输出,为机械角速度ωrm
Snipaste_2024-09-21_20-31-36.png


把这四个方程联立起来
Snipaste_2024-09-21_20-43-02.png
创建子系统之后就可以得到如下一个子系统:
Snipaste_2024-09-21_20-47-10.png
输入是d轴电压,q轴电压和负载。
输出的d轴电流,q轴电流,电磁转矩,机械角速度,角度。

建模我参考的是书籍,跟着书本操作的,目前是否模型正确未验证过。
有可能我哪里会搞错。目前也还是新手,正在学习当中。。
附件里面是模型,用的是matlab 2022b,matlab中本身也自己有pmsm的模型。
pm_model_dq.7z (42.19 KB, 下载次数: 7)


我参考的书本上接下来就开始讲环路了,我打算先讲SVPWM。
我从网上随便搜的一张控制框图如下所示:
Snipaste_2024-09-21_21-02-51.png

其实我们之前有讲过clarke变换和park变换,以及他们的反变换。
这里很自然就会产生一个疑问。

我们用ud,uq,反park变换得到uα,uβ之后为什么不直接用反clarke变换得到ua,ub,uc去控制电机呢?
而是要用一个svpwm??

这是因为反clarke变换得到的是相电压,而我们无法直接控制相电压.....

关于这部分的详细内容可以参考:

FOC电机控制学习记录(四) SVPWM推导
https://www.armbbs.cn/forum.php? ... 25344&fromuid=32469
(出处: 硬汉嵌入式论坛)

(四)里面只是推导出了三相全桥电路可以控制6个方向的矢量+零矢量。
后续的部分还没写完。

评分

参与人数 2金币 +120 收起 理由
chenbin + 20 很给力!
eric2013 + 100 很给力!

查看全部评分

共产主义一定胜利!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-9-22 11:56:53 | 显示全部楼层
谢谢楼主分享,帮楼主弄了个标签,检索这个专题就非常方便了。
回复

使用道具 举报

0

主题

16

回帖

16

积分

新手上路

积分
16
发表于 2024-9-23 01:01:58 | 显示全部楼层
“为什么电感乘上电流对时间导数,怎么就变成电压了”,这就是电感的定义啊,电感是导体中 感生的电动势 或 电压 与 产生此电压的电流变化率 之比。你可以理解为类似于欧姆定律,L=U/(di/dt)
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2024-10-10 13:21:40 | 显示全部楼层
机械转矩方程那里图片在转圈圈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-25 20:29 , Processed in 0.748342 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表