Re-ARM 32 bit. Установка Marlin 2.0

Подписаться на 3Dtoday
hellraider
Идет загрузка
Загрузка
07.01.19
4046
47
печатает на RepRap
Техничка
33
fd380abcb5e9856e7880b1058d5ecf27.jpg
Давно хотелось поставить 32 битную плату управления принтером.

Так как сейчас моя плата управления представляет собой стандартный бутерброд Mega+Ramps и свободное место для установки платы большего размера практически отсутствует, то первоначально рассматривался вариант замены на DUE+переделанный Ramps. Но недавно наткнулся на еще один вариант - Re-ARM. Плата представляет собой некий аналог Arduino DUE, но подключается к стандартному (не переделанному) Ramps. Возможностей (по сравнению с DUE) у неё поменьше, но для моих задач вполне достаточно.

Изначально плата идет с прошивкой Smoothieware, но поддержка этой платы в Marlin 2.0 также заявлена. Есть также инструкция но установке Marlin на эту плату : http://marlinfw.org/docs/basics/install_rearm.html
Если честно, то инструкция так себе. Видимо, написано для тех, кто это и так всё знает. :)

Постараюсь описать этот процесс более доступным языком, ибо даже следуя инструкции столкнулся в некоторыми трудностями.

Приступим:
Для начала нужно скачать и установить редактор Атом: https://atom.io/
Далее нужно установить пакет Platformio-ide (не перепутать с Platformio-ide-terminal). В поисковой строке пакетов набираем "platformio-ide", выбираем нужный нам и нажимаем Install.
4ba30f84f06f4b604ff121ede205dbde.jpg
Также необходимо установить компилятор Clang. http://releases.llvm.org/download.html. Почему-то рекомендуют версию 3.9.1. Экспериментировать не стал, установил как по инструкции.
f09324e02c7620822683eab896bb4111.jpg
Потом скачиваем последний релиз Marlin 2.0 bugfix: https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x и распаковываем его в какую-нибудь папку.
После этого запускаем Atom и открываем проект, указав папку с распакованным Marlin:
66320744adf44baec0eb1caf74632560.jpg
467c127dcf5255400b96f2d339f9f741.jpg
Далее нужно сконфигурировать прошивку для работы с этой платой.
Открываем файл platformio.ini и вносим следующие изменения:
Указываем тип платы LPC1768:
d6a640ccbc754397d6f54ae411b05262.jpg
65286144b21302d5a5199cfeb8c28e71.jpg
и вносим небольшое изменение в конфигурацию самой платы:
Нужно задокументировать строку со скриптом. С этим скриптом у меня наотрез отказывалась компилироваться прошивка. Убил кучу времени в поисках причины. В итоге просто отключил её, и всё получилось. Для чего она нужна - так и не понял.
После открываем файл configuration.h и задаем порт и название платы:
9bfa8ac1cf372507e15e5e666d0fce7f.jpg
Сначала мне никак не удавалось заставить прошивку видеть файлы на карте памяти LCD дисплея. На встроенной в плату всё было видно, но мне было бы очень не удобно ей пользоваться. В результате поисков нашлось решение. Нужно сделать следующие изменения в файле pins_RAMPS_RE_ARM.h:
c600678412927b114f4b5cfbaf97bf93.jpg
Файлы configuration.h и configuration_adv.h конфигурируем под свой принтер как обычно в Marlin.

После того как сделали все изменения - запускаем компиляцию проекта. Если всё прошло успешно, то получаем заветную надпись "SUCCESS".
ba00650a552671cf60688e69d6744a64.jpg
Скомпилированная прошивка помещается в файл firmware.bin, который лежит по этому пути в папке с проектом Marlin:
c0ede818d7316a4cc508dd2d86d449ef.jpg
В комплекте с платой идет карта памяти аж на 128 Mb, отформатированная в формат FAT. Нужно будет отформатировать её заново и задать название "REARM".
Теперь устанавливаем драйвера (http://smoothieware.org/windows-drivers) и подключаем плату к компьютеру:
В результате у нас должен появиться виртуальный Com порт:
efdabddcb16ab7db27c732c78b163ad7.jpg
И съемный накопитель:
a30e11011d99f11b6443b0b28835b59b.jpg
Для подключения дисплея к плате необходимо немного модернизировать один из шлейфов подключения. Так как для питания дисплея нужно +5 В, то отрезаем провод питания и переносим его на выход + 5 В на плате:
913027ab75e747c4459d046d88728981.jpg
Далее записываем наш файл с прошивкой firmware.bin в корень карты памяти и нажимаем Reset на контроллере для перепрошивки.
Результатом всех этих манипуляций на карте памяти появится файл FIRMWARE.CUR и будет уже знакомая картинка на экране принтера.
PREVIEW
Надеюсь, у тех кто захочет всё это повторить, проблем не возникнет.

Все файлы из статьи лежат на Яндекс диске: https://yadi.sk/d/s7-gFfpL8hGCWw
Подписаться на 3Dtoday
33
Комментарии к статье

Комментарии

07.01.19 в 23:54
0
Супер!
А Repetier можно установить?
07.01.19 в 23:56
0
у репитера же поддержки этого проца нет, автор написал что плату эту добавили в марлин.
08.01.19 в 00:05
1
Грустно. Будем посмотреть что будет в версии 2,0. Там многое должно поменяться. С гитхаба не качал фирмварь, а конфигуратор еще не скоро будет готов.

На ультик можно и смузи поставить, а на вариант кинематики, которую реализовал Sanitar, репитер только так, а с марлином надо чесаться и править кинематику.
08.01.19 в 00:09
1
вот полез, глянул ценник на эту плату, печалька, в два раза дороже DUE.
08.01.19 в 00:11
0
К DUE еще надо шилд прилепить. Хоть RAMPS пилить, хоть RADDS покупать. А там ценник уже малость повеселее.
08.01.19 в 00:14
0
так к этой тоже переделывать, если брать с готовый шилдом то больше 2200. выходит Тогда лучше от большого днрнва взять за 1300 все на борту без драйверов тежи 32 бита стм проц.
08.01.19 в 00:24
2
Здесь шилд стандартный, переделывать ничего не нужно.
SKR V1.1 совсем ограниченная в плане разводки, я не нашел, куда хотя бы серву подключить.
08.01.19 в 00:24
0
Видел. Тоже смузи...
08.01.19 в 01:19
0
И отлично работает на марлине, сам пользуюсь ~неделю, после sbase нарадоваться не могу
08.01.19 в 01:58
0
Вот в том то и проблема - марлина я не накручу на то что мне надо. Про остальное молчу.
Разве что писать Kevin O'Connor что бы помог в Klipper накрутить нужную кинематику.
08.01.19 в 02:07
0
А что за кинематика такая хитрая?
08.01.19 в 02:09
0
08.01.19 в 11:04
2
~неделю, после sbase нарадоваться не могу
Может мне не повезло. НО у меня грубо говоря самая геморная кинематика (дельта), и автокалибровка в пару кликов и... ну короче одни сплошные плюсы.
Можно по подробнее про то что не устроило в sbase? Продать ее не хочешь?
08.01.19 в 11:52
0
Во-первых, конечно же, несъемные драйвера. 8825 громковаты (не скажу, что орут, но и не тихие), муар наблюдается очень явный, на дрыгостоле (сменил встроенную плату на сбейс вынужденно, родная погорела, а сбейс удачно подвернулся) когда стол двигается медленно - модель аж дрожит. Плюс некорректная работа с блтачем - при параллельно включенном нагреве блтач выдает погрешность ~0.3 при подключении через пайку, а не через пины. Через пины набегает и того больше. Плюс, она у меня на марлине периодически зависает, а смузи я просто терпеть не могу.
Продам да, с удовольствием.
08.01.19 в 11:03
1
Ruramps? И все проблемы решены ) Зачем вы изобретаете велосипед?
08.01.19 в 18:26
0
Вы о каком велосипеде?, у меня стоит в дельте рурампс и дуе.
08.01.19 в 18:33
0
вот полез, глянул ценник на эту плату, печалька, в два раза дороже DUE
08.01.19 в 00:11
0
версии 2,0.
А что выложили, чтоль? вроде как 1.04 на днях.
а конфигуратор еще не скоро будет готов.
Ну можно попробовать и без конфига.
08.01.19 в 00:14
0
Пока не горит. А там посмотрим, когда железо будет готово. А оно еще и не отрисовано еще у меня )
08.01.19 в 00:15
0
ссыль на ветку в гитхабе бросьте, я для интереса поковыряю.
08.01.19 в 00:23
1
08.01.19 в 00:30
0
Спасибо, я тут эксперементирую с разными на своем бутере дуес рурампс. Марлин 2, не нравится прежде всего, своей шумностью работы с шаговиками, и много еще глюков. Опробовал репитер 1.03, сейчас MK4DUE изучаю. она потише работает, но репитер все-же лучше, но в нем нет тех плюх что в марлинах. Следующим на очереди репрап, который перед НГ описали, промодингую графический дисплей и поставлю, но пока кимбу поизучаю, гляну что во второй интересно.
08.01.19 в 00:36
0
А какие нужны плюхи?
Я вроде стараюсь быть как-то в теме. Мне надо автоуровень попробовать прикрутить, еще датчик филамента самый тупой, На будущее уже опробовал термопару с усилителем AD8594. В репитере на меге заработало.
08.01.19 в 00:55
1
по моим наблюдениям, можно более гибко настраивать под себя, поддержка большого количества оборудования.
Вот что мне не нравится откровенно в репитере и кимбе. Это такой момент выбор терморезистора. У марлина и список шире и ты довольно посто можешь откалибровать свой терморезистор, с применением термопары, и легко поправить в файле, посто прописав какая температура соответствует соответствующему показанию АЦП контроллера. В репитере так не прокатит, процесс составления таблицы гиморный и неудобный, таже фигня и в кимбе. Я для термистора на хотэнд использую резистор вместо 4.7к, 1к, что благотворно сказывается на качестве работы ПИД и соответствия температуры реальной с точностью +-1гр.
08.01.19 в 01:54
0
Вот поэтому и хочу на термопару перейти.
Быстро и точно измеряет температуру.
Чего хотелось бы - обычный LAN на борту. До Octoprint еще не добрался - пока не до него.
Но как вариант апельсинка уже в списке хотелок. WiFi это хорошо, но до роутера метров 8 и две стены. Поэтому и пришлось тянуть шнурок к своему компу.
08.01.19 в 09:30
0
А марку не подскажите ?
08.01.19 в 18:30
0
Вы о чем? не понял вашего вопроса.
07.01.19 в 23:55
0
Спасибо, плюсую, а статью в закладки.
Вопрос
Возможностей (по сравнению с DUE) у неё поменьше, но для моих задач вполне достаточно.
можете расшифровать что конкретно поменьше? контроллер вроде как точно не хуже?
08.01.19 в 00:05
2
На разъеме AUX2 Ramps не все выходы задействованы. Количество выходов с PWM также ограничено.
08.01.19 в 00:31
0
Спасибо.
08.01.19 в 00:26
0
По моему, если вместо атома как платформу для platformio использовать visual studio code то llvm не нужен
08.01.19 в 00:30
0
Делал по инструкции от разработчиков Marlin. Они рекомендовали Atom. Пробовать все варианты уж не стал.
08.01.19 в 00:34
0
У меня установлен без атома, так вот долго бился с компиляцией 2 марлина, постоянно варнинги и какие-то ошибки, пробую в ардуине, ничего нет подобног, попробую атом прикрутить. уж очень эта среда удобнее ардуиновского софта.
08.01.19 в 04:45
0
В VSC + platformio отлично компилируется, правда stm32, не принципиально. В ардунио наоборот не захотело.
08.01.19 в 18:38
0
для ДУЕ в сентябре месяце версия марлина 2, ну никак не хотела, а в среде ардуино нормабыла, и то зависило от версии, Васяня ниже написал, что это к СОЖАЛЕНИЮ норма. потом перешел на репитер, он только в Ардуине.Вечерком попробую ради интереса сейчас изменилось положение или нет.
08.01.19 в 18:42
0
Мне пришлось maple либы брать с GitHub, подкидывать вместо тех, что качает platformio, так оно даже почти заработало. Зависает на пол дороги.
08.01.19 в 11:35
0
У меня установлен без атома, так вот долго бился с компиляцией 2 марлина
Это норма. Хотя язык грубо говоря и стандартизирован, но разные компиляторы, да чего уж там, разные версии одного и того же компилятора одну и ту же строку могут воспринимать по разному. Не говоря уже о самих ревизиях языка, которые для компилятора все на одно лицо.
В идеале компилировать тем чем компилировал разработчки. А в некоторых особо хитровыделанных проектах еще и той же версией.
Когда-то я нашел приятный лайфхак в своей среде разработки и он мне сильно пригодился. Дело в том что мне надо было работать с большими объемами данных, но не факт что первая итерация даст верное решение. По сему надо было хранить все итерации. ПРи чем не каждая итерация была конечной. В общем я выделял для себя страницы памяти заранее, но не инициализировал весь объем, а размечал только то что нужно сейчас +1 итерация сверху умноженное на количество потоков. И грубо говоря в среде х86 с 32 битным словом я легко мог получать (memory remap для win 2003 server, как-то так называлось, для ХР кажется подобного патча не было) в свое распоряжение очень и очень приличных кусок памяти (читай страницы). Было не реально удобно, летало как к себе домой. На х64 осях вообще проблем не было. И тут вдруг (я вообще не гнался за новшествами компилятора, я и старый еще не в хвост и гриву знал ))) ) понадобилась мне одна функция. В новой версии компилятора она из коробки и работает как часы. А в моей ее нет, и добавить... в общем дикий костыль. Ну и обновился я. Там отличие в версии всего-то в миноре. Но... моя старя плюшка хоть и компилировалась без ошибок, но приложение при попытке разметить область просто крашилось. Откатываю на прошлый минор, шикарно, возвращаю новый...
08.01.19 в 17:43
0
Недавно на принтер тоже поставил Реарм с Марлином 2.0. Но карта в дисплее 12864 не заработала на марлине и на смузи. (на другом принтере стоит Sbase и карта на этом дисплее работает). После раскомментирования #define LPC_SD_LCD на дисплее с картой начинает сыпаться "мусор". Пока отложил эту проблему и печатаю с октопринта.
08.01.19 в 18:40
0
У меня карта и на Смузи работала и на Марлине работает. Причем на Смузи из меню экрана было видно и экранную карту и встроенную. Файлы с обеих можно выбирать.
Мусора на экране у меня нет, всё стабильно. После раскомментирования #define LPC_SD_LCD, нужно задокументировать #define LPC_SD_ONBOARD.
По поводу мусора на экране http://3dtoday.ru/questions/obnovlenie-do-1-1-9-i-glyuki-s-ekranom/, может быть тут тоже поможет.
09.01.19 в 09:54
1
Отличная статья. Кому-то наверняка пригодится. Люблю подробное описание всех действий и сам стараюсь описывать все очень подробно, чтобы не возникало лишних вопросов.
09.01.19 в 13:54
0
А Вы не знаете, можно ли эту связку к дельте прикрутить, да ещё и с сенсорным экраном?
09.01.19 в 14:42
0
К дельте - без проблем. Если экран можно подключить к mega+ramps, то думаю, что тоже будет работать. Все возможности Marlin тут можно использовать. Просто я с такими экранами дела не имел.
12.01.19 в 12:41
1
Нужно задокументировать строку со скриптом. С этим скриптом у меня наотрез отказывалась компилироваться прошивка. Убил кучу времени в поисках причины.
Upload_extra_script.py запускает fsutil, для работы fsutil нужны права администратора. Если atom запущен с обычными правами (что в винде типичная ситуация), то fsutil будет ошибку возвращать. Компиляция (хотя до неё и дело-то не дойдёт) будет завершаться с ошибкой. Решение "в лоб" - запуск atom с правами админа. Коментить строку не нужно :).

P.S. Куча warn'ов при компиляции... Причём таких, которые могут потенциально давать трудноуловимые глюки при выполнении.
12.01.19 в 21:39
0
Спасибо. Чего-то сам не догадался попробовать с правами админа запустить.
Да, предупреждения сыпятся, но, вроде, крутится. Полноценной работы пока не было, но все исполнительные работают.
12.01.19 в 22:07
0
Ну ладно. А есть фото печати "до " и "после" ? В чем суть то замены?
13.01.19 в 12:32
0
Суть замены - переход на более мощные драйвера с высоким микростеппингом. 8 бит и так периодически затыкалась на высокополигональных моделях. Приходилось скорость снижать.
Да и спортивный интерес.
Пока ещё печать не запускал. Всё ещё процесс перехода не закончен.

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

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

Добавление коэффициента компенсации геометрических особенностей и сохранения в EEPROM, в автоматической калибровки на Marlin

Ученые СибГУ испытывают подводный квадрокоптер с 3D-печатными деталями

Елки, скутеры и 3D-печатные горшки: посленовогодние соревнования в Сокольниках

Обзор 3D-принтеров HP на IMTS 2018

В Шанхае открылся рекордный 3D-печатный пластиковый мост

Два метра в час: американские ученые разработали новую технологию скоростной 3D-печати