我是靠谱客的博主 留胡子荔枝,最近开发中收集的这篇文章主要介绍matlab2014a如何画电机效率云图,maxwell电机转矩扫描与使用MTPA策略绘制效率map图...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.电机转矩扫描

电机用的ipm_1工具

9d5f88a2df4d8f16b7704f6b5ffc8c21.png

电流激励设置:3d

A相:Im*sin(2*pi*fs*time+th)

B相:Im*sin(2*pi*fs*time+th-2*pi/3)

C相:Im*sin(2*pi*fs*time+th+2*pi/3)

初始机械角度:blog

3039ce5aaf29c328c1c692c8c3b09263.png

电机参数:(先保持init和th都为0)ip

070c68d7b711dcf439192d44538966f2.png

A相轴线位置:it

5401a9ad307a851e6779eb16dfa93b8a.png

N极轴线:io

bf536ae8b566e80e60a746794a2d5d7d.png

1.1初始机械角度

首先扫描init(原始设置是52.5deg),因为电机有两对极,因此扫描范围是0到180度,间隔5度。table

f660e7f210bb085494963fbcead1bb11.png

观察转矩图:class

7b8fd458233da8a910bd1b6535c87016.png

能够看到,不一样init下转矩有明显变化。下面以init为横轴,平均转矩为纵轴,进行进一步观察。效率

174a2b55da44852c19998039fb560835.png

能够看到,在5~95deg区间内转矩为正,电机工做在电动状态,其余区间转矩为负,电机工做在发电状态。40deg时电机转矩达到最大值。csv

在35~45deg进行进一步扫描,以下图。

08669b89343d2e8f5b4f769233933d6f.png

init为38.5deg时,转矩达到最大,为4.5956Nm。

1.2电流角

对th进行扫描。

0e48e39114873d980e2c2cc01c10ed47.png

e6ff98aa10954f0e859086c715420667.png

ec7c36ba0992b48aa86454f31ac2fc1a.png

th为4.97327(285度)时转矩最大,最大值为4.643Nm。

1.3小结

能够看到,上面的两幅图有轴对称关系,即设置init和设置th是等价的,当th为285度时,即再通过75度电角度才到达零点,也能够说成让转子先转约38度机械角度。略小于52.5度,及定子磁场超前于转子磁场。

画出下图,能更好地说明这一问题。

data1

data2

plot(data1$init..deg.,data1$avg.Moving1.Torque...deg.,type="l",col="red")

par(new=TRUE)

plot((2*pi-data2$th...)/pi*90,data2$avg.Moving1.Torque....,type="l",col="blue")

b4474667a0d99154b1754e51131ca863.png

能够看到,两者几乎彻底重合。

若是开启机械瞬态分析,则能够看到转速的波动,但此时没有添加外电路,因此不能设定控制策略。

c406bcac06ecc7ae04390e5b530564d5.png

2.MTPA

2.1dq变换

下面对不一样的电流进行扫描,在此以前先回顾一下Clark和Park变换,即Id和Iq的计算。

以前在matlab中搭建的模型:

46e4fec4b09ce7f5e617b444428946ae.png

33dd2b1d43bb63f83b71b4db2ee61153.png

444cfe7ab863765c00aeab62ac267a0a.png

[I_d=I_alphacos(th)+I_betasin(th)\=frac{2}{3}(I_a-0.5(I_b+I_c))cos(th)+frac{2}{3}frac{sqrt3}{2}(I_b-I_c)sin(th)\=frac{2}{3}(I_acos(th)+I_bcos(th-frac{2pi}{3})+I_ccos(th+frac{2pi}{3}))]

同理

[I_q=-I_alphasin(th)+I_betacos(th)\=-frac{2}{3}(I_a-0.5(I_b+I_c))sin(th)+frac{2}{3}frac{sqrt3}{2}(I_b-I_c)cos(th)\=-frac{2}{3}(I_asin(th)+I_bsin(th-frac{2pi}{3})+I_csin(th+frac{2pi}{3}))]

在maxwell的Output Variables中能够进行这样的设置:

6e41a4ea08c3e292ebf6c5778dcaf64c.png

871dba57dfdf284af601044aef72da8a.png

2.2MTPA

保持init=52.5deg,即d轴和A相轴线对齐,扫描Im和th,其中th扫描范围0~2*pi,步长0.1745(10deg),Im扫描范围0~7.5A,步长0.5A。

获得下图:

86533cdd7c7dfeb8c05bc40cad86a338.png

导出表格

a934ae398777dee65536f2252803a4c4.png

获得下表:

14bde2f2e1ae4dd2fd74953568bd9faa.png

绘图观察一下:

data

data

library(ggplot2)

ggplot(data,aes(th...,avg.Moving1.Torque....,col=factor(Im..A.)))+geom_line()

ggplot(data,aes(th...,avg.Moving1.Torque....,col=factor(Im..A.)))+geom_line()+

xlim(0,1.7)+ylim(-1000,7000)

1f89520a93a38b2d8dd763c7779438fb.png

9fafd689bfbc56bae1d967b9b746fc92.png

寻找每一个电流下的最大转矩:

I

n

temp

table

for(i in 1:n){

dataI

index

table[i,]

}

获得表格:

906c689c04d14acfd679818a8e6c4524.png

这就是这一转速下的转矩指令表。

2.3效率MAP

下面利用maxwell中的工具绘制效率map,与上面的扫描结果进行对比。

在View菜单栏中打开ACT Extensions工具。

选择Machine Toolkit进入。

77cc8dd33296aaa607e71b24c13c434a.png

选择待求解的工程,并进行相应设置。

5bf082cca9b5bb2856b18a92f254a689.png

其中极数是为了肯定电流频率和电机转速的关系。

设置求解精度。

3ae4a32ea05a9fb428b4675e128e02ba.png

进一步设置:(通常保持默认便可)

7a04dec8a19607e4f67258ded28fedde.png

1ef8a7e9512f01b87b336ee5892bf0e7.png

完成设置后点击Finish开始计算。

计算完成后获得下列图像。

7b6b1a2bec83498dadccf2e25a705cff.png

由于损耗中只考虑了StrandedLoss,因此效率很高。

ID:

7f7dc9e6144c246f39e44f2aead1b824.png

IQ:

05df2a58a112d0c522ee828eaffe10a7.png

Im/1.414=Irms:

761f02f07ee80ae03589ffa0c5c9d451.png

提取转速为1800rpm处的值:

c9daca6fb0ef05cc8cf38768dccb2d81.png

并与扫描法获得的结果对比,以下图:

library(readxl)

table2

layout(matrix(c(1,1,2,3), 2, 2, byrow = FALSE),

widths=c(1, 1), heights=c(1, 1))

plot(table$Tor,table$Im,type="l",col="red",xlim=c(0,7000),ylim=c(0,8),xlab="Torque/mNm",ylab="Im/A")

par(new=TRUE)

plot(1000*table2$Torque,table2$Im,type="l",col="blue",xlim=c(0,7000),ylim=c(0,8),xlab="",ylab="")

legend("topleft",legend=c("sweep","toolkit"),

col=c("red","blue"),lty=1,lwd=2)

plot(table$Tor,-table$Id,type="l",col="red",xlim=c(0,7000),ylim=c(-5000,0),xlab="Torque/mNm",ylab="Id/mA")

par(new=TRUE)

plot(1000*table2$Torque,1000*table2$Id,type="l",col="blue",xlim=c(0,7000),ylim=c(-5000,0),xlab="",ylab="")

legend("bottomleft",legend=c("sweep","toolkit"),

col=c("red","blue"),lty=1,lwd=2)

plot(table$Tor,table$Iq,type="l",col="red",xlim=c(0,7000),ylim=c(0,6000),xlab="Torque/mNm",ylab="Iq/mA")

par(new=TRUE)

plot(1000*table2$Torque,1000*table2$Iq,type="l",col="blue",xlim=c(0,7000),ylim=c(0,6000),xlab="",ylab="")

legend("topleft",legend=c("sweep","toolkit"),

col=c("red","blue"),lty=1,lwd=2)

2cdb245e9d6fc9069d7dc4d0310c838f.png

可见两者很是接近,从方法上说是一致的。也就是说,使用扫描法多考虑几个转速取值,并兼顾电流和电压限制,一样能够手动绘出效率map图。

最后

以上就是留胡子荔枝为你收集整理的matlab2014a如何画电机效率云图,maxwell电机转矩扫描与使用MTPA策略绘制效率map图...的全部内容,希望文章能够帮你解决matlab2014a如何画电机效率云图,maxwell电机转矩扫描与使用MTPA策略绘制效率map图...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部