3d printer своими руками arduino


3d printer своими руками arduino

Друзья, привет!

В конце сегодняшней части наш принтер уже будет печатать.

Напомню что мы с вами уже сделали:

1.
2.
3.
3.1.
3.2.
4. Прошивка и настройка принтера – Marlin.
5. Прошивка и настройка принтера - Repetier-Firmware.

Сегодня нам потребуется мультиметр, компьютер, кабель USB, который шел в комплекте с Arduino Mega, карта памяти SD.

Предупреждаю сразу, прежде чем включать все это дело в розетку, проверьте 7 раз все ли подключено правильно, и при работе с мультиетром одно неловкое движение и Arduino на замену. Я уже убил 3 Arduino Mega, в том числе одну при настройке этого принтера, и что бы вам не ждать еще две недели этот пост, быстро нашел на авито новую "дуню". Если в чем то сомневаетесь, перепроверьте или переспросите! Если что я предупредил.

Что стоит прежде всего проверить:
1. Положение драйверов.
2. Правильность подключения концевиков.
3. Полярность всех проводов.
4. Общая схема подключения всех электроники.

Проверили? 7 раз? Поехали дальше:

Включаем наш принтер в розетку, включаем выключатель (на разъеме для сетевого кабеля с предохранителе и не забываем установить предохранитель), должны включиться:
1. Вентилятор на блоке питания.
2. Обдув RAMPS.
3. Обдув радиатора печатной головы.
4. Подсветка экрана.
5. Подсветка принтера, можно включить выключить при помощи выключателя.

Работает?

Нет - идем в предыдущие главы.
Да - идем дальше.

Картинку взял у :

C помощью мультиметра измеряем напряжение (Вольты постоянного тока - V). Кстати, вот как раз в этот момент дрогнула у меня рука, и я сначала перепаял стабилизатор, который чаще всего в этой ситуации горит, потом понял что сгорел не только стабилизатор, поехал за "дуней". На драйверах А4988 можно справиться и без мультиметра, просто по звуку, но мы идем по правилам, выставляем на всех драйверах напряжение 0,68В, для А4988 можно до 1В.

Готово?

Едем дальше:

Качаем - Arduino Software, последнее время с этой программой странное творится, у меня заработала версия 1.6.5, у коллег по цеху другие версии. Устанавливаем на свой компьютер.

Т.к. скорее всего у нас с вами "дуня" вовсе не "дуня" а китайский клон на чипе CH341, то качаем еще и драйвер, например - устанавливаем на свой компьютер.

Качаем прошивку - - распаковываем архив с прошивкой в удобное место.

Качаем библиотеку – – архив не распаковываем.

Подключаем принтер к компьютеру через USB кабель, происходит установка драйверов и в итоге вы должны увидеть в диспетчере устройств своего компьютера вот такую картинку:

ch341.jpg Запоминает номер COM - порта на котором установилась ваша плата Arduino.

Открываем файл ...\Marlin-RC\Marlin\Marlin.ino (в проводнике Windows может быть без расширения просто Marlin) с помощью Arduino Software:

marlin.jpg Далее идем: Инструменты - Плата:... - Выбираем свою плату Arduino/Genuino Mega or Mega 2560. marlin 2.jpg Далее: Инструменты - Процессор:... - ATmega2560(Mega 2560). marlin3.jpg Далее: Инструменты - Порт:... - Выбираем тот самый COM порт который мы запомнили в диспетчере устройств своего компьютера. marlin4.jpg Едем дальше - открываем вкладку Configuration.h: marlin 5.jpg Все основные настройки будут произведены в этой вкладке.

Нам необходимо добавить библиотеку для работы с нашим экраном - u8glib, мы ее уже ранее скачали, дальше нам ее необходимо добавить в нашу прошивку.

Идем Эскиз - Include Library (Добавить библиотеку) - Add .ZIP Library...

marlin 6.jpg В открывшемся окне ищем свой архив с u8glib библиотекой выбираем его и нажимаем открыть. marlin7.jpg Далее Эскиз - Include Library (Добавить библиотеку) - в самом низу видим появилась u8glib, выбираем ее. marlin8.jpg В нашем скетче появилась строчка:
#include marlin9.jpg Приступаем к конфигурации прошивки:

1. Необходимо выбрать контроллер нашего принтера, для этого идем во вкладку boards.h

marlin 10.jpg Видим там огромный список контроллеров с которыми уже умеет работать прошивка Marlin: marlin11.jpg Напомню что мы используем Arduino Mega 2560 + RAMPS v 1.4 и у нас нагревательный стол, управляемый обдув детали и одна печатаная голова. Думаю все уже нашли нашу плату:

#define BOARD_RAMPS_14_EFB 43 // RAMPS 1.4 (Power outputs: Hotend, Fan, Bed)

Возвращаемся на вкладку Configuration.h

Ищем строчку где необходимо прописать контроллер (MOTHERBOARD) и прописываем туда нашу строчку:

marlin12.jpg 2. Настройка датчика температуры стола.

Скорее всего у вас, так же как и у меня обычный китайский термистор 100К, в этой прошивке он обозначается цифрой 1:

// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)

Приписываем его для хотэнда и для стола:

marlin13.jpg Значения максимальной и минимальной температуры можем оставить без изменения или настраиваем под свои нужды: marlin14.jpg 3. Настройки PID - рекомендую сделать после того как несколько часов уже отпечатаете на свое принтере.

Делается это следующим образом, в программе необходимо подключиться к принтеру

pronterface.jpg и дать команду pronterface2.jpg Где M303 - команда калибровки, E0 - хотэнд, C10 - количество циклов нагрева-охлаждения, S260 - типичная температура работы сопла.

Принтер 10 раз прогоняет нагрев хотэнда после этого выдает значения Kp, Ki, Kd. Прописываем эти значения в эти прошивку:

marlin15.jpg Тоже самое для стола, только команда:

M303 E-1 C10 S110

Где E-1 - стол, S110 - типичная температура нагрева стола.

Из за длительного нагрева стола возможно появление ошибки из за таймаута, просто перезапустите команду.

Полученные значения вносим в прошивку:

marlin16.jpg 4. Настраиваем работу концевых выключателей:

Напомню что в нашем случае используются:
Максимум по Y
Максимум по Z
Минимум по X

Следовательно в соответствии с этим комментируем(//)/раскомментируем соответствующие строки: 1.jpg А так же меняем направление расположения "дома" в соответствии с положением концевиков: 2.jpg 4. Настройки размера печатного поля.

В моем случае получилось ровно 200200190 мм:

3.jpg Ваши значения могут немного отличаться, буквально мм, но это устанавливается опытным путем позже.

5. Установка скорости перемещения домой:

Устанавливается опытным путем, пока оставляем по умолчанию.

6759bdc46174615963fefdcf8294bbd4.png 6. Настройка шагов перемещения по осям.

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

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

Далее по осям X и Y у нас ременная передача шаг каждого зуба 2 мм и шпуля имеет 20 зубов.

Таким образом, наш двигатель за один оборот делает 20016 = 3 200 шагов и преодолевает за эти 3 200 шагов расстояние 202 = 40 мм.

Следовательно, для того что бы принтеру пройти 1 мм необходимо 3200/40 = 80 шагов (это значение одинаково для оси X и оси Y).

На оси Z установлен трапецеидальный винт, который имеет шаг разный, кто какой приобрел. Например, 8 мм на один полный оборот, т.е. наш принтер за один оборот винта по оси Z проходит 8 мм и делает для этого все те же 3 200, хотя для ускорения оси Z можно поставить дробление (джамперами) и 1/8, как это сделать написано в 3 части.

Итак по оси Z для того что бы пройти 1 мм необходимо принтеру сделать 3 200/8 = 400 шагов.

Подача экструдера. Для того что бы понять сколько наш экструдер подает пластика, нам необходимо вычислить длину окружности, из школьного курса геометрии помним, что длинна окружности равна 2"число пи" радиус окружности или "число пи" диаметр окружности. Сейчас особая точность нам не нужна (более точно будем подгонять позже), диаметр примерно равен 5,8мм, следовательно за 3200 шагов или один оборот наш экструдер подает 3,14155,8 = 18,2207 мм прутка, и на подачу одного мм ему необходимо 3 200 / 18,2207 = 175,624 шага, округляем да целого шага 176.

Прописываем полученные значения в прошивку:

2.jpg Здесь по порядку X, Y, Z, экструдер.

7. Настройка скоростей и ускорений:

эти параметры пока оставляем без изменений и будем их настраивать в более точной настройке:

3.jpg 8. Настройка экрана:

Раскомментируем (убираем двойной слеш //) со строк

#define ULTRA_LCD
#define DOGLCD
#define SDSUPPORT
#define ULTIPANEL
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

9. Можете назвать свой принтер в честь себя любимого, например "Plastmaska"

Для этого нужно расккоментировать строку:

//#define CUSTOM_MACHINE_NAME "Plastmaska"

Все основные настройки прошивки произведены, проверяем, нажав клавишу "Проверить":

206bb521ac44759ef02835336930547f.jpg И загружаем нажав клавишу "Вгрузить": 6.jpg После этого наш принтер перезагрузится и покажет вам различные параметры. IMG_1302.JPGТеперь нам необходимо произвести тонкую настройку принтера:

1. правильное направление движения по осям.

Должно быть:

ось X - влево 0 (или минус), вправо 200 (или плюс)
ось Y - к вам 0 (или минус), от вас 200 (или плюс)
ось Z - вверх 0 (или минус), вниз 190 (или плюс)
экструдер - подает пластик это плюс, откатывает пластик это минус

Если все соответствует двигаемся дальше, если нет, то изменяем параметры, меняем параметр true на false или false на true - параметр меняется только там где это необходимо (где движение по оси неправильное):

#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false

#define INVERT_E0_DIR false

компилируем и снова заливаем прошивку, проверяем, совпало двигаемся дальше.

2. Работа концевиков:

Ставим каретку и стол таким образом что бы концевики были не нажаты.
Через программу Pronterface подаем команду M119.

Видим примерно следующее:

или так правильно должно быть:

x_min: TRIGGERED
x_max: open
y_min: open
y_max: TRIGGERED
z_min: open
z_max: TRIGGERED

или

x_min: TRIGGERED
y_max: TRIGGERED
z_max: TRIGGERED

После этого отправляем каретку и стол домой по очереди по каждой оси и проверяем правильно ли сработал концевик командой M119:

По каждой и сработавших осей он должен написать open, лучше это делать по отдельности, для проверки правильности подключения концевиков, в итоге вы должны получить следующую картину:

или

x_min: open
y_max: open
z_max: open

Это только для нормально закрытых контактов, если вы используете нормально открытые, то у вас должно быть все наоборот, концевик не сработал - open, концевик сработал - TRIGGERED.

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

3. Правильное перемещение домой.

Подаем команду принтеру отправиться домой, можно через меню принтера, можно через программы на компьютере.

Каретка должна отправиться влево и от вас, стол должен опуститься вниз.

Все правильно? двигаемся дальше. Нет? возвращаемся к прошивке

2.jpg 4. Подбираем размеры перемещения:

тут все опытным путем и линейкой подбираем параметры для всех осей и вносим их в прошивку:

3.jpg 5. Проверка подачи прутка:

Берем линийку, отмеряем 10-20-30 см прутка, отмечаем и даем принтеру команду выдавить 10-20-30 см прутка, проверяем насколько точно он это сделал, исходя из значений корректируем прошивку.

6. Подбор скоростей и ускорений:

Лучше чем Сергей Тараненко об этом никто не расскажет:

Полученные параметры вносим в прошивку, заливаем в принтер, проверяем.

7. Установка зазора между столом и соплом.

Предварительно на стол необходимо нанести покрытие для хорошего прилипания к столу, я лично использую клей-карандаш (3M Skotch, UHU, Каляка-Маляка). Клей наношу на холодное чистое сухое стекло, после этого можно нагревать стол, на днях планирую попробовать ситалловое стекло, из проверенного лучше карандаша ничего не работает.

Разогреваем стол и сопло до рабочей температуры (110/250) отправляем стол в точку 0, дальше по трем точкам (там где у нас расположены регулировочные винты)

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

Часть параметров можно изменить через EEPROM, делается это или в программе Repetier-Host

Или с помощью команд в том же Pronterface.

На этом пожалуй все, жду от вас вопросов, на основании которых хочу составить некий FAQ по принтеру.

IMG_1303.JPG Так же последняя глава "5. Прошивка и настройка принтера - Repetier-Firmware." откладывается на неопределенный срок, т. к. принтер на котором планировалось устанавливать это прошивку вдруг внезапно получил MKS Sbase, а это уже другая история.

Напоследок еще раз видео как печатает принтер:

и вот что получилось: PREVIEW Еще одина всем известная модель, но более высоком качестве и более качественным материалом: IMG_1309.JPGIMG_1308.JPGIMG_1311.JPGIMG_1310.JPG Ну а вот новые владельцы принтера радуются. коробка.jpg Осмотрели: осмотр.jpg Нанесли адгезионное покрытие: нанесение.jpg Ни и принялись за работу: 1oFU8q1fQDs.jpg Что планирую дальше, первое это все же завершить проект с двуглавым принтером: Но в ближайшее время хочу сделать фанерный Ultimaker Go Возможно и Repetier-Firmware реализую именно там.

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

Насколько вам было интересно следить за этими проектами, просьба отписаться в комментариях.

Update

Часть 5. Обновления и дополнения. >>

Просьба поддержать данный проект в соц.сетях. Нужен репост статьи!

На всякий случай я .




3d printer своими руками arduino

3d printer своими руками arduino

3d printer своими руками arduino

3d printer своими руками arduino

3d printer своими руками arduino

3d printer своими руками arduino

3d printer своими руками arduino

Похожие новости:

Новостей еще нет