ЧПУ станок на основе Arduino (часть 1: выбор проекта)


Хочется иногда изготовить какую-то деталь. Нет ничего проще: берем болванку -> долгий процесс ручной обработки -> готовая деталь. Но точность изготовления, даже с прямыми руками, оставляет желать лучшего, времени на работу уходит море, да и деталей, как правило, необходимо сделать несколько. Гораздо интереснее сделать инструмент, который значительно облегчит изготовление почти любой детали — фрезерный ЧПУ станок.

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

Поскольку задача изготовления станка является достаточно сложной, то я разбил её на несколько подзадач:
I. Изготовление механики
II. Выбор и использование двигателя
III. Разработка и изготовление электроники управления
IV. Выбор программного обеспечения

I. Изготовление механики
На просторах интернета можно найти множество русскоязычных сайтов, на которых народ делится опытом изготовления ЧПУ станков, но, к сожалению, информация на них не систематизируется. В целом, станки изготавливают из подручных материалов, дерева, алюминия или стали. Всё определяется конечным материалом, который требуется обрабатывать: чем твёрже обрабатываемый материал и нужна большая точность — тем твёрже материал станка. Я остановил свой выбор на обработке дерева и алюминия, а соответственно можно попробовать изготовить станок из дерева.

Дале я попытался найти чертежи станков, которые представляют на сайтах и среди многих наиболее часто попадались отзывы о:
станок из МДФ
станок «Графа»

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

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

Можно, конечно же, заказать раскрой деталей для станка, однако, как мне кажется этот вариант не намного лучше «купить готовый станок». Очень может быть, что я не прав, но по завершению работ у меня как раз и будет возможность варианты посравнивать, и посмотреть где я допустил ошибки.

Долгое время я не решался делать станок, а потом нашел одно занимательное видео…

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

Об изготовлении механической части станка читайте в следующей части.

II. Выбор и использование двигателя
Решение данного вопроса оказалось достаточно простым. Блуждание по форумам ЧПУ-шников дало однозначный ответ: Kress 1050 FME.

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

На форумах как раз и говорилось, что фрезеры Kress весьма надёжны именно в данном плане, а также по ним имелись хорошие отзывы станкостроителей. В результате Kress 1050 FME был приобретен мною у официального дилера за 7200 рублей. Оправдает ли он затраченных денег — покажет время.

III. Разработка и изготовление электроники управления
Изначально электронику планировалось купить, однако удовлетворяющую моим запросам оказалось не так уж просто найти, а та, что была найдена, имела заоблачную цену. Но прервусь, и прежде всего, расскажу что мне требуется… Станок имеет 3 оси движения каретки и кажется, что двигателя тоже должно быть 3, а я хочу 4! Дело в том, что если, например, захочется выточить ножку стула, то подобная операция проводится немножко другим типом станка — один шаговый двигатель вращает ножку по оси, другой двигает инструмент вдоль оси, а третий определяет расстояние до оси ножки. Но почему бы не объединить оба типа станка? — понадобится только добавить ещё один двигатель, который при необходимости будет вращать деталь вдоль оси. Соответственно мне нужно использовать 4 двигателя.

К тому же я хочу использовать имеющиеся у меня шаговые двигатели от советских принтеров, а они имеют потребление тока, которое не обеспечивают многие контроллеры. Есть ещё один момент… Двигатели — это не всё. В дополнение важны также концевые выключатели, которые обеспечивают прекращение движение при достижении конца рабочей зоны и движение в нулевую точку при начале работы. В общем, много контроллеров, которые меня не устраивают. Ну что же попробуем сделать контроллер сами (на базе микросхем L297, L298).

И тут моё внимание привлёк проект RepRap. Дело в том, что для него существуют контроллеры, выполненные на базе arduino, а это очень интересный момент! Кажется, что контроллер просто выдаёт импульсы на шаговые двигатели заставляя их крутиться, однако на самом деле он управляет их вращением. Подробнее можно почитать в статье «Контроллер шагового двигателя«, однако общий смысл следующий: двигатель сложная система и для того что бы эффективно им управлять нужно знать не только в каком положении он должен оказаться, но и каково его положение было в предыдущий момент. Именно по этой причине многие любители станкостроения используют такое программное обеспечение, как CNCLinux. Дело в том, что это операционная система реального времени, и она позволяет управлять формировать управляющие команды за чётко определённый срок.

Что будет, если отказаться от подобного подхода? Предположим, что мы используем USB соединение с платой управления. То, что мы послали команду на USB, вовсе не означает, что она сразу будет передана устройству — контроллер USB сначала будет ждать или наступления таймаута или заполнения выходного буфера, прежде чем перешлёт команду. Что может произойти за время подобного ожидания? Раскрутившийся шаговый двигатель, обладая моментом инерции, может просто проскочить «зазевавшуюся» обмотку, а в результате усилятся вибрации, уменьшится точность, снизится скорость обработки. В общем, хорошо бы управлять двигателем в реальном времени. Держать для этого целый компьютер, в общем-то, не требуется — достаточно устройства, которое могло бы корректно интерпретировать G-код, на котором описывается куда и как ездить каретке станка, а сам G-код при этом можно хоть с флэшки читать. В проекте RepRap как раз такой контроллер и был реализован на основе arduino. По слухам код прошивки ещё глючит, но проект активно дорабатывается.

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


0 комментариев на «“ЧПУ станок на основе Arduino (часть 1: выбор проекта)”»

  1. «Раскрутившийся шаговый двигатель, обладая моментом инерции, может просто проскочить «зазевавшуюся» обмотку»
    Прокомментируйте, пожалуйста, откуда такая информация?

    • Если перейти по ссылке на статью «Контроллер шагового двигателя», то в разделе «Резонанс» можно найти фразы: «Когда двигатель совершает шаг, ротор не сразу устанавливается в новую позицию, а совершает затухающие колебания.» и «В системах с низким демпфированием существует опасность потери шагов или повышения шума, когда двигатель работает вблизи резонансной частоты.». Я попробовал выразить мысль, изложенную в указанном разделе своими словами. Если вы полагаете, что применённая мною формулировка некорректна — пожалуйста, напишите мне об этом и я попробую выразиться корректнее.

    • По ссылке прочитал.
      Расписано там все подробно.
      Насколько правильно — не мне судить, я не механик, не электрик, но, исходя из логики, могу заметить несколько моментов.
      1. В шаговом двигателе не может быть «зазевавшейся» обмотки. Это явная неисправность либо обмотки либо драйвера.
      2. Обычно, подчеркиваю, только из моего личного опыта, могу сказать, что шаговые двигатели ставят либо на редуктор, либо на червяк, либо на его валу незначительная нагрузка.
      3. Если за счет инерции вал пролетел обмотку, то это явно неправильно подобрана мощность шагового двигателя.
      4. Насколько я знаю некоторые драйвера умеют тормозить движение. Там такой проблемы не должно быть в принципе.

      Вот как то так…
      Про резонанс, который описан в статье ничего не могу сказать. Увы в этом я некомпетентен. 🙂

    • В шаговом двигателе не может быть «зазевавшейся» обмотки. Это явная неисправность либо обмотки либо драйвера.

      — Вы абсолютно правы. Я имел в виду следующий момент. Можно называть контроллером устройство, куда пересылаются, ну скажем, координаты следующей точки, которую нужно достигнуть и дополнительные параметры (например, скорость движения), а контроллер сам определяет, как включать обмотки двигателя, что бы достигнуть заданной точки. При таком положении вещей какие-либо ошибки в управлении практически исключены. Но есть и второй подход (ссылка) — когда контроллер фактически обеспечивает усиление управляющих сигналов, которые приходят на него с ПК. Вот этот-то подход часто и используют в любительском станкостроении. А тут возможны варианты: и неправильно подобранные мощности, и некорректная работа / задержки управления с драйвера-управляющего компьютера.

  2. Отличная тема как раз кстати)) Присоединяюсь к noonv. Единственное если можно попрошу давать ссылки на конкретные места где вы всё покупали. А также если можно альтернативные ссылки развитие проекта. (например: вы хотите 4 двигателя а часто готовые решение поддерживают только 3. Дайте пожалуйста ссылку на готовое решение которое вы считаете лучшим из представленных) как уже говорилось раньше: вся информация не систематизирована. А анализ производить всё равно приходится.

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

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение