基于Simscape库的无刷直流电机BLDC速度电流双闭环仿真

MATLAB2019后simulink新加了库simscape物理仿真库,有单独的BLDC模型和PMSM模型,可以替代之前的电气库中Permanent Magnet Synchronous Machine。
在这里插入图片描述
基于Simscape的无刷直流电机BLDC物理模型,这里搭建了BLDC速度电流双闭环模型,由于PI参数没有仔细调整,目前电流波形还不是很好
在这里插入图片描述
在这里插入图片描述
下面讲解下整个基本原理和步骤

1、电机本体:

电机本体参数的设置可以右击查看帮助,了解参数的设置,其中主要需要修改这些参数,定子部分和转子部分
定子主要是星型还是三角形连接,一般是星型。反电动势类型,可以选择最大磁链,也可以选择单位反电动势电压和反电动势常数,这里常见选用转矩常数和单位反电动势电压,例如下表给出的0.06N·m/和A4.27V/krpm。转子重叠角度一般为90°除以极对数。
定子主要是相电阻和想电感,这里要注意是想到每一相的电感和电阻,一般电机参数给的线电感和线电阻,因此需要除以2.
在这里插入图片描述

一般实际电机生产商会提供电机以下参数
在这里插入图片描述
另外选择模块解释中有不同电机生产厂家提供的电机参数
在这里插入图片描述
可以对照符合自己想要设置电机参数进行对照修改或者直接选用
在这里插入图片描述
2.电机传感器
该BLDC模型不提供常见的输出端口输出信号,例如转矩,速度,转子角度,反电动势,定子电流等信号,只提供位置参考信号端口C和旋转端口R.一般位置参考选择物理机械参考,旋转端口接相应的传感器。
在这里插入图片描述
一般需要从电机物理旋转端获取位置信号,转矩信号等,传感器信号需要通过PS-Simulink模块转换。同理simulink信号转化为物理也要用到simulink-ps模块转换。另外转动惯量信号也需要接在转矩传感器后面,转动惯量影响启动快慢和空载电流的大小。
在这里插入图片描述
从simscape库中,可以选择专门的转矩传感器和转矩资源来测量转矩和加负载,由于电磁转矩的方向和负载的力矩方向总是相反的,所以负载信号需要乘以-1.
通过理想旋转传感器可以测量旋转角速度和位移,根据位置信号换算,从而获得霍尔信号和速度

在这里插入图片描述
在这里插入图片描述

通过转子霍尔信号可以得到换向顺序,也可以直接采用BLDC Commutation Logic直接得到导通顺序

在这里插入图片描述
在这里插入图片描述

根据换向顺序就可以控制三相全桥逆变器的导通顺,这里可以自己搭建三相全桥逆变器,也可以采用Converter模块。
在这里插入图片描述
在这里插入图片描述
simulink转化为物理控制信号,需要用到信号转换模块。
在这里插入图片描述

通过速度和电流双闭环控制直流电压源的大小
在这里插入图片描述
其中速度环采用PI控制,为了防止启动电流过大,加了一个限幅输出设置电流限幅0-6A,一般电流参数设置为:Kp=限幅电流/参考速度,Ki可以设小点0.01
在这里插入图片描述
速度暂时设置成这样,再来调节电流环,电流环也是采用PI控制,其反馈电流Idc需要取绝对值相加处理,电流参数设置:Kp尽量设大点,保证输出电流快速跟踪参考电流,再来调节KI来减小电流稳态误差。电流环调好后,再来优化速度环。
在这里插入图片描述
在这里插入图片描述
通过换向顺序判断电流是正是负?
在这里插入图片描述

最后,可以看到,无论是变速还是加负载,都能保持良好的速度跟踪响应。
在这里插入图片描述

### 使用 Simscape 建立和模拟直流电机模型 #### 创建新的 Simscape 文件 在 MATLAB 的命令窗口中输入 `ssc_new` 来创建一个新的 Simscape 模型文件[^1]。这会打开一个空白的 Simulink 模型界面,准备好用于物理建模。 #### 添加必要的组件 为了构建直流电机模型,需要从 Simscape 中拖动以下模块到工作区并连接它们: - **DC Voltage Source**: 提供恒定电压源。 - **Resistor 和 Inductor**: 表示电枢电路中的电阻和电感。 - **Rotational Electromechanical Converter (RM)**: 将电磁能量转化为机械能。 - **Mechanical Rotational Reference**: 定义旋转系统的参考点。 - **Wheel and Axle**: 模拟负载惯性和扭矩传递。 - **Rotational Damper**: 模拟阻尼效应。 - **Inertia**: 描述转子的转动惯量。 - **Ideal Rotational Motion Sensor**: 测量角度位置和速度。 - **Translational Spring**: 可选,用于特定场景下的弹簧力模拟[^2]。 这些模块可以通过导航至浏览器中的相应类别找到,并通过鼠标拖拽操作放置于设计区域。 #### 配置求解器设置 确保将 Solver Configuration 模块添加到您的模型中并与其余部分相连。此配置对于定义数值积分方法至关重要,从而影响仿真的精度与时序表现。 #### 运行仿真与数据分析 完成上述步骤之后,启动仿真过程。要查看变量的变化情况有两种方式: - 一种是利用 Scope 或其他显示工具来实时监控信号变化; - 另外也可以通过右键点击目标模块,在菜单选项里选择 “View Simulation Data”,进而访问存储的数据日志(如 out.simlog),进一步分析具体参数随时间演变的趋势。 ```matlab % 示例代码展示如何加载已保存的日志数据 load('simLogData.mat'); % 加载之前保存的日志文件 plot(simLog.Time, simLog.Data); % 绘制时间和对应数据的关系图 xlabel('Time(s)'); ylabel('Value'); title('Simulation Result Analysis'); ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Richer Fan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值