Simulin金宝appk上的家伙

金宝appSimulink与基于模型的设计

Arduino工程包

你听说过这家公司吗Arduino工程包还是

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

介绍

如果您一直在关注此博客,您可能会意识到我喜欢使用Matlab和Simulink在家中的各种项目。金宝app例如,看看我的Sous Vide Cook Machine Posts

当我听说Arduino现在提供Arduino Engineering套件时,我们有支持包装套餐,我联系了将它放在一起的团队,并询问我是否可以借用它借用它。金宝app金宝app

当你买套件时Arduino商店,您收到充满机电和电子零件的盒子,包括一个Arduino MKR1000

Arduino套件

该套件包括构建三个可能项目的说明:摩托车、漫游者或绘图机器人。

Arduino工具包中的3个项目

我决定去摩托车。我以为惯性轮使其自平衡将是一个有趣的控制项目。

入门

一旦您拼凑在一起,您需要在Matlab中安装几个包:

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

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

测试IMU

我的模型

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

这是最终结果的最高级别的图片。

最终模型

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

最终模型

接下来我处理每个传感器以在方便的工程单位中提取相关数据。

最终模型

现在是时候让状态流程图充当我的模型的大脑了。在左边,我检查三个条件:IMU已校准,摩托车未下降,飞轮未达到最大速度。当所有这些条件都满足时,我可以单击模型顶层的开始按钮。单击此按钮后ed,我有4秒钟的校准时间,在我开始平衡之前,我将摩托车保持在完全垂直的位置进行校准。如果摩托车坠落,我可以再次按下按钮重置控制器,然后重试。

最终模型

当图表启用平衡时,它会打开启用激活控制器的子系统。对于平衡帆轮,控制器是PID,其作为输入摩托车的滚动角度,并为飞轮产生电压指令。对于摩托车速度,这是一个简单的比例控制器,它作为输入摩托车的速度,整合并将其与车轮编码器进行比较。

最终模型

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

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

最终模型

它有效!

这是一个视频显示摩托车的视频:

参观Arduino Engineering Kit YouTube频道要查看更多示例。

现在轮到你了

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

|

评论

要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。