家伙在simu金宝applink上

金宝app基于模型的设计

Arduino工程套件

你听说过Arduino工程套件

如果您对DIY项目并正在寻找一种有趣的方式来将某些控制和机器人原理应用于真实的系统,您可能想阅读此帖子。

介绍

如果您已经关注此博客已有一段时间了,那么您可能知道我喜欢在家中使用MATLAB和SIMULINK。金宝app例如,请参阅我的Sous-Vide烹饪机帖子

当我听说Arduino现在提供Arduino Engineering套件,并且我们有支持包裹与Simulink编程的支持软件包时,我联系了团队,并询问我是否可以借用一个来玩金宝app耍。金宝app

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

Arduino套件

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

Arduino套件中的3个项目

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

入门

将套件拼凑在一起后,您将需要在MATLAB中安装一些软件包:

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

安装了这三个软件包后,我进入了例子Arduino Engineering套件硬件支持软件包的文件夹,并一一尝试了示例,以确保我能金宝app够使用所有传感器和执行器。例如,这是我对IMU的测试,在那里我将摩托车沿所有轴来回倾斜了90度。这使我得出结论,我要控制的轴,摩托车的侧倾角是Euler角度输出的第二个元素,即Y轴。

测试IMU

我的模型

工程套件项目文件还包含一个完整的型号,该模型可以平衡摩托车,并允许您控制其速度和转向角度。但是,我认为从头开始建造我的矿山会更有趣。如果您有兴趣,可以在此处下载最终版本

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

最终模型

让我们看一下每个组件。首先,我在左侧创建了一个子系统,并使用我需要的所有传感器并将它们组合在公共汽车中。

最终模型

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

最终模型

现在是时候让状态流图充当我的模型的大脑了。在左侧,我检查了三个条件:校准了IMU,摩托车没有掉落,并且飞轮未达到最大速度。当满足所有这些条件时,我可以单击模型顶层的开始按钮。单击此点后,我进行了4秒的校准,在开始平衡之前,我可以完美地固定摩托车以进行校准。如果摩托车掉落,我可以再次按下按钮以重置控制器,然后重试。

最终模型

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

最终模型

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

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

最终模型

它有效!

这是一个显示摩托车在行动中的视频:

参观Arduino工程套件YouTube频道查看更多示例。

现在轮到你了

在下面的评论中,让我们知道您对Arduino工程套件的看法。

|

注释

要发表评论,请单击这里登录您的数学帐户或创建一个新帐户。