Точность станка с ЧПУ. Практика

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

Заставила меня наконец вплотную заняться точностью станка одна проблема: при изготовлении двух стыкующихся деталей, одна никак не хотела стыковаться со второй, хотя модель, понятное дело, была нарисована тютелька в тютельку. Также помогла мне в разрешении вопроса точности станка с ЧПУ долго откладываемая мною покупка подставки для часового индикатора. Сперва я хотел сделать ее сам, но как-то руки не доходили, и вот однажды наткнулся на довольно бюджетную магнитную подставку в специализированном токарном магазине — всего 600 рублей. Грех было не купить, тем более, что рядом стояла почти такая же, но за 2000 рублей!

Итак, вооружившись часовым индикатором на новой магнитной подставке, я решил-таки выяснить давно интересовавший меня вопрос: какова же реальная точность моего станка с ЧПУ?

Начну с технологии измерения точности станка с ЧПУ. Каждая ось измеряется отдельно. Для измерения точности станка сперва нужно закрепить часовой индикатор на балке оси X ближе к концу оси или где-то посередине. Я сперва закрепил индикатор при положении шпинделя в самом начале координат и столкнулся с неудобством — при калибровке каретка оси Z частенько щелкала концевым датчиком оси X, поэтому удобнее измерения производить подальше от концевиков.

Следующим шагом двигаем каретку оси Z вдоль оси X до тех пор, пока она не «продавит» часовой индикатор на 1 миллиметр. Важно, чтобы часовой индикатор был все время слегка поджат измеряемой осью, потому как она может двигаться как на индикатор, так и от него, и этот момент мы должны тоже фиксировать. После «подпирания» индикатора осью, выставляем на нем ноль, а в программе управления станком с ЧПУ устанавливаем в текущей точке начало координат (ну или, по крайней мере, обнуляем текущую исследуемую ось X).

Далее следуют непосредственно измерения. Задаем станку команду переместиться с минимальной подачей (например, 10-20 мм/мин) вдоль оси X на 1 мм. Станок отработает команду, а часовой индикатор нам стрелкой покажет, на сколько в действительности переместился станок. Как вы понимаете, в идеале он должен также показать перемещение ровно на 1 мм. Далее откатываемся назад в 0, при этом стрелка часового индикатора должна вернуться (опять же, в идеале) точно на то же место, где и была (т.е. в 0). Для большей достоверности измерений операцию нужно проделать несколько раз. Я экспериментировал с перемещениями от 1 до 7 мм. Не забывайте, что у часового индикатора ход всего 10 мм, при этом мы уже поджали его на 1 мм, поэтому остается всего 9 мм, да и то впритык!

Что же будет видно на часовом индикаторе? Во-первых, будет видно расхождение реального перемещения от заданного. Например, в программе задали 5 мм, а станок реально проехал 7.2 мм. Это расхождение убирается программной калибровкой станка. В LinuxCNC, например, за это отвечает параметр SCALE для каждой оси. В меню есть специальное диалоговое окно «Калибровка», где подбором значения SCALE можно добиться точного соответствия заданного и фактического перемещения.

Также на часовом индикаторе можно будет определить точность позиционирования. Станок с ЧПУ позиционируется точно, если при перемещении в одно и то же место несколько раз часовой индикатор оказывается ровно на том же самом месте (при этом не важно совпадение реальной и заданной величины, т.к. это настраивается при калибровке осей, как указано выше). Например, мы задали станку идти в X=5, и он пришел в 7.2 по часовому индикатору. Потом вернули в ноль и снова задали идти в X=5, и он снова пришел в 7.2 по часовому индикатору. Можно сказать, что станок позиционируется точно! Не важно, что задали 5, а он прошел 7 — это мы поправим при калибровке. А вот если несколько раз задали 5 мм, а он приходит то в 4.8, то в 5.0, то в 5.7, то это значит, что станок позиционируется с точностью ±0.7 мм. Это уже совсем плохо! Это говорит о проблемах в конструкции станка, что программно в настройках уже никак не поправишь. Первая причина — люфт. С ним еще как-то можно бороться. Вторая причина — неправильная конструкция станка. В этом случае сам станок придется переделывать.

Еще на часовом индикаторе можно будет разглядеть разрешающую способность станка по осям, т.е. на какую величину фактически переместится ось станка с ЧПУ при единичном шаге (полушаге/микрошаге) шагового двигателя. Это тоже очень интересный и важный параметр, который обычно на самом деле и интересует покупателя станка, когда он говорит о точности станка с ЧПУ. Покупатель спрашивает: «А какая точность у этого станка с ЧПУ?» А на самом деле он хочет узнать, насколько милипусечные детальки он сможет на нем вытачивать. Например, сможет ли он просверлить дырки в пятке блохи, чтобы пришурупить туда подкову, или сможет ли выгравировать надпись «С любовью на веки вечные» на булавке из швейного набора своей возлюбленной? На эти вопросы и отвечает разрешающая способность станка.

Вот на последнем параметре мне хотелось бы остановиться подробнее, т.к. он напрямую перекликается с темой моего первого поста о точности станка с ЧПУ на ТехноБлоге Dimanjy, где говорилось о выборе типа передачи и о неравномерности характеристики шагового двигателя.

Сразу хочу сказать, что осью Z, сделанной на винтовой передаче из обычной строительной шпильки, я остался очень доволен! Она показала невероятную разрешающую способность и не менее впечатляющую точность позиционирования: часовой индикатор четко замирал на нулевой отметке, на сколько бы миллиметров я не перемещал ось Z вверх или вниз. Кроме того, конструкция моей оси Z полностью сглаживала нелинейность характеристики шагового двигателя, т.к. для того, чтобы переместить ось, например, на 0.02 мм, шаговику пришлось бы сделать более одного полного шага, а нелинейность прячется у шагового двигателя в микрошаговом режиме, который как раз не используется!

А вот на осях X и Y, которые являются основными рабочими осями, я бы хотел остановиться подробнее. Как вы уже поняли из статьи по ссылке выше, конструируя свой станок с ЧПУ, я отдал предпочтение скорости перемещения, которую обеспечивала передача на зубчатом ремне. Кроме того, на тот период времени зубчатый ремень было приспособить проще, чем винтовую передачу.

В итоге, с зубчатым ремнем, проходящим непосредственно через вал двигателя с шестерней на 12 зубьев, я получил теоретическое разрешение, равное 5 мм (шаг ремня) * 12 (зубьев) / 200 (шагов на оборот) = 0,3 мм на полный шаг двигателя. Такое разрешение пригодно только для раскроя материала с допустимой погрешностью ±1 мм. Чтобы хоть как-то увеличить разрешение, применяют микрошаговый режим работы, поддерживаемый большинством современных драйверов для шаговых двигателей. Я применил дробление шага на 8. В теории это даст разрешение 0,3 мм / 8 = 0,04 мм. Но на практике, из-за нелинейности характеристики двигателя в микрошаговом режиме, о которой я уже писал в статье про разработку своего собственного контроллера для шагового двигателя, это разрешение оказывается недостижимо. В итоге станок позиционируется с ошибкой, равной сумме нелинейностей каждого отдельно взятого микрошага! И это очень хорошо заметно на часовом индикаторе. Одно и то же повторяющееся задание он отрабатывал, приходя все время в разное место. Ошибка могла достигать нескольких десятых долей миллиметра. При вытачивании крупных деталей в пределах рабочего поля общая погрешность достигала 1-1,5 мм! Комментарии тут излишни.

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

Винтовая передача из строительной шпилькиПо результатам своих исследований мною было принято решение модернизировать свой станок, заменив зубчатый ремень на винтовую передачу.

…Сейчас, когда я пишу эти строки, мой станок уже доработан. На всех осях стоят строительные шпильки. Я провел новую серию измерений, и остался очень доволен! У меня накопилось столько положительных впечатлений от обычной строительной шпильки за 130 рублей, что я планирую посветить ей целый отдельный пост :) Вот он — Станок с ЧПУ из строительной шпильки.

  • http://synxronica.com synxronica

    Блин, долго на строительных шпильках перемещает т_Т

    Зато точная и надёжная, это да. Главное не мазать шпильку маслом. Никаким от слова совсем)) На неё потом мусор налипает и начинается совсем пичалька.

    • http://tech.dimanjy.com/ Dimanjy

      Да не сказать, чтобы очень уж медленно! У меня ось Z на шпильке, но правда, не напрямую к шаговику, а через зубчатый ремень с повышающим соотношением (2:1 или даже 3:1 — не помню).
      И, кстати, шпилька у меня вся в смазке :) У меня оказалось достаточно места внутри гайки для заполнения смазкой, потому как на сухую гайка слегка болталась. Пыль как-то вся в смазку уходит и ничего не клинит. Не чистил уже год :)
      Сейчас как раз переделываю X и Y с ремней тоже на шпильки. Уж очень их точность порадовала. А это мне на данный момент необходимо, а-то с ремнями я вообще в размер не попадаю!

      • http://synxronica.com synxronica

        Хм, у меня наоборот понижающая передача. Целиком присобачил блок вращения от лазерного принтера) Там шаговый движок с малым моментом и большой (относительно) скоростью. Итоговый момент (сила вращения) дикий. Это как бы компенсирует халтуру исполнения — шпилька даже без подшибников вращается. Тупо упирается в металлическую трубку, дно которой постепенно просверливает)

        • http://tech.dimanjy.com/ Dimanjy

          И какая в итоге получается скорость по осям максимальная?
          Я сегодня, наконец, переделал ось Y с зубчатого ремня на винтовую передачу на шпильке. Разогнать удалось до 15 мм/с (900 мм/мин). Теперь хочу попробовать отключить этот никчемный микрошаг, что, теоретически, должно дать возможность разогнать шпильку еще быстрее.

          • http://synxronica.com synxronica

            нууу… 4 мм в секунду. Я вот думаю шпильку потолще поставить. Сейчас 6мм. Вместе с диаметром там же и шаг растёт, запас по тяге у меня большой.

            Надоел наверное вопросами, но таки. У меня сейчас главный недостаток в том, что сверлятора нема. Вместо него движок от фена с прикуроченным сверлом. Я вот думаю, что если использовать фрезер? Просто сверлятор (шпиндель?) уж больно дорог. А фрезер я за 1.5 к присмотрел. Шумный наверное будет?

          • http://tech.dimanjy.com/ Dimanjy

            Да, шпилька чем толще, тем шаг больше. Очень удобный для расчетов шаг резьбы на шпильке Ф14 мм — там он ровно 2 мм. Хотя все нужно проверять. На шпильках, которые брал год назад — ровно 2 мм шаг. А вот на неделе взял такие же шпильки, так там на 10 см ошибка 0,5 мм получается. В итоге не 2, а 1,98 мм шаг в конфиги станка пришлось вбивать.

            Можно и фрезер, а можно гравер посмотреть или шлифовальную машинку с цанговым патроном (как болгарка, только прямая, а не угловая). Но будет, конечно, шумно! Очень!

            Я еще присматриваюсь сейчас к китайским DC-шпинделям на 300 Вт. Цена у них до 4 тыс. рублей (есть и за 2500) и к ним совершенно не нужен дорогой частотник. Только вот пересылка дороговато выходит. А если искать с бесплатной доставкой, то очень долго ждать. Я пытался в России найти в продаже такие шпиндели, да что-то не нашел никак…

  • Александр

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

    • http://tech.dimanjy.com/ Dimanjy

      Приводом — супер!
      Направляющими — ни в коем случае!

  • Сергей

    Привет Всем!!!
    Клевый станок получился!!! Очень понравился
    Дима, скажи, пожалуйста, у тебя же размер вроде 500х500, если я не ошибаюсь. Как думаешь, на 2000 или 2500 шпильку будет колбасить?

    Скажи еще какие ты драйвера использовал и шаговые моторы чтобы шпильку провернуть?!

    • http://tech.dimanjy.com/ Dimanjy

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

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

      Про двигатели я уже писал в комментариях к предыдущим постам про станок. Самые обычные китайские Nema 23 с током по 3А на фазу.

  • Andrew Smopuim

    Добрый день! Думаю, что под точностью станка не стоит подводить разрешающую проектную точность установки шпинделя в пространстве! Хотелось бы увидеть здесь больше информации и опытных измерений точности станка! Важно, например, при изготовлении знать методику контроля и регулировки перпендикулярности осей xyz. Вообще порассуждать бы из каких ошибок складывается итоговая ошибка установки шпинделя влияющая на точность? Из очевидных: 1) перпендикулярность осей 2) деформации конструкции 3) прямолинейность/параллельность рельсовых направляющих 4) холостой ход приводов (особенно ремённых из-за растяжения и проскальзывания на валу) 5) ошибка позиционирования шаговых двигателей и пропуска шагов 6) Калибровка и настройка

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

    Что скажете?

    • http://tech.dimanjy.com/ Dimanjy

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

      Все, что я пока в этом направлении сделал — это купил себе хорошую линейку 1-го класса точности (даже не 0-вого, а всего лишь 1-го). Но уже эта линейка показала мне кривизну купленных мной ранее плит ОСП-8, на которые я так надеялся в плане выставления перпендикулярности. Вот, планирую подсобрать теперь деньжат и купить рамный уровень. Обладая хотя бы таким набором инструментов уже можно начинать постройку более-менее серьезного станка.

      • Andrew Smopuim

        Я Вам не в укор, просто сам планирую сделать станок, Сапр программы знаю, но столкнулся с точностью сборки и изготовления деталей для достижения точности позиционирования, особенно с большим размером стола. Хотелось бы найти больше информации по этой теме. Как доступным способом выйти на точную регулировку направляющих друг относительно друга. Буду очень признателен, если вы поделитесь вашими мыслями на этот счёт и опытом.

        • http://tech.dimanjy.com/ Dimanjy

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

          Свой первый станок я собирал особо не заморачиваясь на точность. Я исходил из того, что балки ровные, а их грани взаимно перпендикулярны. Этого вполне достаточно, чтобы выпиливать детали с хоббийной точностью (десятки, т.е. десятые доли миллиметров).

          Из чужого опыта могу Вам некоторую выжимку дать, которая у меня в голове. По большому счету тут нужно выбирать: либо большой размер, либо высокая точность. (Это если мы про настоящую точность говорим:).

          А с позиционированием проблем быть не должно. Позиционирование зависит исключительно от винта. При одних и тех же условиях (температуре окружающей среды, которая сказывается на линейном расширении винта), при одном и том же числе оборотов двигателя, винт приведет каретку всегда в одно и то же место. Тут вопросов нету :)

          Как друг относительно друга выставлять? Сначала определяемся с базовой поверхностью. Вероятно — это плоскость рабочего стола. Сперва прикручиваем намертво одну направляющую. Вторая при этом просто стоит на противоположной стороне. Ставим каретки на направляющие и делаем между ними жесткую связь (например, прикручиваем балку Y). Начинаем гонять балку по направляющим и т.к. связь жесткая, то она нам сама выставит вторую направляющую на нужном расстоянии. Останется ее просто тоже жестко прикрутить. Так мы выставим их параллельность в горизонтальной плоскости.

          На параллельность рабочему столу в вертикальной плоскости можно забить, если принять, что балки по всей длине имеют одинаковую высоту. Если же делать по уму, то параллельность выставляется по часовому индикатору, установленному на жесткой связующей балке (оси Y). Очевидно, что при любых положениях каретки расстояние от балки до стола должно быть везде одинаковое. Этого добиваемся подкладками под жестко закрепленные направляющие с разных концов или предусмотренными для этого регулировочными винтами.

          Возможно, Вам и не требуется такая точность установки, если Вы собираетесь обрабатывать, например, мебельные фасады или двери. Там вообще достаточно установить все «на глазок» и будет все прекрасно выпиливаться.

          Также такая точность не требуется при использовании стандартных китайских комплектующих. Например, цилиндрические рельсы приходят с прогибом аж до 5мм на длине в 2 метра! Прижал его винтами к рельсу без щелей — уже слава Богу!

          • Andrew Smopuim

            Я нашёл видео, в котором описаны методы юстировки станка. Там пользуются часовыми индикаторами и приспособлениями на его основе, ещё рамным уровнем или поверенным уголком. Лазерный уровень совсем не пойдёт, так как у него толщина луча миллиметровая в лучшем случае. Станок хочу 1000х600 примерно. Чтоб с одной стороны вложиться один раз, но сделать качественно, с возможностью регулировки осей, с другой же стороны использовать по миниму фрезерных деталей. Вот теперь пытаюсь найти схемы узлов, в которых используется регулировка взаиморасположения осей с помощью винтов, а не постукиваний молотком и такой-то матери))). К тому же если Вам будет полезно есть такой форум http://forum.rcdesign.ru/f111/thread147309.html например. Там много интересного есть, чтоб на те же грабли не наступать.. Ещё читал про польский форум, где якобы выкладывают чертежи вплоть до промышленных образцов. Ладно, буду изучать и проектировать. Спасибо!

          • http://tech.dimanjy.com/ Dimanjy

            Я полон скептицизма по поводу того, что получится «вложиться один раз» :) Постройка станка — это мероприятие итерационное. Всегда есть что улучшить. И зря Вы так про постукивание молотком. Именно так делаются немецкие прецизионные станки :) Чем больше у Вас регулировок, тем меньше общая жесткость конструкции, что, несомненно, сказывается на итоговой точности.
            В любом случае, рад, что в полку ЧПУшников прибыло :) И желаю Вам успехов в постройке!

            Форумов по ЧПУ очень много. Мне больше всего нравится http://cnc-club.ru и очень мощное сообщество ЧПУ-шников на http://chipmaker.ru

            Но там столько информации, что только читать можно годами :)

          • Andrew Smopuim

            Еще раз спасибо! Буду держать в курсе своих начинаний!