人在仿真软件金宝app

金宝appSimulink &基于模型的设计

Arduino工程装备

你听说过吗Arduino工程装备

如果你感兴趣DIY项目和正在寻找一个有趣的方法,将一些控制和机器人原理应用到一个真实的系统,你可能想要阅读这篇文章。

介绍

如果你已经关注这个博客一段时间了,你可能会意识到我喜欢在家里使用MATLAB和Simulink进行各种项目。金宝app例如,请参阅my真空烹饪机立柱

当我听说Arduino现在提供了一个Arduino工程工具包,并且我们有一个支持包可以用Simulink编程时,我联系了组装它的团队,问我是否可以借一个来玩一下。金宝app金宝app

当你买装备的时候Arduino商店,你会收到一个装满机械和电子零件的盒子,包括Arduino MKR1000

Arduino工具包

该工具包包括三个可能的项目:摩托车、漫游者或绘图机器人。

Arduino套件中的3个项目

我决定去买摩托车。我认为转动惯量轮可以使它自我平衡,这将是一个有趣的控制项目。

开始

一旦你把工具包拼凑在一起,你将需要在MATLAB中安装几个包:

最简单的安装方法是通过附加组件菜单中的MATLAB工具条。

在安装了那三个软件包后,我进入了例子文件夹中的Arduino工程套件硬件支持包,并逐个尝试了示例,以确保我能够使用所有的传感器和驱金宝app动器。例如,这里是我的IMU测试,我倾斜摩托车90度前后沿所有轴。这让我得出结论,我想要控制的轴,摩托车的滚动角度,是欧拉角输出的第二个元素,Y轴。

测试乌兹别克斯坦伊斯兰运动

我的模型

工程套件项目文件还包含一个完整的模型,平衡摩托车,并允许您控制其速度和转向角度。然而,我认为从头开始创建自己的游戏会更有趣。如果你感兴趣,可以请在这里下载最终版本

这里是一张最终结果的顶级图片。

前最后的模型

让我们看看每个组件。首先,在左边我创建了一个子系统,其中包含我需要的所有传感器,并将它们组合在一个Bus中。

前最后的模型

接下来我对每个传感器进行处理,提取相关数据,方便工程单位使用。

前最后的模型

现在是状态流图充当模型大脑的时候了。在左边,我检查三个条件:IMU已经校准,摩托车没有下降,飞轮没有达到最大速度。当所有这些条件都满足时,我可以单击模型顶层的Start按钮。一旦这是点击,我有4秒的校准,在我开始平衡之前,我保持摩托车完美的垂直校准。如果摩托车摔倒了,我可以再按一次按钮重置控制器,然后再试一次。

前最后的模型

当图表启用平衡时,它会打开一个Enabled Subsystem,从而激活控制器。对于平衡飞轮,控制器采用PID控制,以摩托车横摇角度为输入,对飞轮产生电压指令。对于摩托车的速度,这是一个简单的比例控制器,以摩托车的速度作为输入,将其集成,并与车轮编码器进行比较。

前最后的模型

注意,这个平衡控制器并不完美。飞轮电机上的传感器不允许直接测量飞轮的速度,这使得很难完美地控制飞轮的运动。我们正在努力!

最后,控制器的输出被发送到输出驱动块。

前最后的模型

和它的工作原理!

下面是一段显示摩托车行动的视频:

参观Arduino Engineering Kit YouTube频道看更多的例子。

现在轮到你了

请在下面的评论中告诉我们你对Arduino工程套件的看法。

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。