Arduino工程套件
你听说过Arduino工程套件?
如果您对DIY项目并正在寻找一种有趣的方式来将某些控制和机器人原理应用于真实的系统,您可能想阅读此帖子。
介绍
如果您已经关注此博客已有一段时间了,那么您可能知道我喜欢在家中使用MATLAB和SIMULINK。金宝app例如,请参阅我的Sous-Vide烹饪机帖子。
当我听说Arduino现在提供Arduino Engineering套件,并且我们有支持包裹与Simulink编程的支持软件包时,我联系了团队,并询问我是否可以借用一个来玩金宝app耍。金宝app
当您购买套件时Arduino商店,您会收到一个装满机械和电子零件的盒子,包括Arduino MKR1000:
该套件包括建立三个可能的项目的说明:摩托车,漫游者或绘图机器人。
我决定去买摩托车。我认为使其自动平衡的惯性轮将是一个有趣的控制项目。
入门
将套件拼凑在一起后,您将需要在MATLAB中安装一些软件包:
- 金宝appsimu金宝applink支持包的Arduino硬件:这是您需要在Arduino董事会中部署Simulink模型的基本软件包。金宝app
- Arduino工程套件硬件支持金宝app:此软件包包含套件中所有可用的传感器和执行器的驱动程序和示例模型。
- Arduino Engineering套件项目文件:此软件包包含特定于三个项目的模型,既可模拟系统金宝app和在硬件上部署。
安装它们的最简单方法是通过附加组件MATLAB工具条中的菜单。
安装了这三个软件包后,我进入了例子Arduino Engineering套件硬件支持软件包的文件夹,并一一尝试了示例,以确保我能金宝app够使用所有传感器和执行器。例如,这是我对IMU的测试,在那里我将摩托车沿所有轴来回倾斜了90度。这使我得出结论,我要控制的轴,摩托车的侧倾角是Euler角度输出的第二个元素,即Y轴。
我的模型
工程套件项目文件还包含一个完整的型号,该模型可以平衡摩托车,并允许您控制其速度和转向角度。但是,我认为从头开始建造我的矿山会更有趣。如果您有兴趣,可以在此处下载最终版本。
这是最终结果的最高级别的图片。
让我们看一下每个组件。首先,我在左侧创建了一个子系统,并使用我需要的所有传感器并将它们组合在公共汽车中。
接下来,我处理每个传感器以在方便的工程单元中提取相关数据。
现在是时候让状态流图充当我的模型的大脑了。在左侧,我检查了三个条件:校准了IMU,摩托车没有掉落,并且飞轮未达到最大速度。当满足所有这些条件时,我可以单击模型顶层的开始按钮。单击此点后,我进行了4秒的校准,在开始平衡之前,我可以完美地固定摩托车以进行校准。如果摩托车掉落,我可以再次按下按钮以重置控制器,然后重试。
当图表启用平衡时,它会打开激活控制器的启用子系统。对于平衡的飞轮,控制器是一个PID,它以输入摩托车的侧倾角并为飞轮产生电压命令。对于摩托车速度,这是一个简单的比例控制器,它以输入摩托车的速度将其集成并将其与车轮编码器进行比较。
请注意,这个平衡控制器并不完美。飞轮电动机上的传感器不允许直接测量飞轮速度,因此难以完美地控制飞轮运动。我们正在努力!
最后,将控制器的输出发送到输出驱动程序块。
它有效!
这是一个显示摩托车在行动中的视频:
参观Arduino工程套件YouTube频道查看更多示例。
现在轮到你了
在下面的评论中,让我们知道您对Arduino工程套件的看法。
注释
要发表评论,请单击这里登录您的数学帐户或创建一个新帐户。