接近开关
接近开关或传感器是非接触式开关,可以检测附近是否存在物体。当物体位于传感器前面或物体被拿走时,这些传感器可用于告诉线性执行器移动或停止。它们还可用于确定最近的物体距它们有多远,并可用于提供反馈来控制线性致动器。通常,您会看到接近传感器与免提或非接触式设备一起使用,例如非接触式干手器和 SUV 中的免提电动尾门,但也广泛用于工业应用。配合使用 线性执行器,接近传感器可用于各种情况,包括非接触式控制和物体检测反馈。
接近传感器通常通过使用电磁场、光或声音来检测物体的存在[1]。线性执行器检测物体是否存在的方法取决于接近传感器的类型。接近传感器有四种常见类型:
- 电感式: 使用磁场检测含铁材料
- 电容式: 使用电容变化来检测物体
- 光电:使用光来检测物体是否存在
- 超声波: 使用声音来检测物体是否存在
您选择的类型取决于您的应用以及您想要检测的材料 [1]。在选择合适的接近传感器时,您还需要考虑许多其他规格,其中包括检测范围、响应时间、开关频率、工作温度和输出信号。要选择合适的接近传感器,您需要考虑您的应用需求、传感器类型、上述规格,并查阅传感器数据表以获取更多信息。
接近传感器和运动探测器有什么区别?
接近传感器不是运动检测器,因为它们检测物体的接近度而不是运动。 运动探测器顾名思义,感知运动而不是物体或人的接近程度。从功能上讲,接近传感器能够告诉您物体与传感器的距离,无论物体是否移动。而运动探测器则仅在有运动时才会触发,无论物体有多近。
非接触式控制
对于非接触式控制,您将像使用简单的按钮一样使用接近传感器。为此,您需要选择一个检测范围较短的接近传感器,这样您就不会意外触发开关,并且选择一个可以检测您的手、脚或任何您想要检测的物体的传感器。电容式接近传感器是一个不错的选择,因为它们的检测范围很短,可以检测多种材料,但超声波和一些光电接近传感器只要检测范围较短,也可以工作[1]。您需要将接近传感器连接到微控制器,例如 Arduino,读取传感器的输出。如何将接近传感器连接到微控制器将取决于您选择的传感器,但在大多数情况下,您的微控制器将接收数字转换的模拟值,或者需要将模拟信号转换为数字值。
在此应用中,接近传感器仅充当单个按钮,这将限制我们对线性执行器的控制。利用我们的微控制器,我们可以编写代码,在传感器被触发时在伸出和缩回之间切换,并利用线性执行器的内部限位开关在执行器到达完全伸出或缩回位置时停止执行器。我们还可以利用内部反馈或外部限位开关,这将使我们能够利用其他位置,而不是完全伸出或缩回,尽管我们仍然限于两个位置。要在微控制器的固件中执行此操作,我们需要在每次触发接近传感器时切换标志变量。下面的代码示例显示了 Arduino IDE 代码的主循环,使用标志sensorFlag来确定要移动的方向 驱动线性执行器,这是由一个驱动 电机驱动器.
要切换此标志,我们需要读取接近传感器的值。由于我们不知道传感器何时会被触发,因此我们要么需要在代码的主循环中不断读取传感器,要么可以利用内部定时器中断定期读取传感器。后者被认为是最佳实践,特别是如果您想使用微控制器执行并行任务,因为它可以确保您的传感器始终在准确的时间段内被读取。下面的代码示例使用 Arduino,展示了如何设置每秒触发的内部计时器中断。对于 Arduino,这比外部中断稍微复杂一些,您可能需要做一些 补充阅读 了解如何为您的应用程序设置中断。
上面代码中的SINGAL函数是定时器中断的中断服务程序,每次触发中断时都会运行该函数,每秒更新接近传感器的值。如果从传感器读取的值小于我们的阈值,我们认为传感器“被按下”并切换sensorFlag。您需要通过测试传感器来预先确定该阈值,并确定您想要视为“按下”的输出值。为了将sensorFlag的切换限制为在传感器被“按下”时仅切换一次,还有另一个标志在传感器值不再小于阈值之前不会重置。
障碍物检测
接近传感器还可用于测量前方最近物体的距离。这在使用线性执行器的应用中特别有用,可以检测执行器前面的障碍物,并向控制器发送反馈,以便在执行器距离物体太近时停止执行器,如下面的视频所示。要以类似的方式使用接近传感器,您需要选择具有更大检测范围并且能够检测各种类型材料的接近传感器。超声波传感器是一个不错的选择,因为它们具有较宽的感应范围,但您需要小心传感器的盲点。
此应用的接近传感器的设置与非接触式控制非常相似。您仍然需要使用微控制器读取传感器的输出,并且您将再次希望利用内部定时器中断来定期读取传感器的值。不过,传感器现在将放置在执行器前面,以检测其前面的障碍物。传感器的输出将与传感器前面最近的物体的距离相关,这意味着我们可以根据最小安全距离确定一个阈值。该阈值将根据所选传感器的不同而变化。在下面的代码示例中,信号函数(中断服务例程)每毫秒执行一次,测量传感器的输出并将其与阈值进行比较。如果测量值小于阈值,则将标志sensorFlag设置为1,并在主循环中使用该标志来停止线性执行器。当测量值小于阈值时,代码将不允许执行器进一步延伸,直到测量值大于阈值并且标志重置为 0。代码仍然允许线性当sensorFlag设置为1时,执行器将缩回,因为缩回执行器仍然是安全的。
参考
[1]Kinney, T.A.(2001 年 9 月) 接近传感器比较:电感式、电容式、光电式和超声波式 从...获得: https://www.machinedesign.com/automation-iiot/sensors/article/21831577/proximity-sensors-compared-inductive-capacitive-photoelectric-and-ultrasonic
传感器图像来自: Digikey.com