当前位置:网站首页>Maxwell motor torque scanning and drawing efficiency map using MTPA strategy

Maxwell motor torque scanning and drawing efficiency map using MTPA strategy

2021-01-23 23:48:56 dingdangsunny

1. Motor torque scan

For motors ipm_1

Current excitation settings :

  • A phase :Im*sin(2*pi*fs*time+th)
  • B phase :Im*sin(2*pi*fs*time+th-2*pi/3)
  • C phase :Im*sin(2*pi*fs*time+th+2*pi/3)

Initial mechanical angle :

Motor parameters :( First keep init and th All for 0)

A Phase axis position :

N Polar axis :

1.1 Initial mechanical angle

First scan init( The original setting was 52.5deg), Because the motor has two pairs of poles , So the scan range is 0 To 180 degree , interval 5 degree .

Look at the torque diagram :

You can see , Different init There is a significant change in the torque under the load . Let's say init Is the horizontal axis , The average torque is the longitudinal axis , For further observation .

You can see , stay 5~95deg The torque in the interval is positive , The motor works in the electric state , The torque of other sections is negative , The motor works in the state of generating electricity .40deg When the motor torque reaches the maximum value .

stay 35~45deg Further scanning , Here's the picture .

init by 38.5deg when , The torque reaches the maximum , by 4.5956Nm.

1.2 Current angle

Yes th scan .

th by 4.97327(285 degree ) The torque is the maximum when the engine is running , The maximum value is 4.643Nm.

1.3 Summary

You can see , The two pictures above are axisymmetric , Setting the init And set up th It is equivalent. , When th by 285 When the degree of , That is, after 75 It's only at zero , Let the rotor rotate first 38 Degree mechanical angle . slightly smaller than 52.5 degree , And the stator magnetic field is ahead of the rotor magnetic field .

Draw the picture below , Can better illustrate the problem .

data1<-read.csv("Torque Plot 1.csv")#init
data2<-read.csv("Torque Plot 2.csv")#th
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")

You can see , The two almost coincide .

If mechanical transient analysis is turned on , Then you can see the speed fluctuation , But no external circuit is added at this time , So you can't set the control strategy .

2.MTPA

2.1dq Transformation

Now we're going to scan different currents , Before that, let's review Clark and Park Transformation , namely Id and Iq The calculation of .

Before that matlab The model built in :

namely

\[I_d=I_\alpha\cos(th)+I_\beta\sin(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_a\cos(th)+I_b\cos(th-\frac{2\pi}{3})+I_c\cos(th+\frac{2\pi}{3}))\]

Empathy

\[I_q=-I_\alpha\sin(th)+I_\beta\cos(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_a\sin(th)+I_b\sin(th-\frac{2\pi}{3})+I_c\sin(th+\frac{2\pi}{3}))\]

stay maxwell Of Output Variables This can be done in :

2.2MTPA

keep init=52.5deg, namely d Axis and A Alignment of phase axes , scanning Im and th, among th Scan range 0~2*pi, step 0.1745(10deg),Im Scan range 0~7.5A, step 0.5A.

Get the picture below :

Export table

Get the following table :

Take a look at it :

data<-read.csv("Table 1.csv")
data<-data[,c(1,2,5,7,9)]
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)

Look for the maximum torque at each current :

I<-unique(data$Im..A.)
n<-length(I)
temp<-rep(0,n)
table<-data.frame(Im=temp,th=temp,Tor=temp,Id=temp,Iq=temp)
for(i in 1:n){
  dataI<-data[data$Im..A.==I[i],]
  index<-which.max(dataI$avg.Moving1.Torque....)
  table[i,]<-dataI[index,]
}

Get the form :

 

This is the torque command table at this speed .

2.3 efficiency MAP

The following use maxwell Tool rendering efficiency in map, Compare with the scan above .

stay View Open in menu bar ACT Extensions Tools .

choice Machine Toolkit Get into .

Select the project to be solved , And make corresponding settings .

The number of poles is to determine the relationship between current frequency and motor speed .

Set the resolution .

Further settings :( Generally, keep the default )

Click... After setting Finish Start calculating .

After the calculation, we get the following image .

Because only StrandedLoss, So it's very efficient .

ID:

IQ:

Im/1.414=Irms:

The extraction speed is 1800rpm Place the value of the :

And compared with the results obtained by scanning method , Here's the picture :

library(readxl)
table2<-read_xlsx("mtpa contrast .xlsx")

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)

It can be seen that the two are very close , In terms of method, it's consistent . in other words , Use scanning method to consider several speed values , And consider both current and voltage limits , You can also draw the efficiency manually map chart .

版权声明
本文为[dingdangsunny]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/01/20210123234817943U.html

随机推荐