[使用Simulink在Arduino Mega上运行编码器

问题描述 投票:0回答:2

我正在将Simulink togheter与Arduino Mega 2560配合使用,以控制带有编码器的电机。编码器每转200步。我的目的是使用外部模式,以便将数据导出到Simulink范围中。

以前,当不使用Simulink模块时,使用attachInterupt可以很好地工作。由于Simulink没有该选项,因此现在不起作用。我尝试了两种方法:

  1. 使用数字输入块并触发>太慢
  2. 使用带有附加arduino(uno)的串行块Togheter,该arduino(uno)仅处理编码器信号(此附加arduino在Simulink中未编程)并将脉冲发送到主arduino(波特率似乎不是限制因素,而是这是该块仅处理uint8)的事实,也太慢了

我在Simulink许可证中看不到生成的代码,我更喜欢使用块的解决方案。是否有解决方法?

任何提示都值得赞赏!

arduino hardware interrupt simulink encoder
2个回答
0
投票

您可以使用arduino的attachinterrupt使用S函数来开发编码器算法。此链接可能有帮助http://www.mathworks.com/matlabcentral/fileexchange/39354-device-drivers


0
投票

更新:您可以使用外部中断块在最新版本的支持包中实现此功能。

© www.soinside.com 2019 - 2024. All rights reserved.