Чпу плоттер на arduino своими руками

Содержание

Токарный станок с ЧПУ/CNC переделать из обычного или собрать с нуля

Ну, если никто не отвечает попробую я.

Введение.

Во-первых нужно четко прописать (явно, на бумаге) характеристики деталей. Причем желательно оценить требуемую партию для каждого типоразмера. Обработка вала ф30х300 и диска ф200х50 — это абсолютно разные задачи требующие разных характеристик станка.

Во-вторых нужно оценить требуемую точность деталей.

В-третьих выбор инструмента. Очень сложный вопрос. Современный инструмент любит скорость и жесткость, хорошо работает только на современном оборудовании. Для старых станков нужно искать «медленный» инструмент. Ну и конечно инструмент не должен быть эксклюзивным.

Последнее — уровень автоматизации.

Все эти вещи нужно четко прописать с учетом приоритетности. Не исключено, что придется чем-то жертвовать, потому что абсолютных станков не бывает. Хвост вытащил — нос увяз)

По вопросам.

1. Построение станка с нуля задача непростая с большим количеством «резких» телодвижений, колхозных решений, доработок «по месту» и прочих неувязок. Проблема очпушивания станка лишена большинства этих проблем, но производительность будет сравнительно низкая, особенно остро будет стоять проблема смены инструмента. Есть компромиссный вариант — купить токарно-револьверный станок с ЧПУ советского производства, востановить его и навесить Мач или ЛинуксСНС. По механике сплошные плюсы: жесткий, оптимизированная конструкция, есть револьверная головка, направляющие качения (хоть и устаревшие).

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

Электрику надо менять.

2. Очевидно имеются ввиду направляющие скольжения самой станины. Дело в том, что направляющие скольжения имеют серьезный недостаток. Трение покоя больше трения скольжения, поэтому микроперемещения всегда будут скачкообразные и без точности. Методы борьбы — преднатяг. Следствие — большие потери на трение, низкий КПД и высокая мощность привода. Для подумать: КПД трапецеидального винта 20…30%, КПД ШВП 80%. На направляющих скольжения получить стабильную точность (в бытовых условиях) выше 0.1 мм проблематично, На направляющих качения можно получить 0.01 мм. С сугубо практической точки зрения если требуется только автоматизация процесса то можно оставить направляющие скольжения, если нужна точность — то шариковые.

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

ПО

Тут есть варианты:

  • Проще всего взять замечательную простенькую программу BenВox. Она специализирована именно под работы с ЧПУ и проста в установке и обращении. Минус этого варианта в его ограниченности. Во-первых прошивка для платы в комплекте ПО содержится уже в hex-файле, потому возникают проблем с ее редактированием. Да и функционал в общем не особо обширен, похож на простейший графический редактор. Если не хотите вдаваться в подробности работы всего этого механизма, то можно поработать с этим вариантом.
  • Немного сложнее, но и перспективней работа через GRBL-прошивку. Эту библиотечку можно без проблем взять в интернете и она дает значительно больше возможностей, чем BenBox. Но для работы через этот механизм надо разобраться с начальной настройкой всего этого.
    1. Итак, скачиваем и распаковываем grbl-servo библиотеку. Теперь ее можно залить на плату через IDE, просто отыскав ее среди примеров.
    2. Для пересылки непосредственно команд устройству понадобится Universal Gcode Sender (или другое подобное ПО). После его установки на компьютер в нем открываем канал связи с платой по com-порту, к которому подсоединена плата.
    3. Для начальной и последующих настроек платы в командной строке приложения набираем «$$». По этой команде получаем полный набор базовых настроек платы, которые можно менять, настраивая нужные параметры. К примеру, команды «$110=380» и «$111=380» ставят скорость двигателей на осях Х и У на 380 мм\мин. Важными пунктами настройки являются скорость и ускорение двигателей, направление осей (прямое или инверсное). Подробнее инструкцию по такой настройке можно найти в интернете.
    4. Также есть возможность машинного контроля над двигателями (вкладка machine control) и серво (команды М5(поворот в начальное положение) и М3 s90(поворот на 90 или любое другое кол-во градусов)).
    5. Далее надо подготовить изображение для работы. Для этого тоже понадобится доп. ПО, к примеру, Inkscape. Оно похоже на любой другой графический редактор и подробно работу с ним можно изучить также в интернете. Но есть пара важных замечаний:
  • Для начала надо задать правильные размеры страницы в свойствах, чтобы размеры вашего изображения не оказалось больше возможностей плоттера. Так же необходимо заменить пиксели на миллиметры в единицах измерения.
  • После создания изображения жмем ctrl+shift+C и идем в меню — расширения — MI GRBL… — задаем скорости двигателей и угол поворота серво — сохраняем изображение в формате gcode.
    1. Наконец возвращаемся в Universal Gcode Sender и во вкладке File Mode открываем наше gcode-изображение. Кнопкой Visualize можно графически отслеживать работу программы, а в окне command Table можно проследить по командное выполнение. Осталось только запустить все это и наблюдать за результатом.

Шаг 3: Электрические детали

Механическая часть закончена, и я перехожу к электрическим деталям.

Поскольку я очень хорошо знаком с Arduino и хочу иметь полный контроль через USB, я сначала выбрал Arduino Uno со щитом GRBL и степперами TB8825. Эта конфигурация работает очень просто, и после небольшой настройки машина стала управляемой на ПК. Отлично!

Но так как TB8825 работает максимум на 1,9 А и 36 В (становится очень горячим), этого достаточно для запуска машины, но я заметил потери в шагах из-за слишком малой мощности. Длительный процесс фрезерования при такой температуре представляется кошмаром.

Я купил дешевый TB6560 из Китая (300 рублей за каждый, доставка 3 недели) и подключил их к щиту GRBL. Номинальные напряжения не очень точны для этой платы, вы найдете номиналы от 12 до 32В. Поскольку у меня уже есть источник питания 36 В, я попытался приспособить именно его.

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

Итак, снова в поисках хорошего драйвера…

TB6600 — мое окончательное решение. Он полностью закрыт алюминиевым охлаждающим покрытием и прост в настройке. Теперь мои степперы работают по осям X и Y с 2,2А и по оси Z с 2,7А. Я мог поднять до 3А, но поскольку у меня есть закрытая коробка для защиты цепей от алюминиевой пыли, я решил использовать 2,2А, что достаточно для моих нужд и почти не выделяет тепла. Также я не хочу, чтобы степперы уничтожили машину в случае ошибки, когда я даю им слишком много мощности.

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

Arduino IDE


Самой первой, а, зачастую, и единственной программой для начинающих работать с контроллером Ардуино становится Ардуино IDE – интегрированная среда разработки от создателей платформы. Вы можете бесплатно загрузить основные версии этой программы на нашем сайте, чуть ниже привели ссылки для скачивания. Для вашего удобства мы выбрали наиболее свежие и популярные версии программ. В других материалах на ArduinoMaster.ru вы можете более подробно узнать об установке и настройке Arduino IDE. Давайте для начала коротко выясним, что такое IDE и получим ответы на наиболее часто возникающие вопросы. Если вы опытный разработчик, то можете смело перелететь в следующий раздел статьи со ссылками на скачивание.

Что такое Arduino IDE

Аббревиатура IDE расшифровывается как Integrated Development Environment, в переводе – интегрированная среда разработки. С помощью этой программы программисты пишут программы, причем делают это гораздо быстрее и удобнее, чем при использовании обычных текстовых редакторов.

В рамках платформы Ардуино программа Arduino IDE делает то же – помогает программистам писать программы. С ее помощью скетч, написанный на языке Arduino, проверяется, превращается в C++, компилируется, загружается в Arduino. Теоретически, вы можете обойтись без этой программы, но реально других вариантов начать работы с Ардуино для новичка практически не существует. Поэтому первое, что вы должны сделать – это найти и установить себе эту среду программирования. Это совершенно не трудно и абсолютно бесплатно.

Как скачать и установить Arduino IDE

Процедура скачивания и установки абсолютно традиционна. Вы загружаете файл, запускаете установку. На официальном сайте доступны версии c установщиком (exe) и обычных zip архивах. Вы можете найти версии Arduino IDE для всех основных операционных систем.

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

После установки потребуется небольшая настройка среды – об этом мы поговорим в отдельной статье про установку и настройку Ардуино IDE.

Какую версию Ардуино IDE выбрать?

Первая версия среды разработки Ардуино официально появилась в августе 2005 года. С тех пор утекло много воды, программа несколько раз претерпевала революционные изменения. До 2011 года номера версий состояли из одной цифры (последней была 0023 – версия от 09.11.2011). Затем появилась более привычная запись с «минорными» и «мажорными» обновлениями. Так, Arduino 1.0.0 появилась 30.11.2011, а версия 1.0.1 – в мае 2012.

Ключевыми по количеству обновлений и связанных с ними проблем совместимости стали переходы с версии 1.0.7 и 1.5. Многие библиотеки, написанные под «старые версии» программы не могли компилироваться в новых из-за изменений в системных библиотеках и других внутренних механизмах сборки проекта. Особенно сильно это проявилось при переходе на 1.6 версию. Если в вашем проекте есть древние библиотеки, некорректно работающие с современными версиями IDE, вам придется изменять их самому, ждать, пока это сделают авторы или подчиниться обстоятельствам и установить ту версию, с которой будет работать библиотека.

Последней стабильной версией Arduino IDE на момент написания статьи является 1.8.7 (август 2018).

Arduino на русском

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

Контроллер GRBL

После того как вы сгенерировали G-код с помощью Inkscape может возникнуть необходимость в проверке того, укладываются ли он в заданные ограничения (по возможности рисования).

Ограничения по рисованию определяются в следующих строчках кода нашей программы для Arduino:

В следующем окне GRBL контроллера можно проверить не выходит ли изображение на сгенерированном нами G-коде за пределы рисования, указанные в программе для Arduino. Если какая то часть изображения будет выходить за эти ограничения, то она не будет нарисована.

В нашем примере значения x и y изменяются в диапазоне от 0 до 40 мм. Но поскольку мы сконструировали плоттер с большей зоной рисования, то мы изменили максимальную границу с 40 до 60 мм.

Поэтому после того как вы нарисовали G-код в Inkscape желательно перед загрузкой его в плату Arduino проверять его с помощью программы GRBL не выходит ли он за пределы области рисования. Если выходит, то просто измените его размеры в Inkscape.

Установка и настройка grbl.

Как загрузить прошивку grbl в Arduino UNO уже рассказывал не однократно, например в статье: «Установка и настройка программы LaserGRBL.», но тут будем использовать немного модифицированную прошивку, как раз под данный проект. Поэтому повторю все шаги, которые нужно сделать.

1. Установка Arduino IDE.

Сперва, нужно установить среду программирования Arduino IDE. Если она у вас установлена, то можете смело пропустить данный пункт.

Я уже рассказывал, как установить и настроить программу Arduino IDE, в статье: «Программа Arduino IDE, бесплатно для Windows, Mac OS, linux. Прошиваем Arduino». Поэтому, расскажу вкратце основные этапы установки и настройки, для операционной системы Windows.

Установка драйвера ch340.

  • Скачайте драйвер внизу статьи в разделе «файлы для скачивания»;
  • Распакуйте архив;
  • Запустите исполнительный файл «CH341SER.EXE»;
  • В открывшемся окне нажмите кнопку Install;
  • На этом установка завершена.

Теперь можно приступать непосредственно к загрузке библиотеки GRBL.

2. Установка библиотеки grbl.

Как и писал ранее, использовать будем не стандартную библиотеку GRBL. Найти необходимую библиотеку можно по запросу в поисковике «Grbl Pen Servo», либо скачать внизу страницы в разделе «файлы для скачивания».

Внимание!!! Нужно обязательно удалить библиотеку GRBL, если вы ставили раньше. Для этого заходим в папку «Документы\Arduino\libraries» и ищем папку «grbl», и удаляем ее

Дальше нужно установить библиотеку grbl. Это можно сделать двумя способами:

  • Скопировать папку grbl, из архива, в папку с библиотеками Arduino, которая располагается по следующему пути: Документы\Arduino\libraries.
  • Установить через менеджер библиотек:

Заходим в Arduino IDE и выбираем в меню: Скетч –> Подключить библиотеку –> Добавить .ZIP библиотеку…

Выбираем скаченный архив grbl.zip и нажимаем кнопку «Открыть». После установки вы увидите надпись, что библиотека успешно добавлена.

3. Загрузка grbl в Arduino UNO.

После установки библиотеки grbl, заходим в меню Файлы –> Примеры, и в списке ищем пример «grbl». Открываем пример «grblUpload».В примере ничего менять не нужно, его нужно загрузить в Arduino UNO. Для этого, в пункте меню «Инструменты», выбираем плату «Arduino UNO» и порт, к которому подключена плата. В моем случае это «COM9».

Теперь мы можем загрузить прошивку GRBL в Arduino UNO. Для этого нажимаем на кнопку «Загрузить». После компиляции скетча, код будет загружен в микроконтроллер. И вы увидите надпись «Загрузка завершена».

Также вы увидите надпись оранжевого цвета «Недостаточно памяти, программа может работать нестабильно». Но не пугайтесь, все будет работать отлично.

Зачем нужны шилды

Обладатели самодельных устройств наслышаны о платах расширения – Arduino cnc shield, применение которых расширяет функционал фрезерного оборудования.

Обычно шилду изготавливают под форм-фактор платы. Используют и несколько шилдов одновременно, устанавливая их на микроконтроллер (один на другой). Спектр их применения:

  • при помощи официального устройства Arduino – Ethernet cnc shield можно добиться независимости проекта от ПК, да и для хостинга веб-сервера его используют,
  • 4 Relay Shield – возможность для того, чтобы подключать 4-х периферийные устройства,

https://youtube.com/watch?v=1ZX3qf8x9iA

  • Рrotoshield – весьма полезный шилд в момент, когда собирается схема,
  • LCD Shield позволяет информацию с Arduino выводить напрямую на периферийный экран,
  • еnergy Shield – расширенные возможности для питания на Arduino. Реальна подзарядка мобильников и гаджетов,
  • мotor shield обеспечивает управление большим числом моторов и их защиту,
  • SD Card Shield служит для обработки и хранения больших массивов информации,

  • Wi-fi Shield, подключенный к серийному порту, обеспечит дистанционное управление приводами роботизированных проектов,
  • GPRS Shield оснащается антеннами для использования сети GSM/GPRS,
  • E-Ink shield – путь для использования технологии электронных чернил, дисплею нужен для питания минимум энергии,
  • мusic Shield способен воспроизводить музыку через Arduino в отличном качестве.

Реально создать лазерный 3D принтер, ЧПУ станок, употребляя бюджетные платы Arduino. С платой расширения CNC Shield можно работать на станках с числовым программным управлением, в гравировальной или фрезерной машине. А шилд для управления тремя ШД (трехосевой станок) имеет три разъема, чтобы не было проблем с каждым драйвером при подключении.

https://youtube.com/watch?v=3El2sW1eJ-g

Лазерный гравер на Arduino своими руками


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

Видео работы гравировщика:

Материалы и инструменты:

— доступ к 3D-принетру; — стержни из нержавеющей стали 5/16″; — бронзовые втулки (для подшипников скольжения); — диод М140 на 2 Вт; — радиатор и кулеры для создания охлаждения диода; — шаговые двигатели, шкивы, зубчатые ремни; — суперклей; — деревянный брус; — фанера; — болты с гайками; — акрил (для создания вставок); — линза G-2 и драйвер; — термопаста; — защитные очки; — контроллер Arduino UNO; — дрель, режущий инструмент, саморезы и т.д.

Процесс изготовления гравера:

Шаг первый. Создаем ось Y

Сперва в Autodesk Inventor нужно разработать каркас принтера. Затем можно приступать к распечатке элементов оси Y и к ее сборке. Первая деталь, которая печатается на 3D-принтере, нужна для того, чтобы установить шаговый мотор на ось Y, подключить стальные валы и обеспечить скольжение вдоль одного из валов оси Х.

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

Что касается направляющих, то они сделаны из стрежней нержавеющей стали диаметром 5/16″. Нержавейка имеет небольшой коэффициент трения с бронзой, поэтому отлично подходит для подшипников скольжения.

На ось Y также устанавливается лазер, он имеет металлический корпус и достаточно сильно греется. Чтобы снизить риск перегрева нужно установить алюминиевый радиатор и кулеры для охлаждения. Автор использовал старые элементы от контроллера робота.

Помимо всего прочего в блоке для лазера 1″Х1″ нужно сделать отверстие 31/64″ и добавить болт к боковой грани. Блок соединяется с другой деталью, которая тоже напечатана на 3D-принтере, она будет перемещаться по оси Y. Для передачи движения используется зубчатый ремень.

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

Шаг второй. Создаем ось X

Для создания основания гравера использовалось дерево. Самое главное при этом, чтобы две оси X находились четко параллельно, иначе устройство будет клинить. Для перемещения вдоль координаты X используется отдельный мотор, а также приводной ремень в центре по оси Y. Благодаря такой конструкции система получилась простая и отлично работает.

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

Шаг третий. Подключаем и проверяем электронику

Чтобы проверить, как работает электроника, автор включил ее вне станка. Для охлаждения электроники используется компьютерный кулер. Работает система на контроллере Arduino Uno, который связан с grbl. Чтобы сигнал можно было передавать в режиме онлайн, используется Universal Gcode Sender. Чтобы преобразовать векторные изображения в G-код, можно использовать Inkscape с установленным плагином gcodetools. Для управления лазером используется контакт, который контролирует работу шпинделя. Это один из самых простых примеров с применением gcodetools.

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

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

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

Работа плоттера с ЧПУ

Для работы плоттера с ЧПУ при построения графиков с ЧПУ требуется 3 оси (ось x, ось y и ось z). Оси x и y работают в унисон для создания 2D-изображения на обычной бумаге. Эти оси (x и y) расположены под углом 90 градусов друг к другу таким образом, что любая точка на плоской поверхности определяется заданным значением x и y. Ось z используется для подъема и опускания пера на плоскую бумагу.

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

https://youtube.com/watch?v=a481L6ilmS4

https://youtube.com/watch?v=kGJP5l4hEWc

Основы сборки гравера на Aрдуино

Для начала предлагаю посмотреть того как выглядел весь процесс создания гравера у одного радиолюбителя:

https://youtube.com/watch?v=gnEQPK4RC-A

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

Ниже приведены некоторые сведения о выбранных компонентах:

  1. Шаговый двигатель – 2 штуки.
  2. Размер кадра – NEMA 23.
  3. Крутящий момент 1.8 Нм на 255 унций.
  4. 200 шагов/оборотов – за 1 шаг 1,8 градусов.
  5. Ток – до 3,0 А.
  6. Вес – 1,05 кг.
  7. Биполярное 4-проводное соединение.
  8. Шаговый драйвер – 2 штуки.
  9. Цифровой степпинг-драйв.
  10. Микросхема.
  11. Выходной ток – от 0,5 А до 5,6 А.
  12. Ограничитель выходного тока – снижает риск перегрева двигателей.
  13. Сигналы управления: входы Step и Direction.
  14. Частота импульсного входа – до 200 кГц.
  15. Напряжение питания – 20 В – 50 В постоянного тока.

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

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

Еще один процесс создания данного устройства можно посмотреть на видео:

https://youtube.com/watch?v=_qv0-DyHmuU