Arduino工程包
你听说过这家公司吗Arduino工程包还是
如果你有兴趣DIY项目并正在寻找一种有趣的方法来应用一些控制和机器人原则的真实系统,您可能想要阅读这篇文章。
介绍
如果您一直在关注此博客,您可能会意识到我喜欢使用Matlab和Simulink在家中的各种项目。金宝app例如,看看我的Sous Vide Cook Machine Posts。
当我听说Arduino现在提供Arduino Engineering套件时,我们有支持包装套餐,我联系了将它放在一起的团队,并询问我是否可以借用它借用它。金宝app金宝app
当你买套件时Arduino商店,您收到充满机电和电子零件的盒子,包括一个Arduino MKR1000:
该套件包括构建三个可能项目的说明:摩托车、漫游者或绘图机器人。
我决定去摩托车。我以为惯性轮使其自平衡将是一个有趣的控制项目。
入门
一旦您拼凑在一起,您需要在Matlab中安装几个包:
- 金宝app用于Ar金宝appduino硬件的Simulink支持包:这是您在Arduino Loards系列中部署Simulink模型所需的基本包。金宝app
- Arduino工程工具包硬件支持金宝app:此包包含套件中可用的所有传感器和执行器的驱动程序和示例模型。
- Arduino Engineering Kit项目文件:此软件包包含特定于三个项目的Simulink模金宝app型,用于模拟系统和在硬件上部署。
最简单的安装方法是通过附加组件MATLAB工具条中的菜单。
在安装了这三个软件包之后,我进入了例子文件夹的Arduino工程套件硬件支持包,并尝试了一个接一个的例子,以确保我能够利用所有的传感金宝app器和执行器。例如,这里是我的IMU测试,我把摩托车倾斜了90度左右,沿所有轴。这让我得出结论,轴我想控制,滚动a摩托车的角度,是欧拉角度输出的第二个元素,Y轴。
我的模型
工程工具包项目文件还包含一个完整的模型,用于平衡摩托车,并允许您控制其速度和转向角。然而,我认为从头开始建造我的会更有趣。如果你感兴趣,你可以在这里下载最终版本。
这是最终结果的最高级别的图片。
让我们看看每个组件。首先,在左侧我创建了一个子系统,其中我需要的所有传感器并将它们组合在总线中。
接下来我处理每个传感器以在方便的工程单位中提取相关数据。
现在是时候让状态流程图充当我的模型的大脑了。在左边,我检查三个条件:IMU已校准,摩托车未下降,飞轮未达到最大速度。当所有这些条件都满足时,我可以单击模型顶层的开始按钮。单击此按钮后ed,我有4秒钟的校准时间,在我开始平衡之前,我将摩托车保持在完全垂直的位置进行校准。如果摩托车坠落,我可以再次按下按钮重置控制器,然后重试。
当图表启用平衡时,它会打开启用激活控制器的子系统。对于平衡帆轮,控制器是PID,其作为输入摩托车的滚动角度,并为飞轮产生电压指令。对于摩托车速度,这是一个简单的比例控制器,它作为输入摩托车的速度,整合并将其与车轮编码器进行比较。
请注意,此平衡控制器并不完美。苍蝇电机上的传感器不允许直接测量苍蝇轮速度,使得难以完美地控制飞轮运动。我们正在努力!
最后,控制器的输出被发送到输出驱动器块。
它有效!
这是一个视频显示摩托车的视频:
参观Arduino Engineering Kit YouTube频道要查看更多示例。
现在轮到你了
请在下面的评论中告诉我们您对Arduino工程套件的看法。
评论
要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。