У нас станок с сервоприводами, китайский. Привязка к нулевой точке осуществляется не по энкодеру а по датчикам конечных положений. 3DBig прав. Но реализовано это, на мой взгляд, очень хорошо. Во первых, помимо концевых выключателей на каждой из осей, перед ними стоят оптические датчики, которые и отвечают за выход в ноль. Во-вторых, при поиске "дома" каждая ось измеряется несколько раз (пять, если не ошибаюсь) и вычисляется среднее значение. Так же, кстати. работает и датчик измерения вылета инструмента при ручной смене. (стойка ЧПУ SAI-02 + NC Studio) Изначально, когда станок был новый то все было идеально. Т.е. после выключения питания станок выходил в "ноль" четко. Это было видно и по индикаторам и по реальному изделию. Теперь, спустя 2.5 года идеально работает только датчик вылета инструмента.... По осям появилась погрешность в 1 - 2 сотки. Буквально вчера разобрали все, почистили фотоэлементы. Посмотрим.
Отсюда можно сделать вывод, что решая именно проблему выхода в "ноль" после выключения питания, сервоприводы играют далеко не главную роль. Нужно всего лишь поставить качественные датчики и как-то написать макросы, заставляющие опрашивать оси многократно для уменьшения погрешностей датчиков (дребезг контактов и т.д.). Так же, очень важную роль играет термостабилизация станка. Это во первых шпиндель. Во вторых - разница дневных и ночных температур в помещении. Обрабатывая "длинные" задания. Шпиндель мы сначала прогреваем минут 5, затем начинаем работать, после длинной паузы - то же самое. Кстати, мной лично проверено, что стандартный шпиндель с воздушным охлаждением имеет изменение вылета после прогрева около 0.08мм, в водяным - намного меньше, сейчас не помню точно, но практически не заметное. А чем больше формат станка, тем важнее постоянная температура в помещении.