找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2236|回复: 1
打印 上一主题 下一主题
收起左侧

电机控制程序设计设计 显示定子转子起动电抗 起动电流倍数 起动转矩倍数

[复制链接]
跳转到指定楼层
楼主
ID:759681 发表于 2020-5-24 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
个人感想
设计一个电机真的是非常的难,尽管我们电机设计学习仅仅是设计电机的电磁部分,不考虑机械部分和实际制造时的情况,也是一个非常浩大的工程。做这个项目时,首先了解了很多电机的知识,然后还要学习很多计算机的知识,C语言是必不可少的。写程序的时候一个语法错误就可能造成程序的崩溃,无法运行处正确的结果。理解每一个循环也是很重要的,如果理解错了任何一个循环的含义,就会造成计算结果完全不对。还一定要细心,少打了一个变量或者任何一个公式里面有任何一点问题,就会造成对于的部分的所求值与正确值差很多。最好是每个公式都去检查一遍。然后还要记得带上单位。输出结果的排版也非常的重要。第一次考试时,我运行的结果就和书上的结果有较大出入,然后我又核对了一遍公式以及修改了计算要求的精度,还是有较大偏差。可能是程序本身运行时就会有一定的偏差,始终没有找到解决的办法。但是通过这一步的学习,我更加清楚了程序的奥秘。

#include<stdio.h>
#include<math.h>
#define PI 3.1415926
void main()
{
float PN=55,DW=400,D=260,G=0.8,DK=85;
float L=240,BK=4,HK=1,B=8,R=5.7,H=26.5,Y=0;
float DR=184.2,SR=14,PW=1100;
float BU,BL,HH,BV,HG,J,LD=25,TY,BB=1,BC,BD,BE,BF,CS,LS,LZ,ZF,E=0.25,KW=0.08;
float K,SC,XB,KQ,S,SD,SB,GE,CX,KK,LE,XA,XC,LA,LC,KL,LB,RS,KU,T,KP,KT;
float XD,XF,SG,SZ,SY,SJ,SX,SW,PS,F,BG,AG,BZ,AZ,BX,AX,BW,BY,AY,BJ,AJ,JM,XE,XS;
float XR,XX,PF,JX,JR,JP,PC,PA,JC,JN,KR,KS,A2,C2,N2,P2,Q2,U2,V2,Z2;
int Q1,X=3,A1=4,C1=1,U1=3,V1=0,N1=36,Z1=48,ZZ=44,P1=2;
float M,W=1.3;
if(X==1)
{
  BU=3.5;
  BL=7.3;
  HH=11;
}
if(X>1)
{
  BU=3.5;
  BV=7;
  BL=3;
  HG=14;
  HH=28;
}
if(DW>270)
M=11;
printf("输出功率%-12.0f 极对数%-14d 转子槽形%-12d 三相连接%-13d 并联支路数%-11d",PN,P1,X,C1,A1);
//printf("")
if(DW>270)
printf(" 节距%-10.0f\n        KW                        \n",M);
else
printf(" \n");
printf("定子外径%-12.0f 定子内径%-12.0f 气隙长度%-12.1f 转子内径%-13.0f 铁心长度%-14.0f 定子槽数%-6.0d\n       mm                  mm                      mm                     mm                  mm            \n",DW,D,G,DK,L,Z1);
//printf("")
printf("BK=%-17.0f HK=%-17.0f B=%-18.0f R=%-19.1f H=%-20.1f 每槽导体数%-4.1d\n",BK,HK,B,R,H,N1);
printf("第一种导线数%-8d 第二种导线数%-8d 第一种导线直径%-6.1f 第二种导线直径%-7.0f 环平均直径%-12.1f 端环面积%-4.0f\n                                           mm                   mm                 mm                      cm^2\n",U1,V1,W,Y,DR,SR);
//printf("")
if(X==1)
{
printf("转子槽数%-12d BU=%-18.1f BL=%-22.0f HH=%-18.0f\n",ZZ,BU,BL,HH);
printf(" \n");
}
if(X>1)
{
printf("转子槽数%-12d BU=%-17.1f BV=%-17.0f BL=%-18.0f HG=%-19.0f HH=%-.0f\n",ZZ,BU,BV,BL,HG,HH);
printf(" \n");
}
J=PN/1.14*sqrt(C1);
if(DW<390)
  LD=20;
if(DW<270)
  LD=15;
if(DW<125)
  LD=10;
TY=PI/2/P1*(D+2*HK+2+H+R);
if(DW>270)
  BB=2*M*P1/Z1;
BC=PI/Z1*(D+2*HK+(B-BK)/sqrt(3))-B;
BD=PI/Z1*(D+2*HK+2*H)-2*R;
if(X==1)
{
BE=PI/ZZ*(D-2*G-1-(BU-1)/sqrt(3))-BU;
BF=PI/ZZ*(D-2*G-1-2*HH)-BL;
}
if(X==2)
BE=PI/ZZ*(D-2*G-2*HG)-BU;
if(X==3)
BE=PI/ZZ*(D-2*G-1.6-2*HG)-BU;
if(X>1)
BF=PI/ZZ*(D-2*G-2*HG-4/3*HH)-2*BL/3-BV/3;
if(DW<=270)
{
LS=2*LD+TY;
if(P1==1)
LS=2*LD+2.9/3*TY;
if(P1>3)
LS=2*LD+25/24*TY;
}
else
{
M=(B+2*R)/(B+2*R+BC+BD);
CS=TY*BB/2/sqrt(1-M*M);
LS=2*(LD+CS);
}
LZ=L+LS;
ZF=N1*Z1/3/A1;
if(DW>200)
E=0.3;
if(DW>280)
E=0.35;
if(W<1)
KW=0.06;
K=(H-2)*(B/2+R)+PI/2*R*R-E*(2*H+B+PI*R);
if(DW>270)
K=K-E*(B+2*R);
K=(U1*(W+KW)*(W+KW)+V1*(Y+KW)*(Y+KW))*N1/K*100;
SC=PI/4*(U1*W*W+V1*Y*Y);
U2=ZF*LZ/A1/46/1000/SC;
V2=U2*J/380*sqrt(C1);
W=9.5/1000000*Z1*N1*LZ*SC;
printf("端部伸出铁心长%-6.0f 线圈半匝长%-10.1f 定子相电阻%-10.3f 定子铜重%-12.2f  槽满率%-4.1f\n          mm                 mm              75℃/Ω             Kg                \n",LD,LZ,U2,W,K);
//printf("")
printf(" \n");
Q1=Z1/6/P1;
XB=Z1/2/P1*(1-BB);
KQ=0.5/Q1/sin(PI/6/Q1);
E=sin(BB*PI/2);
KW=KQ*E;
Q1=Z1/6/P1;
S=PI*PI/54/Q1/Q1*((5*Q1*Q1+1)+XB/4/Q1*(XB*XB-1)-3*XB*XB/2)-KW*KW;
K=3*ZF*ZF*KW*KW;
if(X==1)
SB=(BU*BU-1)/4/sqrt(3)+(BU+BL)/2*(HH-(BU-1)/2/sqrt(3));
if(X==2)
SD=(BV+BL)/2*HH;SB=(BU+1.5)/2*HG+SD;
if(X==3)
{
SD=(BV+BL)/2*HH;SB=(BU*BU-2.25)/4/sqrt(3)+BU*(HG-(BU-1.5)/2/sqrt(3))+SD;
}
   Y=1.19/10000000*K*L/SB/ZZ*J*sqrt(C1);
   KK=1.821/10000000000*K*DR/P1/P1/SR*J*sqrt(C1);
   K=Y+KK;
   LE=L+2*G;
   U2=PI*D/Z1;
   W=PI*(D-2*G)/ZZ;
   CX=1+BK*BK/(U2*(4.4*G+0.75*BK)-BK*BK);
   E=1+0.5*(int)(X/2);
   E=1+E*E/(W*(4.4*G+0.75*E)-E*E);
   GE=CX*E*G;
   CX=4.5533/10000000000*PN*LE*ZF*ZF*KW*KW*C1/P1;
   Q2=1.5/PI*D/P1/GE*CX;
   RS=PI*PI/3*P1*P1/ZZ/ZZ*(1+ZZ*ZZ/Z1/Z1/2);
   KU=(3*BB+1)/4;
   KL=(9*BB+7)/16;
   LB=HK/BK+(B-BK)/sqrt(3)/(B+BK);
   LC=(H-(B-BK/sqrt(3)/2))/3/B+0.135/sqrt(B/2/R);
   LA=KU*LB+KL*LC;
   XA=6*P1*L*LA/LE/KW/KW/Z1*CX;
   XC=(1.2*LD+0.6*CS*M)/LE*CX;
if(DW<=270)
XC=0.47*(LS-1.6/3*TY)/LE/KW/KW*CX;
if(X==1)
{
LD=0.5+(BU-1)/sqrt(3)/(BU+1)+(HH-(BU-1)/sqrt(3)/2)/3/BL/pow((BU+BL),(16/15));
}
if(X==3)
{
U2=HG-(BU-1.5)/2/sqrt(3);
T=BL/BV;
KT=0.009+0.324*T+0.053*(T-1)*(T-1);
LD=0.8/1.5+(BU-1.5)/sqrt(3)/(BU+1.5);
LD=LD+(BU*pow(U2,3)/3+SD*U2*U2+SD*SD*U2/BU+BV*pow(HH,3)*KT)/SB/SB;
}
else
{
U2=BU/1.5;
T=BL/BV;
KP=0.009+0.324*U2+0.053*(U2-1)*(U2-1);
KR=0.5+(U2/(1-U2))*(U2/(1-U2))*(1/U2-log(1/U2)-1);
KS=U2/(1-U2)*log(1/U2);
KT=0.009+0.423*T+0.053*(T-1)*(T-1);
LD=(1.5*pow(HG,3)*KP+SD*HG*HG*KR+SD*SD*HG/BU*KS+BV*pow(HH,3)*KT)/SB/SB;
}
XD=6*P1*L*LD/LE/ZZ*CX;
XF=0.3785/LE*DR/P1*CX;
SG=PI*D/2/P1*LE;
SZ=0.2375*(BC+BD)*L*Z1/P1;
SY=0.95*(DW-D-2*(HK+H)-4/3*R)*L;
M=1;
if(P1==1)
M=1/3;
if(X==1)
{
SX=0.15833*(BE+2*BF)*L*ZZ/P1;
SJ=0.95*(D-1-2*G-M*DK-2*HH)*L;
}
if(X>1)
{
SW=0.475*BE*L*ZZ/P1;
SX=0.475*BF*L*ZZ/P1;
}
if(X>1)
{
SJ=0.95*(D-2*G-M*DK-2*HG-2*HH)*L;
}
if(X==3)
{
SJ=SJ-1.52*L;
}
if(DW>280)
{
SZ=SZ*92/95;
SY=SY*92/95;
SX=SX*92/95;
SJ=SJ*92/95;
SW=SW*92/95;
}
T=PI/4/P1*(DW-SY/1.9/L);
if(DW>280)
T=PI/4/P1*(DW-SY/1.84/L);
  L=PI/4/P1*(M*DK+SJ/1.9/L);
if(DW>280)
L=PI/4/P1*(M*DK+SJ/1.84/L);
  LS=2*P1*SZ*(H+R/3);
  LZ=2*P1*SY*T;
  PW=PW/PN/1000;
  PS=(3-P1/2)/100.0;
if(P1>3)
PS=0.015;
  DK=0.931+0.011*log(PN)-0.013*P1;
if(P1==1)
DK=0.92+0.00866*log(PN);
  F=DK*38*10000000/sqrt(C1)/111/ZF/KW;
  M=1.46;
  BG=M*F/SG;
  AG=800*BG*GE;
  BZ=M*F/SZ;
  AZ=0.3472*BZ/(1.754-BZ)*(H+R/3);
if(X==1)
{
BX=M*F/SX;
AX=0.3472*BX/(1.754-BX)*HH;
}
if(X>1)
{
BW=M*F/SW;
BX=M*F/SX;
AX=0.3472*(BW/(1.754-BW)*HG+BX/(1.754-BX)*HH);
}
E=1+(AZ+AX)/AG;
W=1.971-0.4*E;
if(E>1.25)
W=W+0.42*(E-1.25)*(E-1.25);
while(fabs(W-M)>=0.0005)
{
M=W-(W-M)/3;
BG=M*F/SG;
AG=800*BG*GE;
BZ=M*F/SZ;
AZ=0.3472*BZ/(1.754-BZ)*(H+R/3);
  if(X==1)
  {
  BX=M*F/SX;
  AX=0.3472*BX/(1.754-BX)*HH;
  }
  if(X>1)
  {
  BW=M*F/SW;
  BX=M*F/SX;
  AX=0.3472*(BW/(1.754-BW)*HG+BX/(1.754-BX)*HH);
  }
E=1+(AZ+AX)/AG;
W=1.971-0.4*E;
  if(E>1.25)
  W=W+0.42*(E-1.25)*(E-1.25);
}
BY=F/SY;
AY=0.3472*BY/(1.754-BY)*T*(1.1-0.5*BY);
BJ=F/SJ;
AJ=0.3472*BJ/(1.754-BJ)*L*(1.1-0.5*BJ);
JM=1.48*(AG+AZ+AX+AY+AJ)*P1/ZF/KW/J;
XB=Q2*S/KW/KW/E;
XE=Q2*RS/E;
XS=XA+XB+XC;
XR=XD+XE+XF;
XX=XS+XR;
E=1+JM*XS;
BE=(2-E)/DK*BZ;
BF=5/100000*(BE-0.7)*LS;
BC=(2-E)/DK*BY;
BD=0.00005*(BC-0.7)*LZ;
PF=(2.5*BF+2*BD)/PN/1000;
M=1/E/XX;
F=M*(V2+K)+2*JM*V2;
BB=1+PF+PW+PS+JM*JM*V2;
M=(M-2*F*BB)/2;
F=1+F*F;
JX=(M-sqrt(M*M-F*BB*BB))/F;
JR=JX+JM;
JP=sqrt((1/E/XX-JX)*JX);
DW=1-JP*V2-JR*XS;
while(fabs(DW-DK)>=0.0005)
{
DK=DW-(DW-DK)/8;
F=DK*38*10000000/sqrt(C1)/111/ZF/KW;
M=1.46;
BG=M*F/SG;
AG=800*BG*GE;
BZ=M*F/SZ;
AZ=0.3472*BZ/(1.754-BZ)*(H+R/3);
  if(X==1)
  {
  BX=M*F/SX;
  AX=0.3472*BX/(1.754-BX)*HH;
  }
  if(X>1)
  {
  BW=M*F/SW;
  BX=M*F/SX;
  AX=0.3472*(BW/(1.754-BW)*HG+BX/(1.754-BX)*HH);
  }
  E=1+(AZ+AX)/AG;
  W=1.971-0.4*E;
  if(E>1.25)
  W=W+0.42*(E-1.25)*(E-1.25);
  while(fabs(W-M)>=0.0005)
  {
   M=W-(W-M)/3;
   BG=M*F/SG;
   AG=800*BG*GE;
   BZ=M*F/SZ;
   AZ=0.3472*BZ/(1.754-BZ)*(H+R/3);
   if(X==1)
   {
    BX=M*F/SX;
    AX=0.3472*BX/(1.754-BX)*HH;
   }
   if(X>1)
   {
    BW=M*F/SW;
    BX=M*F/SX;
    AX=0.3472*(BW/(1.754-BW)*HG+BX/(1.754-BX)*HH);
   }
  E=1+(AZ+AX)/AG;
  W=1.971-0.4*E;
  if(E>1.25)
  W=W+0.42*(E-1.25)*(E-1.25);
}
BY=F/SY;
AY=0.3472*BY/(1.754-BY)*T*(1.1-0.5*BY);
BJ=F/SJ;
AJ=0.3472*BJ/(1.754-BJ)*L*(1.1-0.5*BJ);
JM=1.48*(AG+AZ+AX+AY+AJ)*P1/ZF/KW/J;
XB=Q2*S/KW/KW/E;
XE=Q2*RS/E;
XS=XA+XB+XC;
XR=XD+XE+XF;
XX=XS+XR;
E=1+JM*XS;
BE=(2-E)/DK*BZ;
BF=0.00005*(BE-0.7)*LS;
BC=(2-E)/DK*BY;
BD=0.00005*(BC-0.7)*LZ;
PF=(2.5*BF+2*BD)/PN/1000;
M=1/E/XX;
F=M*(V2+K)+2*JM*V2;
BB=1+PF+PW+PS+JM*JM*V2;
M=(M-2*F*BB)/2;
F=1+F*F;
JX=(M-sqrt(M*M-F*BB*BB))/F;
JR=JX+JM;
JP=sqrt((1/E/XX-JX)*JX);
DW=1-JP*V2-JR*XS;
}
printf("气隙磁密%-12.3f 定子齿磁密%-10.3f 定子轭磁密%-8.3f ",BG,BZ,BY);
//printf(" ")
if(X==1){
printf("BX=%.1f BJ=%.1f\n",BX,BJ);
}
if(X>1)
{
printf("转子齿上部磁密%-7.3f 转子齿下部磁密%-6.3f 转子轭磁密%-8.3f\n       T                T                 T                   T                     T                     T    \n\n",BW,BX,BJ);
  
}
//printf(" ")
PC=(JP*JP+JR*JR)*V2;
PA=(JP*JP+JX*JX)*K;
JC=sqrt(JP*JP+JR*JR);
JN=sqrt(3/C1)*JC*J;
S=30*ZF*JC*J/PI/D;
DW=JC*J/A1/SC;
DK=S*DW;
printf("额定线电流%-10.2f 线负荷%-14.0f 定子电密%-12.2f",JN,S,DW);
DR=3*sqrt(JP*JP+JX*JX)*J*ZF*KW/ZZ/SB;
SR=DR*SB*ZZ/PI/2/P1/SR/100;
printf(" 热负载%-15.0f 转子导条电密%-10.2f 端环电密%-4.2f\n       A              A*mm^-1              A*mm^-1                                    A*mm^-1              A*mm^-1 \n\n  ",DK,DR,SR);
C2=1/JC*JP;
S=PA/(1+PA+PF+PS+PW-(BD+BF)/PN/1000);
printf("定子铜耗%-12.1f 转子铝耗%-12.1f 铁耗%-17.1f",PC*PN*1000,PA*PN*1000,PF*PN*1000);
printf("风摩耗%-15.1f 杂散耗%-16.1f 效率%-4.2f\n         W                   W                   W                    W                       W       \n",PW*PN*1000,PS*PN*1000,100/JP);
printf(" \n");   
T=(1-S)/2/(V2+sqrt(V2*V2+XX*XX));
printf("定子运行电抗%-8.3f 转子运行电抗%-8.3f 总运行电抗%-10.3f",XS*100,XR*100,XX*100);
printf(" 功率因数%-11.3f 转差率%-12.3f 最大转矩倍数%-6.3f\n",C2*100,S*100,T);
U2=PI*D/Z1;
W=PI*(D-2*G)/ZZ;
M=0.707*sqrt(2-E)*N1/A1*(KU+KW*KQ*Z1/ZZ)/(0.64+0.25*sqrt(G/(U2+W)))/0.16/G;
Q2=(HK+(B-BK)/6)/BK;
if(X==1){
H=0.0675*HH;
R=V2+(1+0.4*(H-0.5)*(H-0.5)/sqrt(BU/BL))*Y+KK;
LE=(LD-0.5)*(1-0.11*(H-0.5)*(H-0.5)/pow((BU/BL),0.16));
}
else{
BB=1-0.06*(BV/BU-1)+0.012*(BV/BU-1)*(BV/BU-1);
B=BB/0.0675;
A2=1.5*B;
DR=BL+(BV-BL)*(HG+HH-B)/HH;
RS=B-HG;
R=V2+SB/(SB-SD+(DR+BV)/2*RS)*Y+KK;
DR=BL+(BV-BL)*(HG+HH-A2)/HH;
RS=A2-HG;
SB=SB-SD+(DR+BV)/2*RS;
if(X==3)
{
A2=HG-(BU-1.5)/2/sqrt(3);
H=DR/BV;
KT=0.009+0.324*H+0.053*(H-1)*(H-1);
SD=(BV+DR)/2*RS;
LE=(BU-1.5)/sqrt(3)/(BU+1.5)+(BU*pow(A2,3)/3+SD*A2*A2+SD*SD*A2/BU+BV*pow(RS,3)*KT)/SB/SB;
}
else
{
H=DR/BV;
KT=0.009+0.324*H+0.053*(H-1)*(H-1);
SD=(BV+DR)/2*RS;
LE=(1.5*pow(HG,3)*KP+SD*HG*HG*KR+SD*SD*HG/BU*KS+BV*pow(RS,3)*KT)/SB/SB;
}
}
P2=2.7*T*J;
K=0.234/pow((M*P2/100000),0.86);
if(K<0.85) K=0.85;
CS=(U2-BK)*(1-K);
C2=(W-1)*(1-K);
if(X>1) C2=(W-1.5)*(1-K);
L=KU*(LB-Q2*(CS/(CS+1.5*BK)))+KL*LC;
D=L/LA*XA;
H=K*XB;
XS=D+H+XC;
N2=LE+0.5/(C2+1);
if(X>1) N2=LE+1.5/0.8/(C2+1.5);
if(X==2) N2=LE;
F=N2/LD*XD;
G=K*XE;
XR=F+G+XF;
XX=XS+XR;
Z2=sqrt(R*R+XX*XX);
B=J/Z2;
while(fabs(B-P2)/B<=0.001)
{
P2=B+(B-P2)/8;
K=0.234/pow((M*P2/100000),0.86);
if(K<0.85) K=0.85;
CS=(U2-BK)*(1-K);
C2=(W-1)*(1-K);
if(X>1) C2=(W-1.5)*(1-K);
L=KU*(LB-Q2*(CS/(CS+1.5*BK)))+KL*LC;
D=L/LA*XA;
H=K*XB;
XS=D+H+XC;
N2=LE+0.5/(C2+1);
if(X>1) N2=LE+1.5/0.8/(C2+1.5);
if(X==2) N2=LE;
F=N2/LD*XD;
G=K*XE;
XR=F+G+XF;
XX=XS+XR;
Z2=sqrt(R*R+XX*XX);
B=J/Z2;
}
T=(R-V2)/Z2/Z2*(1-S);
printf("定子起动电抗%-8.3f 转子起动电抗%-8.3f 总起动电抗%-10.3f 起动电流倍数%-9.3f 起动转矩倍数%-.3f\n",XS*100,XR*100,XX*100,1/JC/Z2,T);
printf(" \n");
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2020-5-24 19:53 | 只看该作者
好东东 能分享下电路图吗?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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