Выравнивание портала ЧПУ станка

Вопрос не так прост, как кажется. Предположим, размеры Вашего станка органично переросли размеры визитной карточки. У станка есть три оси. Мать природа позаботилась о том, чтобы «рабочий стол» так или иначе проходил между ногами портала. А ноги, как и у нормальных коней, штука такая, которой свойственно спотыкаться или как минимум быть разными. Если расстояние между ногами портала больше ну хотя бы 30см скорее всего эти две ноги ездят на своих персональных моторах. Т.е. на три оси минимум четыре мотора. А если все же только три, то ситуация еще хуже. Заведомо мать-природа не делает ничего одинакового. Если вдруг Вам кажется, что любые наблюдаемые Вами предметы являются одинаковыми по размерам, так это только потому, что Вы не удосужились лично проверить размеры нормальным измерительным инструментом.

Чем это пахнет? Тем, что вырезав круглое отверстие диаметром 30мм и колобашку (вал) диаметром 29.9мм Вы не сможете вставить их друг в друга, в лучшем случае вставите, но не сможете вращать. Ситуация настолько печальная, что владельцы станков, вырезая условный квадрат метр на метр радуются, если диагонали квадрата отличаются друг от друга на неприемлемые для нас 4мм.

В чем проблема? проблема состоит из двух частей —

  • сколько вешать в граммах? т.е. как измерить кривизну портала, как измерить неперпендикулярность осей?
  • что с этим знанием делать? — ну, предположим, измерили, и как с этим жить?

Оба вопроса не тривиальны. Но мы знаем на них ответы. По пунктам.

Как конкретно измерить кривизну портала, неперпендикулярность осей? — рассмотрим два способа, колхозный и инженерный. Нам надо вычислить смещение ног портала относительно друг друга для обеспечения угла между осью Х и осью У равным 90 градусов. Это знание нам пригодится в работе над вопросом «что с этим делать».

Колхозный способ измерения неперпендикулярности осей станка — кладете на рабочий стол лист фанеры и вырезаете квадрат максимально большого размера. Замеряете длину каждой диагонали квадрата. В хорошем случае они должны быть одинаковыми. У Вас будут разными. Из этой разницы вычисляете угол расхождения Вашей оси У относительно идеально перпендикулярной к оси Х. С учетом этого угла вычисляете нужное смещение ног портала относительно друг друга. В мм. Если есть сложности в математических расчетах, Вы можете поступить предельно просто — в используемой Вами системе черчения рисуете четырехугольник (не квадрат), задаете размеры его сторон, левый нижний угол четырехугольника кладете на начало кординат, нижнюю горизонталь — на ось Х. И получаете смещения ног, в данном случае 5.31мм. (для случая расстояния между ногами 1700мм) —

У колхозного способа главное достоинство в его простоте. Более того, с точки зрения математики достаточно измерение лишь одной диагонали, но измерив обе Вы располовиниваете погрешность измерения. А недостаток в невозможности точно измерить размер диагонали. Ну нечем Вам измерить размеры, превышающие размеры Вашего штангельциркуля, в т.е. в лучшем случае сверх 250мм. Замеры рулеткой? да еще и китайского производства? — ну-ну, автору помнится эпичная фотография с тремя китайскими рулетками, показывающую разницу между ихними даже 10см.

Инженерный способ изменения неперпендикулярности осей портала — возможно и не впервые в мире, но точно впервые в российском сегменте интернета был предложен автором в 2021г. и опубликован на ныне регулярно баненном роскомкозлами форуме. Способ строится на использовании доступных измерительных приборов и законах геометрии, в евклидовом, естественно, пространстве. Измерительные приборы — поверочный угольник не хуже первого класса максимально возможного размера и минимально возможной меры покоцанности, желательно и вовсе новый. Размещаем этот поверочный угольник на рабочем столе станка, осознанно не стремясь к тому, чтобы какая-то из граней была паралелльна какой либо из осей Х или У. Если у Вас рабочий стол токопроводящий, то надо изолировать угольник от стола. В шпиндель зажимаем стальной штифт диаметром 6-8мм. К угольнику подключаем провод, который подключается ко входу Probe. Далее ищем на каждой из сторон угольника по две точки прикасания щупа (штифта) к угольнику.

Точки вдоль одной грани должны быть максимально возможно удалены друг от друга. Условно, если за точку отсчета брать именно угол угольника, то пара на координатах +5мм от начала и -5мм от конца будет хорошей идеей. Схема измерений проста — измеряем первую грань, едем к заведомо определенной точке оси У и далее, в поиске контакта, двигаемся только вдоль оси Х до конктакта — записываем координату Х, отскакиваем и снова измеряем — раза 3, вычисляем среднее значение. Переезжаем в другую точку У, все повторяем. Затем переходим на другую грань, где фиксирована Х и контакт ищем движением только по У. Четыре точки имеют восемь значений координат. Рисуем еще один чертеж и получаем умеренно точно вычесленные значения перекоса. Знающие геометрию могут чертежи не рисовать, а нарисовав несколько треугольников вывести квадратурную формулу для расчетов, можно поручить решение этой задачки шкльникам от 8 класса включительно, пусть блеснут и ощутят пользу от знаний. В данном случае Вы пользуетесь не китайской рулеткой с точностью пол-локтя, а точностью Вашего станка, в худшем случае 0.1мм.

И знаете, что печально? Все эти значения имеют срок годности минут эдак 30. Потому, что мать-природа позаботилась и об этом — линейное расширение материалов при нагреве. Вот Вы пришли в прохладную утром мастерскую, замерили, поработали, покоптили — согрелись. Пусть станок нагрелся всего на 10 градусов. И размер между ногами всего 1700мм. И пусть он, станок, даже стальной и коэффициент линейного расширения, грубо округлив до 0.000012 по формуле 10*1700*0.000012 дает 0.2 мм искажения. А ну как станок алюминевый? тогда почти 0.4мм. Вы скажете, мол де, так он одинаково стальной или алюминевый с обоих сторон! и я возражу — возможно, но нагрев не одинаков и бетон, на котором все это стоит и к которому все бывает прикручено, имеет третий, свой коэффициент, свои температуры и живет своей жизнью.

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

  • отвратительный, не рабочий — один мотор на одну ось. Тогда ноги портала неизбежно будут разъежаться в противоположные стороны при работе с фрезой, примерно как в немых комедиях ноги первых искателей приключенй на коньках. Тушите свет.
  • плохой — жадные продавцы станка хоть и сделали два мотора на одну ось, но датчик начала Home поставили один. Эти жадины часто эти два мотора подключают с одному драйверу, к одному управляющему сигналу. В этом случае при каждом запуске станка надо проводить измерения и вводить их для коррекции. И тут парадокс — для применения значений коррекции при использовании большинства программ управления надо перезапускать программу управления станком. А после каждого перезапуска надо проводить новые измерения. Цикл замкнулся. Но есть решение в рамках программы LinuxCNC, о чем ниже.
  • средний — моторов на оси два, датчиков тоже два, жадные продавцы станка управляют этими двумя моторами через один драйвер (что к чему подробнее описано здесь), и используется т.н. «плата выравнивания портала«. Недостаток метода в том, что в таком случае датчики требуется в каждом случае махнически регулировать, т.е. крутить винты. И так каждый раз. Теоретически предполагается, что отрегулировав положение срабатывания датчиков Вы получаете гарантированную препендикулярность осей Х и У, но это только теоретически. Проводить измерения все равно надо. И все то же решение в рамках программы LinuxCNC здесь тоже будет работать.
  • хороший — моторов два, датчиков два, каждый датчик обслуживается контроллером отдельно (что к чему подробнее описано здесь) и Вы по-взрослому используете программу управления LinuxCNC2.8. Проведя измерения не вылючая станок одной командой Вы даете станку понимание того, на сколько надо корректировать свое поведение для того, чтобы все углы были прямыми и оси перпендикулярными. Базовое значение коррекции программа даже может учитывать при старте. Проводите измерение и если не довольны результатами — даете корректирующую команду. Этот метод позволяет автору иметь точность не хуже 0.1мм на длинне ребра 1200мм. Собственно у автора этот вопрос даже полуавтоматизирован — включаем станок, вставляем в шпиндель штифт (щуп), запускаем на выполнение программу проверки геометрии, станок сам себя проверяет, вычисляет цифру коррекции и выводит на экран небходимое значение коррекции. Если вычисленное значение коррекции приемлемо для конкретно задуманной работы, то начинаем основную работу. Если не приемлемо — вводим команду коррекции и начинаем задуманную работу. В этом случае мы даже не пытаемся обеспечить перпендикулярность реальных осей Х и У — это не нужно и даже вредно, потому как эту прекрасную возможность можно и нужно использовать для борьбы с люфтами, о чем будет сказ в другой раз. Единственное, что нужно — это иметь специально скомпилированную сборку LinuxCNC2.8, которая уже входит в комплект товара Компьютер для управления станком ЧПУ с низким Jitter, где также есть пример соответствующей настройки станка. А вот дополнительные программы автоматизации работы Вам придется сочинять самостоятельно или приобретать по заказу.