来自带有视频的霍尔效应传感器的反馈

霍尔效应传感器

霍尔效应传感器可以检测到磁场的存在,并在检测到磁场时产生输出电压。霍尔效应传感器,当与线性执行器,通常与磁盘一起位于执行器齿轮箱内。当线性致动器伸展或缩回时,该光盘旋转通过霍尔效应传感器,该霍尔效应传感器使传感器产生电压脉冲形式的数字输出。可以对这些脉冲进行计数,并用于确定执行器已移动了多远。

如何读取线性执行器的反馈

来自霍尔效应传感器的位置反馈

使用霍尔效应传感器进行位置反馈的不利之处在于它们无法测量绝对位置。相反,它们会产生可以计数的脉冲,以确定执行器已移动了多远。要将这些脉冲用于位置反馈,您需要使用 微控制器 计数产生的脉冲。为此,您需要利用微控制器的外部中断引脚对这些脉冲进行计数。外部中断是检测电压变化的引脚,在我们的情况下,可用于检测霍尔效应传感器的电压脉冲。您将需要查阅微控制器的数据表,以确保可以将微控制器的哪些引脚用作中断引脚。使用 Arduino Uno 例如,引脚2和3可用于外部中断。一旦选择了合适的中断引脚,就可以将霍尔效应传感器输出的导线连接到该引脚,以及将输入电压连接到5V并将地连接到接地引脚。

将霍尔效应传感器连接到Arduino 

下面的代码示例显示了如何在Arduino IDE中设置中断,该中断将在电压脉冲的上升沿触发。您可以将中断设置为在电压变化的不同点触发,并应查阅微控制器的数据表以确定可用选项。设置中断所需的最后一个方面是编写中断服务例程,该例程是每次触发中断时代码将运行的功能。此功能应该简短,并且仅执行简单的任务,例如计算霍尔效应传感器发出的脉冲数。以下代码示例中的功能countSteps()用于计算霍尔效应传感器发出的脉冲数。

要利用这些脉冲来确定位置值,您需要知道线性致动器的先前位置以及线性致动器行进的方向。您的微控制器已经知道您以哪种方式驱动线性致动器,因此,您可以简单地在代码中设置一个变量来跟踪执行器的方向,该变量将用于确定是从先前位置添加还是减去脉冲。更新位置后,您需要将计数的脉冲重置为零。下面的代码示例向您展示了一个根据所计数的脉冲数更新位置的函数。一旦有了脉冲位置,就可以使用线性执行器的每英寸脉冲规格将其转换成英寸。在下面的代码示例中,每英寸行程的脉冲为3500。

归位您的线性执行器

为了准确地利用霍尔效应传感器的位置反馈,您需要始终知道线性执行器的起始位置。尽管当您第一次打开系统时,您的微控制器将无法判断执行器是否已伸出。这需要您将线性执行器复位到一个已知的位置。要将线性执行器复位,您需要将其驱动到一个已知的位置,例如完全缩回。您还可以利用 外部限位开关 将您的已知位置设置为完全伸展或缩回之外的其他位置。以下面的Arduino代码为例,我们将要设置一个WHILE循环,该循环将线性致动器驱动到您已知的位置,在这种情况下,该致动器已完全缩回。我们知道您处于我们的已知位置,因为霍尔效应传感器的中断不会触发。在这种情况下,我们检查步骤变量是否已更改,以确定是否已触发中断。我们还需要确保已经过了足够的时间以期望触发中断,为此,我们使用了millis()函数,该函数以毫秒为单位输出自代码启动以来的时间,并将其与上一个时间戳进行比较。一旦确定线性执行器在原位,我们将停止驱动执行器,重置步长变量,然后退出WHILE循环。

处理错误触发

尽管霍尔效应传感器对电子噪声的灵敏度不如电位计高,但电子噪声仍可能影响输出信号。开关弹跳也可能是霍尔效应传感器的一个问题,该传感器可能会触发错误脉冲的计数,这会影响您的微控制器认为线性执行器已经移动了多远。额外的几个脉冲不会对定位产生太大影响,因为每英寸有数千个脉冲,但是随着时间的流逝,这可能是一个更大的问题。您可以通过使用内部计时器过滤掉错误的触发器来解决这些问题。当您可以确定检测新脉冲的频率时,您可以过滤掉由噪声触发的中断。在下面的代码示例中,trig-Delay是每个脉冲之间的时间延迟。如果在此延迟之前触发了中断,则不会计数脉冲。

延迟时间的长短会根据您的应用而有所不同,但是如果时间太短,则不能正确滤除噪声;如果时间太长,则会错过线性执行器的实际脉冲。线性执行器的速度也会影响此延迟,如果您想调节速度,则可能需要更改此变量以适应预期的新脉冲频率。为了准确确定每个脉冲之间的确切延迟,您可以使用逻辑分析仪查看来自霍尔效应传感器的实际信号。尽管在大多数应用程序中不需要这样做,但是如果需要非常精确的定位,则可能需要确定精确的延迟。

应对错误触发的另一种方法是,每次执行器到达已知位置时都要校正位置值。与将线性执行器归位一样,如果您将线性执行器驱动到完全缩回或伸出的位置,或者使用了 外部限位开关, 您会知道执行器移动了多远。如您知道霍尔效应传感器应发送多少步才能到达您的已知位置,您可以简单地更正该值,当我们到达它时。在下面的代码示例中,这是为完全扩展和完全缩回的位置完成的。由于执行器一旦到达其中一个位置时不会移动,因此如果我们尝试驱动执行器,并且位置值不改变,我们知道我们处于极限。此方法提供了一个实用的解决方案,以确保您的位置值保持准确,尤其是在操作过程中某些时间点完全缩回或完全扩展执行器时。您可以将此方法与上述方法结合使用,该方法应有助于保持位置值的准确性。

总结

与电位计的反馈相比,利用霍尔效应传感器进行位置反馈可提供更高的分辨率。由于每英寸移动的脉冲数为 1000 次,霍尔效应传感器在定位线性执行器时可提供精度和可靠性。霍尔效应传感器还提供了更大的能力,以确保多个线性执行器同时移动,因为脉冲计数比电位计的电压变化更准确。利用我们的 FA 同步 -X 执行器控制器,您甚至可以确保执行器无论负载如何,均一致移动。对于 DIYers,您可以检查如何确保执行器使用 Arduino 一致移动 这里.

下面是此博客中使用的完整示例代码,该代码是为了控制 14" 笔画长度而构建的 子弹系列 36 Cal. 线性执行器.线性执行器使用 电机驱动器,您可以了解如何设置 这里

[1] 莫纳里, G. (2013年6月) 了解光学和磁性编码器中的分辨率.从: https://www.electronicdesign.com/technologies/components/article/21798142/understanding-resolution-in-optical-and-magnetic-encoders

Tags:

Share this article

特色产品

12v Linear Actuator
经典杆式线性执行器 In Stock
From $119.99USD
Premium Linear Actuators
优质线性执行器 In Stock
$135.95USD
TVL-170后置弹出式电视升降机
TVL-170后置弹出式电视升降机 In Stock
On Sale From $590.00USD
12v  Linear Actuators
子弹系列50 Cal。线性执行器 In Stock
From $279.99USD

需要帮助查找正确的执行器?

我们精密地设计和制造我们的产品,以便您获得直接制造商定价。我们提供当天发货和知识渊博的客户支持。尝试使用我们的执行器计算器,以获得适合您应用的执行器帮助。