Прошел примерно год как я собрал свой первый принтер на механике CoreXY и я ...
+ развернуть текст сохранённая копия
Прошел примерно год как я собрал свой первый принтер на механике CoreXY и я задумался над переходом на 32 бита – на высоких скоростях и сложных моделях наблюдались подтормаживания, а при подключенном Full Graphics контроллере вообще беда, кроме этого хотелось тихих драйверов, а они для 32 бит дешевле и мощнее.
Начал выбирать из того что есть:
Ramps-FD – продается только версия которую надо «допиливать»
RADDS – интересный вариант, но нельзя подключить 5 вольтовый Discount Smart Graphics Controller, и цена кусается.
Из не «бутербродных» решений сильно понравился Ultratronics https://reprapworld.com/products/electronics/ultratronics/ultratronics_pro_v1_0/ но цена тоже не радует.
В итоге решил сделать свой Ramps для Due, добавив туда все чего мне не хватало. Спроектировал схему, выполнил трассировку печатной платы и заказал в Китае производство 5 пробных штук. Через месяц после заказа плату я дождался, на мой взгляд платы сделаны очень качественно (доставка может быть и быстрее но для маленького заказа получилась бы дороже самих плат).
После чего накупил в чип и дип компонентов, собрал и отладил. В итоге получился вот такой прототип RuRAMPS4D (не обошлось без ошибок при проектировании поэтому получившийся вариант не окончательный).
Что получилось в итоге:
Питание.
На вход можно подавать от 12 до 25в, на выходе DC-DC преобразователя снимается 9В с током до 3А.
Кроме питания Arduino Due часть мощности идет на преобразователь в 5В для возможности питания дисплея Nextion или MKS TFT32, а так же сервоприводов без внешнего источника 5В.
Питание нагреваемой платформы отделено от питания платы, например можно подавать на стол 24 при это питая все остальное от 12В.
Разъемы попробовал «типа как на материнской плате» - держат до 20А обеспечивают хороший контакт. Посмотрю на сколько это хороший вариант, и надо ли ставить вместо них барьерные клеммы (как на БП)
Предохранители – плата планировалась для впайки гнезд под автомобильные предохранители «мини» серии, но так как нашел их только на заказ, впаял пока обычные .
Силовые выходы: 5 для нагревателей и вентиляторов, один на платформу. Для нагревателей и вентиляторов, установлены MOSFET IRLB8743, на нагревательную платформу IRLB3034.
Концевики. Тут все стандартно, кроме того что для индуктивного/емкостного датчика сделал отдельный вход. С него подается 9В питания на датчик, а пришедший с датчика сигнал подается на вход микроконтроллера после делителя.
Дисплеи. Сделал возможность подключения стандартного Discount smart controller как символьного, так и графического без всяких переходников. Добавил разъем для подключения дисплеев Nextion (аналог MKS TFT32, но интерфейс делать самому в довольно простой среде разработки, кроме того дисплеи идут с размерами от 2,4 до 7”) готовая прошивка с исходником есть в MK4Duo.
ESP8266. Сделал разъем для подключения ESP-01 с необходимой обвязкой, уже есть пара интерфейсов для управления принтером через ESP, почему бы и не добавить (в дальнейшем понял, что надо подключать версию ESP-12).
Прошивка. Для начала в качестве прошивки взял MK4Duo https://github.com/MagoKimbra/MK4duo/tree/master/MK4duo , предварительно создав файл платы под свое устройство и внеся изменения в boards.h, на конечной версии платы адаптирую и Repetier Host.
Включение и первые тесты. Сделал пару фотографий устройства с разными дисплеями при тестировании нагрева, заранее извиняюсь за качество, никак нормально снять дисплей не получалось.
Ну и печать. Для проверки запустил модельку с кучей кривых https://www.thingiverse.com/thing:1452797 (модель уменьшил до 80%, оказалось зря, слишком мелкими некоторые детали получились для сопла 0.4): ABS FDPlast, слой 0.15, скорость 120, внешние периметры 60. Напечаталось нормально, правда есть места с недоэкструзией, тормозов не замечено даже при активном “хождении” но меню дисплея и корректировке параметров во время печати.
Что в итоге. Как прототип устройство вполне рабочее, найден ряд недостатков, которые устраню в новой версии. Кроме исправления ошибок думаю поменять расположение разъемов. За недельку думаю, трассировку платы переделаю. Конечно покупка того же RADDS в итоге обошлась бы наверное дешевле, но зато кроме платы я приобрел интересный опыт и сейчас у меня планы не останавливаться на дастигнутом, а сделать плату управления на stm23.
На этом пока все, конструктивная критика и предложения приветствуются.
Подробнее...
Тэги:
техничка
Самодельный Fan Extender из желудей и палок.
2017-06-19 18:47:26
Однажды задумался о Fan Extender-е. Для того чтоб хотя бы на обдуве термобарьера вентилятор лишний ...
+ развернуть текст сохранённая копия
Однажды задумался о Fan Extender-е. Для того чтоб хотя бы на обдуве термобарьера вентилятор лишний раз не крутился.
Китайские поделки на 2 канала вроде и хороши, но слишком дороги. От трех сотен рублей за безделушку.
Решил собрать сам, без гламура, из того что есть под рукой. Чистый функционал. Начиная с этого момента да здравствует трэш и содомия
.
Под рукой нашелся кусочек макетной платы, кусок линейки "мам" со стандартным шагом 2,54мм, пара сопротивлений: одно на 15 Ом обыкновенное и второе на 10КОм в smd исполнении, его отпаял с какой-то платы. Полевой транзистор с буквой L в названии бнашел в коробке радиодеталей, IRFL024NPBF, в корпусе SOT-223. Не самый удобный вариант для макетной платы, но как говорится чем богаты, тем и рады. Подойдет практически любой n-канальный полевик с буквой L в названии. По напряжению смотрите.
Схема включения стандартная. Набросал от руки.
Спаял.
На плате предусмотрел пару лишних выходов на 12 вольт. Один для вентилятора обдува самого RAMPS-а. Скорость этому вентилятору я снизил обыкновенным сопротивлением. И не шумит, и не напрягает, и обдувает.
Поставил на плату RAMPS
Питание 12В взял со штатного разъема на RAMPSе.
Собственно в сборе
В итоге дешево и сердито. Из желудей и палок.
Времени на сборку потрачено не более получаса, с перерывом на кофе.
Полевой транзистор стоил рублей 30 и покупался совсем под другие цели, более того, я его там так и не использовал.
Как настроить fan extender для автоматического обдува термобарьера я расписал в теме про прошивку Marlin Kimbra.
Плату сначала хотел слегка обрезать, но поставил и забыл. Она просто работает
Подробнее...
Тэги:
техничка
Wanhao Duplicator i3 - крепеж стекла на столе
2017-06-19 15:15:03
Wanhao Duplicator i3 - крепеж стекла на столе.
Добрый день, коллеги!
...
+ развернуть текст сохранённая копия
Wanhao Duplicator i3 - крепеж стекла на столе.
Добрый день, коллеги!
Меня, мягко говоря, утомили канцелярские прищепки, которыми прижимается стеклу к столу принтера. Надо учитывать их места крепления и габариты при построении модели, проблемы с калибровкой стола, проблемы с паузой во время печати и т. п. радости.
Частично решил эту проблему для себя, делюсь - может кому-то тоже будет полезно. Сразу скажу, на всю переделку ушло минут 45 с перекурами.
Итак, в качестве крепежа использовал клеммы от каких- то радиоэлементов. Их надо 2 штуки. Вот она (фото на бумаге в клетку, клетка 5 мм, толщина самой клеммы 0,3 мм):
Фото 1. Эта самая клемма.
У меня толщина стекла 3 мм, сгибаем две клеммы должным образом, откусываем лишнее и, конечно, обрабатываем напильником:
Фото 2. Готовый крепеж.
Для того, чтобы винты не застревали в держателе стола, крепежные отверстия 3,2 мм рассверлил до 3,5 мм. Внимательно, не самого нагревающегося стола, а держателя стола, к которому привернуты линейные подшипники.
Крепеж устанавливаем на задней стороне.
Собираем как на картинках:
Теперь можно использовать только одну прищепку, спереди.
Работает превосходно.
Успехов!
Подробнее...
Тэги:
техничка
Прошивка MagoKimbra/MK4duo, настройки прошивки для Prusa i3 для бутерброда RAMPS 1.4 и для платы RAMPS 1.4 Plus
2017-06-18 22:26:05
Уже достаточно давно (примерно пол года) пользуюсь прошивкой Marlin Kimbra (MagoKimbra/MK4duo).
+ развернуть текст сохранённая копия
Уже достаточно давно (примерно пол года) пользуюсь прошивкой Marlin Kimbra (MagoKimbra/MK4duo).
это переработанная прошивка Marlin итальянским RepRap сообществом. Прошивка интересна тем, что ее можно запустить как на 8 битных мозгах, так и на 32х битных мозгах на плате Arduino DUE в связке с низкобюджетным RAMPS4Due.
Скачать прошивку и ознакомиться со списком ее фич можно по официальному адресу прошивки на гитхабе.
Так же хочу сказать что по сравнению с классическим Marlin-ом, прошивку конфигурировать гораздо проще. Все благодаря тому что все настройки сгруппированы по разным вкладкам. Не надо рыть огромную портянку конфига. Очень удобно.
Прошивка работает на моем принтере, без проблем. Прошивку периодически обновляю, обычно вместе с выходом очередной версии.
Если есть желание сменить прошивку - попробуйте. Думаю вам понравится.
После смены прошивки с Marlin-а на MagoKimbra, первым делом надо очистить EEPROM по команде
M502 - Revert to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
А потом сохранить по
M500 - Store parameters in EEPROM
На сайте теоретически есть некий конфигуратор прошивки, но, я его ни разу не использовал. Попытался, но какой-то он ракообразный. В итоге проще все сконфигурировать руками.
Кратко расскажу как настроить прошивку на примере своего принтера, мозгов типа бутерброд arduino mega + ramps и кинематики Cartesian (Prusa i3). Активирую минимально-необходимое для работы количество фич.
В настройке прошивки особо сложного ничего нет, все интуитивно понятно.
Так же уделю внимание
РОДНЫМ МОЗГАМ Prusa i3 от flsun3d. Изначально принтер идет с единой материнской платой
RAMPS 1.4 Plus
Если пролить в нее прошивку отличную от той что прислал китаец (Marlin 1.0.0), у принтера автоматически перестанет работать дисплей и экструдер с E0 переедет на E1. Я столкнулся с такой проблемой, посидел вечер поковырялся и нашел решение. В конце статьи расскажу как это исправить.
Прошивка без проблем собирается в последней среде Arduino (1.8.1).
Открываем файл MK4duo.ino с помощью среды Arduino и начинаем настраивать.
Начинаем со вкладки
Configuration_Basic.h
Тут мы настроим
* - Тип серийных коммуникаций
* - Материнскую плату
* - Тип механики (Cartesian для Prusa I3)
* - Количество экструдеров
С ходу правим
#define BAUDRATE 250000
Если охота в терминале (или Pronterface) видеть кто конфигурил прошивку
#define STRING_CONFIG_H_AUTHOR "(Mef73, custom config)"
А можно и не трогать.
Больше в этой вкладке делать нечего, поскольку по умолчанию уже включено
#define MOTHERBOARD BOARD_RAMPS_13_HFB
#define MECHANISM MECH_CARTESIAN
А так же установлен один экструдер и один драйвер для экструдера.
Переходим ко вкладке
Configuration_Cartesian.h
Начну с изменения имени принтера, хотя это и не обязательно
#define CUSTOM_MACHINE_NAME "Prusa I3 flsun"
Далее, ищу ********************************** Stepper direction ************************************
и правлю
#define INVERT_E0_DIR true
Именно мой штатный экструдер принтера Prusa i3 от flsun3d такой, инвертный. Можно перевернуть разъем шагового двигателя (ШД), но не хочу. Чтоб когда буду менять принтеру мозги, не греть голову на счет разворота разъема двигателя.
Далее, правлю ******************************* Axis steps per unit *************************************
Опять же, для мого принтера с drv8825 и микрошагом 32
#define DEFAULT_AXIS_STEPS_PER_UNIT {200, 200, 800, 310, 310, 310, 310} //drv8825
Для моего принтера с a4988 и микрошагом 16
#define DEFAULT_AXIS_STEPS_PER_UNIT {100, 100, 400, 155, 155, 155, 155} //a4988
Надо прописать только ОДНУ строчку. Для одного или для другого драйвера ШД.
Как расчитать шаги рассказывать не буду. Гайдов в сети полно.
Для остального правлю
#define DEFAULT_MAX_FEEDRATE {200, 200, 2, 100, 100, 100, 100}
#define DEFAULT_MAX_ACCELERATION {1500, 1500, 50, 1000, 1000, 1000, 1000}
#define DEFAULT_ACCELERATION 1500
#define DEFAULT_XJERK 30.0
#define DEFAULT_YJERK 30.0
#define DEFAULT_ZJERK 0.4
Эти значения можете так же поставить свои. На этом с вкладкой
Configuration_Cartesian.h заканчиваем.
Переходим к вкладке
Configuration_Feature.h
Тут мы настраиваем всяческие фичи прошивки. Расскажу что и где включаю я. Возможно кто-нибудь в комментариях расскажет чем еще пользуется. Я пользуюсь по сути минимумом всяких фич, только тем что мне надо.
В общем поехали...
Убираем // c
#define HOME_Y_BEFORE_X
Первой паркуем ось Y. У меня зеркало на зажимах, если первой парковать ось X при малой высоте Z соплом снесу зажимы.
#define FORCE_HOME_XY_BEFORE_Z
ось Z паркую последней
Теперь спускаемся до
//============================= ADDON FEATURES ==============================
Раскомментируем
#define EEPROM_SETTINGS
#define EEPROM_CHITCHAT
#define SDSUPPORT
#define SD_SETTINGS
активируя EEPROM и поддержку карты SD
Дисплей у меня символьный, 2004, reprap discount smart controller
#define ULTRA_LCD
#define ENCODER_PULSES_PER_STEP 4
#define ENCODER_STEPS_PER_MENU_ITEM 1
#define REVERSE_ENCODER_DIRECTION
#define SPEAKER
#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 40
#define LCD_FEEDBACK_FREQUENCY_HZ 2000
С такими параметрами у меня хорошо работают оба китайских reprap discount smart controller-а.
#define LCD_INFO_MENU
#define REPRAP_DISCOUNT_SMART_CONTROLLER
Если у вас Arduino DUE обратите внимание сюда:
//===========================================================================
//============================= ADVANCED FEATURES ===========================
//===========================================================================
/****************************************************************************************
************************************** Buffer stuff ************************************
****************************************************************************************/
// The number of linear motions that can be in the plan at any give time.
// THE BLOCK BUFFER SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
// For Arduino DUE setting BLOCK BUFFER SIZE to 32
#define BLOCK_BUFFER_SIZE 16
// The ASCII buffer for receiving from the serial:
#define MAX_CMD_SIZE 96
// For Arduino DUE setting to 8
#define BUFSIZE 4
В общем то это и все настройки что разнятся у Mega и DUE, других не нашел.
Переходим ко вкладке
Configuration_Temperature.h
Ставим
#define TEMP_SENSOR_BED 1
Стол то у нас с подогревом, а по умолчанию в прошивке терморезистор подогрева отключен
Идем в ********************** PID Settings - HOTEND **************************
Правим:
#define DEFAULT_Kp {14.17, 40, 40, 40} // Kp for H0, H1, H2, H3
#define DEFAULT_Ki {01.55, 07, 07, 07} // Ki for H0, H1, H2, H3
#define DEFAULT_Kd {32.29, 60, 60, 60} // Kd for H0, H1, H2, H3
Это настройки когда-то полученные экспериментально для моего принтера.
После перепрошивки я обязательно перекалибрую Kp Ki Kd по команде
M303 H0 C8 S240 U
В Pronterface или даже не заморачиваясь, в терминале Octoprint. Ключ U сразу же применит результат.
После чего надо выполнить команду
M500 - Сохранить параметры в EEPROM
Спускаемся к ************************ PID Settings - BED ***************************
Стол у меня так же регулируется по PID. Bang Bang проще, но не так точен. Поэтому раскомментируем
#define PIDTEMPBED
#define DEFAULT_bedKp 88.21
#define DEFAULT_bedKi 12.77
#define DEFAULT_bedKd 152.28
Это настройки когда-то полученные экспериментально для моего принтера.
После перепрошивки я обязательно перекалибрую Kp Ki Kd стола по команде
M303 H-1 C8 S100 U
В Pronterface или даже не заморачиваясь, в терминале Octoprint. Ключ U сразу же применит результат.
Если нагрев отвалится по таймеру и выдаст ошибку, повторяю команду.
После чего надо выполнить команду
M500 - Сохранить параметры в EEPROM
Для защиты от перегрева хотэнда и стола раскомментирую
#define THERMAL_PROTECTION_HOTENDS
#define THERMAL_PROTECTION_BED
На этом вроде и все.
У меня на плате установлен самодельный Fan Extender, на 1 канал, и живет он на 11 пине. На него я подключил вентилятор обдува термобарьера.
Во вкладке
Configuration_Feature.h
Убираем // с
#define HOTEND_AUTO_FAN
#define HOTEND_AUTO_FAN_TEMPERATURE 45
Ставлю температуру срабатывания на 45 градусов
Для того чтоб фича заработала, во вкладке
Configuration_Pins.h
#if ENABLED(HOTEND_AUTO_FAN)
#define H0_AUTO_FAN_PIN 11
Указываю что управление вентилятором живет на 11 порту.
Теперь расскажу про замечательную плату
RAMPS 1.4 Plus. Плата поставляется в комплекте с принтером Prusa I3 Flsun3d.
Пины на плате не совпадают с оригинальным бутербродным RAMPS 1.4. !!!
Я порылся в прошивке от китайцев и нашел различия в пинах.
Для MK4Duo
Качаем файл 99.h отсюда
Кладем его в папку
MK4duo-master\MK4duo\src\boards
заменяя оригинальный файл 99.h.
И теперь во вкладке Configuration_Basic.h
ставим // перед MOTHERBOARD BOARD_RAMPS_13_HFB
//#define MOTHERBOARD BOARD_RAMPS_13_HFB
#define MOTHERBOARD BOARD_99
Наша плата RAMPS 1.4 Plus теперь BOARD_99
Это зарезервированный в прошивке номер платы, думаю как раз для такого случая.
После этого на RAMPS 1.4 Plus жизнь налаживается. Начинает работать дисплей и все остальное так, как надо.
По аналогии с настройками в файле, можно сконфигурировать плату в классическом Marlin-е. У меня это тоже получилось.
Подробнее...
Тэги:
техничка
Wanhao Duplicator i3 - замена вентилятора в блоке управления
2017-06-18 17:01:18
Wanhao Duplicator i3 - замена вентилятора в блоке управления.
Добрый день, коллеги!
< ...
+ развернуть текст сохранённая копия
Wanhao Duplicator i3 - замена вентилятора в блоке управления.
Добрый день, коллеги!
Решил заменить вентилятор блока управления с 40-милииметрового на 80-миллиметровый. Мотивация очевидна - шума меньше, охлаждение эффективнее. К тому же повод разобрать блок управления появился (пропало +5V, см. предыдущий пост). Требование - вентилятор должен быть установлен
снаружи, для быстрой чистки/смазки/замены.
Для замены вентилятора требуется изготовить новую заднюю панель блока управления. Порыл в Интернете, ничего не понравилось, уж очень какие-то футуристические решения.
Вывод - надо делать самому, которая нравится. Долго крутил в руках новый вентилятор штатный разъем питания от Wanhao - это вместе на панель не вмещается! Разъем для сетевого шнура и выключатель совмещены в одном корпусе. Обрезать - данунах, лениво. Распотрошил старый блок питания от компьютера, добыл из него разъем для шнура и выключатель отдельно. Нашел колодку для предохранителя, еще СССР-овскую. Другой не было. Вот они:
Фото 1. Предохранительная колодка, выключатель, сетевой разъем.
Вентилятор в блоке питания оказался какой-то тихоходный, нашел от охлаждения процессора, но с 3-мя проводами. Питание на него надо подавать на красный (+12V) и черный ("земля" или GND, по ихнему). Желтый тупо не используется.
Фото 2. Вентилятор 80 мм.
Панель отпечатана, собираем все вместе. Вентилятор крепится снаружи на винтах М4 (я делал ночью, М4 не нашел, а по ночам у нас они не продаются, так что увеличил отверстия под М5, но надо будет рассверливать крепежные отверстия в самом вентиляторе) и барашковых гайках, для быстрой замены. Снаружи пропеллера решетка от пальцев и других отверток. Для быстрой замены пропеллера использовал дополнительный разъем.
В случае использования "одноухого" вентилятора от охлаждения блока питания ПК, нужна рамка с втулками, чтобы не поломать решетку.
Фото 3. Детальки - панель, рамка с втулками, решетка.
Для уменьшения шума можно снять крышку с блока питания вместе с установленным на ней вентилятором.
Фото 4. Все в сборе.
Файлы stl тут:
http://3dtoday.ru/3d-models/detali-dlya-3d-printerov/okhlazhdenie/wanhao_duplicator_i3_zamena_ventilyatora_s_40_mm_na_80_mm_zadnyaya_panel/
http://3dtoday.ru/3d-models/detali-dlya-3d-printerov/raznoe/zashchitnaya_reshetka_i_adapter_dlya_ventilyatora_80_mm/
PS Воспользовался случаем и "вылечил" замер температуры экструдера по совету ALEX_AVR2 - http://alex-avr2.livejournal.com/190235.html
Печатаем и наслаждаемся тишиной.
Успехов!
Подробнее...
Тэги:
техничка