建模是为了能够确定我们输入怎样的电压能得到怎样的转矩,以获得怎样的转速。电机这个东西,输出的不是位移也不是速度,我们要看的输出是力矩,力矩够大才有位移才有速度,没有位移没有速度的时候也可能正在输出力矩。
当然了,我们使用电机的时候的目标通常还是转速,所以需要在明确负载的转动惯量的情况下,去求得角加速度,自己另外以运动方程去计算所需的速度。
1.1 三相 PMSM 的基本数学模型
电能相关变量就是 电压v和电流i,
磁能相关变量就是 磁链λ,
机械能相关变量就是 转矩T和转动惯量J。
电压方程
同步电机的电压方程在此
简单讲讲
自然坐标系下的相电压方程:
相电压 = 电流*电阻 + 磁链方程的导数;
【因为除了普通的电压,线圈造成的反电动势也会影响电压,而反电动势跟磁感线有关,除了这个线圈自己的磁感线,别的线圈的磁感线也会跑过来影响自己这个相的反电动势,所以要计算的是全磁链的反电动势。
后续会知道磁链方程里的各个系数。因此这个公式是为了让我们输入电压时能计算出对应的电流【还得先知道这个电流瞬间的电角度】
磁链方程相关知识
单个线圈产生的磁感线叫做磁通量Φ
而N匝线圈产生的磁感线就叫磁链λ了。λ = ΝΦ = Li
以前只有一个有N匝的线圈在产生磁链,所以以前的电动势可以单独对i求导。
但是现在有多个线圈共同通电,那么另外的线圈的磁链也会跨到这个线圈里,而现在的公式里的磁链λ 就包括了自己产生的有效的磁链和别人产生的穿过来的磁链。
异步电机建模与控制02讲:正确认识电感L
耦合电感
耦合电感就是一个铁芯上有两个线圈,每个线圈导电后会产生磁场,并且会影响另一个线圈的磁场,因此就会有4种磁场,因此也就有4个小电压。
L是自感系数,M是互感系数。【所以,某个线圈如果要对别的线圈产生影响,是无所谓别的线圈有多少匝的?
自感就是自己这个线圈的所有的磁感线
互感就是我自己这个线圈穿过了别人线圈里的部分
漏感就是只穿过了我自己的磁感线
自感 = 互感 + 漏感;
耦合电感电流与电压的关系!
单相的磁链方程
下图是定子A相绕组的磁链方程,这个视频里没有区分L和M,都写的L
意思就是A绕组上的磁链就是定子的ABC三相和转子的abc三个相的互感系数和电流的乘积之和。
三个定子绕组和三个转子绕组的整个磁链方程
【哦,这个教程是异步电机的教程,难怪转子也有绕组和互感系数】
就结果来说 互感系数是下图这样的关系,同颜色的相等的值。如果忘记了,下面有解析 学习自异步电机建模与控制05讲:磁链方程
有一个定律是:A绕组对B的互感 == B绕组对A的互感【诶?所以自己有多少匝线圈也不会改变自己的互感系数?那互感系数是由什么决定的?【由材质和尺寸决定的】
总之,互感系数Aa和aA是一样的。【aa和AA应该还是不一样的。】那么一三象限这俩矩阵就是转置关系。
A绕组在电流作用下产生的磁感线就是磁链AA
把它的磁感线分成两类,一类是绕回来了的磁感线,叫做漏感,下标是l,另一类是穿出去产生互感的磁感线,下标是m。
给定子绕组统一加一个s示意为定子。
Lms和Lls是靠电机的材质和尺寸计算出来的。转子的互感也会做成一样的。但是定子和转子的漏磁通不一样
下面讲解一下定子之间的互感
如果两个线圈完全重叠,而只有一个线圈导电,那么互感的量就是磁场线减去漏感的量,就是直直穿过线圈的那些部分,就是Lms
但实际上,各绕组相差120°的电角度。所以LAB = Lms*cos120°
同理可得其他的互感值。由此可以得知二四象限的俩矩阵,除了漏磁通,都是相等的。
定子和转子之间的互感。转子是一直在旋转的,所以只能用角度表示,它们的互感系数是会变的。
综上,磁链就是各种互感系数乘上对应电流的公式。
需要输入的数据是 定子的漏磁通Lls 和 基础的互感系数Lms ,以及转子的电角度。
同步电机的磁链方程在此
不像异步电机那样有转子绕组,所以只有定子自己和定子之间的互感。漏感还单独拎出来一个矩阵,行吧。转子虽然不需要互感系数,但是永磁体的磁感线也是要算进去的,而且也是要电角度的。
第三个人的磁链教程
【这里的矢量方向似乎只是把前面教程的cos值直接融合进了矢量里。
如何快速理解永磁同步电机?
磁链【非人话内容】
定子磁链指定子电流生成磁通与定子绕组交链形成的磁链,转子磁链指转子永磁体生成磁通与定子绕组交链形成的磁链,当然严格意义上说还要考虑漏磁等问题。【磁链好像就是磁通量*线圈匝数】
控制角度上关心磁链这一物理量的原因在于它直接影响电机绕组电磁动态和内部机电能量转换过程
一方面根据电磁感应原理磁链的变化会感应出电压,包括定子绕组中的反电动势和旋转耦合电势,这会影响定义端电压对定子电流的调节作用;
另一方面忽略齿槽转矩时电机的电磁转矩可以视作定子电流矢量和转子磁链矢量的矢量积(类比两块磁铁的相互吸引),所以需要根据转子磁链矢量的大小和位置决定定子电流矢量的角度和大小以实现电机输出电磁转矩的实时控制。
【知乎】磁链是啥
通过控制定子电流励磁分量Ism不变,可以保证转子磁链不变。然后通过调节定子电流转矩分量Ist,即可以动态的控制电机的转矩T
异步电机矢量控制中为什么要观测磁链呢
转矩方程
磁场做功
异步电机的转矩方程如下图,所谓的储能就是能量,能量就是做功。功 = 功率*时间
时间对功率进行积分,因为是磁链做功,磁链的反电动势公式已经求出是磁链对时间求导。
dt居然就这样约掉了【靠,数学真神奇】
然后就是熟悉又陌生的定积分。。
磁链对电流进行积分,所以是左上的三角形面积,所以得出了上图的公式。
磁共能(co-energy)和储能相等的原因是这个电机的磁链与电流的关系是一条直线,其铁芯不会随着电流的增加而逐渐饱和,所以其函数下方的面积和函数左方的面积一致,所以相等。
电磁转矩
下面这句话的意思就是,如果磁共能不会随着角位移的转动而变化的话,就不会有电磁转矩。注意,现在是指机械角位移θm了,不是电角度θ了,所以换回θ的话要乘上磁极对数。
【但是也不知道磁共能是什么,为什么电磁转矩和磁共能相关,而不是和磁场储能相关。磁场的储能和磁共能是什么东西 有什么区别】
我们把上一小节得到的功的公式代入,这个异步电机是6 * 6,咱同步电机是定子的3 * 3 + 永磁体的3 * 1 。矩阵的求导是对矩阵里的每个项挨个求导。【没搞错的话,转置的i应该是指每个相励磁电流,最后的i是每个互感系数对应的电流。。。。。额。。感觉好像是一样的?】【对,确实是一样的】
因为定子绕组的磁链是恒定不变的,所以被θ求导后就是0.
然后把矩阵的那三项展开,乘出来,就是84那条公式。
由最终公式可知,只要知道磁极对数、每个相的电流、互感系数对θ的函数 ,就能知道电流对电磁力矩的关系。
同步电机的转矩方程在此
这本书只把公式写到这个程度而已啊。。。Ψ里面的定子互感部分被求导之后会等于0,最终只有永磁体旋转时产生的磁链能产生电磁转矩。
不知道对不对哈。以后有机会就验证一下。我这里写的Ψ永是指永磁体的互感系数。
本来以为永磁体转子那边缺一个电流的,但书上确实没写,我也不敢改动。异步电机的教程里,这个位置的i应该是做功时的功率(电压v 乘 电流i)出现的i ,但我也搞不清楚,或许只是电流对转子励磁的i也说不定。总之先按书上的写,而且如果加上这个i矩阵,那这个力矩方程就会变成一个3 * 1的矩阵了。那不就变成3个相的力矩了嘛。。。
磁极对数和永磁体互感系数已知,电流算出来了【大概吧】电角度也是之前就得知道的【机械角度*磁极对数 就是电角度】就能算出力矩了。。
运动方程
给定电压下生成的电磁转矩通常必须要先大于负载阻转矩,否则转不起来。
第二项就是能够产生角速度的部分
第三项是随着速度的增加而增加的阻力【类似风阻?
第四项是随着位移的增加而增加的阻力【类似弹簧?
永磁同步电机教程书里是这样写的
把形式写成了非常明确的需要转速的形式,而且没有忽略转速的阻尼【阻尼:会随着某种参数而改变的阻力】
坐标变换
【b站】ABC-αβ-dq-ABC的坐标变换的MATLAB手把手建模
我们按SPWM驱动
有ABC三个相的向量,我们按SPWM驱动,就是给每个相输入相位相差120度的正弦波电压,而且这三个向量本身的物理分布也相差着120度。
A向量是ωt 的正弦波,即相位位于0°,而且其电磁矢量位于0°;B向量是ωt 且相位是- 120°的正弦波 ,矢量位于正120°,记作sin(ωt - 120°)∠120° ; C向量不赘述
现在把这三个向量相加,用到了虚数和三角函数的诱导公式,分别求出了实部和虚部之后发现这样的三个正弦矢量叠加后的幅值是固定的3/2,合力的角速度就是每个相正弦波的角速度
clarke变换
把三相坐标系投影到直角坐标系上,这对每个矢量都适用。
其实三项正弦波投影到αβ坐标轴上之后生成的两个正弦波就是上一小节推导出来的实部和虚部的两个正弦波。
投影完了之后还乘个系数k是电机特有的操作。
因为 电压合成后会多3/2 ,要除,除了之后输出的矢量就和输入的正弦波等幅值了
如果要恒功率的输出,那就是P = UI ,所以变换后的电压和变换后的电流要相乘,所以开个根号的系数在相乘过后就是2/3了。
教科书上加了一行,用来凑成一个正交矩阵,不会有别的影响。
clarke逆变换
park变换
分两种啊
从ABC坐标系换到dq坐标系
反变换
从αβ坐标系转到dq坐标系
反变换
我的练习
上面那行,clarke变换和park变换都乘了一次k
而下面那个ABC2dq只乘了一次k
所以示波器2比示波器3小
坐标变换后的数学建模
dq坐标系下的建模公式
异步电机有六个轴,还相互不垂直。记得当初那个磁链矩阵,单单A相的磁链就跟6个电流相关,耦合性太强。所以现在都换到dq坐标系上。
视频教程里 异步电机在静止αβ坐标系下的模型
s代表定子,r代表转子,ω是dq坐标系的转速,ωr是电角速度。其ω取0
如果电机要以恒功率模式运行,那kT就要设置为1
同步电机书上的 旋转dq坐标系下的模型的公式
电压方程
磁链方程
注意,可以将磁链方程代入到电压方程里
于是有
转矩方程
建模
目前的状况是
我们有三相电压,通过变换 把它变成了dq轴上的电压
然后我们要通过输入的电压计算dq轴的电流
通过电流计算输出的力矩
通过力矩计算转速
额,注意,这是电机内部的公式,并不是我们控制电机的力矩和转速所需的公式。
只是单纯因为需要在电脑里模拟一个电机出来,好让我们在电脑里对电机调参数而已。
所以其实可以直接用MATLAB的电机模块的。。。。
另一个人的教程
求电流
两个电压是输入量,其余的量 除了电流 都是已知量。
把微分项单独移到左边,然后两侧取积分,就能得到电流这个变量的公式
虽然有交错的部分,但是MATLAB在建模的时候可以像反馈环节那样拉出来调用,好神奇。
教程里把ωe当做常数,但是书上用的是输入的电角度。我一开始是用常数,但是效果不对,我觉得用输入比较合理。
求力矩
求转速
这里要注意
TL是负载,要注意这个负载的数值要与输入的电压幅值匹配
如果负载过大,电压偏小,那电机带不动这个负载,即使你模型是对的,最终输出的速度也无法收敛。
这个人用了3个视频【第一个视频的23分12秒左右在讲额定功率、电压和转速、负载之类的联系】
这个大佬是计算出了正确的数值,而我是在看了他第二个视频,他提了一嘴 说电压如果调小,速度就会震荡,我顿时惊了,然后把我的负载改小了10倍,然后我的模型就奇迹般正常了。
视频
已知参数功率、线电压等数值
给三相交流电压,然后通过park变化得到dq轴的电压,并且和反馈来的电机转角输入进子系统,运算输出的是dq坐标系下的电流和转矩,当然了,我们可以只输出转矩。
下图这一段用的是运动方程。电机输出的力矩Te 减去电机摩擦力矩Tm,剩下的力除以转动惯量J就是加速度,加速度乘上一个积分环节 就是速度。
反馈回路的B是速度的阻尼系数,B可以为0
书上
我的练习
直接用MATLAB的电机模型
学习记录3——PMSM数学建模——simulink内数学模型搭建以及仿真
在搜索框搜索machines 然后找
上面的电机不能用正弦波当输入,而是要找下图的电压源来输入。
三相可编程电压源three phase programmable voltage source的设置与使用
B-H曲线
灰色线和绿色线,都是提高电流,但磁场强度却能从不同的起点达到相同的终点。
MATLAB基础操作
在simulink里设定变量
子系统
创建子系统 选中两个模块 右击,选择ctrl G那个选项
暂不参与运行 comment out
选中模块,右击,选择ctrl shift X 那个选项
单击模块后,指向模块上出现的三个点,点击%这个图标
Fcn
乘法器
分母要加个模块