Замена электроники в BFB 3D Touch на связку Arduino+RAMPS или 5 месяцев работы в одном посту
Заранее прошу прощения за качество некоторых фото. Какие-то сделаны на телефон, а какие-то на фотоаппарат, что было под рукой, на то и фотал. А часть фотографий вообще куда-то пропали :cry:
После написания первого поста, принтер 'прожил' всего 3 недели и был 'убит' мною. А случилось это так.
Мне, как электронщику (и в душе и по профессии), никогда не сидится спокойно рядом с техникой (тем более с такой интересной и сложной), ну и ближе к вечеру я начал думать, что же можно добавить в свой аппарат. И я решил, что мне категорически не хватает подсветки (когда первые разы печатал, часто приходилось подсвечивать фонариком, чтобы посмотреть, как печатаются первые слои), так как принтер у меня стоял под компьютерным столом, где было темно даже днём. На следующий день съездил, купил подходящую лампочку-болт (которая идеально подходила под диаметр отверстия для третьего экструдера, именно туда я и планировал её установить). Ну и первое, что я начал делать - это 'искать' мультиметром, откуда можно взять 12В. Но так как на родной плате свободных контактов не много, искать пришлось недолго и я быстро нашел, что искал. Напоследок я решил ещё раз убедиться в правильности выбора контактов, но я отвлекся, и щуп мультиметра соскользнул, и я замкнул два контакта, а может даже и три. Пробежала искра, дисплей сразу погас, на плате загорелись оба светодиода (хотя должен гореть только один) и в одном месте плата начала очень сильно греться, буквально за секунды. Ну и тут я понял, что я её попросту спалил.
На следующий день я написал американцам, спросил, остались ли у них на складе такие детальки, как основная плата для моего принтера. Сказали, что подобные случаи уже были, с такими же 'симптомами' и что можно только заменить. У них есть на складе такие платы (цена была около 100$), но они сказали, что не могут напрямую поставить мне эту деталь в Россию, почему не знаю. Сказали обратиться к представителю их компании в Москве и написали номер и точное наименование детали. Я отправил письмо в эту организацию с данными, которые мне написали, но ответа так и не дождался :| И я понял, что решать проблему придётся самому.
И я пришел к решению, сменить полностью всю электронику на самую распространённую связку - Arduino+RAMPS. К тому же, как оказалось позже, по цене получилось примерно одинаково. Начал внимательно изучать статьи на Тудее, подготавливать свою 'теоретическую базу'. Начиная с этого момента, мне начал помогать очень хороший и добрый человек по имени Сергей (за что ему ОГРОМНОЕ спасибо), который, к моему великому счастью, имел доступ к такому же принтеру, как и у меня, при этом у него уже стояла эта же связка электроники, которая успешно на нём работала.
Перед началом работы я поставил перед собой следующую цель: сделать так, чтобы принтер не потерял свой 'товарный вид', чтобы эта переделка как можно меньше коснулась его дизайна. Поэтому я подошел к работе очень тщательно.
Покупка деталей.
Заранее объяснюсь: я знал, что многие сборщики со стажем покупают детали в основном с AliExpress, одной кучей, потому что так намного дешевле. Но на тот момент, я даже не был там зарегестрирован и ничего там ни разу не покупал, да и к тому же побоялся оставить там больше тысячи за один раз и ждать я особо не хотел. Поэтому все детали я покупал в городском радиомагазине, но дисплей мне всё-таки пришлось купить с Али :)
И есть ещё за мной один такой грешок, не все меня поймут: если я за что-то берусь, то либо я делаю это красиво и аккуратно (что-то типа технического эстета :D), либо не делаю это вообще, поэтому я мог потратить много времени только на то, чтобы, например, найти термоусадку нужного цвета, иногда приходилось объехать не один магазин для этого. Это вам многое объяснит в моих действиях, о которых я напишу ниже.
Первые электронные детали я купил уже через две недели после 'смерти' и собирал всё в одну кучу до конца месяца (на всё сразу денег не хватило). Только когда уже всё купил и собрал, понял, на чём можно было неплохо сэкономить :( Сначала распишу о деталях, которые купил, а потом уже буду писать непосредственно про их установку.- Arduino Mega 2560 (1520 руб.);
- RAMPS 1.4 (620 руб.);
- 5 драйверов шаговых двигателей A4988 (по 280 руб.);
- блок (драйвер) питания на 30А/360Вт (2080 руб.);
- силиконовые провода AWG14 по 1 метру каждого цвета (110 руб. за метр).
Итого: 5840 руб.
Первое, на чем можно было сэкономить - это блок питания. Изначально я планировал сделать с подогреваемым столом, но на стол денег не хватило, решил пока сделать без него. Но даже со столом, 30А, наверное, было бы многовато. Ну да ладно, будет хороший запас. Второе, на чем можно было сэкономить - это провода большого сечения. Начитавшись разных постов, решил купить потолще, чтобы наверняка хватило. Но оказалось, что этого за глаза. Тоже пойдут на запас, зато выглядят они довольно мощно :D Кстати, потом мне ещё пришлось докупить 2 метра чёрного провода, чтобы провести до выключателя, дабы не портить уже картину. Но выбирал именно силиконовые, чтобы не перегибались и не рвалась изоляция.
Ещё через месяц мне пришёл мой дисплей и угловой кабель USB (потом напишу зачем он мне нужен был) с Али. Самое приятное было то, что они пришли с разницей всего в 4 дня, что не сильно приостановило мою работу над принтером.- большой дисплей (646 руб.);
- угловой кабель USB (261 руб.).
Итого: 907 руб.
Осталась только 'мелочёвка'. Точные суммы посчитать не смогу, так как всё покупал в абсолютно разных магазинах, где то даже чеков не было. На фото остатки после сборки, некоторые фотки, к сожалению, куда-то пропали, поэтому решил показать то, что хотя-бы осталось.Так как на фото не всё, что я покупал, скажу так: примерная стоимость всей этой мелочи, около 1000 руб. Самые дорогие были стойки под плату, от 20 руб. за штуку. Ну здесь, я считаю, экономить особо не на чем было. Все, что осталось, пойдёт в какое-нибудь другое дело. Несколько болтов с гайками уже использовал в других вещах, да и провода хорошие.
Ну вот в общем то и всё. Подведём итог по финансовой части: на все детали, крепления, провода (в том числе и на те, которые я докупал) я потратил примерно 8500 рублей. По сумме вышло почти столько же, сколько бы я мог отдать за новую плату. Так что, я считаю, не много потерял :) Переходим к сборке.
Сборка.
Это, пожалуй, самая интересная часть :D Так как я электронщик и обожаю работать с 'железом', собирал я это всё с огромным удовольствием. Сборку я производил по мере появления новых запчастей. То есть, когда я купил весь набор электроники, я начинал сразу их устанавливать. Потом работа 'вставала' до тех пор, пока у меня не появятся новые детали. Иногда она останавливалась из-за того, что у меня не хватало проводов, клемм, термоусадки, креплений (а иногда просто не хотелось работать), поэтому приходилось ездить и докупать. Только на эти дни 'простоя' у меня ушло около 2 месяцев. Все фотки идут в хронологическом порядке.Первое, с чем я столкнулся - это слишком длинные контакты питания с обратной стороны рампса, которые пришлось подпилить напильником, чтобы он плотно прижимался к ардуине. Тут же, с нижней стороны, припаял проводок на плюсы (фото потерялось, пришлось зарисовать), чтобы не занимать колодку.Подготовил 'площадку' для установки плат и охлаждения. В магазине были только короткие стойки, поэтому для вентиляторов пришлось вкручивать по две :)Длинные болты М3 покупал в строительном, в радиомагазине таких длинных не было :D Во избежании соприкосновения болтов с контактами использовал изоляционные шайбы М3.Вот так всё это дело, на мой взгляд вполне аккуратно, выглядело.А вот та самая лампочка-болт, с которой всё и началось :D Пока ждал дисплей с USB-проводом с Али, решил провести провода питания этой лампочки до 'головы', где она у меня будет стоять, но саму лампу не устанавливал.Сделал через коннектор, чтобы лампу можно было снять при необходимости или заменить на другую.Заодно сразу врезал выключатель и кнопку подсветки, провел к ним провода.Потом поставил блок питания, прикрутив снизу на 4 болта. Сделал отступы по 1 сантиметру от каркаса, чтобы корпус блока не соприкасался с ним. Припаял клеммы на провода питания, усадил термоусадку. Провел провода питания до рампса.После установки блока врезал разъём от компьютерного блока питания.Потом поработал немного над охлаждением будущих 'мозгов'. Те же вентиляторы, которые стояли под родной электроникой, я соединил вместе, соединив провода питания и припаяв клеммы под колодку на рампсе. Немного поработал клеевым пистолетом, чтобы провода не сваливались вниз. Оставалось только дождаться дисплей и начать подключать всю электронику.Вот и сам долгожданный дисплей. Чтобы он не болтался, нужно было сделать хорошие крепления. К моему счастью, от родного дисплея была хорошая, крепкая пластиковая рамка, с помощью которой он крепился. Я отломал от неё нужные мне части, выпилил их, подогнал по размерам, просверлил, и вот, что получилось.Вот так аккуратно он поместился на место старого дисплея.Следующим шагом была проводка шлейфов для дисплея. С первым проводом всё было просто: так как провод от родного дисплея был 14-ти контактный, я просто оторвал от него лишние 4 провода (они очень легко отделяются), а затем просто купил разъёмы и надел на него. А вот второй мне пришлось сращивать паяльником из двух кабелей по 50 см. Вот такие получились два кабеля, примерно 80 см. К сожалению, фотки с этих моментов у меня тоже куда-то пропали :cry:Болты потом естественно подпилил.Ну вот, как и обещал, показываю, зачем мне нужен был угловой USB-кабель. Обычный не подходил, так как он очень сильно упирался в каркас, и я побоялся повредить гнездо. Прозвонив мультиметром контакты разъёма (нет, на этот раз ничего не спалил :D), я выяснил, какие из них мне нужны и подвёл провода к родному USB выходу, чтобы не нужно было тянуться до самой ардуины.А так выглядит мой рампс со всей подключенной к нему мишурой. Отпиливал старые коннекторы (потому что они были 8-ми контактные) от проводов и удлинял макетными ардуиновскими проводами, потом вставлял в 2-х пиновую пластиковую обойму, ну и все усаживал термоусадкой, куда же без неё :DКак вы видите, для вентиляторов на голове, мне пришлось распаять два свободных контакта питания (12В) на рампсе, которые предназначены как раз для подобных целей. Всего у меня 5 вентиляторов: 3 для обдува детали и 2 для охлаждения хотэнда. Последние, естественно, я подключил на постоянку. А вот для обдува детали я использовал один общий плюс с охлаждением хотэнда, а минус вставил в колодку управления вентилятором. А сделал я так потому, что изначально у них был такой же принцип: у всех вентиляторов был один общий плюс и два разных минуса, то есть с вентиляторов шло 3 провода, а не 4.Так я распределил оставшиеся потребители.Конечный результат.
Ну и последнее: как я крепление для своей подсветки делал.Для крепления я использовал 4 оставшихся стойки и какой-то старый советский большой транзистор, который мне пришлось полностью сточить (нет, не руками :D) и просверлить (просто отверстия идеально подходили по размерам под лампу, стойки и болты). Чтобы вся эта конструкция сильно не выделялась на общем фоне, я покрасил её в серебристый цвет Paint-маркером. Всё крепление в сборе. Цвета практически не различаются :)Благодаря такой 'конструкции', она встала практически в один уровень с соплами. А делалось это для того, чтобы свет от лампы не перекрывался соплом.Пробная 'заливка' прошивки, для проверки дисплея. Кстати, забыл упомянуть, что родную ручку энкодера я заменил на металлическую :D Рамку дисплея я тоже так не оставил, для меня она выглядела слишком страшной. Смотрите результат в конце статьи. А пока переходим к разделу прошивки.
Прошивка.
Самый, наверное, тяжелый для меня пункт был. Собирать мне нравилось больше :D Но тут мне, опять же, на помощь пришёл товарищ Сергей, о котором я упоминал выше, и благородно скинул мне прошивку со своего принтера, по примеру которой я забивал некоторые данные, но большую часть мне всё-равно пришлось делать самому.
Ниже я буду описывать только самые популярные строчки в прошивке, большинство параметров остались в значении по умолчанию.Так как концевики у меня находятся в верхнем левом углу, мне пришлось задействовать пины YMAX, так как я не знал, как можно инвертировать этот параметр в прошивке, переключил аппаратно.Здесь, соответственно, тоже поменял значение.Мои параметры шагов и ускорений. Менял шаги двигателя Z (с этим было много проблем из-за трапеции, вместо болта) и снизил ускорение до 500, как мне посоветовал товарищ.Ну и для удобства изменил настройки энкодера. После заливки прошивки долго не мог понять, почему иногда нужно сделать несколько оборотов, чтобы перескочить на следующую строку в меню, а когда менял значения в цифрах, они так быстро бежали, и я не успевал поймать нужное мне значение. Потом дошёл до этой строчки и всё понял. Подстроил под себя: теперь, когда делаешь один поворот энкодера, значение меняется на одну единицу. В некоторых местах это может и не в плюс (например когда передвигаешь голову по осям вручную), но я уже привык. Может кому-то пригодится.
Ну а теперь самое главное.
Так как я не менял ни один концевик и оставил везде родные (магнитные), у меня была такая задача: мне нужно было 'научить' принтер подгонять голову в нужные координаты перед парковкой стола (Z), чтобы магнит в столе попадал под датчик на голове. Я долго думал, как это реализовать, так как в интернете ничего подобного найти не мог. Но всё-таки я нашел способ, как это можно организовать:Я сделал это с помощью параметра Z_SAFE_HOMING. Прочитал на каком то сайте, за что отвечает эта функция, ну и понял, что я использовал её не совсем по прямому назначению, ну и ничего страшного. Благодаря этой функции, после парковки по осям X и Y, голова передвигается в нужные мне координаты [163;136] (их тоже непросто было подобрать) и датчик оказывается ровно над магнитиком в столе, после чего стол поднимается до срабатывания концевика. На решение этой проблемы у меня ушло около двух недель :)
Второй сложной задачей для меня стало следующее: после срабатывания концевика по оси Z стол от сопла был примерно на расстоянии одного сантиметра, и мне нужно было что-то сделать, чтобы стол подъезжал практически вплотную к соплу. Для этого я сделал следующее.Включил ручную калибровку стола. Только вместо 9 калибровочных точек, поставил 4 (как было на родной прошивке), а то было лень так долго калибровать стол :D. Ну и после калибровки он, естественно, автоматически паркуется, всё нормально, стол встает как положено, вплотную к соплу (лист бумаги проходит с трудом). Всё бы ничего, но образовалась новая проблема: после выключения, при парковке, стол снова доходил до срабатывания концевика. Я был в замешательстве. Но эту проблему я решил относительно быстро. Оказалось, что после калибровки стола нужно сохранять данные в EEPROM. Для этого я расскоментировал следующую строку:После этого, на дисплее, в меню 'Настройки' появились три кнопки: Сохранить, Загрузить и Сброс EEPROM. После парковки стола я нажимаю кнопку 'Сохранить в EEPROM' и так каждый раз, если калибрую стол по новой.
Даже заснял видео процесса парковки, если кому будет интересно:
Последние штрихи и пробная печать.
Здесь я напишу о том, что делал буквально за пару дней до написания этого поста.Снял подшипники, подающие филамент, вычистил всю пыль от пластика.Полностью разобрал подшипники, почистил, смазал. Один совсем уже не крутился.Почистил и отполировал сопла наждачной бумагой (1000Р).
Долго думал, нужна ли мне кнопка STOP на плате дисплея или нет. Стоит мне её выводить или нет. И всё таки решил вывести. Но так как у меня дисплей находится далеко от корпуса, а ещё и рамка толстая, мне нужно было удлинить кнопку. Я мог купить новую кнопку с длинным штоком и впаять вместо старой, но мне было уже очень лень это делать. Тогда я немного порылся в своих болтиках и винтиках и нашел маленькую пластмассовую трубочку, которая по диаметру идеально подходила под кнопку. Я просто отпилил лишнее и приклеил на обычный секундый клей.Вот так удачно всё получилось.Как я писал ранее, меня не устраивал вид рамки дисплея. Чтобы устранить этот недочёт, пришлось часик посидеть в фотошопе, нарисовать будущую наклейку на рамку, сходить в типографию и распечатать её на самоклейке. Так я и сделал. Только предварительно подготовил рамку: вставил в промежутки между дисплеем и рамкой жесткий поролон (который лежал в пакете с платой Arduino), чтобы под наклейку меньше летела пыль и была больше площадь соприкосновения (для лучшего прилипания).И вот что получилось. Кстати, окошко для дисплея я залепил прозрачной плёнкой. Я был более, чем доволен ;)
А вот результат пробной печати меня не очень порадовал:Как будто не хватает пластика, или он не успевает выдавливаться. Работаю в в Репитере, пробовал Slic3r и Cura, результат одинаковый. На данный момент пытаюсь исправить эти недочеты.
Но дабы закончить этот пост на хорошей ноте, я, пожалуй, лучше покажу вам оставшиеся фото моей проделанной работы:Я часто вижу в разных статьях фото со своими пушистыми 'помощниками' и, чтобы не отставать от вас, я тоже сделал несколько фоток со своим другом:Спасибо тем, кто прочитал мой пост и большое спасибо - тем кто до конца :D Строго не судите, ведь это был мой первый опыт, как в сборке, так и в прошивке, но я считаю, что с поставленной себе задачей я справился ;)
Еще больше интересных статей
Датчик наличия пластика для Bambu Lab Х1 Carbon.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Умерли термисторы и концевик по y, creality ender 3 s1
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
G-CODE по-русски для 3D печати (Мини-справочник)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Жесткость влияет на гибкость.....
95м. Пытался прокладку делать.
Для работы УЗО не требуется за...
Всем доброго дня! Столкну...
Господа, тем кто пользуется ор...
Всем доброго времени сутокИщу...
Люди, ХЕЛП!!Спалил мать cr4ns2...