Изначально я планировал использовать датчик положения как аварийный, на случай, если каретка оси выйдет из предопределенного диапазона. Позже я понял, что для полноценной работы нужно определять три положения: минимум, максимум, и нулевое положение, находящееся где-то посередине, ближе к одному из них.

Датчик положения, срабатывающий при прохождении над алюминиевым уголком

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

Параметры установки нулевого положения

В случае с осью Z я решил сделать положительным движение каретки вверх, а отрицательным — вниз. При этом нулевая точка находится в верхней части оси. В настройках задается скорость приближения к нулевой точке. В нашем случае — 0,5 мм/с. Направление защелкивания в нашем случае совпадает с направлением поиска нулевого положения.

Исходя из предположения, что каретка находится где-то посередине своего диапазона, последовательность установки нулевого положения состоит из трех шагов и выглядит следующим образом:

  1. Каретка смещается в сторону переключателя нулевого положения на скорости, заданной в параметрах (0,5 мм/с), пока переключатель не будет замкнут.
  2. Каретка смещается в обратную сторону, пока переключатель не будет разомкнут.
  3. Каретка снова перемещается в сторону переключателя на очень низкой скорости, пока переключатель не будет замкнут. Перемещание на такой низкой скорости обеспечивает высокую точность позиционирования.

Также можно задать положение, куда переместится каретка после настройки положения по выключателю.

В окончательной версии станка, в оси Z специального датчика для установки нулевого положения, скорее всего, не будет. Я планирую применить схему, позволяющую установить нулевое положение этой оси в точке соприкосновения инструмента с заготовкой. А датчик положения, встроенный в каретку, будет использоваться для аварийного отключения станка, если каретка выйдет за допустимый диапазон. Для этого на другом конце оси будет установлен еще один алюминиевый уголок.

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