Использование бесконтактных переключателей с вашим линейным приводом

Бесконтактные переключатели

Бесконтактные переключатели или датчики — это бесконтактные переключатели, которые могут обнаруживать присутствие объекта поблизости. Эти датчики можно использовать для указания линейному приводу двигаться или останавливаться, когда объект находится перед датчиком или если объект убирают. Их также можно использовать для определения расстояния до ближайшего к ним объекта и для обеспечения обратной связи для управления линейным приводом. Обычно вы увидите датчики приближения, используемые с устройствами громкой связи или бесконтактными устройствами, например, в бесконтактной сушилке для рук и задних дверях багажника с электроприводом без помощи рук в внедорожниках, но они также используются в широком спектре промышленных применений. Для использования с линейные приводыДатчики приближения можно использовать в различных ситуациях, включая бесконтактное управление и обратную связь при обнаружении объекта.

Датчики приближения обычно обнаруживают присутствие объекта с помощью электромагнитного поля, света или звука [1]. Метод, с помощью которого ваш линейный привод определяет наличие объекта, будет зависеть от типа датчика приближения. Существует четыре распространенных типа датчиков приближения:

  • Индуктивный:         Использует магнитное поле для обнаружения черных металлов.
  • Емкостный:       Использует изменения емкости для обнаружения объекта 
  • Фотоэлектрический:  Использует свет для обнаружения присутствия объекта.
  • Ультразвуковой:        Использует звук для определения присутствия объекта 

Ваш выбор типа будет зависеть от вашего применения и того, какой материал вы хотите обнаружить [1]. У вас также будет множество других характеристик, которые необходимо учитывать при выборе правильного датчика приближения, включая дальность обнаружения, время отклика, частоту переключения, рабочую температуру и выходной сигнал. Чтобы выбрать правильный датчик приближения, вам необходимо учитывать потребности вашего приложения, тип датчика, приведенные выше характеристики и обратиться к техническому описанию датчика для получения дополнительной информации.

Емкостный датчик приближения

В чем разница между датчиками приближения и детекторами движения?

Датчики приближения не являются детекторами движения, поскольку они обнаруживают близость объекта, а не движение. Детекторы движенияКак следует из названия, они ощущают движение, а не близость объекта или человека. Функционально датчик приближения сможет сообщить вам, насколько близко к датчику находится объект, независимо от того, движется он или нет. В то время как детекторы движения срабатывают только при движении, независимо от того, насколько близко находится объект.

Датчик движения

Бесконтактное управление

Для бесконтактного управления вы будете использовать датчик приближения как простую кнопку. Для этого вам нужно выбрать датчик приближения с более коротким диапазоном обнаружения, чтобы вы случайно не активировали переключатель, и датчик, который будет обнаруживать вашу руку, ногу или что-то еще, что вы пытаетесь обнаружить. Хорошим вариантом для этого является емкостный датчик приближения, поскольку он имеет короткую дальность обнаружения и может обнаруживать широкий спектр материалов, но ультразвуковые и некоторые фотоэлектрические датчики приближения также будут работать, если они имеют меньший диапазон обнаружения [1]. Вам нужно будет подключить датчик приближения к микроконтроллеру, например Ардуино, чтобы прочитать выходной сигнал датчика. Способ подключения датчика приближения к микроконтроллеру будет зависеть от вашего выбора датчика, но в большинстве случаев ваш микроконтроллер либо получит аналоговое значение, преобразованное в цифровую форму, либо ему потребуется преобразовать аналоговый сигнал в цифровое значение.

В этом приложении датчик приближения будет действовать только как одна кнопка, что ограничит наш контроль над линейным приводом. Используя наш микроконтроллер, мы можем написать код для переключения между выдвижением и втягиванием при срабатывании датчика, а также с помощью внутренних концевых выключателей линейного привода останавливать привод, когда он достигает полностью выдвинутого или втянутого положения. Мы также можем использовать внутреннюю обратную связь или внешние концевые выключатели, которые позволят нам использовать другие положения, а не полностью выдвинутые или втянутые, хотя мы все равно будем ограничены двумя положениями. Для этого в прошивке нашего микроконтроллера нам нужно будет переключать переменную-флаг каждый раз при срабатывании датчика приближения. В приведенном ниже примере кода показан основной цикл кода Arduino IDE, в котором используется флаг SensorFlag, чтобы определить, в каком направлении двигаться. управлять линейным приводом, который приводится в движение водитель автомобиля.

Чтобы переключить этот флаг, нам нужно прочитать значение датчика приближения. Поскольку мы не знаем, когда сработает датчик, нам нужно будет либо постоянно считывать данные датчика в основном цикле нашего кода, либо мы можем использовать прерывания внутреннего таймера для периодического считывания данных датчика. Последнее считается лучшей практикой, особенно если вы хотите использовать микроконтроллер для выполнения параллельных задач, поскольку оно гарантирует, что данные с вашего датчика всегда будут считываться в течение точного периода времени. В приведенном ниже примере кода, в котором используется Arduino, показано, как настроить прерывание внутреннего таймера, которое срабатывает каждую секунду. Для Arduino это немного сложнее, чем внешние прерывания, и вам, возможно, придется выполнить некоторые действия. дополнительное чтение чтобы узнать, как настроить прерывание для вашего приложения.

Функция SINGAL в приведенном выше коде представляет собой процедуру обслуживания прерывания для прерывания таймера, которая запускается каждый раз, когда срабатывает прерывание, и обновляет значение от датчика приближения каждую секунду. Если значение, считанное с датчика, меньше нашего порогового значения, мы считаем датчики «нажатыми» и переключаем SensorFlag. Вам нужно будет заранее определить это пороговое значение, проверив датчик и определив выходное значение, которое вы хотите считать «нажатым». Чтобы ограничить переключение SensorFlag только один раз, пока датчик «нажат», существует еще один флаг, который не сбрасывается до тех пор, пока значение датчика не станет меньше порогового значения.

Обнаружение препятствий

Датчики приближения также можно использовать для измерения того, насколько близко находится ближайший объект перед ними. Это может быть особенно полезно в приложениях с линейными приводами для обнаружения препятствий перед приводом и отправки обратной связи контроллеру для остановки привода, если он приближается к объекту слишком близко, как показано на видео ниже. Чтобы использовать датчик приближения аналогичным образом, вам нужно выбрать датчик приближения, который имеет больший диапазон обнаружения и способен обнаруживать различные типы материалов. Ультразвуковые датчики являются хорошим выбором для этого, поскольку они могут иметь широкое поле чувствительности, хотя вам нужно быть осторожным с «слепыми зонами» датчика.

Настройка датчика приближения для этого приложения очень похожа на бесконтактное управление. Вам по-прежнему нужно будет считывать выходные данные датчика с помощью микроконтроллера, и вы снова захотите использовать прерывание внутреннего таймера для периодического считывания значений с датчика. Однако теперь датчик будет расположен перед приводом, чтобы обнаруживать препятствия перед ним. Выходной сигнал датчика будет связан с расстоянием до ближайшего объекта перед датчиком, что означает, что мы можем определить пороговое значение, основанное на минимальном безопасном расстоянии. Это пороговое значение будет варьироваться в зависимости от выбранного датчика. В приведенном ниже примере кода функция СИГНАЛ, которая представляет собой процедуру обслуживания прерывания, выполняется каждую миллисекунду, измеряет выходной сигнал нашего датчика и сравнивает его с нашим пороговым значением. Если измеренное значение меньше порогового значения, флаг SensorFlag устанавливается на 1 и используется в основном контуре для остановки линейного привода. Пока измеренное значение меньше порогового значения, код не позволит выдвигать привод дальше до тех пор, пока значение измерения не превысит пороговое значение и флаг не будет сброшен на 0. Код по-прежнему допускает линейное привод втягивается, пока для параметра SensorFlag установлено значение 1, поскольку втягивание привода по-прежнему безопасно.

 Рекомендации

[1] Кинни, Т.А. (сентябрь 2001 г.) Сравнение датчиков приближения: индуктивные, емкостные, фотоэлектрические и ультразвуковые Извлекаются из: https://www.machinedesign.com/automation-iiot/sensors/article/21831577/proximity-sensors-compared-inductive-capacitive-photoelectric-and-ultrasonic

Изображения датчика от: Digikey.com  

Share This Article
Tags: