Мини ЧПУ плоттер на Arduino
В этом проекте я покажу вам как легко и просто построить свой дешевый мини ЧПУ плоттер на арудино. Конечно, ведь можно и просто взять и купить плоттер, но во первых это очень дорого, а во вторых не нужно мне 🙂
Для осей X и Y мы используем шаговые двигатели и направляющие, вытащенные из двух старых dvd\cd приводов. Рабочая зона у нашего ЧПУ плоттера будет 4 на 4 сантиметра.
Поскольку проект основан на использовании последовательного порта то вы сможете так-же использовать Bluetooth-модуль (например HC-06) для того чтобы подключать плоттер к компьютеру без проводов!
Я использовал код с этого сайта, которому я должен сказать спасибо.
Не бойтесь сделать этот плоттер, это очень легко и просто!!
Шаг 1. Что вам понадобится.
Для этого проекта вам понадобятся:
Список частей для «новичков»:
- Arduino uno
- Беспаечная макетная плата
- 2x L293D драйвера моторов
- Мини сервопривод
- 2x DVD/CD Привода
Список частей для «продвинутых» :
- ATmega328p (прошитая загрузчиком Arduino)*
- 28 pin DIP сокет
- 16MHz кварцевый резонатор
- 2x 22pF и 1x 100nF конденсатора
- 10K резистор
- Адаптер USB to Serial**
- 2x L293D драйвера моторов
- Мини сервопривод
- 2x DVD/CD привода
- Макетная плата под пайку
- 4x 2 пиновых коннектора (или 2x 4 пиновых)***
*Также вам понадобится Arduino UNO для программирования микроконтроллера ATmega328
**USB to Serial позволит плоттеру соединяться с компьютером.
***Зачем использовать коннекторы? Пока вы не добьетесь работоспособности использование коннекторов позволит вам присоединять части без необходимости пайки.
Инструменты (только для списка материалов для «продвинутых»):
- Отвертка
- Паяльник
- Припой
- Устроиство для резки (дремель, бормашина)
- Клей
Шаг 2. Разбираем CD/DVD приводы.
Первый шаг к построению нашего мини чпу плоттера это разборка двух приводов и извлечение из них шаговых двигателей. Используйте отвертку для того чтобы открыть их и извлечь двигатели и направляющие к ним.
Затем нужно выбрать из оставшихся частей ту, что будет являться основанием для нашего плоттера.
И наконец нам нужно найти что то, с помощью чего мы сможем присоединить один из шаговых двигателей с направляющими в вертикальное положение. Смотрите на изображения ниже.
Шаг 3. Оси X и Y.
На первом изображении выше вы можете увидеть ось Y нашего ЧПУ плоттера. Прикрепите её на поверхность, для этого вам понадобятся несколько винтов и отвертка.
На втором изображении обе оси X и Y. Ось X прикреплена к двум пластиковым деталям, которые я взял из оставшихся от приводов. Детали я вырезал чтобы они подходили по габаритам.
Это очень простой процесс. Всего лишь нужно быть уверенным что ось Y строго перпендикулярна основанию плоттера и оси X.
Шаг 4. Ось Z.
Это самый сложный шаг во всей инструкции.
Вам понадобится что-то, с помощью чего можно приделать её на ось X, плоскую поверхность. На эту поверхность нужно прикрепить сервопривод (ось Z) и держатель для ручки. Ручка (или карандаш) должна иметь возможность двигаться вверх и вниз с помощью сервопривода.
Выше есть картинка для объяснения того, что вам понадобится чтобы сделать ось Z.
Шаг 5. Основание для бумаги.
Теперь вам нужно присоединитиь деревянную (или пластиковую) поверхность на ось Y (5 на 5 сантиметра будет достаточно. На эту поверхность вы будете класть кусок бумаги для печати на нем тектстов иди изображений.
Запомните, зона печати будет 4 на 4 сантиметра.
Шаг 6. Электрический контур.
Теперь механическая часть у нас готова, самое время подготовить электрический контур и протестировать шаговые двигатели осей X и Y.
На изображении выше приведена схема соединения проводов.
Подключение шаговых двигателей требует особого внимания. На следующем шаге вы найдете тестовый код для осей x и y. Если ваши шаговики не работают нормально вы долдны найти рабочую комбинацию соединений их и микросхем L293D.
Шаг 7. Тестируем оси X и Y.
#include <Stepper.h>
const int stepsPerRevolution = 20;
//Connection pins:
Stepper myStepperX(stepsPerRevolution, 8,9,10,11);
void setup() {
//Set speed:
myStepperX.setSpeed(100);
//max 250 steps for dvd/cd stepper motors
myStepperX.step(160);
delay(100);
}
void loop() {
}
Это код для оси X.
#include <Stepper.h>
const int stepsPerRevolution = 20;
// Connection pins:
Stepper myStepperY(stepsPerRevolution, 2,3,4,5);
void setup() {
// Set speed:
myStepperY.setSpeed(100);
// max 250 steps for dvd/cd stepper motor
myStepperY.step(160);
delay(100);
}
void loop() {
}
Это код для оси Y. Если шаговые двигатели пришли в движение, значит всё подсоединено верно.
Шаг 8. Загружаем рабочий код в мини ЧПУ плоттер.
Сам код можно скачать по ссылке.
Шаг 9. Программа для работы с G-кодом.
Теперь мы готовы печатать свое первое изображение с помощью нашего мини ЧПУ плоттера! Для этого нам понадобится программа-посредник между нами и плоттером. Она преобразует G-код в движения сервоприводов.
Что такое G-код? G-код это файл с координатами X, Y и Z. Выглядит это вот так:
M300 S30.00 (Опустили печатающий прибор)
G1 X10.00 Y10.00 F2500.00
G1 X20.00 Y10.00 F2500.00
M300 S50.00 (Подняли печатающий прибор)
Скачать программу можно тут, скачаем и запустим GCTRL.exe.
Кликните кнопку «play» чтобы запустить программу.
Затем нажмите клавишу ‘p’ и выберите порт своего Arduino.
Нажмите ‘g’ и выберите файл с G-кодом.
(Если что-то пойдет не так, нажмите ‘x’ чтобы остановить плоттер).
Шаг 10. Создаем собственный G-код.
Для того, чтобы создавать файлы с G-кодом, совместимые с нашим ЧПУ плоттером вам понадобится программа Inkscape.
Inkscape это редактор векторной графики профессионального уровня, который работает на Windows, Mac OS X и Linux. Вы можете пользоваться им совершенно бесплатно, потому что он распространяется по лицензии opensource GNU GPL. Скачать его можете тут.
Затем вам нужно будет установить к нему аддон, который позволяет экспортировать изображения в G-код. Скачать его можете по этой ссылке.
Настроим Inkscape для первого использования. Откройте программу, идите в меню «File» и нажмите «Document Properties». Смотрите первую иллюстрацию сверху и измените так, как показано на картинке. Потом закройте это окошко. Мы будем использовать зону печати равную 4 на 8 сантиметров. Далее смотрите вторую картинку.
Как печатать текст: Введите текст, поменяйте шрифт на Times New Roma и выставите размер 22. Затем кликните на иконку с курсором и выровняйте текст так, как показано на третьей картинке выше. Выберите путь из меню «Object to Path».
Как печатать изображения: Это сложнее чем тект. Изображения должны иметь прозрачный фон. Перенесите изображение мышкой в Inkscape. Кликните «Ок» в следующем окошке. Затем вы должны изменить размер изображения так, чтобы оно влазило в нашу область печати (смотри картинку 4). Нажмите «Path» из меню и выберите «Trace Bitmap». Сделайте затем так, как показано на 5м изображении. Нажмите Ок и закройте окошко. Затем двигайте серое изображение и удалите цветное позади него. Черно-белое изображение передвиньте в нужное место еще раз и кликните опять в меню «Path» кнопку «Object to path». На шестой картинке показано как удалить изображение.
Экспортируем как G-код: Наконец, идите в меню File, кликните «Save as» и выберите «.gcode». Кликните ок на следующем окне. Вот и все! Наш G-код готов на печати на нашем новеньком мини ЧПУ плоттере!
Комментарии
Для отправки комментария вам необходимо авторизоваться.
Подскажите пожалуйста почему при такой схеме подключения у меня шаговые двигатели еле двигаются