Ввиду развития и удешевления технологий 3д печати, решил и я это дело освоить. Купив 3D принтер прочтя и просмотрев материалы печати наткнулся на технологию получения прутка из ПЭТ бутылок. Данная технология меня больше заинтересовала возможностью реализовать свои идеи в программировании и построении схемы управления станком вытягивания прутка. Применив в создании станка и сам 3D принтер.
Управление станком возложил на микроконтроллер (МК) PIC16F690.
Отображение информации на lcd1602 (hd44780) - температура нагревателя, заданная температура и скорость шагового двигателя (ШД), состояние вкл/откл нагреватель и куллер, и напряжение питания схемы.
В качестве драйвера для ШД (42BYGH40-1704A) применил drv8825, микрошаг 32 задал для меньшего шума (М1 и М2 притянул к +5v). Формула настройки номинального тока ШД для drv8825: Vref = Current Limit / 2.
Задание скорости ШД выполнено посредством переменного резистора R5. При задании скорости ниже минимального значения =8, ШД отключится. Через епром можно настроить минимальный предел, инверсию работы резистора R5, задать направление вращения ШД и изменить делитель скорости ШД. Если есть необходимость менять вращение при работе, то в епром выставить единицу, а вывод DIR, подключив тумблер, притянув к минусу изменит направление вращения на противоположное. Выводы PIC контроллера на STEP и DIR настроены как входы и управляются подтягивающими резисторами. Токи управления очень маленькие, но достаточные для управления текущим драйвером. Применил такую хитрость т.к. пин 3 контроллера не является полноценным выходом.
В роли нагревателя выступил хот-энд Volkano в сборе с термистором и нагревательным элементом на 12v. Хот-энд рассверлен немного под конус, а сопло сверлом 1.5мм. Управляется нагреватель через ключ полевого транзистора T2. Можно применить любой n-канальный полевик с соответствующим ttl уровнем и током. В моём случае суммарный потребляемый ток схемы 3.3А. Нагреватель включается/отключается заранее при приближении к заданному значению (настраиваемый диапазон в епроме) на основании роста или спада измеренной температуры. В эксплуатации, в процессе устоявшейся работы, температура колеблется +-1°С. Задаётся температура переменным резистором R7, шкала регулирования от ~170 до ~270°С. В процессе работы нагревателя контролируется рост температуры, если в течении 10 сек нет прироста, то нагреватель и ШД отключаются с выводом сообщения "ErrorHeatNoUp". Сброс переводом резистора задания температуры в нулевое положение.
Вход пин.11 задействовал под концевик окончания прутка. Разомкнутое положение - нормальная работа по вытягиванию. При замыкании на минус, через 10 сек. нагреватель и ШД отключаются с выводом сообщения "End Filament OFF".
Шкалирование термистора построено на основании документации «Reprap-Hotend-Thermistor-NTC-3950-100K».
Нагреватель закрепил через гравера к опорной пластине, создав небольшой зазор. Также сделал между пластиной и текстолитом. Под текстолит крепления к основанию подложил гайки.
Куллер съёмный, запускается по достижение заданной температуры (70°С задаётся в епроме) для охлаждения нити и драйвера ШД. По окончанию вытягивания нити куллер можно повернуть для охлаждения нагревателя.
Отображаемое напряжение питания схемы построено на делителе R2, R6, шкала максимум до 28v. Управление куллером цепочка R3, T1. При минимальном исполнении схемы эти элементы не нужны.
При работе ШД отключение разъёма приводит к выходу из строя драйвера.
Модели для станка, крепления и шестерни выложил https://3dtoday.ru/3d-models/detali-dlya-3d-printerov/raznoe/shesterni-katushka-krepleniya-dlya-vytyagivaniya-niti-iz-pet-butylok/ .
Подготовка пэт бутылки. Срезаем дно и горлышко, очищаем растворителем пластик от клея этикетки. Нарезаем на ленты, ширина исходя из толщины пластика и диаметра сопла. Для белой толстостенной ~0.4мм бутылки ширина ленты 7.5мм. Ленту заострённым хвостом продевал в остывший нагреватель. По мере прогрева выше 200°С вытягивал вручную, продевал в отверстие катушки и заломив цеплял под саморез. Температуру формовки прутка выставил 240°С, т.е. немного ниже начала плавления данного пластика. На выходе получился ровный глянцевый пруток. При 242°С пруток терял глянец.
EEPROM по умолчанию (дес.). org 0x2100
Значение (дес.) | Адрес (дес.) | Назначение |
1 | 0 | направление вращения 0/1 |
70 | 1 | - |
8 | 2 | минимальная скорость ШД, не ниже 5! (усл.ед. МК) |
255 | 3 | - |
1 | 4 | инверсия резистора скорости 0/1 |
3 | 5 | дельта при t Выше требуемого, т.е. заранее вкл. если падает (у.е.) |
4 | 6 | дельта при t Ниже требуемого, т.е. заранее откл если растёт (у.е.) |
70 | 7 | темпер. вкл./откл. обдува (°С) |
36 | 8 | делитель для Uпит. |
100 | 9 | множитель для Uпит. |
3 | 10 | делитель скорости ШД 0...7 (для TMR0=2,4,8,16,32,64,128,256) |
Значение (дес.) | Адрес (дес.) | Назначение |
50 | 11 | хх/5=...сек., тайминг для концевика окончания филамента |
60 | 12 | 60=12сек. тайминг отслеживания исправности нагревателя |
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
U1 | МК PIC 8-бит | PIC16F690 | 1 | Поиск в магазине Отрон | ||
lcd1602 | LCD-дисплей | HD44780 | 1 | 1602 | Поиск в магазине Отрон | |
VR1 | Линейный регулятор | L78L05 | 1 | Поиск в магазине Отрон | ||
T2 | MOSFET-транзистор | AUIRFZ44N | 1 | Поиск в магазине Отрон | ||
T1 | Биполярный транзистор | 2N2222 | 1 | Поиск в магазине Отрон | ||
D1 | Выпрямительный диод | 1N4007 | 1 | Поиск в магазине Отрон | ||
R1 | Резистор | 47 Ом | 1 | Поиск в магазине Отрон | ||
R2 | Резистор | 22 кОм | 1 | Поиск в магазине Отрон | ||
R3 | Резистор | 470 Ом | 1 | Поиск в магазине Отрон | ||
R4 | Резистор | 620 Ом | 1 | Поиск в магазине Отрон | ||
R5, R7 | Переменный резистор | 10 кОм | 2 | Поиск в магазине Отрон | ||
R6 | Резистор | 4,7 кОм | 1 | Поиск в магазине Отрон | ||
R10 | Резистор | 4,7 Ом | 1 | Поиск в магазине Отрон | ||
R14 | Подстроечный резистор | 4.7 кОм | 1 | Поиск в магазине Отрон | ||
C1 | Конденсатор | 220 мкФ | 1 | 25В | Поиск в магазине Отрон | |
C2, C3 | Конденсатор | 2.2 мкФ | 2 | 25В | Поиск в магазине Отрон | |
Скачать список элементов (PDF)
Прикрепленные файлы:
- 3Dpet_690(3).zip (234 Кб)
Комментарии (34)
|
Я собрал (0) |
Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
Специализируюсь только на пиках, времени нет на освоение. А тут уже шаблоны свои применяю.
[Автор]
[Автор]
[Автор]
[Автор]
А так печатал заправляя новый пруток при окончании первого.
[Автор]
Рассверливал гладким конусом до краев стенок термоблока. До сопла конус не дошёл.
[Автор]
[Автор]
3Dpet_AcpPwm.inc
3Dpet_hd44780_690.inc
Не могли бы Вы добавить их в архив? Буду очень благодарен, а то не очень хочется разбираться с другими проектами на Arduino. С Микрочипом как-то веселее
1. Вентилятор охлаждения запускается при включении контроллера, а после нагрева ТЭНа отключается. Это не логично - должно быть наоборот! Пришлось подключить его к 12В напрямую.
2. Очень часто отключается нагрев по ошибке "ErrorHeatNoUp". При этом двигатель продолжает тянуть пруток, тогда как экструдер остывает. Здесь нужно либо выключать двигатель вместе с ТЭНом или, что даже будет лучше, убрать эту функцию!
3. Есть необходимость в отключении схемы по окончании экструзии. Не могли бы Вы добавить в программу обработку концевого выключателя, при срабатывании которого, нагрев и двигатель выключались бы. Для этой цели мне было бы удобно использовать свободный пин RB6 (вывод 11 МК).
Могу я попросить Вас внести изменения в прошивку для устранения этих замечаний?
Заранее благодарю, Дмитрий.
[Автор]
2. Доработаю. Это защита от пожара.
3. Рассмотрю.
Странно, но когда я переделал печатку: выбросил ключ вентилятора, добавил емкость по входу стабилизатора, поставил 0.1 мкФ параллельно термистору, то управление вентилятором стало правильным.
Насчёт защиты предлагаю ввести регулровку времени в EEPROM, так как 10 сек. маловато для моего ТЭНа. Пока он нагреется градусов до 100, несколько раз срабатывает защита.
[Автор]
Обновил статью. Добавил вход по окончанию экструзии.
[Автор]
Есть 3Dpet_690.cof если его выбрать для пика в Proteus то увидите весь код. Или в лс.