tc = PI * Cmu.Dc / Cmu.k '换向片节距 RtrCoil.Y1 = Int(Cmu.k / 2 - Uz * RtrCoil.eps) '虚槽节距 RtrCoil.Y2 = RtrCoil.Y1 - 1 '前节距 bbp = Bru.bb * RtrPara.D2 / Cmu.Dc '用于计算换向区域宽度 tcp = tc * RtrPara.D2 / Cmu.Dc '用于计算换向区域宽度 bc = bbp + (Uz + Cmu.k / 2 - RtrCoil.Y1 - 1#) * tcp '换向区域宽度, 应小于1.2*(Tao-Tao0) CLMD = 1.2 * RtrS1.h2 / (RtrS1.b1 + 2# * RtrS1.R) + _ CKE * RtrPara.D2 / RtrPara.La + 0.92 * Log10(PI * tm / RtrS1.b0) '转子单位漏磁导 PSI = IIf(ShaftInsulation, 1#, 5 / 6) '转轴有绝缘层=1, 无绝缘层=5/6 hc2 = (RtrPara.D2 - (2# * RtrS1.h2 + _ PSI * RtrPara.D22)) / 2# + RtrS1.R / 3# '转子轭高 LC1 = (PI * (StrPara.D1 - StrPara.hc1) - StrPara.Bp) / 2# '定子轭磁路长度 LC2 = PI * (PSI * RtrPara.D22 + hc2) / 2# '转子轭磁路长度 LT2 = 2# * RtrS1.h1 + 2# * RtrS1.R / 3# '转子齿磁路长度 CKd = (tm + 10# * delta) / (t1 + 10# * delta) '气隙系数 CKM = IIf(StrPara.D12 > 3#, 5#, 3#) '计算线模宽的系数 StrCoil.am = Int((StrPara.D12 * 10# + CKM) * _ Sin(PI * alpha / 2)) / 10 '定子线圈线模宽, 对mm取整后换为cm Select Case StrCon.D1 Case Is < 0.45 CR = 3# Case Is > 0.5 CR = 5# Case Else CR = 4# End Select StrCoil.lm = (StrPara.L1 * 10# + 2 * CR - 2#) / 10# '定子线圈线模长, cm StrCoil.H = (StrPara.Hs * 10# - 1#) / 10# '定子线圈线模高, cm eps = IIf(StrCon.D1p > 0.5, 0.05, 0.03) W1p = Int(StrCoil.H * 10# / (StrCon.D1p + eps) - 0.5) '定子线模每层匝数 StrCoil.bm = Int((StrCoil.W1 + 1#) * (StrCon.D1p + eps) / W1p) / 10# '定子线圈宽度,cm, 检验定子窗口能否安放 Lav1 = 2 * (StrCoil.am + StrCoil.lm - CR * 4# / 10#) + _ PI * (2 * CR / 10# + StrCoil.bm) '定子线圈平均每匝长度, cm '---定转子铁心质量计算, 硅钢片比重为7.8 WC1 = 7.8 * KFe * ((StrPara.D1 - StrPara.hc1) * PI - 2 * StrPara.Bp) * _ StrPara.hc1 * StrPara.L1 * 0.001 '定子轭部质量, kg WP = 2 * KFe * 7.8 * StrPara.hp * StrPara.Bp * StrPara.L1 * 0.001 '定子极身质量, kg WC2 = 7.8 * KFe * PI / 4 * ((RtrPara.D2 - 2# * RtrS1.h2) ^ 2 - _ RtrPara.D22 ^ 2) * RtrPara.La * 0.001 '转子轭部质量, kg WT = 7.8 * KFe * RtrPara.Z * RtrS1.t * RtrS1.h2 * _ RtrPara.La * 0.001 '转子齿部质量, kg WFE = 7.8 * KFe * StrPara.B * StrPara.D1 * StrPara.L1 * 0.001 '电机硅钢片毛胚质量,kg, 计算成本有用 WCU1 = 8.9 * 2 * StrCoil.W1 * StrCon.S1 * Lav1 * 0.00001 '定子绕组用铜量,kg, 8.9g/cm3 WCU2 = 8.9 * Lav2 * N * RtrCon.S2 * 0.00001 '转子绕组用铜量,kg W2 = RtrCoil.Ns / (2 * Uz) '转子每元件匝数 Sdelta = 0.02 + 0.005 '设槽绝缘为一层, 厚0.02cm SE = ((RtrS1.b1 + 2 * RtrS1.R) / 2# - 2 * Sdelta) * _ (RtrS1.h1 - RtrS1.h3 - 2 * Sdelta) + 1.57 * (RtrS1.R - Sdelta) ^ 2 fillslot = RtrCoil.Ns * RtrCon.D2p * RtrCon.D2p * 0.01 / SE '槽满率 R1 = 2 * 2.17 * StrCoil.W1 * Lav1 * 0.0001 / StrCon.S1 '定子绕组电阻, Ohm, A,E,B级绝缘 R2 = 2.17 * N * Lav2 * 0.0001 / RtrCon.S2 / 4 '转子绕组电阻, Ohm, A,E,B级绝缘 End Sub '如果转子齿部磁密>1.8T须修正, 方法参见《直流电机设计》 Private Sub ModifyBt(Bt As Double, ByVal ts As Double, ByVal t As Double) Dim OldBt As Double, G1 As Double, G2 As Double Dim ModiBt As Double, ModiHt As Double, Btp As Double OldBt = Bt * 10000# G1 = OldBt: G2 = 16000# 求齿磁密: ModiBt = (G1 + G2) / 2# Call XXCZ(BHNum - 1, BB1, H200, ModiBt, ModiHt) Btp = ModiBt + 1.2566 * ModiHt * ts / t If Abs(OldBt - Btp) > 10 Then '如果误差大于10Gs, 继续叠代 If OldBt > Btp Then G2 = ModiBt Else G1 = ModiBt End If GoTo 求齿磁密 End If Bt = ModiBt / 10000# End Sub '-----工作特性曲线 Public Sub CharaCurveCal(PgBar As Object, lbl As Object) Dim dn2 As Double Dim k As Double '1、 基本结构尺寸, 参数 Call FixedPara '2、以额定转速为基点计算工作特性曲线 PgBar.Visible = True '显示计算进程控件 lbl.Visible = True '显示提示标签控件 PgBar.value = 0 dn2 = RPara.nH / 5 '转速增量 Call CalCurve(dn2, True, PgBar) '计算n=nH --> 空载 '******************* dn2 = -RPara.nH / 10 '转速增量 Call CalCurve(dn2, False, PgBar) '计算n=nH --> 制动 PgBar.Visible = False '隐藏计算进程控件 lbl.Visible = False '隐藏提示标签控件 End Sub '工作特性曲线计算 Private Sub CalCurve(ByVal dn2 As Double, bIncrN As Boolean, PgBar As Object) Dim I2(30) As Double, n2(30) As Double, P2(30) As Double Dim T2(30) As Double, eta2(30) As Double, cosfi(30) As Double Dim kI As Integer, kU As Integer Dim n20 As Double, I20 As Double, II As Integer, kk As Integer Static CvN As Integer Va = PI * RtrPara.D2 * RPara.nH * 0.01 / 60# '转子圆周线速度, m/s Vc = PI * Cmu.Dc * RPara.nH * 0.01 / 60# '换向器线速度, m/s f2 = RPara.nH / 60# '转子旋转频率 IH = RPara.PH / (RPara.UH * RPara.etaH * RPara.cosFH) '额定负载电流, A C2 = ((2.3 * IH * IH * R2 + 2.4 * IH) / RPara.PH + _ 0.034) * RPara.etaH / (1# - RPara.etaH) '损耗比例系数初值 Pe = RPara.PH * (1# - C2 * (1# - RPara.etaH)) / RPara.etaH '内功率初值 n20 = RPara.nH I20 = IH '实际负载电流初值, A For II = 1 To 30 kI = 0 '电流叠代的次数 n2(II) = n20 I2(II) = I20 '实际负载电流初值, A 叠代Ip: kU = 0 '电压叠代的次数 Ee = Pe / I2(II) EMPara.A = N * I2(II) / (2 * PI * RtrPara.D2) '转子线负荷(电负荷), A/cm 叠代U1: '如果|(UH-U1)/UH|<1%不满足, 调整Ee叠代 FID = 60# * 1.4142 * Ee / (CKP * n2(II) * N) '气隙磁通, Wb ex = 2# * W2 * RtrPara.La * CLMD * EMPara.A * Va * 0.000001 '换向元件中电抗电势 ea = 0.8 * PI * W2 * EMPara.A * Tao * RtrPara.La * Va * _ 0.000001 / (Tao - Tao0) '换向元件中电枢反应电势 et = 4.44 * RPara.fH * W2 * FID '换向元件中变压器电势 '-----磁路计算 EMPara.Bd = FID * 10000 / Tao0 / ((StrPara.L1 + RtrPara.La) / 2) '气隙磁密, T EMPara.Bc1 = 1.09 * FID * 10000 / (2 * KFe * StrPara.hc1 * StrPara.L1) '定子轭部磁密, T EMPara.Bp = 1.09 * FID * 10000 / (KFe * StrPara.Bp * StrPara.L1) '定子极身磁密, T EMPara.Bc2 = FID * 10000 / (2 * KFe * hc2 * RtrPara.La) '转子轭部磁密, T EMPara.Bt = EMPara.Bd * tm / (KFe * RtrS1.t) '转子齿部磁密, T If EMPara.Bt > 1.8 Then '如果转子齿部磁密>1.8T须修正 Call ModifyBt(EMPara.Bt, ts, RtrS1.t) End If If f2 > 100 Then '转子旋转频率>100Hz Call XXCZ(BHNum - 1, BB1, H200, EMPara.Bt * 10000, CATT) '查磁化曲线求相应的磁场强度 Call XXCZ(BHNum - 1, BB1, H200, EMPara.Bc2 * 10000, CATC2) Else Call XXCZ(BHNum - 1, BB1, H50, EMPara.Bt * 10000, CATT) '查磁化曲线求相应的磁场强度 Call XXCZ(BHNum - 1, BB1, H50, EMPara.Bc2 * 10000, CATC2) End If Call XXCZ(BHNum - 1, BB1, H50, EMPara.Bc1 * 10000, CATC1) Call XXCZ(BHNum - 1, BB1, H50, EMPara.Bp * 10000, CATP) ATD = 1.6 * EMPara.Bd * CKd * delta * 10000 '气隙激磁安匝, A ATT = CATT * LT2 '转子齿激磁安匝, A ATC2 = CATC2 * LC2 '转子轭激磁安匝, A ATC1 = CATC1 * LC1 '定子轭激磁安匝, A ATP = 2# * CATP * StrPara.hp '定子极激磁安匝, A CKB = IIf(Uz >= 3, 0.333, 0.625) '计算借偏去磁安匝用 belta = 2# * PI * 1.5 / Cmu.k '电刷偏离几何中心线角度, 弧, 书例1电刷偏离1.5换向片 ATB = CKB * RtrPara.D2 * belta * EMPara.A '借偏去磁安匝, A ATC = 0.069 * (Bru.bb / tc) ^ 2 * (ex + ea) * W2 * I2(II) '换向增磁安匝, A CKK = 0.10688 - 0.000286 * CATT '拟合《手册》图10-5曲线 ATA = CKK * (ATD + 3 * ATT + 1.414 * Tao0 * EMPara.A / 2#) * _ Tao0 * EMPara.A / ATD '电枢反应安匝,参见《手册》 AT = ATD + ATC1 + ATC2 + ATT + ATP + ATB + ATA - ATC '总激磁安匝, A '-----铁耗计算, 利用硅钢片手册给出的p10/50, p15/50铁耗系数 pp50 = IIf(EMPara.Bc1 < 1#, 2.17, 5.3) 'D22铁耗系数,W/kg CPFEC1 = pp50 * (RPara.fH / 50) ^ 1.3 * (EMPara.Bc1) ^ 2 '定子轭铁耗系数, W/kg pp50 = IIf(EMPara.Bp < 1#, 2.17, 5.3) CPFEP1 = pp50 * (RPara.fH / 50) ^ 1.3 * (EMPara.Bp) ^ 2 '定子极铁耗系数, W/kg pp50 = IIf(EMPara.Bc2 < 1#, 2.17, 5.3) CPFEC2 = IIf(f2 > 50, pp50 * (f2 / 50) ^ 1.3 * (EMPara.Bc2) ^ 2, _ pp50 * (RPara.fH / 50) ^ 1.3 * (EMPara.Bc2) ^ 2) '转子轭铁耗系数, W/kg pp50 = IIf(EMPara.Bt < 1#, 2.17, 5.3) CPFET2 = IIf(f2 > 50, pp50 * (f2 / 50) ^ 1.3 * (EMPara.Bt) ^ 2, _ pp50 * (RPara.fH / 50) ^ 1.3 * (EMPara.Bt) ^ 2) '转子齿铁耗系数, W/kg PFE1 = 1.2 * CPFEC1 * WC1 + 2# * CPFEP1 * WP '定子铁耗, W, 1.2,2.0为铁耗增加系数,与例题比较而得 PFE2 = 1.8 * CPFEC2 * WC2 + 2# * CPFET2 * WT '转子铁耗, W, 1.8,2.0为铁耗增加系数,与例题比较而得 PFE = PFE1 + PFE2 '总铁耗 Kc = IIf(n2(II) > 10000, 0.15, 0.2) '换向元件铜耗系数 PK = Kc * PFE '换向元件铜耗 '----电势计算 Ur2 = I2(II) * R2 '转子绕组电阻压降 Ux2 = 1.25 * PI * RPara.fH * N * N * CLMD * _ RtrPara.La * I2(II) * 0.00000001 / (2 * RtrPara.Z) '转子漏抗压降,同《手册》 Ur1 = I2(II) * R1 '定子绕组电阻压降 Ux1 = 0.76 * RPara.fH * StrCoil.W1 * FID '定子漏抗压降,同《手册》 Ed = 8.88 * RPara.fH * StrCoil.W1 * FID '定子绕组自感电势(变压器电势) Eq = 0.0472 * RPara.fH * Tao * RtrPara.La * I2(II) * N * N _ * alpha * alpha * 0.00000001 / (CKd * delta) '转子绕组自感电势(交轴电势) SINPO = (PFE1 + PK) / (Ed * I2(II)) '磁通相角正弦值 COSPO = Sqr(1# - SINPO ^ 2) '磁通相角余弦值 Ur = Ur1 + Ur2 + Bru.dUc + Ed * SINPO + Ee * COSPO '端电压有功分量 Ux = Ux1 + Ux2 + Eq + Ed * COSPO - Ee * SINPO '端电压无功分量 U1 = Sqr(Ur * Ur + Ux * Ux) '计算端电压,须满足|(UH-U1)/UH|<1% If Abs((RPara.UH - U1) / RPara.UH) > 0.01 Then '如果U1不满足要求,利用UH-U1的偏差 Ee = Ee + (RPara.UH - U1) / RPara.UH '修正Ee,重新计算. Ee与U1成正比 If kU < 100 Then '最多允许叠代100次 kU = kU + 1 GoTo 叠代U1 End If End If COSFI1 = Ur / U1 '计算功率因数,与CosFH偏差应小于2% PCU1 = I2(II) * I2(II) * R1 '定子铜耗 PCU2 = I2(II) * I2(II) * R2 '转子铜耗 PM = 47 '机械损耗, 《书》例1PM=47,需建立查表 SUMP = PCU1 + PCU2 + Bru.dUc * I2(II) + PM + PFE + PK '总损耗 PH1 = U1 * I2(II) * COSFI1 '输入功率 Pe = PH1 - PCU1 - PCU2 - Bru.dUc * I2(II) - PFE1 '内功率终值 Ipp = AT / 2.828 / StrCoil.W1 '计算负载电流 If Abs((I2(II) - Ipp) / I2(II)) > 0.01 Then 'I2与计算负载电流相对误差应<1% I2(II) = I2(II) + (Ipp - I2(II)) / (2 * IH) '因IH一般较小,而Ipp - I2有时偏差较大, 故X2 If kI < 100 Then '最多允许叠代100次 kI = kI + 1 GoTo 叠代Ip End If End If P2(II) = PH1 - SUMP T2(II) = P2(II) / (2 * PI * n2(II) / 60#) '实际额定转速下的输出转矩, N.m eta2(II) = P2(II) / PH1 cosfi(II) = Ur / U1 PgBar.value = PgBar.value + 1 '显示计算进程 DoEvents If P2(II) < 0 Then Exit For n20 = n2(II) + dn2 I20 = I2(II) If n20 <= 0 Then Exit For '转速n=0则停止叠代 Va = PI * RtrPara.D2 * n20 * 0.01 / 60# '转子圆周线速度, m/s Vc = PI * Cmu.Dc * n20 * 0.01 / 60# '换向器线速度, m/s f2 = n20 / 60# '转子旋转频率 Next If II > 30 Then II = 30 '每段最多只取30个数据点 If P2(II) < 0 Then II = II - 1 '去掉功率为负的数据点 If bIncrN Then '曲线从额定点至空载点 For kk = 0 To II - 1 '调整曲线为空载点至额定点 CharaCv.I2(kk) = I2(II - kk) CharaCv.P2(kk) = P2(II - kk) CharaCv.T2(kk) = T2(II - kk) CharaCv.n2(kk) = n2(II - kk) CharaCv.eta2(kk) = eta2(II - kk) CharaCv.cosfi(kk) = cosfi(II - kk) Next CvN = II '保存该部分曲线的点数 Else '曲线从额定点至制动点 For kk = -1 To II - 2 CharaCv.I2(CvN + kk) = I2(kk + 2) CharaCv.P2(CvN + kk) = P2(kk + 2) CharaCv.T2(CvN + kk) = T2(kk + 2) CharaCv.n2(CvN + kk) = n2(kk + 2) CharaCv.eta2(CvN + kk) = eta2(kk + 2) CharaCv.cosfi(CvN + kk) = cosfi(kk + 2) Next CharaCv.PointNum = CvN + II - 1 '曲线数据点总数 End If End Sub '--------初试化,<手册>例题, DT2系列电动工具用单相串激电动机(略有出入) Public Sub ParaInit0() '--------电机额定参数 RPara.PH = 140#: RPara.nH = 14000#: RPara.UH = 220# RPara.fH = 50#: RPara.etaH = 0.605: RPara.cosFH = 0.965 '---------定子参数 StrPara.D1 = 5.6: StrPara.D12 = 3.1 StrPara.hc1 = 0.472: StrPara.L1 = 3.8: StrPara.B = 4.4 StrPara.hp = 0.65: StrPara.Bp = 3.75: StrPara.Hs = 0.64 '---------转子参数 RtrPara.D2 = 3.03: RtrPara.D22 = 0.9 RtrPara.La = 3.8: RtrPara.Z = 9 '---------转子槽 RtrS1.b0 = 0.2: RtrS1.b1 = 0.74 RtrS1.h0 = 0.06: RtrS1.h3 = 0.05: RtrS1.h1 = 0.46 RtrS1.h2 = 0.725: RtrS1.R = 0.205: RtrS1.t = 0.285 '---------定子导线,每极匝数 StrCon.D1 = 0.33: StrCon.D1p = 0.39: StrCoil.W1 = 228 '---------转子导线, 每槽导线数 RtrCon.D2 = 0.23: RtrCon.D2p = 0.28: RtrCoil.Ns = 216 '---------换向器 Cmu.Dc = 2.2: Cmu.k = 27 '--------电刷 Bru.ab = 0.65: Bru.bb = 0.4: Bru.dUc = 2.4 '---------气隙, 极弧系数(一般为0.667-0.7), 转轴绝缘 delta = 0.035: alpha = 0.67: ShaftInsulation = True 035: alpha = 0.67 '--------风扇类型, 外径 FanPara.FanType = "离心式": FanPara.Dv = 6.7 '---------磁化曲线, 79点 BB1 = Array(4000#, 4500#, 5000#, 5500#, 6000#, 6500#, 7000#, 7500#, _ 8000#, 8500#, 9000#, 9500#, 10000#, 10500#, 11000#, 11500#, 12000#, _ 12500#, 13000#, _ 13100#, 13200#, 13300#, 13400#, 13500#, 13600#, 13700#, 13800#, _ 13900#, 14000#, 14100#, 14200#, 14300#, 14400#, 14500#, 14600#, _ 14700#, 14800#, 14900#, 15000#, 15100#, 15200#, 15300#, 15400#, _ 15500#, 15600#, 15700#, 15800#, 15900#, 16000#, 16100#, 16200#, _ 16300#, 16400#, 16500#, 16600#, 16700#, 16800#, 16900#, 17000#, _ 17100#, 17200#, 17300#, 17400#, 17500#, 17600#, 17700#, 17800#, _ 17900#, 18000#, 18100#, 18200#, 18300#, 18400#, 18500#, 18600#, _ 18700#, 18800#, 18900#, 19000#) H50 = Array(0.7, 0.78, 0.86, 0.94, 1.02, 1.11, 1.2, 1.29, _ 1.38, 1.48, 1.6, 1.74, 1.9, 2.11, 2.4, 2.79, _ 3.26, 3.83, 4.56, 4.73, 4.91, 5.1, 5.3, 5.51, 5.73, 5.962, _ 6.206, 6.46, 6.73, 7.012, 7.307, 7.615, 7.936, 8.27, 8.62, 8.985, _ 9.365, 9.76, 10.17, 10.6, 11.04, 11.49, 11.96, 12.45, 12.95, 13.46, _ 13.99, 14.54, 15.1, 15.68, 16.28, 16.9, 17.54, 18.2, 18.9, 19.66, _ 20.47, 21.34, 22.26, 23.26, 24.38, 25.62, 27#, 28.53, 30.13, 31.75, _ 33.4, 35.07, 36.8, 38.6, 40.4, 42.2, 44#, 45.8, 47.7, 49.6, _ 51.5, 53.4, 55.3) H200 = Array(1.2, 1.35, 1.5, 1.65, 1.8, 1.95, 2.1, 2.25, _ 2.4, 2.55, 2.7, 2.85, 3.08, 3.4, 3.82, 4.36, 5.02, 5.82, _ 6.83, 7.07, 7.32, 7.58, 7.86, 8.16, 8.47, 8.79, 9.13, 9.48, _ 9.85, 10.24, 10.65, 11.08, 11.53, 12#, 12.49, 13#, 13.54, 14.12, _ 14.75, 15.4, 16.06, 16.75, 17.48, 18.25, 19.05, 19.89, 20.76, 21.67, _ 22.65, 23.64, 24.68, 25.78, 26.94, 28.2, 29.54, 30.95, 32.4, 33.88, _ 35.4, 37.2, 39.2, 41.3, 43.4, 45.5, 45.6, 45.8, 47.8, 49.8, _ 51.8, 54#, 56.3, 58.7, 61.1, 63.5, 66#, 68.5, 71#, 73.5, _ 76#) BHNum = 79 End Sub '显示额定点性能计算结果 Private Sub ShowPer(bShowDetails As Boolean, Optional txt As Object) strPerDetails = "" '清空 strPerDetails = strPerDetails + "*****************************************************************************" + vbCrLf strPerDetails = strPerDetails + " 性能与结构参数 方案:" + RPara.DesignName + " 日期/时间: " + Str(Date) + "/" + Str(Time) + vbCrLf strPerDetails = strPerDetails + "*****************************************************************************" + vbCrLf + vbCrLf strPerDetails = strPerDetails + " 额定性能参数" + vbCrLf strPerDetails = strPerDetails + "-------------------------------------------" + vbCrLf strPerDetails = strPerDetails + _ " 额定功率,W: " + Format(RPara.PH, "####") + Space(3) + " 额定电压,V: " + Str(RPara.UH) + Space(2) + _ " 额定转速,r/min: " + Format(RPara.nH, "#####") + Space(2) + " 额定转矩,N.m: " + Format(RPara.MH, "#0.###") + vbCrLf + _ " 额定效率: " + Format(RPara.etaH, "0.000") + Space(3) + " 额定功率因数: " + Format(RPara.cosfH, "0.000") + Space(2) + _ " 额定电流,A: " + Format(IH, "#0.000") + Space(2) + " 电源频率,Hz: " + Str(RPara.fH) + vbCrLf + _ " 电机常数: " + Format(ConM, "####") + Space(3) + " 绝缘等级: " + InsulationType + Space(2) + _ " 冲片材料: " + RPara.CoreMaterial + Space(2) + " 叠压系数: " + Format(KFe, "0.00") + vbCrLf + vbCrLf strPerDetails = strPerDetails + " 计算性能参数" + vbCrLf strPerDetails = strPerDetails + "-------------------------------------------" + vbCrLf strPerDetails = strPerDetails + _ " 输出功率,W: " + Format(CalPerPara.P2, "####") + Space(3) + " 电 压,V: " + Str(RPara.UH) + Space(2) + _ " 转 速,r/min:" + Format(RPara.nH, "#####") + Space(2) + " 输出转矩,N.m: " + Format(CalPerPara.T2, "#0.###") + vbCrLf + _ " 效 率: " + Format(CalPerPara.eta2, "0.###") + Space(3) + " 功率因数: " + Format(CalPerPara.cosfi, "0.###") + Space(2) + _ " 电 流,A: " + Format(CalPerPara.I2, "#0.###") + vbCrLf + vbCrLf strPerDetails = strPerDetails + " 主要结构参数,cm" + vbCrLf strPerDetails = strPerDetails + "-------------------------------------------" + vbCrLf strPerDetails = strPerDetails + _ " 定子外径: " + Format(StrPara.D1, "#0.##") + Space(3) + " 转子外径: " + Format(RtrPara.D2, "#0.##") + Space(3) + _ " 气隙长度: " + Format(delta, "0.###") + Space(3) + " 槽 满 率: " + Format(fillslot, "0.##") + vbCrLf + _ " 铁心长度: " + Format(RtrPara.La, "#0.##") + Space(3) + " 转子槽数: " + Str(RtrPara.Z) + Space(5) + _ " 极弧系数: " + Format(alpha, "0.###") + Space(3) + " 双重绝缘: " + Str(ShaftInsulation) + vbCrLf + _ " 风扇类型: " + FanPara.FanType + " 风扇外径: " + Format(FanPara.Dv, "#0.##") + vbCrLf + vbCrLf strPerDetails = strPerDetails + " 绕组参数" + vbCrLf strPerDetails = strPerDetails + "-------------------------------------------" + vbCrLf strPerDetails = strPerDetails + _ " 转子每槽匝数: " + Str(RtrCoil.Ns) + Space(3) + " 定子每极匝数: " + Str(StrCoil.W1) + Space(3) + _ " 实槽节距: " + Str(RtrCoil.ys) + Space(3) + " 定转子安匝比: " + Format(W1vsN, "0.###") + vbCrLf + _ " 转子每元件匝数: " + Str(W2) + Space(3) + " 定子线规: " + Format(StrCon.D1, "0.##") + Space(3) + _ " 转子线规: " + Format(RtrCon.D2, "0.##") + Space(3) + " 导线牌号: " + "QZ-2" + vbCrLf + vbCrLf strPerDetails = strPerDetails + " 换向器和电刷, cm" + vbCrLf strPerDetails = strPerDetails + "-------------------------------------------" + vbCrLf strPerDetails = strPerDetails + _ " 换向器外径: " + Format(Cmu.Dc, "#0.##") + Space(3) + " 换向片数: " + Str(Cmu.k) + Space(3) + _ " 电刷偏离换向片数: " + Format(Cmu.kb, "0.##") + vbCrLf + _ " 电刷长度: " + Format(Bru.ab, "0.###") + Space(3) + " 电刷宽度: " + Format(Bru.bb, "0.###") + Space(3) + _ " 电刷牌号: " + Bru.brand + vbCrLf + vbCrLf strPerDetails = strPerDetails + " 换向性能" + vbCrLf strPerDetails = strPerDetails + "-------------------------------------------" + vbCrLf strPerDetails = strPerDetails + _ " 合成电势(ex+ea): " + Format(ex + ea, "#.##") + Space(3) + " 变压器电势et(< 8): " + Format(et, "#.##") + Space(3) + _ " 换向区域宽度(< " + Format(1.2 * (Tao - Tao0), "#.##") + "): " + Format(bc, "#.##") + vbCrLf + vbCrLf strPerDetails = strPerDetails + " 定子线圈, cm" + vbCrLf strPerDetails = strPerDetails + "-------------------------------------------" + vbCrLf strPerDetails = strPerDetails + _ " 线圈宽度: " + Format(StrCoil.bm, "#0.##") + Space(3) + " 线模宽度: " + Format(StrCoil.am, "#0.##") + Space(3) + _ " 线模长度: " + Format(StrCoil.lm, "#0.##") + Space(3) + " 线模高度: " + Format(StrCoil.H, "#0.##") + vbCrLf + _ " 线圈外沿与磁极中心线夹角(度,< 60): " + Format(SpalphaCoil, "##.#") + vbCrLf + vbCrLf strPerDetails = strPerDetails + " 材料用量,kg" + vbCrLf strPerDetails = strPerDetails + "-------------------------------------------" + vbCrLf strPerDetails = strPerDetails + _ " 硅钢片毛坯重: " + Format(WFECU.WFE, "#0.##") + Space(3) + " 定子绕组铜重: " + Format(WCU1, "#0.##") + Space(3) + _ " 转子绕组铜重: " + Format(WCU2, "#0.##") + vbCrLf + vbCrLf strPerDetails = strPerDetails + " 电磁参数" + vbCrLf strPerDetails = strPerDetails + "-------------------------------------------" + vbCrLf strPerDetails = strPerDetails + _ " 电(线)负荷,A/cm: " + Format(EMPara.A, "####") + Space(1) + " 磁负荷(气隙磁密),T: " + Format(EMPara.Bd, "0.##") + vbCrLf + _ " 热负荷,Ad2: " + Format(EMPara.Ad2, "####") + Space(5) + " 定子电密,A/mm2: " + Format(EMPara.delta1, "#0.##") + Space(3) + _ " 转子电密,A/mm2: " + Format(EMPara.delta2, "#0.##") + vbCrLf + _ " 转子齿磁密,T: " + Format(EMPara.Bt, "0.##") + Space(3) + " 转子轭磁密,T: " + Format(EMPara.Bc2, "0.##") + Space(3) + _ " 定子轭磁密,T: " + Format(EMPara.Bc1, "0.##") + Space(3) + " 定子极磁密,T: " + Format(EMPara.bp, "0.##") + vbCrLf + _ " 铁耗,W: " + Format(PFE, "###.#") + Space(9) + " 定子铜耗,W: " + Format(PCU1, "###.#") + Space(3) + _ " 转子铜耗,W: " + Format(PCU2, "###.#") + vbCrLf + _ " 定子电阻,Ohm: " + Format(R1, "#0.####") + Space(1) + " 转子电阻,Ohm: " + Format(R2, "#0.####") + vbCrLf + vbCrLf If bShowDetails Then txt.Text = strPerDetails End Sub '----显示详细参数表 Public Sub ShowPerDetails(txt As Object) txt.Parent.Top = 0 txt.Text = strPerDetails End Sub '----由风扇直径和转速在风摩机械损耗曲线上查取PM, 两次二次插值 Private Function GetPM(nn As Double, Dv As Double) As Double Dim i As Integer, j As Integer Dim YY0() As Double, YY1() As Double, YY2() As Double Dim A0#, A1#, A2# Dim PM0#, PM1#, PM2#, n0#, n1#, n2# ReDim YY0(MWLoss.Dvnum), YY1(MWLoss.Dvnum), YY2(MWLoss.Dvnum) If nn < MWLoss.aN(1) Then 'n在转速表的低端 n0 = MWLoss.aN(0): n1 = MWLoss.aN(1) For j = 0 To MWLoss.Dvnum - 1 YY0(j) = MWLoss.aPM(0, j) YY1(j) = MWLoss.aPM(1, j) Next GoTo 线性插值 ElseIf nn > MWLoss.aN(MWLoss.Nnum - 2) Then 'n在转速表的高端 n0 = MWLoss.aN(MWLoss.Nnum - 2): n1 = MWLoss.aN(MWLoss.Nnum - 1) For j = 0 To MWLoss.Dvnum - 1 YY0(j) = MWLoss.aPM(MWLoss.Nnum - 2, j) YY1(j) = MWLoss.aPM(MWLoss.Nnum - 1, j) Next GoTo 线性插值 End If For i = 0 To MWLoss.Nnum - 1 '确定n在转速表中位置 If nn <= MWLoss.aN(i) Then Exit For Next If ((nn - MWLoss.aN(i - 1)) < (MWLoss.aN(i) - nn)) Then i = i - 1 n0 = MWLoss.aN(i - 1): n1 = MWLoss.aN(i): n2 = MWLoss.aN(i + 1) For j = 0 To MWLoss.Dvnum - 1 YY0(j) = MWLoss.aPM(i - 1, j) YY1(j) = MWLoss.aPM(i, j) YY2(j) = MWLoss.aPM(i + 1, j) Next Call XXCZ(MWLoss.Dvnum - 1, MWLoss.aDv, YY0, Dv, PM0) Call XXCZ(MWLoss.Dvnum - 1, MWLoss.aDv, YY1, Dv, PM1) Call XXCZ(MWLoss.Dvnum - 1, MWLoss.aDv, YY2, Dv, PM2) A0 = (nn - n1) / (n0 - n1) * (nn - n2) / (n0 - n2) A1 = (nn - n0) / (n1 - n0) * (nn - n2) / (n1 - n2) A2 = (nn - n0) / (n2 - n0) * (nn - n1) / (n2 - n1) GetPM = A0 * PM0 + A1 * PM1 + A2 * PM2 Exit Function 线性插值: Call XXCZ(MWLoss.Dvnum - 1, MWLoss.aDv, YY0, Dv, PM0) Call XXCZ(MWLoss.Dvnum - 1, MWLoss.aDv, YY1, Dv, PM1) GetPM = PM0 + (PM1 - PM0) / (n1 - n0) * (nn - n0) End Function