Что такое концевой датчик станка
Концевой датчик (концевик) сообщает контроллеру, что подвижная часть станка дошла до определённой точки. У него две задачи. Первая: защита от выхода оси за пределы хода, когда портал или каретка упирается в раму и шаговый двигатель пропускает шаги или ломает передачу. Вторая: поиск нуля машины (homing). Шаговый привод не знает положения оси после включения питания, поэтому станок подводит каждую ось к датчику и принимает точку срабатывания за начало координат. От того, насколько точно датчик срабатывает в одной и той же точке, зависит, попадёт ли повторная обработка детали в старый контур.
Механические концевые выключатели
Механический концевик это микропереключатель с толкателем, рычагом или рычагом с роликом. Внутри стоит пружинная контактная группа с мгновенным переключением и тремя выводами: COM (общий), NO (нормально открытый) и NC (нормально закрытый). Пока рычаг свободен, COM соединён с NC; при нажатии COM переключается на NO. Микропереключателю не нужно питание, он работает с любым напряжением входа контроллера, а состояние легко проверить мультиметром.
Минусы связаны с механикой. Контакт изнашивается и пачкается, рычаг гнётся при ударе, а в момент замыкания контакты дребезжат: за несколько миллисекунд вход получает серию импульсов. Контроллеры учитывают это программно (в GRBL для этого есть параметр $26, задержка подавления дребезга при поиске нуля). Ролик на рычаге нужен для того, чтобы упор набегал на концевик сбоку и не ломал рычаг.
Индуктивные датчики: принцип и маркировка
Индуктивный датчик работает без касания. Катушка генератора создаёт переменное магнитное поле перед торцом датчика; металл, вошедший в поле, забирает энергию вихревыми токами, и схема переключает выход. Износа нет, древесная пыль, стружка и СОЖ на торце работе не мешают, а корпус M12 или M18 с резьбой и двумя гайками позволяет выставить зазор до долей миллиметра. Пластик, дерево и стекло такой датчик не видит, поэтому флажок или упор на оси должен быть металлическим.
В названии трёхпроводного датчика указаны тип выхода и тип контакта. NPN означает, что выход транзистором замыкается на минус питания (0 В); PNP означает, что выход подаёт плюс питания. NO (нормально открытый) включает выход при появлении металла, NC (нормально закрытый) выключает. По стандарту IEC 60947-5-2 цвета проводов такие: коричневый плюс питания, синий 0 В, чёрный выход. Двухпроводные датчики тоже бывают, но для входов контроллеров ЧПУ берут трёхпроводные.
Оптические датчики
Оптический щелевой датчик состоит из светодиода и фототранзистора, стоящих друг напротив друга в U-образном корпусе. Флажок из любого непрозрачного материала перекрывает луч, и выход переключается. Такие датчики стоят на многих лазерных граверах, где каретка лёгкая, а флажок можно сделать из тонкой пластины. Оптика срабатывает очень точно, но боится пыли и дыма: налёт в щели ослабляет луч, и датчик начинает срабатывать без флажка. На фрезерном станке с древесной пылью щель надо закрывать или регулярно чистить.
Сравнение типов

| Параметр | Механический | Индуктивный | Оптический щелевой |
|---|
| Касание | Есть | Нет | Нет |
| Что обнаруживает | Любой упор | Только металл | Любой непрозрачный флажок |
| Питание | Не нужно | Нужно, 5-36 В по модели | Нужно |
| Износ | Контакт и рычаг | Нет | Нет |
| Пыль и стружка | Мешают при налипании | Не мешают | Мешают, щель забивается |
| Дребезг | Есть | Нет | Нет |
Подключение к контроллеру
Перед подключением надо узнать, как устроен вход контроллера. Входы GRBL на Arduino и большинства плат с 5 В логикой имеют внутреннюю подтяжку к плюсу и срабатывают при замыкании на общий провод. К ним подходит механический концевик (COM на общий провод, NO или NC на вход) и индуктивный датчик NPN с открытым коллектором. Питание NPN датчика 12 В или 24 В подают от отдельного блока, а его минус соединяют с общим проводом контроллера, иначе выход не замкнётся на нужный потенциал.
Входы промышленных контроллеров и ПЛК на 24 В часто рассчитаны на положительный сигнал, и к ним ставят датчики PNP. Сигнал PNP датчика равен напряжению его питания, поэтому на вход с логикой 5 В или 3.3 В его напрямую не подают: нужен оптрон или делитель напряжения. Тип входа (NPN или PNP, sink или source) указан в документации на контроллер; если датчик и вход не совпадают, датчик меняют, а не переделывают плату.

NO или NC: почему для защиты выбирают NC
Нормально закрытый контакт держит цепь замкнутой, пока ось не дошла до края. При срабатывании цепь размыкается. Обрыв провода, выпавший разъём или отказ датчика тоже размыкают цепь, и контроллер видит это как срабатывание: станок останавливается, а не едет в раму. У NO контакта обрыв выглядит так же, как свободная ось, и неисправность проявится только при ударе. Поэтому концевики защиты хода подключают как NC. Несколько механических NC концевиков можно соединить последовательно на один вход: срабатывание любого из них разрывает общую цепь. Инверсия логики входа задаётся в настройках контроллера (в GRBL параметр $5).
Помехи и экранирование
Провода концевиков идут вдоль всей оси рядом с кабелями шаговых двигателей и шпинделя. Импульсный ток драйверов и частотного преобразователя наводит на длинной сигнальной линии всплески, и контроллер видит ложное срабатывание: станок останавливается посреди работы с ошибкой концевика. Сигнальные кабели ведут отдельно от силовых, в экранированном кабеле, а экран соединяют с землёй с обеих сторон: у датчика и у шкафа управления. Дополнительно помогает RC фильтр на входе (резистор и конденсатор) и питание датчиков от 24 В вместо 5 В: чем выше уровень сигнала, тем меньше на него влияет помеха той же амплитуды.

Повторяемость поиска нуля
Точность нуля определяется не дистанцией датчика, а тем, насколько одинаково он срабатывает при каждом подходе. Для этого поиск делают в два этапа: ось быстро идёт к датчику, после срабатывания отъезжает на несколько миллиметров и подходит повторно на малой подаче. В GRBL скорость поиска задаёт $25, скорость точного подхода $24, отъезд после срабатывания $27. Чем медленнее финальный подход, тем меньше ось проезжает за время реакции входа. Повторяемость сильнее всего ухудшают люфт кронштейна датчика, гнущийся флажок и подход к датчику с разных сторон.
Как выбрать дистанцию срабатывания под материал
Номинальная дистанция Sn в описании индуктивного датчика дана для пластины из стали. По IEC 60947-5-2 гарантированная рабочая дистанция Sa составляет от 0 до 81% от Sn: у датчика на 4 мм надёжное срабатывание по стальному флажку обеспечено на зазоре до 3,24 мм. Цветные металлы датчик видит хуже. Balluff даёт поправочные коэффициенты: алюминий 0,30-0,45, латунь 0,35-0,50, медь 0,25-0,45, нержавеющая сталь 0,60-1,00. Для алюминиевого флажка тот же датчик на 4 мм даёт надёжный зазор 0,97-1,46 мм (3,24 мм умножить на 0,30-0,45). Поэтому на алюминиевом профиле флажок для индуктивного датчика делают из стальной пластины.

Типичные ошибки
- Датчик PNP подключён ко входу, который ждёт замыкания на минус, или наоборот: вход не реагирует или срабатывает постоянно.
- У некоторых NPN датчиков внутри стоит резистор подтяжки к плюсу питания. При питании 12 В или 24 В на выходе в покое появляется это напряжение, и оно попадает на вход 5 В. Выход проверяют мультиметром до подключения к плате.
- Минус блока питания датчиков не соединён с общим проводом контроллера.
- Концевики защиты подключены как NO, и обрыв провода остаётся незамеченным.
- Сигнальные провода уложены в один кабель-канал с фазами шаговых двигателей без экрана.
- Зазор индуктивного датчика выставлен на пределе Sn, а флажок алюминиевый: датчик срабатывает через раз.
- Датчик стоит так, что упор при перебеге бьёт в его корпус. Упор должен проходить мимо торца, а механический концевик должен иметь запас хода рычага.