在
上一篇有关面向模型的设计的文章中,表明并非所有技术都同样有用。 它解释了如何正确地进行操作,以免造成极大的痛苦。 但是在文章的最后,提出了一个问题,就像在调查人员的审讯中像莎朗·斯通(Sharon Stone)那样具有挑衅性:面向模型的设计当然是好的,但是如何证明模型与对象匹配呢? 你有什么证据?
这个问题的一般答案仍在准备中,但是我现在可以为您提供有关特定实例的真实而新鲜的示例。 就像在偶然的情况下一样,在我手中,这是来自我国领先的电力驱动专家Kalachev Yuri Nikolaevich的文字,他是《
电力驱动建模》一书的作者
。 理解说明。 以及他的出版许可。 该文本仍在准备中,以便在专业出版物中出版,但是Habrir的读者将首先看到它。
进一步削减
Kalachev Yu。N.,Lantsev V.Yu.,Okulov E.V.无刷直流电动机
(在Aeroelectromash JSC中应用建模和代码生成的实践)同志们,万岁! 发生了!
最后,我们看到了国内传动行业不断发展的趋势所取得的成果。
本文讨论了使用仿真和代码生成设计电驱动器的技术。 (正确的面向模型设计 )
对于建模,这对于我们的驱动程序来说不是新问题。 但是很少有人尝试从其模型以及在全球范围内自动生成驱动控制器程序的代码。
我们敢断言,这种有用的趋势(由另一个程序自动编写一个程序)将在未来的数字世界中积极发展。 较早开始的人将获胜。
我们希望保留这样的观点,我们认为代码生成不会取消也不替代程序员,而只会帮助他。 当然,在这种情况下,我们认为所生成程序的SI代码应该为此打开。
因此,自动代码生成的结果是C代码,可供查看和分析。
在我们的案例中,控制对象是某种带有无刷直流电机(BDT)的电驱动器,其轴连接到变速箱,变速箱将旋转转化为杆的平移运动。
电动驱动器的任务是非常标准的-定位杆的轴,最好更快,更精确。...通常,这些驱动器用于控制无人机的舵。
设备控制单元是在Aeroelectromash JSC的电力驱动部门基于微控制器1986BE1T(PKK Milander JSC)设计和制造的。 为了在实际问题中进一步使用它,有必要创建算法和控制器控制程序。
这项工作是由3V服务公司的专家和Aeroelectromash JSC电气驱动部门的员工共同完成的。
我们团队面临的首要任务是识别控制对象。 为此,对发动机特性进行了一些测量,结果非常具体。
例如,测得的电动机电动势具有非常奇怪的形状,如图1所示。

图1.测得的电动机电动势。
如果读者熟悉Simulink程序,那么他就会知道,在带有常数和磁铁的电动机模型中,可以选择正弦或梯形EMF。
好了,去哪里去贫穷的农民? 正弦在哪里,梯形在哪里? (必须打开正确的建模工具!)。 在SimInTech环境中,甚至可以考虑这种发动机缺陷。 我们已经设置了图2所示的EMF表格。

图2.在SimInTech中创建的引擎EMF
在图1和图2中找到两个差异。 我们发现一件事-颜色。
由于定子磁路的几何形状和转子磁铁的槽不存在斜角,因此发动机的下一个特点是其明显的齿矩。 通过实验测量了力矩,并将其引入了模型。 齿矩图如图3所示。

图3.插脚力矩。
另外,在发动机模型中考虑了磁化损失,其他仿真程序开发人员的数学模型中没有此功能。
此外,将电驱动器的操作与测试模式下的仿真结果进行了比较。 下图。 图4和5显示了空闲测试的结果(无负载时的最大频率)。

图4.空转。 真正的引擎。

图5.相电流空闲。 仿真结果。
结论:
实际和模型空转的波形图重合。 在视觉上,看不到差异。
成功进行怠速测试后,对装有变速箱的发动机进行了动态冲击测试。 在该实验中,以30 Hz的频率反向施加恒定电压到电机绕组。 在这种情况下,输出链路以相同的频率振荡。 图6显示了该实验的结果:

图6.实际引擎在负载下
(信号是有干扰的。高频抖动和模糊是对位置传感器和电流传感器信号的干扰)。
将获得的数据与以类似模式运行的驱动器模型进行比较(图7)。

图7.负载模型
结论:
- 杆在现实中和模型上的运动完全重合
- 实际电动机电流和模型的峰值与测量误差的精度一致。
基于SimInTech程序的标准库元素构建的电驱动器的动力和机械零件的经过验证的模型的类型如图8所示。
图8.包括机械部分的电驱动器的复杂模型示意图。它包含以下模型:
- 电力逆变器
- 带有转子位置传感器(DPR)的电机
- 机械传动
- 电流传感器
- 装载机
在确保模型的行为与真实产品的行为匹配之后,根据模拟结果,您可以选择控制系统(CS)的必要结构,并为技术任务中列出的不同输入类型进行配置。
在我们的案例中,带阻尼耦合速度的双回路位置控制系统显示出良好的效果。 这种结构的模型图如图9所示。

图9.驱动控制程序的设计方案。
随着代码生成的进一步使用,无需对控制系统算法进行手动编码-Keil uVision开发环境中的完成项目将自动创建。 汇编程序的二进制映像后,可以将其转换为我们的处理器(1986BE1T)。
请注意,在仿真模式下,“关键选择”,“外围设备初始化”,“ ADC”,“ SSP2 ADC”模型块实现了相应的数学模型,并且在代码生成期间,它们被库替换,以用于所用处理器的外围设备。
选择控制系统的结构及其设置后,我们必须:
- 进行程序的自动代码生成
- 将接收到的程序写入控制器
- 取得出色的成绩
在图10中,您可以比较模型和实际驱动器的操作。 使用频率为3 Hz,幅度为3 mm的正弦波作为位置参考。
为了从控制器获得数据,在其程序中提供了一个特殊部分,该部分通过串行接口读取内部信号。 当驱动器运行时,用户可以在SimInTech窗口中查看固件的结果。

图10.模型与实际驱动器的比较。
好吧,这里的颜色也一样。
同志们,万岁! 发生了!
对电动驱动器主题感兴趣的每个人都建议下载免费书籍
Kalachev Yu.N. Modeling in electric drive。