在此示例中,我们将演示如何使用Arduino读取Firgelli反馈杆执行器的信号,并将其转换为杆延伸到多远的距离测量。本教程基于教程“使用Arduino的电机驱动器速度控制”,我们建议您先阅读该教程,然后再继续。
注意:本教程假定您具有基本的电子原理,Arduino硬件和软件的先验知识。如果这是您第一次使用Arduino,我们建议您从Google和YouTube搜索中提供的许多出色的初学者教程中学习基础知识。请注意,我们没有资源为自定义应用程序提供技术支持,并且不会在这些公开教程之外调试,编辑,提供代码或接线图。
组件
接线
读取位置的硬件和软件概述
如上组装电路,并上传以下代码。您需要将代码的第16行修改为您的特定行程长度,当前已将其设置为6英寸反馈杆执行器。
该程序将首先扩展并完全缩回执行器,以从电位计中找到最小和最大模拟传感器读数(代码的第27和28行)。这是必需的,因为尽管电位计读数的范围为[0,1023],但实际上由于执行器内部的齿轮比会阻止电位计完全旋转至极限,因此可能会减小该范围。
按照此初始校准顺序,执行器将连续扩展和缩回输出数据流,以显示线性执行器当前的扩展长度(以英寸为单位)。
码
https://gist.github.com/Will-Firgelli/8c78092ca850aa8a50ae36842b97150f使用外部电位器控制位置
上面的示例演示了如何从反馈杆执行器获取读数,但是说我们要将执行器移动到特定位置,我们该如何做?下一节将通过使用外部电位计作为执行器所需设定点位置的用户输入来解决这种情况。实际上,您可以修改此示例以从所需的任何形式获取用户输入。
接线
位置控制的硬件和软件概述
接线几乎与本教程的第一部分完全相同,只是现在外部电位计已连接到模拟引脚A1。
下面的程序通过外部电位计移动到用户设置的位置。在代码的第18行中,设置了一个缓冲区变量,稍后将在第36和39行中使用。缓冲区变量给出了执行器将停止移动的所需设定点位置附近的范围,因为两个电位计都有一个波动幅度为+/- 2个单位。这样,如果不包括缓冲器,则执行器将在设定位置附近剧烈振动。要查看实际情况,请将第18行中的缓冲区设置为零(请勿使执行器长时间振动,因为这可能会造成损坏)。