基于Simplorer的永磁直流电机控制

电子说

1.2w人已加入

描述

1 概述

Ansys Simplorer是直观易用、多物理域、多层次的系统仿真软件,能够帮助工程师实现复杂的高精度快速设计、仿真分析与优化设计,包括:电机、电磁、电源和其它机电一体化系统。Simplorer提供集成化的设计环境,满足客户对复杂系统,如:机电部件、电力电子线路、系统级机电控制等,进行高精度建模和仿真分析,并考虑部件和系统的相互影响的需求。强大的虚拟仿真技术,可帮助用户深入研究产品设计的每个方面,是开发复杂的电力推动系统、电机及驱动系统、以及新能源系统理想的设计工具,能在快速实现高精度设计的同时,降低设计成本。

本文将构建一个简单的AC/DC 二极管整流器,为直流永磁电机供电,同时还将构建一个完整的控制方案,用于在启动和突然负载变化的情况下驱动电机,对永磁直流电机进行控制。

通过本文的学习,读者将了解到以下内容:

(1)如何创建和使用数据集来指定组件属性;

(2)如何在没有物理线连接的情况下连接组件;

(3)如何在组件之间传递信息;

(4)如何使用不同的块体来创建复杂的控制结构;

(5)如何在同一图中绘制不同的数据(信号)。

2 实现方法

首先插入一个Simplorer的设计。启动 Electronics Desktop,将项目另存为 WS_2_1.aedt,使用图标永磁直流电机 插入Simplorer设计,将设计重命名为DC_Motor_Control,使用图标 永磁直流电机 再次保存项目。

永磁直流电机

项目另存为 WS_2_1.aedt

永磁直流电机

设计重命名为DC_Motor_Control

接着插入元件──电压源。

在组件库窗口中SimplorerElements>>Basic Elements>>Circuit>>Sources,选择E:Voltage Source,将其拖放到Schematic中三次,双击电压源 Voltage Source E1, 选择TimeControlled>>Sine 使其成为正弦波,勾选Spice兼容,选择RMS Value 值为 120Vac 频率选择 60Hz, 按OK确认,对E2和E3重复该过程,分别添加相位120度和240度。

永磁直流电机

Voltage Source

永磁直流电机

设置为Sine

永磁直流电机

添加120度位

接着插入元件──二极管。

在组件库窗口中SimplorerElements>>Basic Elements>>Circuit>>Semiconductor system Level,选择二极管,将其拖放到原理图中七次,按Esc键退出插入模式并使用快捷键 Ctrl+D 来适应所有。

永磁直流电机

插入二极管

接着插入元件──电容器

在组件库窗口中SimplorerElements>>Basic Elements>> Circuit>>Passive Elements,选择电容器,将其拖放到原理图中,按Esc键退出插入模式,双击电容器,将值更改为1mF,在可见性下的输出/显示选项卡中选择电容值。

永磁直流电机

Passive Elements

永磁直流电机

插入电容器

永磁直流电机

电容值更改为1mF

永磁直流电机

在可见性下的输出/显示选项卡中选择电容值

接着插入元件──直流电机

选择SimplorerElements>>Basic Elements>>Circuit>>ElectricalMachines>>DC Machine,选择DCMP,将其拖放到示意图中,按Esc 退出插入模式。使用3次快捷键 Ctrl+R 将 DCMP 组件逆时针旋转270度,双击DCMP并设置RA=1.2ohm,LA = 9.5mH,KE=0.544Wb,J=0.004kgm2,如下图所示。

永磁直流电机

插入直流电机DCMP

永磁直流电机

DCMP参数设置

接着插入零部件──半导体开关(Mosfet)

在组件库窗口中SimplorerElements>>Basic Elements>>Circuit>>Semiconductor system Level,选择 Mosfet (MOS),将其拖放到 Schematic中,选择MOS并使用快捷键 Ctrl+R将其逆时针旋转90度,确保使用Pin被选中。

永磁直流电机

插入半导体开关(Mosfet)

永磁直流电机

确保使用Pin被选中

接下来连接组件。

将鼠标放在组件的一个终端上,鼠标指针的形状变为十字形,按下 LMB 并移动十字直到下一个组件的连接端子。添加Ground节点,单击图标

永磁直流电机 , 并将其放入Schemaic,连接所有组件,直到完成如图所示的电路。

永磁直流电机

连接端子

永磁直流电机

驱动电路

接下来创建数据集。

现在将创建一个数据数组,用于表示直流电机负载扭矩。在库窗口Simplorer Elements>>Basic Elements>>Tools>>TimeFunctions,选择DATAPAIRS组件,将其拖放到Schematic中,双击DATAPAIRS块,将名称更改为TorqueLoad,然后单击Characteristic按钮。选择数据集...按钮,然后添加(创建新数据集)。

永磁直流电机

名称更改为TorqueLoad

永磁直流电机

单击Datasets

永磁直流电机

单击Add

将名称更改为Tload并根据以下内容输入时间/值对:

0 1

0.075 1

0.08 10

0.1 10

永磁直流电机

输入时间/值对

点击“确定”,然后“完成”,然后再“确定”,然后,点击确定退出所有窗口。

接下来向直流电机添加新的负载转矩。

再次双击TorqueLoad表查找块,选择输出/显示选项卡,取消选中输出值VAL的输出显示引脚框。双击DC Motor组件并将负载输入定义为刚刚创建的指定TorqueLoad.VAL的表查找块的输出。

永磁直流电机

取消选中输出值VAL的输出显示

永磁直流电机

负载定义为TorqueLoad.VAL

接下来添加控制方案。

控制方案由外部SpeedControl回路和内部Current Control 回路组成。这两个控件有不同的目标,其中速度控制将电机驱动到1000rpm的固定速度,电流控制使电流不超过最大值,将其限制在20A左右的±2.5A范围内,要实现的完整方案如下图所示。

永磁直流电机

外部Speed Control回路和内部Current Control回路

接下来插入控制逻辑模块。

在组件库窗口中SimplorerElements>>Basic Elements>>Blocks>>Continous Blocks,选择GAIN块并将其拖放到Schematic中3次,选择INTG(积分器)块并将其拖放到原理图中。在组件库窗口中Simplorer Elements>>BasicElements>>Blocks>>Sources Blocks。选择CONST(常量值)块并将其拖放到原理图中,在组件库窗口中Simplorer Elements>>BasicElements>>Blocks>>Signal Processing Blocks,选择 SUM块并将其拖放到Schematic中3次,选择TPH (Two-Point Element with Hysteresis) 块并将其拖放到Schematic中,选择LIMIT(限制器)块并将其拖放到Schematic中,将10个块排列如下图。

永磁直流电机

外部Speed Control回路和内部Current Control回路所需元器件

接下来设置组件可见性和属性。

为了在原理图上获得更好的组件可见性,建议检查高级属性转到菜单项Tools>>Options>>General Options>>SchematicEditor>>General 最终选中“显示高级属性数据”。在Tools>>Schematic Editor >>Fonts选择所需的字体类型和字体大小。 您还可以选中“应用此字体...活动原理图”框来修改已放置在原理图上的元素的可见性。准备好后,点击OK。

永磁直流电机

显示高级属性数据

永磁直流电机

Fonts字体设置

接下来对齐组件。

为了使模块方案和一般每个电路更具可读性,使用Simplorer提供的对齐功能通常很有帮助,要水平对齐元素/块,首先选择要对齐的元素/块,然后转到菜单项 Draw>>Align Horizontal,要垂直对齐元素/块。先选择要对齐的元素/块,然后转到菜单项Draw>>Flip Vertical。

永磁直流电机

Align Horizontal与Flip Vertical

接下来修改增益模块属性。

双击GAIN1并将名称更改为Motor_speed,在Output/Display Tab, 不勾选Show Pin 而选INPUT,在参数选项卡INPUT设置为DCMP1.N(DC Motor Speed),KP设置为1,TS为0。

永磁直流电机

GAIN1(Motor_speed)双击GAIN2并将名称更改为Proportional_Gain,在参数选项卡KP设置为50。

永磁直流电机

GAIN2(Proportional_Gain)

双击GAIN3并将名称更改为Motor Current,在Output/Display Tab, 不勾选Show Pin而选择INPUT,在参数选项卡INPUT设置DCMP1.IA (DC Motor Current),KP设置为1,TS设置为0。

永磁直流电机

GAIN3(Motor_current)

接下来修改求和模块属性。

按Ctrl键选择SUM1、SUM2和SUM3,执行RMB>>Flip Vertical,双击SUM1并将INPUT[0]的符号设置为“-”,保持SUM2不变,双击SUM3并将INPUT[1]的符号设置为to “-”。

永磁直流电机

SUM1

永磁直流电机

SUM3

接下来修改常量模块属性。

双击CONST1并将名称更改为N_REF,将值给定为1000。

永磁直流电机

常量模块

接下来修改INTG积分模块属性。

双击INTG1并将名称更改为Integral_Gain,在参数选项卡中将KI给定为20。

永磁直流电机

INTG积分模块

接下来修改限制模块属性。

双击LIMIT1并将名称更改为Limiter,在参数选项卡中,将UL给定为20,将LL给定为0。

永磁直流电机

限制模块

接下来修改TPHBlock (Schmitt Trigger) 模块属性。

双击TPH并将名称更改为Control_Output,在参数选项卡中,将THRES1给定为-2.5,将THRES2给定为2.5,将VAL1给定为-1,将VAL2给定为1。

永磁直流电机

TPH Block(Schmitt Trigger)模块

接下来连接模块和控制方案。

按下入进行10个模块的连接。

永磁直流电机

连接10个模块

将Control_Output模块连接到Mosfet的门级。

永磁直流电机

Control_Output模块连接到Mosfet的门级

接下来进行后处理准备。

选择菜单Draw>>Report>>RectangularPlot,并将绘图放置在原理图中,如放在电路上方,此时会自动弹出New Trace窗口,用户可通过选择数量来选择流经DCMP电机的电流 DCMP1.IA,单击“Add Trace”按钮,然后单击“Close”关闭。

永磁直流电机

Rectangular Plot放置在电路上方

永磁直流电机

选择DCMP电机的电流 DCMP1.IA

接下来设置模拟分析。

在本示例中,由于使用的控制技术,无法轻松预测 Mosfet 开关频率,为了确保以适当的方式表示所有可能的瞬态,在这种情况下,我们为Hmin和Hmax设置了非常小的值。在瞬态分析设置窗口中,给定Tend为120ms,给定Hmin为1ns,给定Hmax为1ms,点击OK键确认。

永磁直流电机

瞬态分析求解设置

最后进行分析与结果的查看。

选择菜单SimplorerCircuit>>Analyze运行分析,流经直流电机的电流的最终结果应与下图非常相似。

永磁直流电机

电流结果

选择图表报告RMB>>ModifyReport,选择参数DCMP1.N与TorqueLoad.VAL同时按下Add Trace,得到如下结果。

永磁直流电机

电流、转速、转矩结果

用户需要注意的是,当电机加速到所需速度时,电机电流将受到限制,一旦电机达到所需速度,电机电流就会降低以保持速度,当转矩负载再次增加时,它会导致电机电流增加以支持增加的转矩负载,以保持速度恒定。

此Workshop到此结束,最后,在工作文件夹中保存名为WS_2_1 的文件。

3 总结

本文以永磁直流电机为例,介绍了基于Simplorer的电机控制模型。我们建立了一个简单的 AC/DC 二极管整流器,为直流永磁电机供电,同时还构建了一个完整的控制方案,用于在启动和突然负载变化的情况下驱动电机,来对永磁直流电机进行控制。Simplorer强大的虚拟仿真技术,可帮助用户深入研究产品设计的每个方面,是电机及驱动系统、以及新能源系统理想的设计工具,能在快速实现高精度设计的同时,降低设计成本。

审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分