小编mor*_*rbo的帖子

在“modellica 方法”中建模电流控制电机的数学块模型

对于我的一个项目,我用它自己的电流控制器控制 BLDC 电机。

为了设计电机控制器,我为流动函数添加了一些时间轨迹:

捕捉整个系统的动态,即电机、电流控制器/驱动器和负载。

J是转子惯量,[kg*m^2]

r阻尼常数(线性摩擦)

tau是扭矩常数 [Nm/A]

u[t]当前输入

der(der(phi))是角加速度

der(phi)角速度

拟合值代表整个系统对于电机、负载和电机的电流控制器/驱动器的“连续”近似来说已经足够好了。使用控制方案,我给出一个以安培为单位的信号 u(t),我希望输出一个扭矩和一个角速度。当时我只需要角速度,但我离题了,这种方法非常有效,而且是在 mathematica 中拟合和设计的。

我想在 modelica 中构建一个更大、更复杂的机器人系统(但是,特别是 Systemmodeler,modelica 库 3.2.x),但是我遇到了一些问题。

我的第一次尝试是:

在此处输入图片说明

但是,当用另一个外部负载(外部模型)对此进行模拟时,我遇到了很多问题,来自一些比我更有经验的人,有人告诉我这种建模形式是“一种方式”而不是“modelica 方法”,但是更多的simulink形式。

也就是说,它应该是双向的,而不仅仅是数字输出,以便与多体外部模型正确反应,这将连接到。

我的第二次尝试是:

在此处输入图片说明

当连接到我更大的多体模型时,它确实更像预期的那样工作,当施加外部扭矩/负载时,这个模型会产生反应。然而,当模拟这个模型以查看它与纯块模型相比如何公平时,它们无论如何都不相同。我不得不花费大量时间尝试拟合惯性和摩擦数据以获得类似的结果。

所以我的问题是,最好的方法是什么,将纯块模型(数学模型)或至少,我的纯块模型变成更现实的模型,或者至少,将连接输出变成更现实的,或者我猜是“非偶然”的.

我不想使用我的第二次尝试,因为我不能相信我必须调整的值与块相比实际上是正确的,因为与我的第一个模型相比,它们没有将值拟合到现实世界的数据。

modeling modelica systemmodeler openmodelica

1
推荐指数
1
解决办法
55
查看次数

标签 统计

modelica ×1

modeling ×1

openmodelica ×1

systemmodeler ×1