- 积分
- 6484
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 115
- 最后登录
- 1970-1-1
该用户从未签到
|
楼主 |
发表于 2010-9-16 18:54
|
显示全部楼层
回复 6# 沙隆巴斯 上面算出的是a相的电压,四分之一模型也考虑了的。用上述方法计算,应该不用考虑绕组分布系数吧。因为每次算出来的都是每个线圈的瞬时值啊,应该可以直接相加的。我是去定子绕组相对转子旋转,每次旋转一个槽距角,那么时间就是(T*1/Z1)。下面是代码:版主你帮我看看哪里有没有问题;
*dim,az1,array,z1
*dim,az2,array,z1
*dim,elem,array,z1
*dim,elemarea,array,z1
*dim,Fi0,array,z1
*dim,Fi1,array,z1
*dim,Fi2,array,z1
*dim,E,table,z1+1,2
*dim,E1,array,z1
*dim,E2,array,z1
E(0,0)=1e-5
E(0,1)=1
E(0,2)=2
/POST1
rsys,1
*do,ii,1,3*q1,1
asel,s,area,,aa_sc1(ii) !线圈上层边
esla,s
*get,elemnum,elem,0,count
*get,elemmin,elem,0,num,min
*do,k,1,elemnum,1
elem(k)=elemmin
esel,s,,,elem(k)
*get,elema,elem,elem(k),area
elemarea(k)=elema
nsle,s,all
*get,nodenum,node,0,count
*get,nodemax,node,0,num,max
*get,nodeazm,node,nodemax,A,z
sumaz=nodeazm
*do,jj,1,nodenum-1,1
nodenext=nodemax
*get,nodenext,node,nodemax,nxtl
*get,nodeaz,node,nodenext,A,z
sumaz=sumaz+nodeaz
*enddo
az1(k)=sumaz/nodenum !求线圈边单元平均磁势
Fi0(k)=az1(k)*elemarea(k)
elemmin=elemmin+1
*enddo
Fi1(ii)=0
*do,k,1,elemnum,1
Fi1(ii)=Fi1(ii)+Fi0(k) !求线圈边平均磁势
*enddo
star=0
*if,ii+y1,gt,z1/4,then !因为只建了1/4之一模型
star=1
*endif
asel,s,area,,aa_sc2(ii+y1-star*z1/4) !线圈下层边
esla,s
*get,elemnum,elem,0,count
*get,elemmin,elem,0,num,min
*do,k,1,elemnum,1
elem(k)=elemmin
esel,s,,,elem(k)
*get,elema,elem,elem(k),area
elemarea(k)=elema
nsle,s,all
*get,nodenum,node,0,count
*get,nodemax,node,0,num,max
*get,nodeazm,node,nodemax,A,z
sumaz=nodeazm
*do,jj,1,nodenum-1,1
nodenext=nodemax
*get,nodenext,node,nodemax,nxtl
*get,nodeaz,node,nodenext,A,z
sumaz=sumaz+nodeaz
*enddo
az2(k)=sumaz/nodenum !求线圈边一个单元平均磁势
Fi0(k)=az2(k)*elemarea(k)
elemmin=elemmin+1
*enddo
Fi2(ii)=0
*do,k,1,elemnum,1
Fi2(ii)=Fi2(ii)+Fi0(k) !求线圈边平均磁势
*enddo
*enddo
!====求取A相线圈上下层边的磁链和====
*do,ii,1,2*p,1
*if,mod(ii,2),eq,0,then
*do,i,1,3*q1,1
*if,i+q1,gt,z1/4,then
flag1=-1
flag=1
*else
flag1=1
flag=0
*endif
E1(i+(ii-1)*3*q1)=-lt*sn1/2/carea1*(flag1*Fi1(i+q1-flag*z1/4)-Fi1(i)) !上层边磁链变化量
*if,i+q1,gt,z1/4+3,then
flag1=-1
*else
flag1=1
*endif
*if,i,gt,3,then
E2(i+(ii-1)*3*q1)=-lt*sn1/2/carea1*(-flag1*Fi2(i+q1-flag*z1/4)+Fi2(i)) !下层边磁链变化量
*else
E2(i+(ii-1)*3*q1)=-lt*sn1/2/carea1*(-flag1*Fi2(i+q1-flag*z1/4)-Fi2(i))
*endif
*enddo
*else
*do,i,1,3*q1,1
*if,i+q1,gt,z1/4,then
flag1=-1
flag=1
*else
flag1=1
flag=0
*endif
E1(i+(ii-1)*3*q1)=lt*sn1/2/carea1*(flag1*Fi1(i+q1-flag*z1/4)-Fi1(i)) !上层边磁链变化量
*if,i+q1,gt,z1/4+3,then
flag1=-1
*else
flag1=1
*endif
*if,i,gt,3,then
E2(i+(ii-1)*3*q1)=lt*sn1/2/carea1*(-flag1*Fi2(i+q1-flag*z1/4)+Fi2(i)) !下层边磁链变化量
*else
E2(i+(ii-1)*3*q1)=lt*sn1/2/carea1*(-flag1*Fi2(i+q1-flag*z1/4)-Fi2(i))
*endif
*enddo
*endif
*enddo
!===用于求旋转整个槽距角时的绕组电压值====
*do,i,1,z1+1,1
E(i,1)=p*(i-1)*360/z1
*if,i,gt,z1,then
flag=1
*else
flag=0
*endif
E(i,2)=-2*z1*f*(E1(i-flag*z1)-E2(i-flag*z1))!因为每次旋转一个槽距角,所以时间1/z1/f,再乘以并联支路数a=2
*enddo
!====绘制电压波形图====
/grid,1
/axlab,x,E-agnle (o)
/axlab,y,phase A voltage (V)
*vscf,xmin,min,E(1,1)
*vscf,xmax,max,E(1,1)
/xrange,xmin,xmax
*vscf,ymin,min,E(1,2)
*vscf,ymax,max,E(1,2)
/yrange,(nint(ymin/1000)-5)*1000,(nint(ymax/1000)+5)*1000
/color,curve,orange,1
*vplot,E(1,1),E(1,2) |
|