电机设计matlab程序

合集下载

一种基于Matlab的无刷直流电机控制系统建模仿真方法

一种基于Matlab的无刷直流电机控制系统建模仿真方法

一种基于Matlab的无刷直流电机控制系统建模仿真方法一、本文概述无刷直流电机(Brushless DC Motor, BLDC)以其高效率、低噪音、长寿命等优点,在航空航天、电动汽车、家用电器等领域得到广泛应用。

为了对无刷直流电机控制系统进行性能分析和优化,需要建立精确的数学模型并进行仿真研究。

Matlab作为一种强大的数学计算和仿真软件,为无刷直流电机控制系统的建模仿真提供了有力支持。

二、无刷直流电机控制系统原理1、无刷直流电机基本结构和工作原理无刷直流电机(Brushless Direct Current Motor,简称BLDCM)是一种基于电子换向技术的直流电机,其特点在于去除了传统直流电机中的机械换向器和电刷,从而提高了电机的运行效率和可靠性。

无刷直流电机主要由电机本体、电子换向器和功率驱动器三部分组成。

电机本体通常采用三相星形或三角形接法,其定子上分布有多个电磁铁(也称为线圈),而转子上则安装有永磁体。

当电机通电时,定子上的电磁铁会产生磁场,与转子上的永磁体产生相互作用力,从而驱动转子旋转。

电子换向器是无刷直流电机的核心部分,通常由霍尔传感器和控制器组成。

霍尔传感器安装在电机本体的定子附近,用于检测转子位置,并将位置信息传递给控制器。

控制器则根据霍尔传感器提供的位置信息,控制功率驱动器对定子上的电磁铁进行通电,从而实现电机的电子换向。

功率驱动器负责将控制器的控制信号转换为实际的电流,驱动定子上的电磁铁工作。

功率驱动器通常采用三相全桥驱动电路,具有输出电流大、驱动能力强等特点。

无刷直流电机的工作原理可以简单概括为:控制器根据霍尔传感器检测到的转子位置信息,控制功率驱动器对定子上的电磁铁进行通电,产生磁场并驱动转子旋转;随着转子的旋转,霍尔传感器不断检测新的转子位置信息,控制器根据这些信息实时调整电磁铁的通电状态,从而保持电机的连续稳定运行。

由于无刷直流电机采用电子换向技术,避免了传统直流电机中机械换向器和电刷的磨损和故障,因此具有更高的运行效率和更长的使用寿命。

基于MATLAB的电机仿真分析

基于MATLAB的电机仿真分析

基于MATLAB的电机仿真分析一、电机仿真基础在进行电机仿真分析之前,我们首先需要了解电机的工作原理和基本参数。

电机是一种将电能转换为机械能的设备,根据其工作原理的不同,可以分为直流电机和交流电机。

在进行仿真分析时,需要考虑到电机的电气和机械特性,例如电压、电流、转速、转矩等参数。

电机仿真分析的基础是建立电机的数学模型,通常采用的是电路模型或者有限元模型。

电路模型适用于小功率电机,其基本原理是根据电机的电气特性建立等效电路,并通过电路方程进行仿真分析。

有限元模型适用于大功率电机,其基本原理是根据电机的物理结构建立有限元模型,并通过有限元分析进行仿真分析。

在MATLAB中,可以利用Simulink或者PDE Toolbox等工具进行电路模型和有限元模型的建模和仿真。

三、基于MATLAB的电机仿真应用1. 电机性能分析基于MATLAB的电机仿真分析可以帮助工程师了解电机的性能和特点,例如电流波形、转速响应、转矩曲线等参数。

通过仿真分析,可以优化电机设计和控制系统,提高电机的效率和可靠性。

2. 电机故障诊断基于MATLAB的电机仿真分析还可以用于电机的故障诊断,例如定子短路、转子断路、轴承故障等。

通过对电机的电气特性和机械特性进行仿真分析,可以检测和诊断电机的故障类型和位置,从而及时进行维修和保养。

3. 电机控制系统设计基于MATLAB的电机仿真分析还可以用于电机控制系统的设计和优化。

通过搭建电机模型和控制系统模型,进行仿真分析和参数调节,可以得到最优的控制系统参数,提高电机的动态性能和稳定性。

四、结论基于MATLAB的电机仿真分析是一种有效的工具,可以帮助工程师更好地了解电机的性能和特点,优化电机设计和控制系统。

在实际工程中,可以根据电机的具体要求和情况选择合适的仿真方法和工具,进行仿真分析和应用研究。

随着MATLAB工具的不断更新和完善,电机仿真分析将得到更广泛的应用和发展。

matlab_simulink_永磁同步电机_概述及解释说明

matlab_simulink_永磁同步电机_概述及解释说明

matlab simulink 永磁同步电机概述及解释说明1. 引言1.1 概述在电力传动领域中,永磁同步电机已成为一种重要的电机类型。

相比于传统的感应电机和直流电机,永磁同步电机具有高效率、高功率密度和较低的维护成本等优势。

随着现代工业对能源效率和环境保护的日益重视,永磁同步电机在工业应用中得到了广泛的推广和应用。

本文将介绍永磁同步电机及其与Matlab Simulink的结合。

首先,我们将简要介绍Matlab Simulink软件以及其在工程领域中的应用。

接下来,我们将详细介绍永磁同步电机的基本原理、结构特点以及在工业中的实际应用情况。

然后,我们将重点讲解如何使用Matlab Simulink建模永磁同步电机,并通过仿真设计过程详解该方法的具体操作步骤。

最后,我们将分析仿真结果,评估永磁同步电机性能以及控制策略调整优化方法论述与解释。

1.2 文章结构本文共分为五个部分:引言、Matlab Simulink简介、永磁同步电机简介、Matlab Simulink建模永磁同步电机原理及方法解析以及结论与展望。

在引言部分,我们将概述本文的主要内容和结构安排,为读者提供一个整体的框架。

接下来的各个部分将逐一介绍Matlab Simulink软件、永磁同步电机以及它们之间的关联,并详细解释如何使用Matlab Simulink建模永磁同步电机以及评估其性能和优化控制策略。

最后,我们将总结全文观点并对未来永磁同步电机建模与控制策略设计进行展望。

1.3 目的本文的目的是介绍Matlab Simulink和永磁同步电机,并阐述它们之间的关系。

通过对Matlab Simulink建模永磁同步电机过程的详细解释,读者可以了解到使用该软件进行系统建模和仿真的好处,并且理解永磁同步电机在工业中的应用情况以及其优势和局限性。

此外,我们还将分享一些调整优化方法,帮助读者评估永磁同步电机性能并设计出更高效的控制策略。

通过本文的阅读,读者将对Matlab Simulink和永磁同步电机有更深入的了解,并对未来的相关研究和应用有所展望。

基于MATLAB的电机仿真分析

基于MATLAB的电机仿真分析

基于MATLAB的电机仿真分析
电机是一种将电能转换为机械能的装置,广泛应用于各种工业和生活中。

为了更好地
理解电机的工作原理和性能,需要进行电机仿真分析。

MATLAB是一种理想的电机仿真工具,它提供了丰富的工具和函数,用于建立电机模型、仿真电机动态响应和分析电机性能。

首先,我们需要构建电机的数学模型,这个模型可以根据电机的类型和特性进行定制。

例如,在直流电机中,可以使用基于电流和电动势的方程建立模型,而在交流电机中,则
需要用到转子和定子电磁场的分析等。

建立数学模型后,我们可以使用MATLAB中的Simulink工具,对电机进行动态仿真。

对于直流电机而言,我们可以将电枢电阻、电感和电机电动势等元素建立为Simulink中的block,用于建立电机的仿真环境。

然后我们可以通过仿真接口,给出不同的输入信号,
比如不同的电压和电流波形等,从而观察电机的动态响应,并分析电机的性能。

除了动态仿真外,MATLAB还提供了很多分析工具,比如功率谱分析、频谱分析和阻抗分析等,用于提取电机的性能指标,比如效率、功率因数和输出功率等。

在进行电机仿真分析时,还需要注意一些问题,比如精度问题、仿真时间问题和仿真
环境问题等。

为了保证仿真结果的可靠性和准确性,我们需要对模型进行较为精细的调整
和校验,并关注仿真时间的长短和仿真环境的影响等。

综上所述,基于MATLAB的电机仿真是一种强大的分析工具,可以帮助人们更好地理解电机的工作原理和性能,并优化电机的设计和控制。

MATLAB用于电机电磁计算的计算机编程

MATLAB用于电机电磁计算的计算机编程

MATLAB用于电机电磁计算的计算机编程原文发表于《微特电机》2007年第6期MATLAB是一种功能极其强大的解释性语言,它提供的运算符及数据结构之丰富,图形功能之完美、功能箱之丰富,远超过FORTRAN、C等语言;而它的灵活简便又超过BASIC等语言,MATLAB语法限制不严格,特别适用于电机电磁计算的计算机程序,程序的自由度和可移植性好,还可通过Notebook将程序移到Word环境中享用。

以下就程序编制的一些心得与读者进行交流。

使用MATLAB编写电机设计程序,通常编写一个主程序文件和一个辅助文件夹(内放置需要的各个子程序,即专为设计服务的各种曲线和函数)。

通过path(路线)设置使其链接能通过主程序方便加以引用。

编写主程序的过程可以边输入、边验算,及时检验程序。

MATLAB没有FORTRAN、C等语言等要求的严格的语法规则,因此没有多少计算机语言基础的人都能很快掌握和随心所欲地使用。

1 曲线和图表的处理电机中的曲线和图表可能有两个来源:由复杂的解析式计算而来和根据试验——经验数据绘制。

对于由解析式计算来的曲线,一部分可以将其还原成原始公式直接代入。

对找不到原公式的曲线和图表,MATLAB提供了以下十分方便的方法:1.1 一元插值函数的应用MATLAB具有最强大和最完善的矩阵功能,在程序编制中可以直接利用MATLAB提供的一元插值函数准确查取曲线和图表数据。

现举例示范如下:例磁路计算中导磁材料的磁化曲线的查取编制一函数Hts=aw(Bts,FE1),计算出电枢齿部磁密Bts 后,便自动查出对应单位磁路长度的励磁安匝,继续后面的计算,其中FE1是材料代号,需要采取的步骤是:(1)建立新文件“aw”,编制函数:function y=aw(xi,xj),其中xi和xj对应于计算中的Bts和FE1;注:文件中编入了三种材料:21—DW540;315—DW315 ;235—Q235(欲直接用牌号代入应加引号,参见MATLAB文字计算部分);下文中括号中为方便读者阅读的解释和说明,不能用此格式代入程序。

直流电动机机械特性曲线在Matlab中的仿真

直流电动机机械特性曲线在Matlab中的仿真

直流电动机机械特性曲线在Matlab中的仿真简介直流电动机是一种常见的电动机类型,具有广泛的应用领域。

了解直流电动机的机械特性曲线对于电机的设计和控制非常重要。

在Matlab中进行机械特性曲线的仿真可以帮助我们更好地了解电机的性能。

目标本文档的目标是介绍如何在Matlab中进行直流电动机机械特性曲线的仿真。

我们将使用Matlab的Simulink工具来建立电机模型,并通过对电机的电流和转速进行控制,得到机械特性曲线。

步骤以下是在Matlab中进行直流电动机机械特性曲线仿真的步骤:1. 创建电机模型:使用Simulink工具创建一个直流电动机的模型。

模型中包括电机的电流输入和转速输出。

2. 设置电机参数:根据实际情况设置电机的参数,包括电阻、电感、转矩常数等。

这些参数将影响电机的性能。

3. 设计控制器:设计一个合适的控制器来控制电机的电流和转速。

可以使用PID控制器或其他控制算法。

4. 运行仿真:设置仿真时间和仿真步长,并运行仿真。

仿真过程中,控制器将根据设定的输入信号来控制电机的行为。

5. 分析结果:分析仿真结果,包括电机的转速、电流和转矩。

根据这些结果可以绘制出电机的机械特性曲线。

注意事项在进行直流电动机机械特性曲线的仿真时,需要注意以下事项:- 确保电机参数的准确性:电机的参数对仿真结果有很大的影响,因此需要准确地设置电机的参数。

- 选择合适的控制器:控制器的选择对于电机的性能和仿真结果至关重要。

需要根据实际需求选择合适的控制器。

- 仿真时间和步长的设置:仿真时间和步长的选择也会对仿真结果产生影响。

需要根据实际情况选择合适的仿真时间和步长。

结论在Matlab中进行直流电动机机械特性曲线的仿真可以帮助我们更好地了解电机的性能。

通过建立电机模型、设置参数、设计控制器和运行仿真,我们可以得到电机的转速、电流和转矩等重要参数,并绘制出机械特性曲线。

这些结果对于电机的设计和控制具有重要意义。

永磁同步电机matlab mtpa曲线绘制

永磁同步电机matlab mtpa曲线绘制

永磁同步电机(Permanent Magnet Synchronous Motor, PMSM)是一种使用永磁材料作为磁场源的同步电机,其具有高效率、高功率密度、快速响应等特点,因此在工业和交通领域得到了广泛的应用。

而MTPA(Maximum Torque per Ampere)是指在控制PMSM时,通过调节电流矢量的方向和大小,使得电机输出最大转矩时所需的电流最小,以提高电机的效率和性能。

那么如何使用Matlab来绘制PMSM的MTPA曲线呢?下面将介绍具体的步骤:1. 数据准备在进行MTPA曲线的绘制之前,首先需要准备PMSM的相关参数和特性曲线数据。

例如电机的定子电感Ld和Lq、转子磁链ψd和ψq随转速和电流的变化规律等。

这些数据可以通过电机的标定实验或者仿真计算得到。

另外,还需要准备MTPA控制的相关参数,包括电流控制的比例增益和积分时间常数等。

2. 建立模型在Matlab中,可以利用Simulink工具箱建立PMSM的控制模型。

根据电机的数学模型和参数,构建电机的电流控制环和转矩控制环,并设置MTPA控制的算法。

还需要将PMSM的特性曲线数据导入到模型中。

3. 仿真计算完成模型的搭建之后,可以进行仿真计算,通过输入不同的电流参考值,观察电机的输出转矩和电流响应。

根据MTPA的控制策略,可以得到一组在不同转速下输出最大转矩的电流参考值。

4. 绘制曲线利用Matlab的绘图工具,可以将仿真计算得到的MTPA曲线绘制出来。

横轴表示电机的转速,纵轴表示输出转矩,根据不同的电流参考值,可以分别绘制出MTPA曲线的各个分段。

5. 参数优化可以根据MTPA曲线的特点进行参数优化。

例如调节电流控制环的增益参数,使得MTPA曲线在不同转速下的斜率尽量接近,以实现更加精确的MTPA控制。

总结起来,利用Matlab绘制PMSM的MTPA曲线需要进行数据准备、模型搭建、仿真计算、曲线绘制和参数优化等步骤。

通过这些步骤,可以深入了解PMSM的性能特点,并为电机控制策略的优化提供参考。

matlab电机标定,一种纯电动汽车驱动电机台架自动标定方法及其装置与流程

matlab电机标定,一种纯电动汽车驱动电机台架自动标定方法及其装置与流程

matlab电机标定,一种纯电动汽车驱动电机台架自动标定方法及其装置与流程一、主题介绍在纯电动汽车的开发和生产过程中,电机标定是一个非常重要的步骤。

电机标定是指通过一系列实验和测试,确定电机的性能参数和特性曲线,以便在实际应用中进行精准控制和优化。

而针对纯电动汽车驱动电机台架自动标定方法及其装置与流程,MATLAB提供了一种高效、精确的解决方案。

二、MATLAB电机标定原理在MATLAB中,通过搭建相应的模型和算法,可以对电机进行自动化标定。

这一方法主要基于电机的动态特性和响应,并利用控制系统理论和数学建模技术进行参数识别和匹配。

通过一系列的实验和测试,MATLAB可以精准地确定电机的转子惯量、电阻、电感、磁链和特性曲线等参数,从而为电机的控制和优化提供必要的数据支持。

三、纯电动汽车驱动电机台架自动标定方法在纯电动汽车的生产线上,为了能够高效地进行电机标定,专门设计了一套自动化的标定方法。

该方法利用MATLAB软件与电机测试台架相结合,实现了自动化的标定流程。

通过预设的实验方案和测试程序,自动进行电机的运行和数据采集,并通过MATLAB算法分析和处理,最终得到电机的精准参数和特性。

四、纯电动汽车驱动电机台架自动标定装置纯电动汽车驱动电机台架自动标定装置由电机测试台架、数据采集设备、控制单元和MATLAB软件组成。

在实际应用中,通过与电机测试台架连接,数据采集设备实时采集电机的运行数据,传输至MATLAB软件进行处理,同时控制单元根据预设的标定流程实现电机运行和参数采集的自动化控制。

五、纯电动汽车驱动电机台架自动标定流程纯电动汽车驱动电机台架自动标定流程包括初始化设置、实验方案选择、测试数据采集、MATLAB算法运行、参数确定和结果输出等步骤。

整个流程主要依靠MATLAB自动化完成,大大提高了电机标定的效率和准确度。

通过这一流程,可以快速、精准地完成电机的标定工作。

六、个人观点和总结纯电动汽车驱动电机台架自动标定方法及其装置与流程,通过MATLAB提供了一种高效、精确的解决方案。

电机设计matlab程序

电机设计matlab程序

%电机设计程序clear allformat short em1=3;p=2;f=50%1.额定功率PN=5.5*10^3 ;%2.额定电压(单位V,三角形接法)UN=380;UN0=380;%3.功电流(单位A)IKW=PN/(m1*UN0)%4.效率eta按照技术条件的规定eta=0.875eta=0.855 ;%5.功率因数cos(phi) =0.84,按照技术条件的规定cos(phi)=0.84phi=acos(0.84);cos(phi);%6.极对数p=2p=2;%7.定转子槽数:每极每相槽数取整数。

参考类似规格电机取q1=3,则Z1=2m1pq1,再查表10-8选Z2=32,并采用转子斜槽。

q1=3;Z1=2*m1*p*q1Z2=32 ;%8.定转子每极槽数Zp1=Z1/(2*p)Zp2=Z2/(2*p)%9.确定电机的主要尺寸;一般可参考类似电机的主要尺寸来确定Di1和lef.现按10-2中的KE1=0.0108*log(PN/1000)-0.013*p+0.931P1=KE1*PN/(eta*cos(phi))alphap1=0.68;KNm1=1.10;Kdp1=0.96;A1=25000;Bdelta1=0.69;n1=1450;V=(6.1/(alphap1*KNm1*Kdp1))*(1/(A1*Bdelta1 ))*(P1/n1)D1=0.21;%铁心的有效长度Di1=0.136;lef =V/((Di1)^2)%气隙的确定%参考类似产品或由经验公式(10-10a),得lt=0.115;delta =0.0004lef=lt + 2*deltaD2=Di1-2*delta%转子内径先按转轴直径决定(以后再校验转子轭部磁密)Di2=0.048 ;%11.极距tautau =pi*Di1/(2*p)%12.定子齿距t1t1=(pi*Di1/Z1)%转子齿距t2t2=(pi*D2/Z2)bsk=0.01187;%15.设计定子绕组Nphi11=eta*cos(phi)*pi*Di1*A1/(m1*IKW)%取并联支路a1=1,由式(10-15),可得每槽导体数a1=1;Ns1=47%16.每相串联导体数Nphi1Nphi1=Ns1*Z1/(m1*a1)%每相串联匝数N1N1=Nphi1/2%17.绕组线规设计%初选定子电密J11=5.0A/mm^2,由式(10-16),计算导线并绕根数和每根导线面积的乘积。

34125《电机与拖动基础及MATLAB仿真》陈亚爱(程序代码)书中仿真实例Matlab程序代码

34125《电机与拖动基础及MATLAB仿真》陈亚爱(程序代码)书中仿真实例Matlab程序代码

【仿真实例0-1】解:用M语言编写计算励磁电流程序如下:%磁路计算求解励磁电流问题clc%清除主程序窗口clear%清除变量空间的变量A=0.8*1e-3;%已知铁心截面积m2,1e-3表示10-3kFe=0.94;%已知铁心叠片系数Ph=1*1e-3;%需产生的磁通量Wbu0=4*pi*1e-7;%已知空气磁导率H/m,1e-7表示10-7 l1=0.08;l2=0.1;l3=0.034;l4=0.04;l5=0.1;%已知各段磁路长度mN=2000;%已知励磁绕组匝数d=0.006;%已知气隙长度mAk=kFe*A;%计算净截面积m2B=Ph/Ak;%计算铁心磁通密度uFe=1900*u0;%计算铁心磁导率Hc=B/uFe;%计算铁心磁场强度Fc=Hc*(l1+l2+l3+l4+l5);%计算铁心的磁压降Ha=Ph/u0/A;%计算气隙磁场强度Fa=Ha*d;%计算气隙的磁压降F=Fc+Fa;%计算总磁压降i=F/N;%计算励磁电流s=num2str(i);%将数字转换成字符串s1='励磁电流为:';%定义字符串s=strcat(s1,s,'A');%合并字符串disp(s);%显示计算结果程序运行结果为:励磁电流为:3.0827A【仿真实例0-2】解:计算电感系数的公式为L= μ0μr AN2/l,用M语言编写计算电感系数和绘制电感系数与相对磁导率之间关系曲线程序如下:%求解电感系数和绘制L=f(μr)曲线问题clc%清除主程序窗口clear%清除变量空间的变量u0=pi*4e-7;%已知空气磁导率H/m,1e-7表示10-7 N=400;l=0.3;d=0.005;A=8e-4;A0=8e-4;%已知匝数、铁心长度、气隙、截面积R0=d/(u0*A0);%求气隙磁阻for n=1:80;%for循环语句ur(n)=100+(10000-100)*(n-1)/100;%求相对磁导率Rm(n)=l/(ur(n)*u0*A);%求铁心磁阻R=R0+Rm(n);%求计算总磁阻L(n)=N^2/R;%求电感系数end%for循环语句的结束plot(ur,L)%绘制L=f(μr)曲线title('{\itL=f}({\it\mu}_r)关系曲线')%标题'L=f(μr)关系曲线'xlabel('铁心相对磁导率{\it\mu}_r')%设置x坐标标签“铁心相对磁导率μr”ylabel('电感系数{\itL}[H]')%设置y坐标标签“电感系数L[H]”【仿真实例0-3】解:用M语言编写拟合磁化曲线的MATLAB程序如下:%拟合与绘制磁化曲线问题clcclearHdata=[1.38,1.40,1.42,1.44,1.46,1.48,1.50,1.52,1.54,1.56,...1.58,1.60,1.62,1.64,1.66,1.69,1.71,1.74,1.76,1.78,...1.81,1.84,1.86,1.89,1.91,1.94,1.97,2.00,2.03,2.06,...2.10,2.13,2.16,2.20,2.24,2.28,2.32,2.36,2.40,2.45,...2.50,2.55,2.60,2.65,2.70,2.76,2.81,2.87,2.93,2.99,...3.06,3.13,3.19,3.26,3.33,3.41,3.49,3.57,3.65,3.74,...3.83,3.92,4.01,4.11,4.22,4.33,4.44,4.56,4.67,4.80,...4.93,5.07,5.21,5.36,5.52,5.68,5.84,6.00,6.16,6.33,...6.52,6.72,6.94,7.16,7.38,7.62,7.86,8.10,8.36,8.62,...8.90,9.20,9.50,9.80,10.1,10.5,10.9,11.3,11.7,12.1,...12.6,13.1,13.6,14.2,14.8,15.5,16.3,17.1,18.1,19.1,...20.1,21.2,22.4,23.7,25.0,26.7,28.5,30.4,32.6,35.1,...37.8,40.7,43.7,46.8,50.0,53.4,56.8,60.4,64.0,67.8];%磁场强度数据Bdata=0.40:0.01:1.69;%磁感应强度数据len=length(Hdata);%计算数组长度Hmax=Hdata(len);%提取数组最大值a=polyfit(Hdata,Bdata,13);%计算多项式拟合系数a for n=1:151%提取拟合数据Hfit(n)=Hmax*(n-1)/150;Bfit(n)=a(1)*Hfit(n)^13+a(2)*Hfit(n)^12+a(3)*Hfit(n)^11+...a(4)*Hfit(n)^10+a(5)*Hfit(n)^9+a(6)*Hfit(n)^8+a(7)*Hfit(n)^7+...a(8)*Hfit(n)^6+a(9)*Hfit(n)^5+a(10)*Hfit(n)^4+a(11)*Hfit(n)^3+...a(12)*Hfit(n)^2+a(13)*Hfit(n)+a(14);endplot(Hdata,Bdata,'*')%对原数据描点绘图hold on%保持当前坐标轴和图形plot(Hfit,Bfit)%绘制多项式拟合曲线hold on%保持当前坐标轴和图形title('磁化曲线')%标题'磁化曲线'xlabel('{\itH}[A/cm]')%x坐标标签“H[A/cm]”ylabel('{\itB}[T]')%y坐标标签“B[T]”【仿真实例0-4】解:用M语言编写绘制磁化曲线的MATLAB程序如下:%绘制磁化曲线问题clcclearHdata=[43,49,55,61,67,72.5,78,84,90,100,110,...123,137,155,173,192,210,240,300,395,...520,643,800,920,1100,1300,1800];%磁场强度H值Bdata=0.2:0.05:1.50;%磁感应强度B值ydata=0:0.001:1.6;%y坐标0~1.6xdata=interp1(Bdata,Hdata,ydata,'spline');%采用样条插值的方法分析数据plot(Hdata,Bdata,'*');%用'*'描点绘制磁化曲线hold on%保持当前坐标轴和图形plot(xdata,ydata);%绘制x,y坐标hold on%保持当前坐标轴和图形title('磁化曲线')%标题'磁化曲线'xlabel('{\itH}(A/m)')%x坐标标签'H(A/m)'ylabel('{\itB}(T)')%y坐标标签'B(T)'ylim([0,1.80])%y坐标标注0~1.8【仿真实例0-5】解:用M语言编写绘制磁滞回线的MATLAB程序如下:%绘制磁滞回线问题clcclearBdata=[0,0.2,0.4,0.6,0.7,0.8,0.9,1.0,0.95,0.9,0.8,...0.7,0.6,0.4,0.2,0,-0.2,-0.4,-0.6,-0.7,-0.8,...-0.9,-1.0,-0.95,-0.9,-0.8,-0.7,-0.6,-0.4,-0.2,0];%磁感应强度基本数据Hdata=[48,52,58,73,85,103,135,193,80,42,2,-18,...-29,-40,-45,-48,-52,-58,-73,-85,-103,-135,...-193,-80,-42,-2,18,29,40,45,48];%磁场强度基本数据plot(Hdata,Bdata)%绘制磁滞回线hold on%保持当前坐标轴和图形title('磁滞回线')%标题'磁滞回线'plot([-250,250],[0,0],'r-')%绘制红色x轴坐标线hold on%保持当前坐标轴和图形plot([0,0],[-1.5,1.5],'r-')%绘制红色y轴坐标线xlabel('{\itH}(A/m)')%x坐标标签'H(A/m)'ylabel('{\itB}(T)')%y坐标标签'B(T)'grid on%显示网格【仿真实例0-6】解:用M语言编写绘制基于【仿真实例0-5】磁滞回线的平均曲线的MATLAB程序如下:%绘制磁滞回线的平均曲线问题clcclearBdata=[-1.0,-0.95,-0.9,-0.8,-0.7,-0.6,-0.4,-0.2,...0,0.2,0.4,0.6,0.7,0.8,0.9,1.0,0.95,0.9,0.8,...0.7,0.6,0.4,0.2,0,-0.2,-0.4,-0.6,-0.7,-0.8,-0.9,-1.0];%磁感应强度基本数据Hdata=[-193,-80,-42,-2,18,29,40,45,48,52,58,73,85,...103,135,193,80,42,2,-18,-29,-40,-45,...-48,-52,-58,-73,-85,-103,-135,-193];%磁场强度基本数据plot(Hdata,Bdata,'linewidth',1.5)%绘制磁滞回线hold on%保持当前坐标轴和图形Bdata1=[-1.0,-0.95,-0.9,-0.8,-0.7,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.7,0.8,0.9,1.0];Hdata1=[-193,-80,-42,-2,18,29,40,45,48,52,58,73,85,103,135,193];Bdata2=[-1.0,-0.9,-0.8,-0.7,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.7,0.8,0.9,0.95,1.0];Hdata2=[-193,-135,-103,-85,-73,-58,-52,-48,-45,-40,-29,-18,2,42,80,193];%将数据分两组If=-1.0:.05:1.0;%重新设置磁感应强度参数Ean1=spline(Bdata1,Hdata1,If);Ean2=spline(Bdata2,Hdata2,If);%根据两组数据求If对应的样条差值plot((Ean1+Ean2)/2,If,':','linewidth',1.5)%绘制平均值曲线hold on%保持当前坐标轴和图形title('磁滞回线的平均曲线')%标题'磁滞回线的平均曲线'plot([-250,250],[0,0],'r-')%绘制红色x轴坐标线hold on%保持当前坐标轴和图形plot([0,0],[-1.5,1.5],'r-')%绘制红色y轴坐标线xlabel('{\itH}(A/m)')%x坐标标签'H(A/m)'ylabel('{\itB}(T)')%y坐标标签'B(T)'grid on%显示网格【仿真实例1-1】解:用M语言编写绘制基本磁化曲线和磁路未饱和的磁化电流曲线的MATLAB程序如下:clcclearBdata=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,...%磁通密度基本数据1.2,1.3,1.34,1.38,1.41,1.43,1.45,1.47,...1.48,1.49,1.495,1.5,1.55,1.6];Hdata=[5,10,20,25,40,50,60,70,90,110,150,...%磁场强度基本数据200,300,400,500,600,700,800,900,...1000,1100,1200,1700,5000,10000];B=[-Bdata,0,Bdata];%将磁通密度数据扩展为正负值H=[-Hdata,0,Hdata];%将磁场强度数据扩展为正负值B=sort(B);%对磁通密度数据进行排序H=sort(H);%对磁场强度数据进行排序subplot(2,2,1);%将窗口划分2行2列使用第1子窗口Bx=0:0.01:2*pi;%正弦函数自变量从0~2π,间隔0.01 Bsin=1.1*sin(Bx);%计算正弦磁通密度值,幅值为1.1 plot(Bx,Bsin);%绘制磁通密度正弦曲线grid on;%显示网格线xlim([0,2*pi]);%限定横坐标范围为0~2πxlabel('角度{\it\omegat}/rad');%在横坐标上标注'角度ωt/rad'ylabel('磁通密度{\itB}(T)');%在纵坐标上标注'磁通密度B(T)'subplot(2,2,2);%将窗口划分2行2列使用第2子窗口hold on%保持图形plot(H,B,'ro');%用红色'o'绘制原始数据点grid on;%显示网格线xlabel('磁场强度{\itH}/(A/m)');%在横坐标上标注'磁场强度H/(A/m)' ylabel('磁通密度{\itB}(T)');%在纵坐标上标注'磁通密度B(T)'mymodel=fittype('a*sinh(b*x)');%选择sinh为拟合模型opts=fitoptions(mymodel);%初始化设置set(opts,'Robust','LAR','Normalize','Off');%设置使用线性最小二乘法拟合Fit=fit(B',H',mymodel,opts);%拟合bt=B;%拟合曲线临时磁通密度数据ht=Fit.a.*sinh(Fit.b.*bt);%拟合曲线临时磁场强度数据plot(ht,bt);%在原始数据窗口绘制拟合曲线subplot(2,2,4);%将窗口划分2行2列使用第4子窗口hold on;%保持图形MX=1.6;%磁通密度最大值BI1=sin((-MX:0.01:MX)./MX.*pi).*MX;%磁通正弦变化HI1=Fit.a.*Fit.b.*BI1;%拟合曲线映射后的磁场强度XI1=1:length(BI1);%初始化x轴刻度XI1=XI1/length(BI1)*2*pi;%折算到0~2πplot(XI1,HI1);%绘制磁化电流曲线grid on;%显示网格线xlim([0,2*pi]);%限定横坐标显示范围xlabel('角度{\it\omegat}/rad');%在横坐标上标注'角度ωt/rad'ylabel('磁化电流{\itI}/安匝');%在纵坐标上标注'磁化电流I/安匝'【仿真实例1-2】解:用M语言编写绘制基本磁化曲线和磁路未饱和的磁化电流曲线的MATLAB程序如下:clcclearBdata=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,...%磁通密度基本数据1.2,1.3,1.34,1.38,1.41,1.43,1.45,1.47,...1.48,1.49,1.495,1.5,1.55,1.6];Hdata=[5,10,20,25,40,50,60,70,90,110,150,...%磁场强度基本数据200,300,400,500,600,700,800,900,...1000,1100,1200,1700,5000,10000];B=[-Bdata,0,Bdata];%将磁通密度数据扩展为正负值H=[-Hdata,0,Hdata];%将磁场强度数据扩展为正负值B=sort(B);%对磁通密度数据进行排序H=sort(H);%对磁场强度数据进行排序subplot(2,2,1);%将窗口划分2行2列使用第1子窗口Bx=0:0.01:2*pi;%正弦函数自变量从0~2π,间隔0.01 Bsin=1.5*sin(Bx);%计算正弦磁通密度值,幅值为1.5 plot(Bx,Bsin);%绘制磁通密度正弦曲线grid on;%显示网格线xlim([0,2*pi]);%限定横坐标范围为0~2πxlabel('角度{\it\omegat}/rad');%在横坐标上标注'角度ωt/rad'ylabel('磁通密度{\itB}(T)');%在纵坐标上标注'磁通密度B(T)'subplot(2,2,2);%将窗口划分2行2列使用第2子窗口hold on%保持图形plot(H,B,'ro');%用红色'o'绘制原始数据点grid on;%显示网格线xlabel('磁场强度{\itH}/(A/m)');%在横坐标上标注'磁场强度H/(A/m)' ylabel('磁通密度{\itB}(T)');%在纵坐标上标注'磁通密度B(T)' mymodel=fittype('a*sinh(b*x)');%选择sinh为拟合模型opts=fitoptions(mymodel);%初始化设置set(opts,'Robust','LAR','Normalize','Off');%设置使用线性最小二乘法拟合Fit=fit(B',H',mymodel,opts);%拟合bt=B;%拟合曲线临时磁通密度数据ht=Fit.a.*sinh(Fit.b.*bt);%拟合曲线临时磁场强度数据plot(ht,bt);%在原始数据窗口绘制拟合曲线subplot(2,2,4);%将窗口划分2行2列使用第4子窗口hold on;%保持图形MX=1.6;%磁通密度最大值BI1=sin((-MX:0.01:MX)./MX.*pi).*MX;%磁通正弦变化HI1=Fit.a.*sinh(Fit.b.*BI1);%拟合曲线映射后的磁场强度XI1=1:length(BI1);%初始化x轴刻度XI1=XI1/length(BI1)*2*pi;%折算到0~2πplot(XI1,HI1);%绘制磁化电流曲线grid on;%显示网格线xlim([0,2*pi]);%限定横坐标显示范围xlabel('角度{\it\omegat}/rad');%在横坐标上标注'角度ωt/rad'ylabel('磁化电流{\itI}/安匝');%在纵坐标上标注'磁化电流I/安匝'【仿真实例1-3】解:用M语言编写绘制磁滞回线的MATLAB程序如下:clcclearBdata=[0,0.2,0.4,0.6,0.7,0.8,0.9,1.0,0.95,0.9,0.8,...0.7,0.6,0.4,0.2,0,-0.2,-0.4,-0.6,-0.7,-0.8,...-0.9,-1.0,-0.95,-0.9,-0.8,-0.7,-0.6,-0.4,-0.2,0];%输入磁感应强度基本数据Hdata=[0.24,0.26,0.29,0.365,0.425,0.515,0.675,...0.965,0.4,0.21,0.01,-0.09,-0.145,-0.2,...-0.225,-0.24,-0.26,-0.29,-0.365,-0.425,...-0.515,-0.675,-0.965,-0.4,-0.21,-0.01,...0.09,0.145,0.2,0.225,0.24];%输入磁场强度基本数据MX=1.39;%磁通密度最大值H=Hdata;B=Bdata;%磁滞回线数据H=H.*10;B=B.*MX;%调整B和H的显示比例subplot(2,2,1);%将窗口划分2行2列使用第1子窗口Bx=-pi/2:0.01:3*pi/2;%磁通密度数据范围-π/2~3π/2Bsin=1.5*sin(Bx);%计算正弦值扩大1.5倍以适应磁滞回线plot(Bx,Bsin);%绘制磁通密度正弦曲线hold on;%保持图形plot([-pi/23*pi/2],[00],'r-')%用红色实线绘制磁密曲线的x坐标轴plot([00],[-22],'r-')%用红色实线绘制磁密曲线的y坐标轴grid on;%显示网格线xlim([-pi/2,3*pi/2]);%限定横坐标显示范围-π/2~3π/2 xlabel('角度{\it\omegat}/rad');%在横坐标上标注'ωt'ylabel('磁通密度{\itB}/(T)');%在纵坐标上标注'磁通密度B/(T)' subplot(2,2,2);%将窗口划分2行2列使用第2子窗口hold on;%保持图形plot(H,B,'ro');%用红色'o'绘制磁滞回线B1=B(1:8);H1=H(1:8);%第1象限数据B>0数据B2=B(8:15);H2=H(8:15);%第2象限数据B>0数据B3=B(16:23);H3=H(16:23);%第3象限数据B>0数据B4=B(23:30);H4=H(23:30);%第4象限数据B>0数据BB1=[B4,B1];HH1=[H4,H1];%磁滞回线的下分支XI1=-10:0.1:10;%设置横坐标值YI1=interp1(HH1,BB1,XI1,'spline');%用3次样条插值计算plot(XI1,YI1);%绘制插值后磁滞回线下分支BB2=[B2,B3];HH2=[H2,H3];%磁滞回线的上分支XI2=-10:0.1:10;%设置横坐标值YI2=interp1(HH2,BB2,XI2,'spline');%用3次样条插值计算plot(XI2,YI2);%绘制插值后磁滞回线上分支grid on;%显示网格线xlabel('磁场强度{\itH}/(A/m)');%在横坐标上标注'磁场强度H/(A/m)' ylabel('磁通密度{\itB}/(T)');%在纵坐标上标注'磁通密度B/(T)'xlim([-1515])%设置横坐标范围subplot(2,2,4);%将窗口划分2行2列使用第4子窗口XI1=sin((0:0.01:MX)./MX.*pi./2).*MX;%磁通密度正弦变化(0~π/2)YI1=interp1(B1,H1,XI1,'spline');%用3次样条插值计算lengthX=length(XI1)-1;%计算先前波形的横坐标长度X1=(0:lengthX);%设置横坐标范围(0~π/2)X1=X1/lengthX*pi./2;plot(X1,YI1);%绘制0~π/2上的曲线hold on;%保持图形XI2=sin((MX:0.01:2*MX)./MX.*pi./2).*MX;%磁通密度正弦变化(π/2~π)YI2=interp1(B(8:16),H(8:16),XI2,'spline');%用3次样条插值计算lengthX=length(XI2)-1;%计算先前波形的横坐标长度X2=(lengthX:2*lengthX);%设置横坐标范围(π/2~π)X2=X2/lengthX*pi./2;plot(X2,YI2);%绘制π/2~π上的曲线XI3=sin((MX:0.01:1.5*MX)./MX.*pi).*MX;%磁通密度正弦变化(π~3π/2)YI3=interp1(B3,H3,XI3,'spline');%用3次样条插值计算lengthX=length(XI3)-1;%计算先前波形的横坐标长度X3=(2*lengthX:3*lengthX);%设置横坐标范围(π~3π/2)X3=X3/lengthX*pi./2;plot(X3,YI3);%绘制π~3π/2上的曲线XI4=sin((1.5*MX:0.01:2*MX)./MX.*pi).*MX;%磁通密度正弦变化(3π/2~2π)YI4=interp1(B4,H4,XI4,'spline');%用3次样条插值计算lengthX=length(XI4)-1;%计算先前波形的横坐标长度X4=(3*lengthX:4*lengthX);%设置横坐标范围(3π/2~2π)X4=X4/lengthX*pi./2;plot(X4,YI4);%绘制3π/2~2π上的曲线grid on;%显示网格线plot([0,2*pi],[00],'r-')%用红色实线绘制磁化电流曲线的x坐标轴xlim([0,2*pi]);%限定横坐标显示范围0~2πxlabel('角度{\it\omegat}/rad');%在横坐标上标注'ωt'ylabel('磁化电流{\itI}/安匝');%在纵坐标上标注'磁化电流I/安匝'【仿真实例2-1】解:用M语言编写绘制【例2-1】功角特性曲线的MATLAB程序如下:clcclearU1=6000/sqrt(3);%定子相电压I1=57.8;%定子相电流xd=64.2;%直轴电抗xq=40.8;%交轴电抗cosfain=0.8;%cosϕN=0.8fain=acos(cosfain);%求ϕNsinfain=sin(fain);%求sinϕNpsi=atan((U1*sinfain+xq)/(U1*cosfain));%求内功率因数角ψId=I1*sin(psi)*exp(1i*pi/2-psi);%计算直轴电流分量Iq=I1*cos(psi)*exp(-psi);%计算交轴电流分量E0=abs(U1*exp(-1i*fain)-1i*Id*xd-1i*Iq*xq);%计算励磁电动势th=0:0.01:pi;%x坐标轴0~π变化x=th./pi.*180;%换算成角度Pem1=3*U1*E0/xd.*sin(th);%求基本电磁功率Pem2=1.5*U1^2*(1/xq-1/xd).*sin(2.*th);%求附加电磁功率Pem=Pem1+Pem2;%凸极电磁功率hold on;%保持当前坐标轴和图形plot(x,Pem1,'b-',x,Pem2,'b-',x,Pem,'b-')%绘制各功角特性plot([0180],[00],'r-')%用红色实现绘制x坐标轴plot([9090],[-2e510e5],'r--')%用红色虚线绘制90°对应值text(50,9e5,'Pem')%在相应位置标注“Pem”text(130,7e5,'Pem1')%在相应位置标注“Pem1”text(70,1.5e5,'Pem2')%在相应位置标注“Pem2”xlabel('Angle[°]');%横坐标标注“Angle[°]”ylabel('Power[kW]');%纵坐标标注“Power[kW]”title('三相凸极同步电动机功角特性');%标题“三相凸极同步电动机功角特性”【仿真实例2-2】解:用M语言编写绘制【例2-2】矩角特性曲线的MATLAB程序如下:clcclearU1=3464;%定子相电压E0=6378;%励磁电动势xc=64;%同步电抗n1=1000;%同步转速th=0:.01:pi;%x坐标轴0~π变化x=th./pi.*180;%换算成角度T=90*U1*E0/(xc*pi*n1).*sin(th);%求电磁转矩plot(x,T)%绘制矩角特性xlabel('Angle[°]');%横坐标标注“Angle[°]”ylabel('Torque[N\cdotm]');%纵坐标标注“Torque[N ·m]”title('三相隐极同步电动机矩角特性');%标题“三相隐极同步电动机矩角特性”【仿真实例3-1】解:根据例题3-1的解得该电动机固有机械特性方程为1230123061972.ss ..s s s s T T mm m +=+=编制绘制该电动机固有机械特性的M 文件程序如下:clc clear n1=1500;%输入同步转速s=0:0.005:1;%转差率变化范围0~1,间隔0.005T=197.6./(0.123./s+s./0.123);%计算电磁转矩Subplot(1,2,1)%按照1行2列绘制子图1plot(s,T,'k-');%绘制机械特性xlabel('转差率{\its}');%横坐标标注“转差率s ”ylabel('电磁转矩{\itT}/(N\cdotm)');%纵坐标标注“电磁转矩T /(N·m)”title('异步电动机固有机械特性{\itT}={\itf}({\its})')%标注标题“T =f (s )”n=n1.*(1-s);%计算转速Subplot(1,2,2)%按照1行2列绘制子图2plot(T,n,'k-');%绘制机械特性xlabel('电磁转矩{\itT}/(N\cdotm)');%横坐标标注“电磁转矩T /(N·m)”ylabel('转速{\itn}/(rpm)');%纵坐标标注“转速n /(rpm)”title('异步电动机固有机械特性{\itn}={\itf}({\itT})')%标注标题“n =f (T )”hold on;%保持当前坐标轴和图形【仿真实例3-2】解:用M 语言编写绘制【例3-2】人为机械特性曲线的MATLAB 程序如下:clc clear m1=3;%异步电动机相数U1=220;%定子相电压n1=1000;%输入同步转速p=2;%极对数f1=50;%电源频率r1=2.08;%定子绕组电阻r2=1.53;%转子绕组电阻折算值w1=2*pi*f1/p;%计算同步角速度,单位:rad/sx1=3.12;%定子漏电抗x2=4.25;%转子漏电抗折算值s=0:0.005:1;%设定转差率变化范围:0~1,间隔0.005n=n1.*(1-s);%计算转速T=(m1*p*U1^2*r2)./s./(w1.*((r1+r2./s).^2+(x1+x2)^2));%计算电磁转矩subplot(2,2,1)%按2行2列绘制子图plot(s,T,'k');%绘制固有机械特性曲线xlabel('转差率{\its}');%横坐标标注“转差率s”ylabel('电磁转矩{\itT}/(N\cdotm)');%纵坐标标注“电磁转矩T/(N·m)”str_x=0.25;%标注字符的横坐标text(str_x,max(T),strcat('U1=',num2str(int16(U1)),'V'),'FontSize',9,'Color','black'); %标注固有机械特性曲线的电压值title('降低定子电压的人为机械特性')%标题“降低定子电压的人为机械特性”hold on;%保持当前坐标轴和图形subplot(2,2,2)%按2行2列绘制子图2plot(T,n,'k');%绘制固有机械特性曲线hold on;xlabel('电磁转矩{\itT}/(N\cdotm)');%横坐标标注“电磁转矩T/(N·m)”ylabel('转速{\itn}/(rpm)');%纵坐标标注“转速n/(rpm)”text(max(T)-20,500,strcat('U1=',num2str(int16(U1)),'V'),'FontSize',9,'Color','black'); %标注固有机械特性曲线的电压值title('降低定子电压的人为机械特性')%标题“降低定子电压的人为机械特性”str_y=500;%设定字符串的纵坐标初值for coef=0.75:-0.25:0.25;%设定降低定子电压的范围U1p=U1*coef;%降低定子电压T1=(m1*p*U1p^2*r2)./s./(w1.*((r1+r2./s).^2+(x1+x2)^2));%计算电磁转矩subplot(2,2,1)%按2行2列绘制子图1plot(s,T1,'k-');%绘制降低定子电压人为机械特性str=strcat('U1=',num2str(int16(U1p)),'V');%创建标注字符串text(str_x,max(T1)+5,str,'FontSize',9,'Color','black');%标记各曲线的电压值subplot(2,2,2)%按2行2列绘制子图2plot(T1,n,'k-');%绘制降低定子电压人为机械特性str=strcat('U1=',num2str(int16(U1p)),'V');%创建标注字符串str_y=str_y+100;%修改字符串的纵坐标值text(max(T1)-5,str_y,str,'FontSize',9,'Color','black');%标记各曲线的电压值endsubplot(2,2,3)%按2行2列绘制子图3plot(s,T,'k-');%绘制固有机械特性曲线xlabel('转差率{\its}');%横坐标标注“转差率s”ylabel('电磁转矩{\itT}/(N\cdotm)');%纵坐标标注“电磁转矩T/(N·m)”str_x=0.75;%标注字符的横坐标text(str_x,max(T)-45,strcat('r2=',num2str(r2),'\Omega'),'FontSize',9,'Color','black'); %标注固有机械特性曲线的电阻值title('改变转子电阻的人为机械特性')%标题“改变转子电阻的人为机械特性”hold on;%保持当前坐标轴和图形subplot(2,2,4)%按2行2列绘制子图4plot(T,n,'k-');%绘制固有机械特性曲线hold on;xlabel('电磁转矩{\itT}/(N\cdotm)');%横坐标标注“电磁转矩T/(N·m)”ylabel('转速{\itn}/(rpm)');%纵坐标标注“转速n/(rpm)”text(50,400,strcat('r2=',num2str(r2),'\Omega'),'FontSize',9,'Color','black');%标注固有机械特性曲线的电阻值title('改变转子电阻的人为机械特性')%标题“改变转子电阻的人为机械特性”r2p=r2;%设定改变的转子电阻的初值str_y1=400;%设定字符串的纵坐标初值for coef=1:4;%设定改变转子电阻的范围r2p=r2p+0.75;%改变转子电阻T1=(m1*p*U1^2*r2p)./s./(w1.*((r1+r2p./s).^2+(x1+x2)^2));%计算电磁转矩subplot(2,2,3)%按2行2列绘制子图3plot(s,T1,'k-');%绘制改变转子电阻人为机械特性str=strcat('r2=',num2str(r2p),'\Omega');%创建标注字符串str_y=T1(length(T1))-5;%标注字符串的纵坐标值text(str_x,str_y+11,str,'FontSize',9,'Color','black');%标记各曲线的电阻值subplot(2,2,4)%按2行2列绘制子图4plot(T1,n,'k-');%绘制改变转子电阻人为机械特性str=strcat('r2=',num2str(r2p),'\Omega');%创建标注字符串str_y1=str_y1-90;%修改字符串的纵坐标值text(50+coef*8,str_y1,str,'FontSize',9,'Color','black');%标记各曲线的电阻值end【仿真实例4-1】解:用M语言编写绘制直流发电机空载特性曲线的MATLAB程序如下:%绘制直流发电机空载特性曲线问题clcclearIfdata1=[0.0,0.5,0.7,0.8,1.0,1.2,1.5];Ifdata2=[0.0,0.5,0.7,0.8,1.0,1.2,1.5];%励磁电流I f值U0data1=[2,75,93.5,99,106,111.5,117];U0data2=[18,83.6,97.5,102.5,109.5,114,117];%空载电压U0值xdata=0:.1:1.5;%y坐标0~120ydata1=interp1(Ifdata1,U0data1,xdata,'spline');ydata2=interp1(Ifdata2,U0data2,xdata,'spline');%采用样条插值的方法分析数据plot(Ifdata1,U0data1,'*')%用'*'描点绘制空载特性hold on;%保持当前坐标轴和图形plot(Ifdata2,U0data2,'*')%绘制I f,U0坐标hold on;plot(xdata,ydata1);%绘制x,y坐标hold on;%保持当前坐标轴和图形plot(xdata,ydata2);%绘制x,y坐标hold on;%保持当前坐标轴和图形title('直流发电机空载特性')%标题'直流发电机空载特性' xlabel('{\itI}_f(A)')%x坐标标签'I f(A)'ylabel('{\itU}_0(V)')%y坐标标签'U0(V)'axis([0,2,0,120])【仿真实例4-2】解:用M语言编写绘制他励直流发电机外特性曲线的MATLAB程序如下:%绘制他励直流发电机外特性曲线问题clcclearIdata=[0,4.3,7,8.8,13,15,17];%负载电流I值Udata=[118,116,114,112.5,110,108.5,107];%负载电压U值xdata=0:1:17;%x坐标0~17ydata=interp1(Idata,Udata,xdata,'spline');%采用样条插值的方法分析数据plot(Idata,Udata,'*');%用'*'描点绘制外特性hold on%保持当前坐标轴和图形plot(xdata,ydata);%绘制x,y坐标hold on%保持当前坐标轴和图形title('他励直流发电机外特性')%标题'他励直流发电机外特性' xlabel('{\itI}(A)')%x坐标标签'I(A)'ylabel('{\itU}(V)')%y坐标标签'U(V)'axis([0,20,0,150])%设置轴线数据范围【仿真实例4-3】解:用M语言编写绘制并励直流发电机外特性曲线的MATLAB程序如下:%绘制并励直流发电机外特性曲线问题clcclearnN=1500;IfN=1.4;Rf=75;Ra=2.3;%输入发电机基本数据Ifdata=[0,0.5,0.7,0.8,1.0,1.2,1.5];%输入励磁电流U0data=[5,75,95,100,108,110,117];%输入空载电压If=0:0.01:12;%重新设置励磁参数P=polyfit(Ifdata,U0data,3);U0=polyval(P,If);%空载特性曲线拟合U=If*Rf;%计算电枢端电压Ia=(U0-U)/Ra;%计算电枢电流I=Ia-If;%计算负载电流plot(I,U)%绘制并励直流发电机外特性hold on%保持当前坐标轴和图形title('并励直流发电机外特性')%标题'并励直流发电机外特性'axis([0,20,0,120])%设置轴线数据范围xlabel('{\itI}(A)')%x坐标标签'I(A)'ylabel('{\itU}(V)')%y坐标标签'U(V)'【仿真实例4-4】解:用M语言编写仿真并励直流发电机自励过程和求稳态电压的MATLAB程序如下:%仿真并励直流发电机自励过程和求稳态电压问题%sh_ge_se_ex_ode函数的M文件function dydt=sh_ge_se_ex_ode(~,iff)%定义该M—函数为sh_ge_se_ex_ode,即%shunt_generator_self_excited_odeglobal a1a2a3a4Rf%指定全局变量Lf=40;Rf=75;%输入发电机基本数据Ifdata=[0,0.5,0.7,0.8,1.0,1.2,1.5];%输入励磁电流实验数据U0data=[5,75,95,100,108,110,117];%输入感应电动势数据a=polyfit(Ifdata,U0data,3);%曲线拟合dydt=1/Lf*(a(1)*iff^3+a(2)*iff^2+a(3)*iff^1+a(4))-Rf/Lf*iff;%列写标准形式微分方程并将感应电动势用%励磁电流的拟合多项式函数表示a1=a(1);a2=a(2);a3=a(3);a4=a(4);%给全局变量赋值%脚本M文件[t,iff]=ode23(@sh_ge_se_ex_ode,[010],[0]);%选择微分方程解算指令ode23()global a1a2a3a4Rf%指定全局变量subplot(3,1,1),%定义绘制仿真曲线1ea=a1*iff.^3+a2*iff.^2+a3*iff.^1+a4;%求感应电动势plot(iff,ea)%绘制e a=f(I f)曲线hold on%保持当前坐标轴和图形uf=Rf.*iff;%计算u fplot(iff,uf,'g')%用绿颜色绘制u f=f(i f)场阻线title('并励直流发电机自励过程')%标题'并励直流发电机自励过程'xlabel('{\itI}_f(A)')%曲线1x坐标标签'I f(A)'ylabel('{\itE}_a/{\itU}_f(V)')%曲线1y坐标标签'E a/U f(V)'axis([0,1.6,0,150])%设置x、y坐标值subplot(3,1,2)%定义绘制曲线2plot(t,iff);%绘制曲线2即i f=f(t)xlabel('{\itt}(s)')%曲线2x坐标标签't(s)'ylabel('{\itI}_f(A)')%曲线2y坐标标签'I f(A)'axis([0,5,0,2])subplot(3,1,3),%定义绘制曲线3plot(t,(a1*iff.^3+a2*iff.^2+a3*iff.^1+a4));%绘制e a曲线xlabel('{\itt}(s)')%曲线3x坐标标签't(s)'ylabel('{\ite}_a(V)')%曲线3y坐标标签'e a(V)'iff,a1*iff.^3+a2*iff.^2+a3*iff.^1+a4;%计算励磁电流和感应电动势的数值axis([0,5,0,150])【仿真实例4-5】解:用M语言编写绘制他励直流电动机工作特性的MATLAB程序如下:%绘制他励直流电动机工作特性问题clcclearUN=220;PN=22;IaN=115;Nn=1500;%输入电动机参数Ra=0.21;%输入电枢电阻CePhiN=(UN-Ra*IaN)/Nn;%计算电动势常数C eΦNCTPhiN=9.55*CePhiN;%计算电磁转矩常数C TΦNIa=0:IaN;%电枢电流从0~额定电流I aNn=UN/CePhiN-Ra/(CePhiN)*Ia;%计算转速TN=CTPhiN*Ia;%计算电磁转矩TNP=TN*10;%为清楚起见,将电磁转矩扩大十倍显示plot(Ia,n,'b.-',Ia,TNP,'r.-');%绘制转速特性和转矩特性曲线xlabel('电枢电流{\itI}_a/A')%横坐标标签'电枢电流I a/A'ylabel('转速{\itn}/rpm,电磁转矩{\itT}/N.m')%纵坐标'转速n/rpm,电磁转矩T/N.m' text(30,1500,'转速{\itn}');%标记转速曲线text(50,500,'电磁转矩{\itT}(X10)');%标记转矩曲线【仿真实例4-6】解:用M语言编写绘制串励直流电动机工作特性的MATLAB程序如下:%绘制串励直流电动机工作特性问题clcclearUN=220;PN=22;IaN=115;Nn=1500;%输入电动机参数Ra=0.18;%输入电枢电阻Rf=0.31;%输入励磁电阻k=0.01;%输入比例常数CePhiN=(UN-(Ra+Rf)*IaN)/Nn;%计算电动势常数C eΦNCe=CePhiN/k/IaN;%计算电动势常数C eIa=0:IaN;%电枢电流从0~额定电流I aNn=UN./(Ce*k.*Ia)-(Ra+Rf)/(Ce*k);%计算转速start_p=30;%设置显示的起始点Ia_p=Ia(start_p:length(Ia));%截取电流显示区间n_p=n(start_p:length(n));%截取转速显示区间CTPhiN=9.55*CePhiN;%计算电磁转矩常数C TΦNCT=CTPhiN/k/IaN;%计算电磁转矩常数C TTN=CT*k*Ia.*Ia;%计算电磁转矩TNP=TN*30;%为清楚起见,将电磁转矩扩大三十倍显示plot(Ia_p,n_p,'b.-',Ia,TNP,'r.-');%绘制转速特性和转矩特性曲线xlabel('电枢电流{\itI}_a/A')%横坐标标签'电枢电流I a/A'ylabel('转速{\itn}/rpm,电磁转矩{\itT}/N.m')%纵坐标标签'转速n/rpm,电磁转矩T/N.m' text(40,5500,'转速\itn');%标记转速曲线text(15,1000,'电磁转矩{\itT}(X30)');%标记转矩曲线【仿真实例5-1】解:用M语言编写绘制他励直流电动机机械特性的MATLAB程序如下:clcclearPN=22,UN=220,IN=115,nN=1500,Ra=0.21;%输入铭牌数据IaN=IN;%计算电枢电流CePhiN=(UN-Ra*IaN)/nN;%计算电动势常数C eΦNCTPhiN=9.55*CePhiN;%计算电磁转矩常数C TΦNIa=0:IaN;%建立电枢电流数组n=UN/CePhiN-Ra/(CePhiN)*Ia;%计算转速T=CTPhiN*Ia;%计算电磁转矩figure(1);%建立1号图形窗口plot(T,n,'.-');%绘制固有机械特性曲线title('固有机械特性');%标题'固有机械特性'xlabel('电磁转矩{\itT}/N\cdotm');%横轴标注'电磁转矩T/N•m'ylabel('转速{\itn}/rpm');%纵轴标注'转速n/rpm'ylim([0,1800]);%限制纵轴显示范围figure(2);%建立2号图形窗口plot(T,n,'rd');%绘制固有机械特性曲线title('降低电枢电源电压的人为机械特性');%标题'降低电枢电源电压的人为机械特性' xlabel('电磁转矩{\itT}/N\cdot m');%横轴标注'电磁转矩T/N•m'ylabel('转速{\itn}/rpmin');%纵轴标注'转速n/rpm'hold on;%保持当前坐标轴和图形for jy=1:-0.25:0.25;U=UN*jy;%改变电枢电源电压n=U/CePhiN-Ra/(CePhiN*CTPhiN)*T;%计算对应不同电枢电源电压的转速plot(T,n,'-');%绘制改变电枢电源电压的人为机械特性str=strcat('{\it U}=',num2str(U),'V');%显示字符串处理y=1700*jy;%显示字符串纵坐标text(60,y,str);%给曲线标注电压值endfigure(3);%建立3号图形窗口Rc=0;%临时变量n=UN/CePhiN-(Ra+Rc)/(CePhiN*CTPhiN)*T;%计算转速plot(T,n,'rd');%绘制固有机械特性曲线title('电枢回路串电阻的人为机械特性');%标题'电枢回路串电阻的人为机械特性' xlabel('电磁转矩{\itT}/N\cdot m');%横轴标注'电磁转矩T/N•m'ylabel('转速{\itn}/rpmin');%纵轴标注'转速n/rpm'hold on;%保持当前坐标轴和图形Rc=0.02;%电枢串电阻值for Rc=0:0.5:1.9;n=UN/CePhiN-(Ra+Rc)/(CePhiN*CTPhiN)*T;%计算转速plot(T,n,'-');%绘制电枢回路串电阻的人为机械特性str=strcat('{\it R}=',num2str(Ra+Rc),'\Omega');%字符串处理y=400*(4-Rc*1.8);%显示字符串的纵坐标text(120,y,str);%给各曲线标记电阻值endylim([0,1700]);%限制纵轴显示范围figure(4);%建立4号图形窗口n=UN/CePhiN-Ra/(CePhiN*CTPhiN)*T;%计算转速plot(T,n,'rd');%绘制固有机械特性曲线title('减弱磁通的人为机械特性');%标题'减弱磁通的人为机械特性' xlabel('电磁转矩{\itT}/N\cdot m');%横轴标注'电磁转矩T/N•m'ylabel('转速{\itn}/rpmin');%纵轴标注'转速n/rpm'hold on;%保持当前坐标轴和图形for ct=0.5:0.25:1.3;CePhi=CePhiN*ct;CTPhi=CTPhiN*ct;%改变磁通值n=UN/CePhi-Ra/(CePhi*CTPhi)*T;%计算转速plot(T,n,'-');%绘制改变磁通时的人为机械特性str=strcat('{\it\phi}=',num2str(ct),'*\phi_N');%显示字符串处理y=3600-1850*ct;%显示字符串纵坐标text(120,y,str);%给各曲线标记磁通endylim([0,3600]);%限制纵坐标的显示范围。

Matlab系列之无刷电机matlab建模

Matlab系列之无刷电机matlab建模
湖北工业大学稀土电机及控制研究所
逻辑换相模块
e, i
eA
iA
180º
0
30º
150º
eB iB
0
120º
eC
iC
0
240º
A相
360º
ωt
B相
ωt
C相
ωt
三相电动势、电流波形图
逻辑换相模块
开环结构框图
v 24V
湖北工业大学稀土电机及控制研究所
绕组端电压波形
反电动势波形
电流波形
电磁转矩波形
转速波形
湖北工业大学稀土电机及控制研究所
无刷电机本体模块
无刷电机反电动势方程模块
e pNa ΦN 60a
pNa Φ60
60a 2
p Na Φ
a 2
pk
湖北工业大学稀土电机及控制研究所
无刷电机本体模块
湖北工业大学稀土电机及控制研究所
无刷电机本体模块
N 60 9.55 2
湖北工业大学稀土电机及控制研究所
无刷电机matlab建模
二、基于MATLAB的BLDC系统模型 的建立
湖北工业大学稀土电机及控制研究所
基于MATLAB的BLDC系统模型的建立
根据模块化建模思想,将控制系统分 割为各个功能独立的子模块,主要包括: 电机本体模块、反电动势构造模块、逻辑 换相模块。
湖北工业大学稀土电机及控制研究所
无刷电机本体模块
湖北工业大学稀土电机及控制研究所
无刷电机本体模块
无刷电机的运动方程模块
Tem TL B Jp
湖北工业大学稀土电机及控制研究所
无刷电机本体模块
湖北工业大学稀土电机及控制研究所

MATLAB实现永磁同步电机控制

MATLAB实现永磁同步电机控制
▪ 以上的证书、模板和测试用例都可在IEC Certification Kit中找到。
12
电机建模(被控对象建模)
▪ MathWorks能提供三种不同精度的永磁同步电机被控对象模型:
– 线性模型 – 转矩和电流为线性方程 – 非线性饱和模型 – 转矩和电流的关系为非线性饱和型 – 饱和加空间谐波模型 – 转矩和电流的关系为饱和加空间谐波型
13
线性模型的建立
▪ Simulink中的Simscape Power Systems以及Powertrain Blockset都提供了线 性模型供设计参考。
▪ 线性模型所需参数:
▪ 如何获取参数:
14
非线性饱和模型的建立
▪ Simulink中的Simscape Electronics以及Powertrain Blockset都提供了非线性饱和模型供设计参考。 用户可通过两
▪ 如果为TCL2或者TCL3,则用户需要做工具资格认定,MathWorks提供了工具资格认定所需的测试用例,用 户只需要运行即可
– 用户须为以上被预认证过的产品提供一份TQP(Tool Qualification Package) 和CDT (Conformance Demonstration Template),用来说明该产品是如何被资格认定的。MathWorks提供了文档模板
11
ISO26262标准的合规 (二)
▪ 第八章中,ISO26262对开发过程中使用到的软件做了一些规定。MathWorks的Embedded Coder, Simulink Design Verifier, Simulink Check, Simulink Coverage, Simulink Test, PolySpace Bug Finder, PolySpace Code Prover 都被TUV严格做了以下审核和认证:

基于MATLAB的电机仿真分析

基于MATLAB的电机仿真分析

基于MATLAB的电机仿真分析
电机是现代工业中广泛使用的设备,其可将电能转化为机械能,为工业生产和生活带来重大的贡献。

为了更好地掌握电机的工作原理和性能表现,电机仿真分析成为一种重要的方法。

本文将介绍基于MATLAB的电机仿真分析。

首先,我们可以利用MATLAB中的Simulink工具箱,建立一个电机仿真模型。

在这个模型中,电机被抽象为一个黑盒子,我们只需要知道其输入和输出。

输入是电机的电流信号,输出是电机的机械输出功率信号。

同时,为了模拟电机的转速和负载特性,我们还需要添加一些环节,如转速反馈环节和负载环节。

在建立模型后,我们可以通过输入不同的电流信号,来模拟电机在不同工况下的运行情况。

我们可以得到电机的输出转矩、转速和功率等参数。

同时,我们还可以通过改变负载环节中的参数,来探究负载对电机的影响。

此外,我们还可以利用MATLAB中的分析工具,如频谱分析、时域分析和幅频特性分析等,来对仿真结果进行深入的分析。

例如,我们可以通过频谱分析得到电机输出信号中的频率分布情况,进一步了解电机的特性和性能。

总的来说,基于MATLAB的电机仿真分析是一种非常有效的方式。

通过仿真分析,我们可以更加深入地了解电机的性能、特性和工作原理,为电机的设计和优化提供重要的参考和指导。

电机设计matlab程序

电机设计matlab程序

电机设计matlab程序1.引言1.1 背景●介绍电机设计的重要性和应用场景●概述本文档的目的和内容1.2 目标●描述电机设计MATLAB程序的目标和预期结果2.程序设计思路2.1 输入数据●描述输入数据的类型和格式●说明如何获取和准备输入数据2.2 算法●介绍电机设计的算法原理●解释算法中使用的数学模型和公式2.3 输出结果●描述输出结果的类型和格式●说明如何解释和使用输出结果3.程序架构3.1 模块划分●列出电机设计程序的各个模块及其功能●解释每个模块的输入和输出3.2 流程图●绘制电机设计程序的流程图示意图●说明每个步骤的具体实现过程4.程序实现4.1 环境准备●提供MATLAB版本要求和相关工具包的安装说明4.2 代码结构●提供程序的整体代码结构说明●解释每个模块的具体实现方式和代码逻辑4.3 数据处理●说明输入数据的读取和预处理方式4.4 算法实现●解释电机设计算法的MATLAB实现方式4.5 结果输出●说明输出结果的保存和展示方式5.测试与验证5.1 测试数据●描述测试数据的选择和方式5.2 测试结果分析●分析和解释测试结果的准确性和合理性5.3 验证与对比●与其他方法或标准进行对比验证,评估程序的性能和效果6.结论●总结电机设计MATLAB程序的优点和局限性●提出可能的改进方向和未来发展方向7.附件●列出文档中提及的附件和相关资料的名称和8.法律名词及注释●罗列文档中涉及的法律名词和相关注释。

开关磁阻电机设计MATLAB程序

开关磁阻电机设计MATLAB程序

%%%%-开关磁阻电机设计实例%%%%-Time:2013.08.20%%%%-By Sun Peng(悟空)%%%------------------------------------------------------%%%-给定参数要求:%% 功率:PN=11kw 电源电压:UN=380V(线电压) 额定转速:n=1500r/min 额定效率: ita=0.88%% 调速范围:200~2000r/min 其中200~1500r/min为恒转矩特性1500~2000r/min为恒功率特性%% 运行方式:连续运行绝缘等级:E 电机转子承受的扭矩不得小于3500N.m %%%------------------------------------------------------%%%-相数、极数、绕组端电压:采用4相8/6极结构,功率变换器主电路选用每相一个主开关管的裂相式电路clc;clear;global Nq Nr Ns Nph Da Ds g gi lFe laglobal miu0 sigmaglobal w v u y h q p m nglobal l_deltaglobal alph theta beltaglobal w v u h b f m miu0 gamma gh hms delta sigmaglobal t1 t2 t3 m1 m2 n1 b1 b2 S5 S6 S6p n_theta1global p1 p2_1pie p2_2pie p2_3pie p2 p3 p4 p5 p6 p7 sum_pglobal lF gF L_2D L1global bps bpr hcs hcrglobal Sg Sts Str Scs Scr hmr lts ltr lg lcs lcrglobal Bts Btr Bg Bcs Bcr Bpsglobal Hts Htr Hg Hcs Hcrglobal fai_2 Fai sum_F i_sglobal theta_1global L1 Lao Lu U Rpglobal W_pie Tem Tem_pieglobal fai_1m fai_s fai_m km omigaglobal I Im_star Im i_m i_sglobal a0 a1global Sw ks ki J_pie Sa_pie Sa Scu J Iglobal UN PN nN ita A_pie B_delta_pie Pem Tem Tem_pieglobal theta_on theta_off theta_c theta_u theta_hr theta_0 theta_n1 theta_2theta_3 theta_4 theta_a beta_s beta_r beta_sf beta_rfglobal lambda Da_ratio_Dsglobal Di dsglobal tal_r B_delta I i_m Im_star Sw Sa Scu ks J lav l Rp Gcu VsFe VrFe GFe A Pcu Kglobal alph tal_r_degree tal_s_degreeglobal w v u y h q p m n miu0global P1 P2 P3 P4 P5 sum_P gF sigma lFglobal Lu L2Dglobal Lu ik Pasi_u Pasi_1 Pasi_aglobal fai_ms fai_m i_ms i_m a iso Pasi_soglobal Nph Ns Ds Da bps lFe g giglobal hmr hms hms_pie hcs hcrglobal Bts1 Bts2 Bts3 Bts4 Btr1 Btr2 Btr3 Btr4 Bg Bcs1 Bcs2 Bcr1 Bcr2 B_min B_max B_amin B_amaxglobal Sts1 Sts2 Sts3 Sts4 Str1 Str2 Str3 Str4 Scs1 Scs2 Scr1 Scr2 Scs Scr Sgglobal Hts1 Hts2 Hts3 Hts4 Htr1 Htr2 Htr3 Htr4 Hcs1 Hcs2 Hcr1 Hcr2 Hgglobal lts1 lts2 lts3 lts4 ltr1 ltr2 ltr3 ltr4 lcs1 lcs2 lcr1 lcr2 lgglobal Fai_am fai_0 fai_2am fai_am i_am Sum_F sum_Fam i_shr fai_shr miu0 Lao_hr gi_pie delta_beta kd km sigma_mglobal Ac Bc Cc ka Pasi_1u theta_1u theta_x Pasi_thetax Pasi_a_mtrix Pasia pasia Pasihr pasihr Pasi_hr_mtrix Pasi_u_mtrix Pasi_1_mtrix Matrixglobal Pasi_ahr theta_ahr Ac_pie Bc_pie Cc_pie Torque current Lao_hr Pasi1k1 Pasihrk1 ik1 ik2 ik3global k1 k2 k3 k4 k5 k6 k7 k8 k9 k10 LengthN stephNq=4; %1.相数Ns=8; %2.定子极数Nr=6; %3.转子极数UN=380;%额定电压Ud=3*sqrt(2)*UN/pi; %三相全波整流后直流电压U=1.1*(Ud/2); %4.绕组端电压(1.1系数为考虑电容滤波器存在导致的电压升高系数)%%%-主要尺寸选择PN=7.5; %额定功率KwnN=1500; %额定转速1500r/minita=0.88; %额定效率Pem=PN*(1+ita)/(2*ita); %5.电磁功率Kwlambda=1.2; %6.细长比(参照中小型交流电机经验数据,取0.5~3.0,对于SRM,典型取值1)A_pie=28000; %7.电磁负荷出选A_pie=28000A/m(15000~50000A/m);B_delta_pie=0.40T(0.29~0.55)B_delta_pie=0.4;ki=0.5;km=0.8;Da=(((6.1/(B_delta_pie*A_pie))*(ki/km)*(Pem*(10^3)/nN)*(1/(1.05*lambda)))^(1/ 3))*(10^3); %8.转子外径 /mm/Da=Keep_decimal(Da,0);%la=lambda*Da; %9.贴心叠长la=Round_off_la(la);%%%-圆整铁心叠长l_delta=1.05*la;Da_ratio_Ds=Ratio_Da_Ds(Nq,Ns,Nr); %确定定转子外径比Ds=Da/Da_ratio_Ds; %10.定子外径Ds=Standardizing_Ds(Ds); %将定子外径规格化到已有机座New_Da_ratio_Ds=Da/Ds;%%%-其他结构尺寸及绕组匝数g=0.4; %11.气隙% beta_s=21; %12.定转子极弧,查表取经典值% beta_r=23;beta_s=Pore_arc_s(Nq,Ns,Nr);beta_r=Pore_arc_r(Nq,Ns,Nr);beta_sf=beta_s*pi/180; %定子极弧beta_rf=beta_r*pi/180; %转子极弧bps=(Da+2*g)*sin(beta_sf/2); %13.定转子极宽bps=Keep_decimal(bps,2); %保留两位小数bpr=Da*sin(beta_rf/2);bpr=Keep_decimal(bpr,2); %保留两位小数gi=bps/2; %14.第二气隙hcs=1.3*(bps/2); %15.定转子轭高hcs=Keep_decimal(hcs,2); %保留两位小数hcs_arter_roundoff=Round_off_h(hcs); %进行圆整hcr=1.4*(bpr/2);hcr=Keep_decimal(hcr,2); %保留两位小数hcr_after_roundoff=Round_off_h(hcr); %进行圆整Di=Da-2*(gi-g)-2*hcr; %16.轴径Di=Keep_decimal(Di,1); %保留一位小数ds=(Ds-Da-2*g-2*hcs)/2; %17.定子槽深ds=Keep_decimal(ds,2); %保留两位小数ds_after_roundoff=Round_off_h(ds); %进行圆整% [Di_after gi_after]=Adapt_Di_gi(Di,Da,hcr,gi,g); %18.电机尺寸需根据工程设计特点进行圆整,取平行转子极结构[Di gi]=Adapt_Di_gi(Di,Da,hcr,gi,g);kFe=0.93;lFe=kFe*la; %19.有效铁心长度lFe=Round_off_l(lFe); %进行圆整tal_r=(pi*Da)/Nr; %20.转子极距tal_r=Keep_decimal(tal_r,2); %保留两位小数tal_r_degree=2*pi/Nr;%%%%%%%%%%%%%%%%%%%%%%-以上程序段已经检查无误-%%%%%%%%%%%%%%%%%%%%%%%%%%%-控制参数theta_u=0;theta_on=0; %21.开通角theta_off=theta_u+((2*pi/Nr)-beta_rf)/2; %关断角theta_a=pi/Nr;theta_2=theta_a-abs(beta_rf-beta_sf)/2;theta_1=theta_a-(beta_sf+beta_rf)/2;% theta_0=-theta_1;% theta_0=theta_1-fai_s*theta_a/(12*fai_ms);% theta_0=theta_1-fai_s*theta_a/(12*fai_ms);theta_n1=(-1)*theta_1;theta_3=theta_a+(theta_a-theta_2);theta_4=tal_r_degree-theta_1;% theta_0=-10*pi/180;% theta_1=10*pi/180;theta_hr=theta_off;theta_c=theta_off-theta_on; %导通角%%%-每相绕组串联匝数Bps=1.6;B_delta=0.805*(bps/tal_r)*Bps; %重新校核Nph=(3.04*Nr*U*theta_c)/(nN*B_delta*(Da/(10^3))*(l_delta/(10^3))); %22.每相绕组串联匝数Nph1=(3.04*Nr*U*theta_c)/(nN*B_delta*(Da/(10^3))*(l_delta/(10^3))); Adapt_B_delta();%%%-对齐位置和不对齐位置磁化曲线计算%%-theta_u不对齐位置电感Lu计算% global Nr Ns Nph Da Ds bps g gi lFe la hcs beta_sf beta_rf alph tal_r_degree tal_s_degree% global w v u y h q p m n pi% % % tal_r_degree=2*pi/Nr; %转子极距角% % % tal_s_degree=2*pi/Ns; %定子极距角% % % % beta_sf=beta_s*pi/180; %定子极弧% % % % beta_rf=beta_r*pi/180; %转子极弧% % % % p=(Da/2+g)*sin(beta_sf/2);% % % % w=(Da/2+g)*tan(tal_s_degree/2)-p;% % % w=(Da/2+g)*tan(pi/Ns)-(bps/2); %%已阅% % % v=(Ds/2-hcs-(Da/2+g)/cos(pi/Ns))/cos(pi/Ns); %已阅% % % alph=(pi/2)-(beta_sf/2); %已阅% % % u=w/tan(alph); %已阅% % % % h1=sqrt((Ds/2-hcs)*(Ds/2-hcs)-p^2);% % % % h2=sqrt((Ds/2-hcs)*(Ds/2-hcs)-(p+w)^2);% % % % u=h2-h1;% % % % alph=atan(w/u);% % % % v=h1-(Da/2+g);% % % % y=(Da/2)+g-(Da/2)*cos(tal_r_degree-beta_rf)/2;% % % y=(Da/2)+g-(Da/2)*cos((tal_r_degree-beta_rf)/2); %已阅% % % % h=Da/2*sin((tal_r_degree-beta_rf)/2)-p;% % % h=(Da/2)*sin((tal_r_degree-beta_rf)/2)-(bps/2); %已阅% % % q=v/2; %已阅% % % p=bps/2;% % % m=u+q; %已阅% % % n=y+q; %已阅% % % P1=alph*(m^2)/(4*(w^2)*((2*v+u)^2));% % % P2=(2/pi)*( log(n/h)+2*(n-h)*y/(w*v)-( (n^2-h^2)/(4*((w*v)^2)) )*(pi*w*v-2*(y^2))-(n^3-h^3)*y*pi/(6*((w*v)^2))+(n^4-h^4)*(pi^2)/(64*((w*v)^2)) );% % % P3=(2/tal_r_degree)*log((2*tan(tal_r_degree-beta_rf)+pi-(tal_r_degree-beta_rf))/(2*tan(tal_r_degree-beta_rf)+pi-2*(tal_r_degree-beta_rf)-beta_rf));% % % P4=(2/(pi-tal_r_degree))*log(2*gi/(h*(pi-tal_r_degree)));% % % P5=(p+h)/gi-(2/(pi-tal_r_degree));% % % sum_P=P1+P2+P3+P4+P5;% % % gF=(1/5)*(pi*n/2-pi*h/2+((pi/2-(tal_r_degree-beta_rf)/2))*h+g+gi);% % % sigma=(2/pi)*( atan(2*n/gF)-( gF/(4*n) )*log( 1+( (2*n)/gF )^2) );% % % lF=la+2*n*(1-sigma);% % % miu0=0.4*pi*(10^(-6)); % H/m% % % L2D=(Nph^2)*miu0*lFe*(10^(-3))*sum_P; %此处乘以10^(-3)将铁心lFe:mm->m% % % Lu=L2D*(2*(lF/la)-1); %23.theta_u不对齐位置电感Theta_u_Lu(); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-theta_1位置磁化曲线% % % h=(Da/2)*sin(tal_r_degree-beta_rf-(beta_sf/2))-(Da/2+g)*sin(beta_sf/2); % % % b=(Da/2+g)*cos(beta_sf/2)-(Da/2)*cos(tal_r_degree-beta_rf-beta_sf/2); % % % % b=(Da/2-g)*cos(beta_sf/2)-(Da/2)*cos(tal_r_degree-beta_rf-beta_sf/2);% % % f=sqrt(h^2+b^2);% % % theta=atan(h/(gi+g-b));% % % % beta1=pi/2-beta_sf/2;% % % beta1=(pi/2)-(beta_sf/2)-(beta_rf/2); %平行转子齿% % % % beta2=pi/2-(tal_r_degree-beta_rf-beta_sf/2);% % % beta2=(pi/2)-(tal_r_degree-beta_rf-(beta_sf/2))-(beta_rf/2);% % % gamma=theta-(tal_r_degree-beta_rf-beta_sf/2)-beta_rf/2;% % % if f>=gi% % % gh=(Da/2)*(cos(beta_sf/6)-cos(beta_sf/2))+g;% % % else% % % gh=(Da/2+g)*(cos(beta_sf/2-beta_sf/7)-cos(beta_sf/2))+g;% % % end% % % % w=(Da/2+g)*tan(pi/Ns)-bps/2;% % % % alph=pi/2-(asin((w+bps/2)/(Ds/2-hcs))+asin((bps/2)/(Ds/2-hcs)))/2; % % % % v=sqrt((Ds/2-hcs)^2-((Da/2+g)^2)*(tan(pi/Ns)^2))-(Da/2+g);% % % hms=(Ds/2)-hcs-(Da/2+g);% % % t1=(gi-gh)/beta1;% % % t2=(h/sin(theta))-gi+g;% % % t3=(gi-f)/beta2;% % % m1=u+(v/2);% % % m2=u+(2/3)*v;% % % n1=hms-m1;% % % % delta=pi/2+beta_sf/2-acos(n1/Da);% % % delta=(pi/2)-acos(n1/Da)+(beta_sf/2)*alph;% % % p1=alph*(m^2)/(4*(w^2)*((2*v+u)^2));% % % p2_1pie=(1/(pi/2+delta))*log((gh+(pi/2+delta)*n1)/gh);% % % p2_2pie=(pi/(2*w*v))*((n1^2)/(2*(pi/2+delta))-gh*n1/((pi/2+delta)^2)+(gh^2)/((pi/2+delta)^3)*log((gh+(pi/2+delta)*n1)/gh)); % % % p2_3pie=((pi^2)/(16*(w^2)*(v^2)))*( n1^4/(4*(pi/2+delta))-(gh/(pi/2+delta))*(n1^3/(3*(pi/2+delta))-gh*(n1^2)/(2*((pi/2+delta)^2))+n1*(gh^2)/(pi/2+delta)^3-(gh^2/(pi/2+delta)^4)*log(((pi/2+delta)*n1+gh)/gh)));% % % p2=p2_1pie-p2_2pie+p2_3pie;% % % p3=(1/beta1)*log((beta1*t1+gh)/gh);% % % if f>=gi% % % b1=sqrt((gi+t2)^2-gi^2);% % % S5=(w*v-t2*b1/4)/(w*v);% % % b2=sqrt((gi+hms-m2)^2-(gi^2));% % % S6=(w*v-v*b2/12-t2*b1/4)/(w*v);% % % p4=(bps-t1)/gi;% % % p5=(S5^2)/(theta-gamma)*log(theta*(gi+t2)/(theta*gi+gamma*t2));% % % % p6=(S6^2)/theta*log(theta*(gi+hms-m2)/(theta*(gi+t2)));% % % p6=(S6^2)*(1/theta)*log((gi+hms-m2)/(gi+t2));% % %gF=(1/8)*(((pi/2)*n1+gh+delta*n1)+gh+(gh+beta1*t1)+2*gi+(gi*theta+gamma*t 2)+(gi+t2)*theta+(gi+hms-m2)*theta);% % % else% % % S6p=1-v/(36*w*tan(pi/Ns));% % % p4=(bps-t1-t3)/gi;% % % p5=(1/beta2)*log((f+beta2*t3)/f);% % % p6=(2/pi)*(S6p^2)*log((f+(pi/2)*(hms-m2))/f);% % %gF=(1/8)*(((pi/2)*n1+gh+delta*n1)+gh+(gh+beta1*t1)+2*gi+(f+beta2*t3)+f+(f+ (pi/2)*(hms-m2)));% % % end% % % p7=alph*(m2^4)/(4*(w^2)*((2*v+u)^2));% % % sum_p=p1+p2+p3+p4+p5+p6+p7;% % % n_theta1=n1+gh;% % % % xi=(pi/2)*(atan(2*n/gF)-(gF/(4*n))*log(1+((2*n/gF)^2)));% % % lF=la+2*n_theta1*(1-sigma);% % % L_2D=2*miu0*(lFe*(10^(-3)))*((Nph/2)^2)*sum_p;% % % L1=L_2D*(2*lF/la-1);Theta_1_L1()%%-Theta_a对齐位置时的磁化曲线% % % Sg=(bps+2*g)*lFe; %气隙截面积 /mm^2% % % Sts=bps*lFe; %定子极截面积/mm^2% % % Str=bpr*lFe; %转子极截面积/mm^2% % % Scs=hcs*lFe; %定子轭截面积/mm^2% % % Scr=hcr*lFe; %转子轭截面积/mm^2% % % hmr=gi; %第二气隙% % % lts=2*(Ds/2-hcs-Da/2-g);% % % ltr=2*hmr;% % % lg=2*g;% % % lcs=(Ds-hcs)*pi/2;% % % lcr=(Da/2-hmr-hcr/2)*pi;% % % Bts=1.3000; %/T% % % % for kk=0:1% % % fai_2=Bts*(Sts/2)*(10^(-6)); %Wb% % % Btr=fai_2/(Str*0.000001/2);% % % Bg=fai_2/(Sg*0.000001);% % % Bcs=fai_2/(Scs*0.000001);% % % Bcr=fai_2/(Scr*0.000001);% % % % end% % % % syms NB% % % % for k=1:NB% % % %% % % % end% % % % B=Bts;% % % Hts=Magcurv_Lagranges_DR510_50(Bts);% % % Hts=Hts*100; %单位转化为A/m% % % Htr=Magcurv_Lagranges_DR510_50(Btr);% % % Htr=Htr*100; %/A/m% % % Hg=Bg/(miu0*(10^4));% % % Hcs=Magcurv_Lagranges_DR510_50(Bcs);% % % Hcs=Hcs*100;% % % Hcr=Magcurv_Lagranges_DR510_50(Bcr);% % % Hcr=Hcr*100;% % % sum_F=(Hts*lts+Htr*ltr+Hg*lg+Hcs*lcs+Hcr*lcr)*(10^(-3));% % % % Fai=2*fai_2/(10^4);% % % Fai=2*fai_2;% % % % if Bts==1.3000% % % i_s=sum_F/Nph;% % % fai_s=Fai*Nph;% end% Bts=2.0500;% if Bts==2.0500% i_m=sum_F/Nph;% fai_m=Fai*Nph;% endTheta_a_is_fais();% fai_1m=(U/omiga)*(theta_1-theta_on);% I_m=fai_1m/L1; %实际电流峰值% Im_star=km*I_m;% fai_m=fai_1m+((U-Im*Rp)/omiga)*(theta_off-theta_1);% % psi_um=% Lao=fai_s/i_s;% % Im_star=5;% i_m=Im_star;% a1=((1/fai_m)-(1/fai_s))/((1/i_m)-(1/i_s));% a0=(1/fai_s)-(a1/i_s);% W_pie=(Lao*(i_s^2)-Lu*(Im_star^2))/2+(a0*(Im_star-i_s)-a1*log((a1+a0*Im_star)/(a1+a0*i_s)))/(a0^2);% Tem_pie=(Ns*Nr/(4*pi))*W_pie;% while Tem_pie<=Tem% i_m=Im_star;% a1=((1/fai_m)-(1/fai_s))/((1/i_m)-(1/i_s));% a0=(1/fai_s)-(a1/i_s);% Im_star=Im_star+0.5;% W_pie=(Lao*(i_s^2)-Lu*(Im_star^2))/2+(a0*(Im_star-i_s)-a1*log((a1+a0*Im_star)/(a1+a0*i_s)))/(a0^2);% end%24.theta_a对齐位置磁化曲线%%%-电流及转矩计算omiga=2*pi*nN/60; %转动角频率Tem=Pem*(10^3)/omiga; %25.额定电磁转矩 N.m% Im_star=28; %26.额定电磁转矩Tem所需的理想方波电流Im_star % I=Im_star/sqrt(2); %27.绕组电流有效值% im=I/ki; %28.实际电流峰值%%%-绕组平均匝长lavbw=(Da+2*g)*sin(pi/Ns)-(bps/2);bw=Keep_decimal(bw,1); %保留一位小数a=bps+bw;a=Keep_decimal(a,1); %保留一位小数R=5; %绕组圆角半径R=5mmb=la+2*R+bw;b=Keep_decimal(b,1); %保留一位小数r=R+(bw/2);r=Keep_decimal(r,1); %保留一位小数lav=2*la+2*(bps-2*R)+2*pi*r; %32.绕组平均匝长/mmlav=Keep_decimal(lav,1); %保留一位小数l=Nph*(lav*(10^(-3))); %33.每相绕组导线总长/mm% l=Nph*lav; %/mSa=3.94; %查表取导线截面积rou=0.0217; %电阻率Rp=rou*(l*(10^(-3)))/Sa; %每相绕组电阻,乘以10^(-3)/omgh%% % %% % % %%%利用theta1位置处的磁化电流曲线,确定实际电流峰值Im % % % fai_1m=(U/omiga)*(theta_1-theta_on);% % % Im=fai_1m/L1; %实际电流峰值% % % % Im=39.6% % % Im_star=km*Im; %理想方波电流% % % % Im_star=sqrt(2)*ki*Im;% % % % Im_star=28;% % % % Im=Im_star/km;% % % I=Im_star/sqrt(2);%绕组电流有效值% % % % I=Im*ki;% % % Im_star=sqrt(2)*I;% % % fai_m=fai_1m+((U-Im*Rp)/omiga)*(theta_off-theta_1);% % % % psi_um=% % % Lao=fai_s/i_s;% % % % Im_star=5;% % % i_m=Im;% % % % Im0=Im;% % % a1=((1/fai_m)-(1/fai_s))/((1/i_m)-(1/i_s));% % % a0=(1/fai_s)-(a1/i_s);% % % W_pie=(Lao*(i_s^2)-Lu*(Im_star^2))/2+(a0*(Im_star-i_s)-a1*log((a1+a0*Im_star)/(a1+a0*i_s)))/(a0^2);% % % Tem_pie=(Ns*Nr/(4*pi))*W_pie;% % % %% % %% % % % Sw=(1/2)*(pi/Ns)*((Ds/2-hcs)^2-(Da/2+g)^2)-(1/2)*bps*ds; %29.定子极间窗口面积% % % % Sw=Keep_decimal(Sw,1);% % % % J_pie=5; %预取电流密度J_pie=5A/mm^2% % % % Sa_pie=I/J_pie; %30.导线规格,导线截面积% % % % Sa_pie1=Keep_decimal(Sa_pie,2);% % % % Sa=Standardizing_Sa(Sa_pie); %查表取导线截面积% % % % Sa=Keep_decimal(Sa,2);% % % % % Sa=3.94;% % % % Scu=(1/2)*Nph*Sa; %每槽导体净截面积% % % % Scu=Keep_decimal(Scu,2);% % % % ks=Scu/Sw; %槽满率% % % % J=I/Sa; %31.电流密度% % % % ks1=Scu/Sw; %槽满率% % % % J1=I/Sa; %31.电流密度% % % % J_pie=5; %预取电流密度J_pie=5A/mm^2% % %% % % % while J>5.5% % %% % % while Tem_pie<=Tem% % % % fai_1m=(U/omiga)*(theta_1-theta_on);% % % % Im=fai_1m/L1;% % % Im=Im+1; %实际电流峰值% % % % I=Im*ki;% % % % Im_star=sqrt(2)*I;% % % Im_star=km*Im; %理想方波电流% % % % % Im_star=Im_star+1;% % % I=Im_star/sqrt(2); %绕组电流有效值% % % % fai_m=fai_1m+((U-Im*Rp)/omiga)*(theta_off-theta_1);% % % i_m=Im; %实际电路峰值% % % a1=((1/fai_m)-(1/fai_s))/((1/i_m)-(1/i_s));% % % a0=(1/fai_s)-(a1/i_s);% % % W_pie=(Lao*(i_s^2)-Lu*(Im_star^2))/2+(a0*(Im_star-i_s)-a1*log((a1+a0*Im_star)/(a1+a0*i_s)))/(a0^2);% % % Tem_pie=(Ns*Nr/(4*pi))*W_pie;% % % endCurrent_confirm_im_W_pie();Adapt_im_W_pie();Sps=(bps*lFe)*(10^(-6));Bps=fai_m/(Nph*Sps);B_delta=0.805*(bps/tal_r)*Bps; %重新校核% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 %%%-绕组设计Sw=(1/2)*(pi/Ns)*((Ds/2-hcs)^2-(Da/2+g)^2)-(1/2)*bps*ds; %29.定子极间窗口面积Sw=Keep_decimal(Sw,1);J_pie=5; %预取电流密度J_pie=5A/mm^2Sa_pie=I/J_pie; %30.导线规格,导线截面积Sa_pie1=Keep_decimal(Sa_pie,2);Sa=Standardizing_Sa(Sa_pie); %查表取导线截面积Sa=Keep_decimal(Sa,2);% Sa=3.94;Scu=(1/2)*Nph*Sa; %每槽导体净截面积Scu=Keep_decimal(Scu,2);ks=Scu/Sw; %槽满率J=I/Sa; %31.电流密度ks1=Scu/Sw; %槽满率J1=I/Sa; %31.电流密度%% % % while ks>0.5% % % J_pie=J_pie+0.01;% % % Sa_pie=I/J_pie; %30.导线规格,导线截面积% % % Sa_pie=Keep_decimal(Sa_pie,2);% % % Sa=Standardizing_Sa(Sa_pie); %查表取导线截面积% % % Sa=Keep_decimal(Sa,2);% % % % Sa=3.94;% % % Scu=(1/2)*Nph*Sa; %每槽导体净截面积% % % Scu=Keep_decimal(Scu,2);% % % ks=Scu/Sw; %槽满率% % % J=I/Sa; %31.电流密度% % % % while J>5.5% % % % J_pie=J_pie-0.01;% % % % Sa_pie=I/J_pie; %30.导线规格,导线截面积% % % % Sa_pie=Keep_decimal(Sa_pie,2);% % % % Sa=Standardizing_Sa(Sa_pie); %查表取导线截面积% % % % Sa=Keep_decimal(Sa,2);% % % % % Sa=3.94;% % % % Scu=(1/2)*Nph*Sa; %每槽导体净截面积% % % % Scu=Keep_decimal(Scu,2);% % % % ks=Scu/Sw; %槽满率% % % % J=I/Sa; %31.电流密度% % % % end% % % end% % % while J>5.5% % % J_pie=J_pie-0.01;% % % Sa_pie=I/J_pie; %30.导线规格,导线截面积% % % Sa_pie=Keep_decimal(Sa_pie,2);% % % Sa=Standardizing_Sa(Sa_pie); %查表取导线截面积% % % Sa=Keep_decimal(Sa,2);% % % % Sa=3.94;% % % Scu=(1/2)*Nph*Sa; %每槽导体净截面积% % % Scu=Keep_decimal(Scu,2);% % % ks=Scu/Sw; %槽满率% % % J=I/Sa; %31.电流密度% % % end% % % % endAdapt_ks_J();%%%-参数计算Cu_density=8.9*10^(-6); %铜密度Gcu=Nq*Sa*(l*1000)*Cu_density; %35.铜重kgVsFe=((1/2)*(pi/Ns)*((Ds/2)^2-(Ds/2-hcs)^2)+(bps*ds/2))*(2*Ns*lFe); %36.定子铁心体积/mm^3VrFe=((1/2)*(pi/Nr)*((Di/2+hcr)^2-(Di/2)^2)+bpr*(gi-g)/2)*(2*Nr*lFe); %37.转子铁心体积/mm^3Fe_density=7.8*10^(-6); %铁密度GFe=(VsFe+VrFe)*Fe_density; %38.铁心重Dsi=Da+2*g;A=Nq*Nph*I/(pi*(Dsi*10^(-3))); %39.电负荷A=15000~50000A/mPcu=Nq*(I^2)*Rp; %40.铜耗TN=PN*1000/omiga; %额定转矩N.mK=(TN/((Da*0.001)^2*(la*0.001)))*0.001; %41.电机利用系数kN.m/m^3% DATA_input();%DATA_output(Nq,Ns,Nr,UN,PN,nN,ita,lambda,A_pie,B_delta_pie,g,theta_on,theta_off, theta_c,theta_u,theta_hr);% SRM_simulation();% Theta_hr_ish_faish();DATA_output();% end% SRM_simulation();。

电机与拖动基础及MATLAB仿真教学设计

电机与拖动基础及MATLAB仿真教学设计

电机与拖动基础及MATLAB仿真教学设计导言电机与拖动技术在现代工业生产中扮演着重要的角色。

其优异的性能和精度为机械部件的运动提供了实时、稳定的驱动力。

因此,对于电机和拖动技术的理解与掌握对于机械工程师来说是非常重要的。

MATLAB仿真作为一种强大的工具,能够为学生提供更加直观和深入的理解。

本文将介绍如何设计一份电机与拖动技术学习的MATLAB仿真课件,并提供一些教学设计上的建议。

电机和拖动技术的基础概念电机的分类电机是一种将电能转换为机械能的设备。

根据不同的转换方式,电机可以分为:•直流电机(DC)•交流电机(AC)•步进电机•无刷直流电机(BLDC)•聚磁线性电机(LIM)•感应电机(IM)其中,直流电机和交流电机是应用最广泛的两种电机。

拖动技术的基本概念拖动技术是通过电机或线性电机为机械部件提供动力驱动。

通常使用的拖动技术包括:•位置控制•速度控制•扭矩控制这些技术使得机械部件得以按照需要的方式移动或旋转,达到所需的效果。

控制方式电机控制可以分为开环控制和闭环控制。

开环控制只能实现简单的控制,如恒定转速控制。

闭环控制利用反馈环路监测电机的状态,并通过控制器对电机的输入进行调整,以实现更复杂的控制。

MATLAB仿真教学设计确定教学目标在设计课程前,需要确定学生们需要掌握的知识和技能。

这些方面包括:•电机的种类和特性•拖动技术的基本概念•控制方式和电机控制系统•各种电机的应用领域组织课程内容根据教学目标,可以组织一份课程大纲。

这个大纲应该包含以下内容:1.电机和拖动技术概论2.直流电机控制1.恒定转速控制2.扭矩控制3.位置控制3.交流电机控制1.矢量控制2.直接扭矩控制4.无刷直流电机控制5.步进电机控制6.MATLAB仿真设计MATLAB仿真MATLAB仿真可以使学生更好地理解电机和拖动控制技术。

在设计仿真实验时,可以考虑以下几点:仿真工具•Simulink•Simscape Electrical•MATLAB/Simulink电机模型库仿真场景•恒定转速控制•扭矩控制•位置控制•频率响应•相位域分析讲解和实践方式•PPT讲解•仿真实验视频•拖动技术控制算法优化•仿真实验操作指导作业和考核学生可以通过练习同步轴控制、位置轴控制和扭矩轴控制仿真实验来检验他们所学的电机和拖动技术掌握情况。

现代永磁同步电机控制原理及matlab仿真代码

现代永磁同步电机控制原理及matlab仿真代码

1. 引入现代永磁同步电机及其在工业应用中的重要性2. 介绍本文的主要内容和结构【第一部分:现代永磁同步电机的原理】1. 现代永磁同步电机的基本结构和工作原理2. 感应电动势和磁链控制3. 磁链观测和控制4. 空间矢量调制原理【第二部分:永磁同步电机控制的matlab仿真代码】1. 永磁同步电机的状态空间模型2. 闭环控制器设计3. 电机性能参数的选择和仿真结果分析【第三部分:实例分析及应用】1. 将仿真代码应用于实际永磁同步电机控制案例2. 讨论实际应用中可能遇到的问题和解决方案【结语】1. 总结现代永磁同步电机控制原理及matlab仿真代码的重要性2. 展望未来永磁同步电机控制技术的发展方向导言随着电力电子技术和数字控制技术的不断发展,各种新型电机在工业生产中得到了广泛应用。

永磁同步电机以其高效率、高功率密度和良好的动态性能,成为工业驱动领域的热门选择。

掌握现代永磁同步电机的控制原理及相应的仿真代码,对于提高电机系统的性能具有重要意义。

【第一部分:现代永磁同步电机的原理】1. 现代永磁同步电机的基本结构和工作原理现代永磁同步电机由定子、转子和永磁体组成。

其工作原理是利用定子产生的旋转磁场与永磁体产生的固定磁场之间的相互作用,从而实现电能转换为机械能。

永磁同步电机的结构简单、体积小、重量轻,但控制较为复杂。

2. 感应电动势和磁链控制在永磁同步电机中,感应电动势和磁链控制是控制电机转矩和速度的重要手段。

通过对电动势和磁链的测量及控制,可以实现对电机的稳定运行和高效能输出。

3. 磁链观测和控制磁链观测是永磁同步电机控制中的关键技术之一。

通过对电机磁链的观测,可以实现对电机转矩的精准控制,提高电机的动态响应性能。

4. 空间矢量调制原理空间矢量调制是永磁同步电机控制中常用的一种控制策略。

通过对电机转子磁链和定子相电流的空间矢量进行调制,可以有效地控制电机的输出转矩和速度,提高电机系统的动态性能。

【第二部分:永磁同步电机控制的matlab仿真代码】1. 永磁同步电机的状态空间模型我们需要建立永磁同步电机的状态空间模型。

mtpa的matlab标定程序

mtpa的matlab标定程序

一、引言MTPA(Maximum Torque Per Ampere)是一种基于电机模型的控制策略,在感应电机驱动系统中得到广泛应用。

为了实现MTPA控制策略,需要进行电机参数标定,其中MATLAB是一种常用的工具,可以辅助进行电机参数标定。

本文将介绍MTPA的MATLAB标定程序,旨在帮助读者了解MTPA控制策略的实现过程。

二、MTPA控制策略概述MTPA是一种电机控制策略,旨在使电机在给定的电流矢量条件下实现最大转矩输出。

其基本原理是通过调节电机的磁场和电动势,使得在给定电流下实现最大的转矩输出。

MTPA控制策略能够有效提高电机的效率,降低系统的能耗,广泛应用于电动汽车、工业驱动等领域。

三、MATLAB标定程序介绍1. 参数设置在进行MTPA控制策略的MATLAB标定程序之前,首先需要设置标定所需的参数。

这些参数包括电机的额定电压、额定电流、内阻、电感等参数。

同时还需要设置标定的转速范围、电流范围等。

2. 数据采集标定程序需要采集电机在不同转速和不同电流下的实际数据,以便进行参数识别。

通常可以通过连接数据采集系统和MATLAB进行数据的实时采集和存储。

3. 电机模型建立在MATLAB中建立电机的数学模型,包括电动势方程、电流方程等。

根据实际的电机特性和数据采集得到的数据,利用最小二乘法等方法对电机参数进行辨识,得到电机的等效电路参数模型。

4. 参数标定根据电机的等效电路参数模型,利用MATLAB进行参数标定。

将实际采集得到的数据与模型进行拟合,得到电机的内阻、电感和磁链等参数。

5. 仿真验证进行完参数标定后,需要对标定的结果进行仿真验证。

通过将标定得到的参数输入到电机的数学模型中,进行仿真分析,验证标定结果的准确性和有效性。

四、结论MTPA的MATLAB标定程序是一项复杂而重要的工作,需要对电机控制策略、MATLAB编程等方面有较深的理解和掌握。

通过本文的介绍,希望读者能够了解MTPA控制策略的实现过程,掌握MATLAB标定程序的基本流程和方法,从而为电机控制系统的设计和优化提供参考。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%电机设计程序clear allformat short em1=3;p=2;f=50%1.额定功率PN=*10^3 ;%2.额定电压(单位V,三角形接法)UN=380;UN0=380;%3.功电流(单位A)IKW=PN/(m1*UN0)%4.效率eta按照技术条件的规定eta=eta= ;%5.功率因数cos(phi) =,按照技术条件的规定cos(phi)=phi=acos;cos(phi);%6.极对数p=2p=2;%7.定转子槽数:每极每相槽数取整数。

参考类似规格电机取q1=3,则Z1=2m1pq1,再查表10-8选Z2=32,并采用转子斜槽。

q1=3;Z1=2*m1*p*q1Z2=32 ;%8.定转子每极槽数Zp1=Z1/(2*p)Zp2=Z2/(2*p)%9.确定电机的主要尺寸;一般可参考类似电机的主要尺寸来确定Di1和lef.现按10-2中的KE1=*log(PN/1000)*p+P1=KE1*PN/(eta*cos(phi))alphap1=;KNm1=;Kdp1=;A1=25000;Bdelta1=;n1=1450;V=(alphap1*KNm1*Kdp1))*(1/(A1*Bdelta1 ))*(P1/n1)D1=;%铁心的有效长度Di1=;lef =V/((Di1)^2)%气隙的确定%参考类似产品或由经验公式(10-10a),得lt=;delta =lef=lt + 2*deltaD2=Di1-2*delta%转子内径先按转轴直径决定(以后再校验转子轭部磁密)Di2= ;%11.极距 tautau =pi*Di1/(2*p)%12.定子齿距t1t1=(pi*Di1/Z1)%转子齿距t2t2=(pi*D2/Z2)bsk=;%15.设计定子绕组Nphi11=eta*cos(phi)*pi*Di1*A1/(m1*IKW)%取并联支路a1=1,由式(10-15),可得每槽导体数a1=1;Ns1=47%16.每相串联导体数Nphi1Nphi1=Ns1*Z1/(m1*a1)%每相串联匝数N1N1=Nphi1/2%17.绕组线规设计%初选定子电密J11=5.0A/mm^2,由式(10-16),计算导线并绕根数和每根导线面积的乘积。

J11=;%其中定子电流初步估计值I11=IKW/(eta*cos(phi))Nt1Ac11=I11/(a1*J11)%在附录二中选用截面积相近的铜线,高强度漆包线Nt1=2;d1=;d=;Ac11=;Nt1Ac11=*2;%18. 设定子槽形%因定子绕组为原导线散嵌,故采用梨形槽,齿部平行。

初步取Bt11=,按式(10-18)估计定子齿宽Bt11=;KFe= ;bt1=t1*Bdelta1/(KFe*Bt11)%初步取Bj11=,按式(10-19),估计定子轭部计算高度Bj11=;hj11=tau*alphap1*Bdelta1/(2*KFe*Bj11)%按齿宽和定子轭部计算高度的估算值作出定子槽形如图10-24,槽口尺寸参考类似产品决定,齿宽计算如下:b01=;b11=;h01=;h11=(b11-b01)/2*tan(pi/6);h21=r21=;bi11=pi*(Di1+2*h01+2*h21+2*h11)/Z1-2*r21;bi12=pi*(Di1+2*h01+2*h11)/Z1-b11;bt1=*(bi12+bi11)%齿部基本平行,齿宽%19.槽满率%曹面积hs1=h11+h21;h= ;As=((2*r21+b11)/2)*(hs1-h)+pi*(r21)^2/2%按附录三,槽绝缘采用DMD复合绝缘,,槽楔为h=2mm层压板,槽绝缘占面积Aideltai=;Ai=deltai*(2*hs1+pi*r21)%槽的有效面积Aef=As-Ai%槽满率sf=Nt1*Ns1*d^2/Aef%20.绕组系数alpha1=(p*360/Z1)Kp1=1;alpha=alpha1*pi/180,q=q1;Kd1=sin(q*alpha/2)/(q*sin(alpha/2))Kdp1=Kd1*Kp1%每相有效串联导体数NefNef=Nphi1*Kdp1%21.设计转子槽形与转子绕组%按式(10-39),预计转子导条电流:Ki= ;I21=Ki*I11*(3*Nphi1*Kdp1)/Z2%初步取转子导条电密JB1=3.5A/mm^2,于是导条截面积JB1=;AB1=I21/JB1%初步取Bt21=,估算转子齿宽Bt21=;bt21=(t2/10*Bdelta1)/(KFe*Bt21)%初步取Bj21=,估计转子轭部计算高度Bj21=;hj21=tau*alphap1*Bdelta1/(2*KFe*Bj21)%为获得比较好的起动性能,采用平行槽,作槽形图如图10-25所示,取槽口尺寸b02=1mm,h02=0.5mmb02=;h02= ;%齿壁不平行的槽形的宽度(按3-3)计算如下:b12=;h12=;h22=导条截面积(转子槽面积)AB=(b02+b12)/2*h12+(b12+b22)/2*h22%按式(11-41)估计端环电流IR1=I21*Z2/(2*p*pi)%端环所需面积JR1=*JB1;AR11=IR1/JB1AR11=(a+b)/2*(h02+h12+h22)*10^6AR1=input('输入端环面积AR1=')%其中端环电密JR1=,JB1=2.1A/mm^2.按照工艺要求有所需面积确定端环内径及厚度如图10-25b,得端环面积AE=40*10^(-6)%(二)磁路计算%22KE1=;epsilonl1=;E1=(1-epsilonl1)*UN%23Ks(1)=;KNm(1)=;precision=1;while precision >for n=1:3KNm(n)=input('输入波形系数KNm(n)=')alphap(n)=input('输入极弧系数alphap(n)=')phi(n)=E1/(4*KNm(n)*Kdp1*f*N1)%24At1=KFe*lt*bt1*Zp1At2=KFe*lt*bt213*Zp2%25hs1=h21+h01+h11+r21;hs2=h02+h12+h22;hj11=(D1-Di1)/2-hs1+r21/3hj21=(D2-Di2)/2-hs2Aj1=KFe*lt*hj11Aj2=KFe*lt*hj21%26Adelta=tau*lef%27Fs(n)=input('输入Fs(n)=')%28Bdelta(n)=Fs(n)*phi(n)/Adelta%29Bt1=Fs(n)*phi(n)/At1%30Bt2=Fs(n)*phi(n)/At2%31Ht1(n)=input('输入Ht1(n)=');Ht2(n)=input('输入Ht2(n)=');%32Kdelta1=t1*100**delta*100+*b01*100)/(t1*100**delta*100+*b01*100)-(b01 *100)^2)Kdelta2=t2*100**delta*100+*b02*100)/(t2*100**delta*100+*b02*100)-(b02 *100)^2)Kdelta=Kdelta1*Kdelta2deltaef=Kdelta*delta%33Lt1=(h11+h21)+1/3*r21Lt2=(h12+h22)%34Lj11=pi*(D1-hj11)/(4*p)Lj21=pi*(Di2+hj21)/(4*p)%35mu0=4*pi*10^(-7);Fdelta(n)=Kdelta*Bdelta(n)*delta/mu0%36Ft1(n)=Ht1(n)*Lt1*100Ft2(n)=Ht2(n)*Lt2*100%37Ks(2*n)=(Fdelta(n)+Ft1(n)+Ft2(n))/Fdelta(n)Ks(2*n+1)=Ks(2*n)-(Ks(2*n)-Ks(2*n-1))/3precision=abs((Ks(2*n-1)-Ks(2*n))/Ks(2*n))endendKs=Ks(6);alphap1=alphap(3);phi=phi(3);Bdelta=Bdelta(3);Fdelta=Fdelta( 3);Ft1=Ft1(3);Ft2=Ft2(3);KNm=KNm(3);Fs=Fs(3);Ht1=Ht1(3);Ht2=Ht2(3);%迭代的出来的结论%38Bj1=*phi/Aj1%39Bj2=*phi/Aj2%40Hj1=input('输入Hj1=')Hj2=input('输入Hj2=')%41hj11/tauCj1=input('根据Bj1和hj11/tau输入Cj1=')Fj1=Cj1*Hj1*Lj11*10^2hj21/tauCj2=input('根据Bj2和hj21/tau输入Cj2=')Fj2=Cj2*Hj2*Lj21*10^2%42F0=Fdelta+Ft1+Ft2+Fj1+Fj2%43Im=2*p*F0/*m1*N1*Kdp1)%44Ims=Im/IKW%45Xms=(4*f* mu0*m1/pi)*((N1*Kdp1)^2/(Ks*p))*lef*(tau/deltaef)Xmss=Xms*IKW/UN%(三)参数计算%46beta=(2*8+1*7)/(3*9)tauy=pi*(Di1+2*(h01+h11)+h21+r21)*beta/(2*p)d1=;lB=lt+2*d1K0=;l0=lB+K0*tauy%47lE=2*d1+K0*tauy%48Cx=4*pi*f*mu0*(N1*Kdp1)^2*lef*PN/(m1*p*UN^2)%49KU1=;KL1=;lambdaU1=h01/b01+2*h11/(b01+b11)h212r21=h21/(2*r21),b112r21=b11/(2*r21)lambdaL1=input('输入lambdaL1=')lambdas1=KU1*lambdaU1+KL1*lambdaL1%50Xs1s=2*m1*p/(Z1*Kdp1^2)*(lt/lef)*lambdas1*Cx%51sigmas=;Xdelta1s=(m1/(pi^2)*(tau/deltaef)*(sigmas/((Kdp1^2)*Ks)))*Cx %52XE1s=**tauy)*Cx/(lef*Kdp1^2)%53Xsigma1s=Xs1s+Xdelta1s+XE1s%54%55lambdaU2=h02/b02hb2=h22/b22,b1b2=b12/b22lambdaL=input('输入lambdaL=');lambdaL2=2*h12/(b02+b12)+lambdaLlambdas2=lambdaU2+lambdaL2%56Xs2s=2*m1*p/Z2*(lt/lef)*lambdas2%57Z22p=Z2/(2*p)sigmaR=input('根据Z22p输入sigmaR=')Xdelta2s=m1*tau*sigmaR/(pi^2*deltaef*Ks)%58DR=;XE2s=*Z2*DR/(2*p*lef*2*p))*(2*m1*p/Z2)%59Xsks=*(bsk/t2)^2*Xdelta2s%60Xsigma2s=(Xs2s+Xdelta2s+Xsks+XE2s)*Cx%61Xsigmas=Xsigma1s+Xsigma2s%62rhow=*10^(-6);R1=rhow*(2*N1*l0)/(Nt1*Ac11*a1)%63R1s=R1*IKW/UN%64C=;rhoCu=*10^3;GCu=C*l0*Ns1*Z1*Ac11*Nt1*rhoCurhoFe=*10^3;GFe=KFe*lt*(D1+delta)^2*rhoFe%65 AR1代替ARKB=;rhow1=*10^(-6);R21=rhow1*(KB*lt/AB+Z2*DR/(2*pi*p^2*AR1*10^(-6)))*(4*m1*(N1*Kdp1)^2/Z 2)RB1=rhow1*(KB*lt/AB)*(4*m1*(N1*Kdp1)^2/Z2)RBs=RB1*IKW/UNRR1=rhow1*Z2*DR/(2*pi*p^2*AR1*10^(-6))*(4*m1*(N1*Kdp1)^2/Z2)RRs=RR1*IKW/UNR2s=R21*IKW/UN%66eta(1)=;I1Ps(1)=1/eta(1);precisioneta=1;while precisioneta>for m=1:2I1Ps(m)=1/eta(2*m-1)%67sigma1=1+Xsigma1s/XmssIXs(m)=sigma1*Xsigmas*(I1Ps(m))^2*(1+(sigma1*Xsigmas*I1Ps(m))^2)%68I1Qs(m)=Ims+IXs(m)%69epsilonL(m)=I1Ps(m)*R1s+I1Qs(m)*Xsigma1sKE=1-(I1Ps(m)*R1s+I1Qs(m)*Xsigma1s)%70epsilon0=Ims*Xsigma1s1-epsilon0%71Bt10(m)=(1-epsilon0)/(1-epsilonL(m))*Bt1Ht10(m)=input('输入Ht10(m)=')Bt20(m)=(1-epsilon0)/(1-epsilonL(m))*Bt2Ht20(m)=input('输入Ht20(m)=')%73Bj10(m)=(1-epsilon0)/(1-epsilonL(m))*Bj1Hj10(m)=input('输入Hj10(m)=')%74Bj20(m)=(1-epsilon0)/(1-epsilonL(m))*Bj2Hj20(m)=input('输入Hj20(m)=')%75Bdelta0(m)=(1-epsilon0)/(1-epsilonL(m))*Bdelta%76Ft10(m)=Ht10(m)*Lt1*100%77Ft20(m)=Ht20(m)*Lt2*100%78hj11/tau,Bj10Cj1(m)=input('输入Cj1(m)=')Fj10(m)=Cj1(m)*Hj10(m)*Lj11*100%79hj21/tau,Bj20Cj2(m)=input('输入Cj2(m)=')Fj20(m)=Cj2(m)*Hj20(m)*Lj21*100%80Fdelta0(m)=Kdelta*delta*Bdelta0(m)/mu0%81F00(m)=Fdelta0(m)+Fj20(m)+Fj10(m)+Ft20(m)+Ft10(m) %82Im0=2*p*F00(m)/*m1*N1*Kdp1)%(四)工作性能计算%83I1s(m)=(I1Ps(m)^2+I1Qs(m)^2)^I1(m)=I1s(m)*IKW%84J1(m)=(I1(m)/(a1*Nt1*Ac11))/10^6%85A1(m)=m1*Nphi1*I1(m)/(pi*Di1)%86I2s(m)=(I1Ps(m)^2+IXs(m)^2)^I2(m)=I2s(m)*IKW*m1*Nphi1*Kdp1/Z2IR(m)=I2(m)*Z2/(2*pi*p)%87JB(m)=I2(m)/(AB*10^6)JR(m)=IR(m)/(AR1)%88pCu1s(m)=I1s(m)^2*R1spCu1(m)=pCu1s(m)*PN%89pA12s(m)=I2s(m)^2*R2spA12(m)=pA12s(m)*PN%90pss=;ps=pss*PN%91pfw=(3/p)^2*(D1)^4*10^4pfws=pfw/PN%92Bj10phej(m)=input('输入phej(m)=')k2=2;Gj=4*p*Aj1*Lj11*rhoFepFej(m)=k2*phej(m)*GjBt10phet(m)=input('输入phet(m)=')Gt=2*p*At1*Lt1*rhoFek1=2;pFet(m)=k1*phet(m)*GtpFe(m)=pFej(m)+pFet(m)pFes(m)=pFe(m)/PN%93sigmaps(m)=pCu1s(m)+pA12s(m)+pss+pfws+pFes(m)%94PN1s(m)=1+sigmaps(m)%95eta(2*m)=1-sigmaps(m)/PN1s(m)eta(2*m+1)=eta(2*m)+(eta(2*m)-eta(2*m-1))/5precisioneta=abs((eta(2*m)-eta(2*m-1))/eta(2*m)) endend%96I1s=I1s(2);I1Ps=I1Ps(2);phi=acos(I1Ps/I1s);cos(phi)%97pFers=((1-1/2)*pFej+(1-1/*pFet)*10^(-3)/PN*1000sN=pA12s/(1+pA12s+pFers+pss+pfws)%98nN=60*f/p*(1-sN)%99Tms=(1-sN)/(2*(R1s+(R1s^2+Xsigmas^2)^))%(五)启动性能%100K(1)=3;%101precisionist=1;K(1)=3;Ist(1)=K(1)*Tms*IKWwhile precisionist>for k=1:3Fst(k)=Ist(2*k-1)*Ns1/a1**(KU1+Kd1^2*Kp1*Z1/Z2)*(1-epsilon0)^beta0=+*(delta/(t1+t2))^BL=mu0*Fst(k)/(2*delta*beta0)%102KZ(k)=input('输入启动漏抗饱和KZ(k)=')%103cs1(k)=(t1-b01)*(1-KZ(k))%104cs2(k)=(t2-b02)*(1-KZ(k))%105deltalambdaU1(k)=(h01+*h11)/b01*(cs1(k)/(cs1(k)+*b01))lambdas1st(k)=KU1*(lambdaU1-deltalambdaU1(k))+KL1*lambdaL1%106Xs1sts(k)=lambdas1st(k)/lambdas1*Xs1s%107Xdelta1sts(k)=KZ(k)*Xdelta1s%108Xsigma1sts(k)=Xs1sts(k)+Xdelta1sts(k)+XE1s%109hB=h22;xi=*10^(-3)*hB*(f/rhow1)^%110b1b2=b22/b12;KF(k)=input('输入电阻增加系数KF(k)=')Kx(k)=input('输入电抗增加系数Kx(k)=')%111deltalambdaU2(k)=h02/b02*(cs2(k)/(cs2(k)+b02))lambdas2st(k)=(lambdaU2-deltalambdaU2(k))+Kx(k)*lambdaL2 %112Xs2sts(k)=lambdas2st(k)*Xs2s/lambdas2%113Xdelta2sts(k)=KZ(k)*Xdelta2s%114Xksts(k)=KZ(k)*Xsks%115Xsigma2sts(k)=(Xs2sts(k)+Xdelta2sts(k)+Xksts(k)+XE2s)*Cx %116Xsigmasts(k)=Xsigma1sts(k)+Xsigma2sts(k)%117R2sts(k)=KF(k)*RBs+RRs%118Rsts(k)=R1s+R2sts(k)%119Zsts(k)=(Rsts(k)^2+(Xsigmasts(k))^2)^%120Ist(2*k)=IKW/Zsts(k)precisionist=abs((Ist(2*k)-Ist(2*k-1))/Ist(2*k))Ist(2*k+1)=input('输入Ist(2*k+1)=')endend%121ist=Ist(6)/I1(2)%122Tsts=R2sts(3)/Zsts(3)^2*(1-sN)。

相关文档
最新文档