×

Arduino上的伺服触发器固件

消耗积分:0 | 格式:zip | 大小:0.21 MB | 2022-12-29

张秀兰

分享资料个

描述

这个项目的动机

作为一个更大项目的一部分,我目前正在开发一个以传感器为中心的平移/倾斜系统,该系统使用 2 个伺服系统,每个伺服系统上都有实时电位计位置数据。我一直在寻找一种方法来根据所连接的传感器进行不同的扫描“模式”。Sparkfun 的伺服触发器固件似乎是一个很好的起点,但它只允许一个伺服,并且必须通过一系列跳线、按钮和电位器进行配置。我编写这段代码是为了将另一个伺服系统添加到混音中,并允许对不同的有限状态机 (FSM) 进行软件配置。伺服触发器基于ATTiny84

为什么不直接使用 Arduino 伺服库?

在互联网上搜索 16 位定时器、脉冲宽度调制、有限状态机、相量、Delta、线性插值以及狮子、老虎和熊大约 4 天后,我问了自己同样的问题。这就是让我继续前进的原因:

  • 尽管我坦白承认,在开始这个项目之前我从未听说过有限状态机!伺服触发器固件已经为 FSM 设置了内置逻辑,我读得越多,我就越喜欢知道伺服“在哪里”的想法。此外,我认为它会与我为下一个项目计划的电位器反馈系统很好地结合。
  • 完全控制驱动伺服系统的脉冲宽度,精确到微秒——这里没有抖动的伺服系统。我的廉价示波器(如果您要进行此类开发,我建议您使用)显示非常干净、稳定的脉冲,并且伺服系统运行非常平稳。
  • 它占地面积小。以后,如果我不需要特定的 FSM,或者根本不需要 FSM,我可以自信地将其从代码中取出以节省宝贵的内存。将伺服触发器升级到 ATMega328 给了我一些喘息的空间,但正如我之前所说,这是一个更大难题的一小部分。
  • 最后但同样重要的是:我喜欢挑战。

它并不完美,但这仅仅是个开始。在撰写本文时,我已将 3 个 FSM 从原始代码移植到 G2G_FSM 库:astableFSM、bistableFSM 和 oneshotFSM,它们可以在 Arduino 的主要 .ino 代码中配置。

G2G_FSM 库是我对未来开发的概念验证,也是我理解 Delta、相量、线性插值和一般 FSM 所涉及数学的大门。这段代码的主要目的是帮助我计划我对更大项目的攻击,并继续深入研究这段精彩的代码。我希望有人发现它对他们的下一个项目有用。我欢迎您提出任何意见、建议或问题。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !