Реализация 32 бит на RAMPS 1.5 и ARDUINO DUE при сборке ЗD-принтера.

Подписаться на 3Dtoday
Lenivo
Идет загрузка
Загрузка
10.11.17
1926
14
RepRap
22
Статья о переводе платы управления 3D-принтера на 32-битную электронику, реализованную на основе процессорной 32-битной платы управления ARDUINO DUE и шилда RAMPS 1.5. Под прошивку MK4due v4.3.2.
21e3ddae7332f6f59f6caec3a63d6187.JPG
6af618fe2baae607c1ebf07d49824fcf.JPG
RAMPS 1.5 – это немного улучшенная RAMPS 1.4 – заменен тип корпусов у силовых транзисторов и заменены предохранители на SMD. Данные переделки приблизили эти платы к промышленному стандарту. При том, в топологии платы изменения небольшие, что позволяет переделывать данную плату под 32 бита, основываясь на материалах переделки RAMPS 1.4., поэтому для лучшего понимания переделок желательно также почитать и статьи других авторов - о переделке RAMPS 1.4. под управление Ардуино DUE.

Вот так выглядит переделанная плата RAMPS 1.5, подключенная для тестирования.
522b9f4b89a1ee9bec1044e3d160d4f6.JPG
30cac7fea89f513700a1661e0ae78844.JPG
Вот фото со снятой периферией:
e1c1ba4d1909d3e08bda4f81df9e28ca.JPG
Остановимся более подробно на перепайке RAMPS. Так как в сети я не нашёл печатной платы RAMPS 1.5, то при переделках основывался на плате RAMPS 1.4 – так как подсоединительные контакты совпадают, то измерив прибором нужные точки на плате стало понятно, как её изменять. Внизу схема как изменять плату, на основе картинки RAMPS 1.4.
Сперва выпаиваем штырьки и силовую колодку (на схеме обозначена MSTBA4):
c9628812aa7306da65d5a93990a04de9.png
Затем паяем перемычки и в одном месте перерезаем дорожку:
567a2a2dc2259d4d179f4ac60abcd403.png
Вот так это выглядит на фото платы:
ff57d447bb041c7c43562d19f5417496.JPG
На верхней стороне делать придётся чуть побольше:
2b4572cd69c17633a1b2f1c76b2e941c.JPG
Дополнительно к перемычкам, надо выпаять силовые транзисторы B55NF и впаять L3803V (IRL3803). Предварительно, откусив и выгнув, как надо, ноги и откусив лишнюю часть монтажной площадки под винт.
d4eb9c46fb47556b4221c0be35d32fda.JPG
Также припаиваем стабилизатор на 9 вольт L7809:
030a984af0fd219a63da3c727098ca84.JPG
Припаиваем керамические конденсаторы 4,7 мкф и паяем на съемных колодках дополнительный электролит на линию 3,3 вольта.
bfd4a2e300ba558f7e879ac501f5593a.JPG
Или такой вариант -электролит ROE 1000мкф*6,3вольта с шунтирующим керамическим конденсатором 4,7 мкф*35 вольт:
da2a44baa5cf1e734848c6dcd9535b66.JPG
Линия на “+5” вольт нужна только для питания дисплея. Поэтому дополнительный конденсатор напаял прямо на дисплей. Дисплей подключен стандартно:
e7be4a0854ae05fcc1dd63d82c119b9f.jpg
1a10daaedbf20b0d9c0aacfd6034e611.JPG
Энкдер подключен по схеме, только без кнопки “СБРОС” – так как это не “резет” – а просто какая-то команда, которая с задержкой стопорит выполнение программы.
59c0475a1fc4fb7f1dd6121aeac79a02.png
На указанный разъём I2C можно подключить OLED дисплей - SSD1306 I2C. Поддерживает русский язык. Правда следует учитывать, что плата управления может управлять напрямую только одним дисплеем.
33b19a8e7c8686672bfe34305e552c0e.JPG
Вот сравнение двух дисплеев - активен только один, а другой просто держит картинку, которую не скинул после перепрошивки платы на другой тип дисплея. Я использовал большой дисплей - с ним проще настраивать прошивку. А для Олед дисплея надо энкодер стандартно на другие пины подключать или переназначать их.
85b3b09fa1795bf3ab1b550bc76d553e.JPG
Оптические концевики были спаяны по такой схеме и их работоспособность проверена на текущей переделанной плате (они работают):
eec4f15b9c3526907203707ac9c6c0f3.JPG
На плате DUE был выпаян разъём на 9 вольт и впаян винтовой разъём. Также было припаяно сопротивление 10 кОм . При установке в корпус выяснилось -неудобно впаял разъём -его бы надо было повернуть на 180 градусов. Удобнее было бы монтировать плату и вставлять провод.
8a1666de2380d620470737eb2e266fe9.JPG
Сопротивление нужно для перезапуска платы при включении. Мне к сожалению попалась плата, с не модернизированной прошивкой загрузчика. После включения питания - для старта необходимо было нажать "РЕЗЕТ". Впайка сопротивления устраняет данную проблему.

Подключение SD карты выполнено по схеме. Если карта запускается со штатного питания с линии 3,3 вольта, то можно схему со стабилизатором и запиткой от 5 вольт не ставить. Карту лучше отформатировать FAT32 с кластером 64 кб.:
e6cf69a8845d94eed007eeab7dd7a33d.jpg
Я прошил прошивкой MK4duo v 4.3.2. - это стабильная версия.
На момент написания статьи была уже и экспериментальная версия "4.3.29 dew", но я её не запускал.

О том, как прошить DUE прошивкой “MK4due” читайте статью:

http://3dtoday.ru/blogs/rus5/setting-mk4duo-with-pictures/

Фото смонтированного отсека для электроники (до монтажа вентиляторов охлаждения):
a88d3bb11d84d4ebdafa35d6847501be.JPG
Если кратко импульсный блок питания , с дополнительной дроссельной секцией для фильтрации от игольчатых выбросов +- 10 вольт.
Так как применён силиконовый нагреватель 200 ватт на 240 вольт для стола, применено электронное реле:
3a18c9ee741a9a71a25d1583b815bf86.JPG
Смонтированная плата управления с проводами:
3649de72ebebb9627b8bb1337d248a8c.JPG
Экран, энкодер и слот для карты памяти (припаянный на монтажной плате):
229336a3f5bc51a0235d1cdebfe46a0a.JPG
Принтер собран на основе корпуса СПринтер 232 ПРО.
84ee8725a5382180a371c1f6a7e45760.JPG
Сперва поставил редукторный экструдер Титан, но при настройках очень неудобно с ним- снимать и снова ставить пруток. Поэтому поставил обычный экструдер с пластиковым фитингом. Надо более тщательно будет сравнить качество печати этих двух экструдеров, но позже:
5916d03fa71e049087dc7d4a4ed505a8.JPG
Обдув под 40мм вентиляторы с рефлекторами уже печатал на этом принтере . Бесцветный пластик лучше печатается. Серый (металлик) очень уж капризный. Нагревательный блок в силиконовом "чулке" и утеплён асбестом. С наружи обмотан каптоновым скотчем.
b3c7df8c7c0fa4eb03fc786e13777e68.JPG
Концевые выключатели все оптического типа, на Z оси ШВП:
89702f1ccac2f07c83f03f09512daf12.JPG
19a6af3b45f4ea8d299050e940e494f2.JPG
Сделана панель с разъёмами для отсоединения Хот-енда и вентиляторов обдува:
59b924393094c86d7b4eab5a482eaf98.JPG
Для удобства сделана светодиодная подсветка зоны печати и выключатель подсветки:
e7ed3cce0efc4bf2ae69380e3b9d9172.JPG
23c2bccfb9e53634773354f5fb719aff.JPG
На не обкатанном принтере напечатал элементы для системы охлаждения платы управления . Вот переходник для вентилятора с размера 60мм на 50 мм. Печатал со скоростью 160 мм/сек - печаталось где то около 40 минут , не помню точно.
378eff3dda5e4ad3702ddf42801c1c70.JPG
fbdf1108bbefe07b3567b1c50312a32a.JPG
Вторая деталь воздуховода печатал на 180 мм/сек - половину напечатал нормально, но так как обдув на двух вентиляторах ещё не был смонтирован и опасался за слишком громкий звук работы китайских подшипников снизил скорость до 100 мм/сек. Потом уже пришлось попортить при монтаже не учел отверстия для головок винтов и как их закручивать. Модель(не моя) воздуховода была разработана для завинчивания болтов шляпками с другой стороны.
c530468e0ec32db603e2d4ad6faf1084.JPG
При оценке деталей следует учитывать - что это фактически первые напечатанные детали на этом принтере, который до конца недособран , не обкатан и прошивка настроена только в черне.

Всё уже печатает, но бьюсь над заморочками прошивки - не могу побороть "зеркальную" печать. Приходится в слайсере ставить галочку "зеркало оси У".
Проблема в концевике У. Он установлен в максимальной позиции. И скомпилировать прошивку удается только, если его поставить как "минимальный У". А нормального инвертирования оси "У", как в последних версиях Марлина, здесь нет, есть только инвертирование двигателей. Но в Н-бот инвертируешь один двигатель , а инвертируются обе оси. То есть У становится правильной, а Х наоборот начинает неправильно двигаться. То есть пока бьюсь над решением, но смотрю обновления -может в обновлениях прошивки искоренят эту проблему. Однако это не мешает печатать. Надо только при подготовке кодов в слайсере не забывать зеркалить модель - если модель не симметричная по ХУ. Тогда можно и не зеркалить.

Всем удачи и успехов.

Екатеринбург.

09 ноября 2017 г.
Подписаться на 3Dtoday
22
Комментарии к статье

Комментарии

12 Ноя 15:38
1
Удалось настроить правильную печать - без зеркального отражения. Помогла смена Коре ХУ на Коре УХ, инвертирование одного двигателя и замена местами шлейфов в разъёмах Хи У двигателей.

Поставил снова редукторный экструдер Титан. Заменил в нём Китайскую пружинку на РУССКУЮ. Хотя ещё идёт обкатка принтера печать уже довольно приличная по качеству.

Базовая скорость пока 125 мм/сек. Слайсер выставляет скорость на наружный периметр от 40 до 80 мм/сек. Скорость получается выше, чем на моем первом принтере. Но качество пока чуть ниже. Хотя , тут может и такие факторы играют - один заряжен бесцветным пластиком, а тот который с платой 32 бита серым (металлик) пластиком. А серый пластик в печати более капризный.
13 Ноя 01:59
0
огромное спасибо за статью! как раз вся инфа вовремя появляется - делаю заказ деталей для первого принтера (h-bot quite rapid v3 от 3dmaniak), но хочу максимально использовать средства.. поэтому за бессонную ночь изучил распространенные платы управления и понял, что мкс нафиг не нужен, когда есть бюджетные 32бита.. спасибо! 8)
14 Ноя 16:21
0
Проблема в концевике У. Он установлен в максимальной позиции. И скомпилировать прошивку удается только, если его поставить как "минимальный У". А нормального инвертирования оси "У", как в последних версиях Марлина, здесь нет, есть только инвертирование двигателей.

мне кажется или у вас концевик подключен к Y- ?
14 Ноя 17:34
0
И какой глубокий смысл в такой черезмерной фильтрации причем достаточно необчными емкостями по 4.7 мкф ? меряли? считали? Игольчатый импульс до дросселя видели? странно, необычно, есть над чем подумать... дисплей по I2C весьма весьма медленная штука... и ЕЕпРОМ, судя по всему, вы не ставили?
14 Ноя 21:10
0
Блок питания был куплен для запитки нагревателя стола на 12 вольт через отдельную клемму, поэтому взял более дешёвый блок питания -у него нет встроенных дросселей. Потом я поставил силиконовый нагреватель на 220 вольт. А этот блок дождался установки на следующий принтер. Если его сразу без дополнительных фильтров подключить к управляющей плате - то процессор "виснет". Виной тому импульсные помехи в виде игольчатых всплесков. от 12 вольт сперва до 22 вольт, потом до 2 вольт. Они хорошо видны на осциллографе. Глядя на осциллограф и подстраивал фильтр питания.

ЕЕпРОМ - не применяю, внутренне не понимаю его нужности, именно, мне.

Оптические концевики у меня по всем трём осям. Не знаю, что вам кажется.
15 Ноя 01:16
0
Оптические концевики у меня по всем трём осям. Не знаю, что вам кажется.

я хотел сказать, что если у вас Yконцевик установлен на максимум он должен быть воткнут в Y+ а не в Y- как на фото... это если не лезть в переназначение пинов и так далее.
15 Ноя 08:58
0
Всё уже настроено и работает как надо. Вертеть геометрией зоны печати при помощи концевиков можно как угодно, настройки прошивки позволяют это.
18 Ноя 01:24
1
OLED сильно тормозит? По сравнению с LCD2004. Только с 32 битами олед ставили? С мегой не пробовали?
18 Ноя 01:42
0
В Марлине все возможности есть, в том числе OLED/SPI,
вплоть до работы с двумя дисплейными модулями - LCD2004 и MKS-TFT28/32.

Сам не пробовал,
двухдисплейную работу видел,
трёхдисплейную - никто не заморачивался видимо.

Один из самых нагрузочных на 8-ми битные мозги - это "RRD Smart Graphics", восьмистрочный.
Кириллица на нём требует доп.библиотеку u8lib.
18 Ноя 01:51
1
Про возможность подключения я в курсе) Про "тупнячок" хочется узнать - время отклика. Как 8ми и 32ух битные мозги это переваривают. Сейчас на 2004ом сижу - быстро, но некрасиво. И громоздко. А тут маленькие габариты, белым по черному все.
На днях с фуллграфиком дали поиграть, так после 2004го фуллграфик тем еще тормозом кажется. Тааак все медленно
18 Ноя 02:03
0
Cижу пока на 8-ми битах.

Прочувствовал как LCD2004 так и MKS TFT28 .
Каждый хорош, быстр и удобен - по-своему, для различных операций.

Буду цеплять оба на один и тот же Hercules New,
телеметрия - очевидно - на "консоль" процессора - LCD2004.
MKS TFT28 - хранение и "клава".

Про мою концепцию проводного пульта - уже писал , компоновочно - что-то вроде вот этого:

0d985a0ef03a474fa61b57e3e3ba69fc.jpg


Насчёт откликов - вроде тайминги опросов в Марлине - регулируются,
путём замедления (более редкие),
недавно видел в качестве коммента в какой-то статье,
там также была речь и про Дельты.

Может быть eta4ever подскажет?
18 Ноя 06:49
0
По запуску на более ранних версиях Marlin читайте статью:


http://3dtoday.ru/blogs/bustep/mini-oled-controller-for4/



А я решил помучить свежую версию Марлина 1.1.6. - запуск OLED с энкодером на Марлине.
— в файле configuration.h
установить Русский язык #define LCD_LANGUAGE ru
раскомментировать строки:
#define SDSUPPORT
#define REPRAP_DISCOUNT_SMART_CONTROLLER
#define U8GLIB_SSD1306

— в файле sanitycheck.h
поменять значение в строке 1224 - "+1" поменять на "0"
Изначально было так:

#if ENABLED(U8GLIB_SSD1306) && DISABLED(OLED_PANEL_TINYBOY2)
+ 1
Поменял на следующе:

#if ENABLED(U8GLIB_SSD1306) && DISABLED(OLED_PANEL_TINYBOY2)
+ 0



— в файле pins_ramps.h
найти раздел (примерная строка 328) :
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define BEEPER_PIN 37

После этой строки я вставил блок:

#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#define KILL_PIN 41


В принципе этот код позволяет подцепить два экрана для одновременной работы OLED и LCD2004. НО у меня нет LCD2004 поэтому проверил только с OLED экранами 0,96 и 1,3 дюйма. Размер 1,3 дюйма, всё таки предпочтительней.

Запускал OLED на 32-битнгой плте с ДУЭ на MK4Due, и на 8-битной плате на Меге 2560 с Marlin 1.1.3 Marlin 1.1.6.

9f901e7a50513cf93fd9a0de0a29f827.JPG


1d426ea4ac93e4ac519a9b8f47cbd770.JPG


c8b52dc821072ae52a0c772f8972b4f7.JPG


73a7d880626ec90c72ccb34bf2c0acdf.JPG
18 Ноя 09:49
0
Александр, есть возможность записать видео процесса лазания по меню? Интересует время, которое пройдет от момента воздействия на энкодер до обновления картинки на OLED. Буду очень признателен
18 Ноя 14:51
0
Так в данный момент управляющие платы уже стоят на принтерах и трудятся. И нет желания их снимать. Скорость на ОLED явно выше , чем на LCD12864 и на глаз вы скорость обновления не заметите - щелкнули энкодером и уже стоит новая менюшка. Экран стоит копейки - купите и развлекайтесь на здоровье.

Я покупал тут:
226 рублей - 1,3 дюйма
https://ru.aliexpress.com/item/1PCS-1-3-OLED-module-white-color-128X64-1-3-inch-OLED-LCD-LED-Display-Module/32687721348.html?spm=a2g0s.9042311.0.0.hwu94Q


144 рубля - 0,96 дюйма

https://ru.aliexpress.com/item/1pcs-0-96-blue-0-96-inch-OLED-module-New-128X64-OLED-LCD-LED-Display-Module/32643950109.html?ws_ab_test=searchweb0_0,searchweb201602_0_10152_10065_10151_10344_10068_10345_10342_10343_10340_10341_10543_10541_10562_10084_10083_10307_10301_10060_10155_10154_10539_10312_10059_10313_10314_10534_10533_100031_10211_10103_10128_10073_10129_10594_10557_10169_10596_10595_10142_10107,searchweb201603_25,ppcSwitch_0&btsid=b0cb80e3-c495-4f82-98ce-dbbc94bae5ee&algo_expid=dd5a4e24-60fe-4cdb-813f-4ec79d3dc58b-8&algo_pvid=dd5a4e24-60fe-4cdb-813f-4ec79d3dc58b&rmStoreLevelAB=0

Заказывайте только почту нормальную, а не бесплатную, а то полгода идти будет. Советую покупать 1,3 дюйма - УЖ ОЧЕНЬ это МАЛЕНЬКИЕ дисплей. Ну очень маленькие. И главное обязательно смотрите чтоб было ЧЕТЫРЕ контакта, а не больше. Иначе гораздо трудней их подцеплять будет и другие настройки нужны.

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

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

NYLON MOD от PRINT PRODUKT или как я делал ручку для скороварки

Нейлон от Bestfilament BFNylon, стойкий представитель пластиков для 3D печати

Видео Обзор 3D принтера Raise 3D N2 Dual от компании 3Dtool

Пользователи Autodesk Fusion 360 получат доступ к генеративному дизайну и технологии AnyCAD

Aerotex под ударом