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

Подписаться на 3Dtoday
Lenivo
Идет загрузка
Загрузка
10.11.17
3931
14
RepRap
23
Статья о переводе платы управления 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
23
Комментарии к статье

Комментарии

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

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

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

- Хорошая работа, Sherlock, мы неплохо справились вдвоём! - Согласен, мой дорогой Watson, согласен!

Обновление фотополимерного 3D-принтера Wanhao D7: версия 1.5

Уличный архитектурный макет церкви

Мой 3Д принтер потек(

НПО «Энергомаш» займется внедрением технологий цифрового проектирования и 3D-печати

Изготовление шестерни робота-пылесоса