roboforum.ru

Технический форум по робототехнике.

Marlin 2.0 (32bit)

Marlin 2.0 (32bit)

alexxy » 29 окт 2017, 20:54

Как известно одна из популярных прошивок для 3D принтеров Marlin обзавелась поддержкой 32битных контроллеров на базе следующих чипов:
  • AT91SAM3X8E (на базе Arduino Due) (например RAMPS-FD, RADDS)
  • LPC176x (Всем известные девайсы на базе Smoothieboard) (работают ReARM, MKS Sbase, Azteeg X5 GT, AZSMZ mini)
  • STM32F1
  • Teensy 3.5/3.6 (они уже Cortex-M4 с FPU)

Предыстория: Товарижчь setar подбросил мне плату Azteeg X5 GT с драйверами BigFoot BSD2660. В оригинале плата работала на Smoothiware, но мне хотелось попробовать Marlin на ней. Собственно дело оставалось за малым, добавить в Marlin поддержку этой платы. К плате прилагался дисплей Viki2.

На фото ниже, Marlin запущенный на Azteeg X5 GT с Viki2 (к принтеру пока не подключал, драйвера tmc2660 не удалось запустить, надо написать или найти библиотеку для них)
DSC_0339.JPG

DSC_0340.JPG

DSC_0341.JPG

DSC_0342.JPG


Что сейчас работает:
  • Мапинг базовых пинов
  • Эндстопы
  • Грелки
  • Сервы
  • Термисторы
  • Экран Viki2
  • Драйверы (пробовал drv8825 и tmc2100)
Что не работает:
  • Драйверы BSD2660 (нет библиотеки, надо написать)
  • Ну и потенциально всё что не проверялось ;)

Как всё это было: вся проблема заключалась в том, что по этой борде нет нормальной спецификации с пинами, а предположение что все пины будут совпадать с тем что заявлено для Smoothieboard мягко говоря не оправдалось =). Так что пины искались методом реверс энжиниринга и научного тыка. Порт по сути делался не с нуля, а в качестве базы использовалось то, что было сделано уже для re-arm. Фотки и может пара видео этого дела будет в следующих постах.

Мой код поддержки Azteeg X5 GT смержили в основное дерево Marlin, так что берем бранч bugfix-2.0.x и пользуем

Базовая инструкция для сборки
  • Ставим platformio
  • Клонируем основную репу марлина
    Код: Выделить всёРазвернуть
    git clone https://github.com/MarlinFirmware/Marlin
  • Переключаем бранч на bugfix-2.0.x
    Код: Выделить всёРазвернуть
    git checkout -b bugfix-2.0.x origin/bugfix-2.0.x
  • Конфигурим как обычно, выставляем нужные параметры для платы и тип платы
  • Собираем
    Код: Выделить всёРазвернуть
    pio run -e LPC1768
  • В итоге получится файл firmware.bin (смотрим где он в выводе pio), копируем его на флешку, и перезапускаем плату
  • Радуемся Marlin на 32битной борде

Re: Marlin 2.0 (32bit)

Rasputin » 13 июл 2021, 23:35

Господа, а кто-нибудь имеет связь с разработчиками?
Просто хочу донести косяки, а знания языков не позволяют.
Имею связку Arduino Duo и RURAMPS4DUO.
Так вот эта связка не работает с версии 2.0.8
Стоит только обозначить в конфиге:
#define MOTHERBOARD BOARD_RURAMPS4D_13
и
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
И всё, компиляция вываливается с ошибками. В 0.8-х версиях ругался на U8GLIB. В 0.9-х вообще, на отсутствие библиотек(и).
Последняя рабочая версия 2.0.7.2, но тоже, с небольшой буквой "Ж".
Для компиляции используется Arduino IDE 1.8.15

Re: Marlin 2.0 (32bit)

trengtor » 25 июл 2021, 14:02

Rasputin писал(а):Просто хочу донести косяки, а знания языков не позволяют.


https://translate.google.ru/?hl=ru&tab= ... =translate

Re: Marlin 2.0 (32bit)

trengtor » 02 дек 2021, 19:09

Такой сумасшедший вопрос: а кто-нибудь пытался подключить PT1000 с подтяжкой 4К7 не через полином (как предлагает Марлин), а через нормальную таблицу (аналогично подключению NTC100K, например)?

ps. Имеющиеся в Марлине таблицы PT100/PT1000 – это, по сути, «заглушки» для кода.

Re: Marlin 2.0 (32bit)

setar » 02 дек 2021, 19:20

вроде бы я так работаю, нужно код глянуть - позже, дома

Re: Marlin 2.0 (32bit)

trengtor » 02 дек 2021, 22:02

setar писал(а):нужно код глянуть - позже, дома


Заранее спасибо!

Re: Marlin 2.0 (32bit)

trengtor » 03 дек 2021, 17:52

Всё, разобрался.
Вложения
photo_2021-12-03_16-51-18.jpg

Re: Marlin 2.0 (32bit)

trengtor » 26 май 2023, 10:27

Вопрос немного в сторону.
Никому не попадалось версии прошивки с опцией обнуления всего содержимого EEPROM? Не его инициализации, а именно полного стирания?

Re: Marlin 2.0 (32bit)

setar » 26 май 2023, 11:45

trengtor писал(а):Вопрос немного в сторону.
Никому не попадалось версии прошивки с опцией обнуления всего содержимого EEPROM? Не его инициализации, а именно полного стирания?

Если мне не изменяет память обнуление происхождит автоматически, если версия хранилища меньше версии текущей прошивки.
там происходит не обнуление а именно инициализация = заполнение дефолтными данными.
Если нужно именно обнуление области это не к прошивке а к тулзам прошивальщика.

Re: Marlin 2.0 (32bit)

trengtor » 26 май 2023, 17:35

setar писал(а):Если мне не изменяет память обнуление происхождит автоматически, если версия хранилища меньше версии текущей прошивки.
там происходит не обнуление а именно инициализация = заполнение дефолтными данными.
Если нужно именно обнуление области это не к прошивке а к тулзам прошивальщика.


Именно так. А тут пришлось с 2.1.2 вернуться на 2.0.8.2 – и часть параметров инитятся и запоминаются откровенно криво. Боль и страдания, в общем. Уже разобрался с тем, что тут можно использовать отладочный режим (т.е. активировать в Марлине режим разработчика). Теперь понять бы, как именно корректно использовать D-коды, в частности, D3. По ним примеров ноль вообще. Только табличка на РепРапе.

Re: Marlin 2.0 (32bit)

trengtor » 01 июн 2023, 09:58

В общем, дожал я эту тему до конца. Как выяснилось, эти отладочные D-команды для EEPROM работоспособны только для 5 (пяти) плат из 332. Ну да, EEPROM там стоит далеко не на всех 332 платах, но в данном контексте это не так уж важно. Марлин тут явно сорвал джекпот )))
Вложения
2023-06-01_08-32-25.jpg
r06kpCOO9TL6h2tgRTZQwcPbqFDA4CQiyY7dKnEUzXPDBna7B7.jpg

Re: Marlin 2.0 (32bit)

Начинающий » 20 июл 2023, 15:21

Понимаю что прошло уже не мало времени, но все же, если предидущий вопрос с обнулением EEPROM касался того что в Marlin2.0 сконфигурированном по умолчанию не сохраняются в EEPROM новые значения для шагов моторов, то я лечил так:
в Configuration.h
1) Разкомментировал строчку #define EEPROM_SETTINGS
2) Чуть ниже разкомментировал строку #define EEPROM_INIT_NOW
Все. Теперь новые значения сохраняются в EEPROM.

Re: Marlin 2.0 (32bit)

Начинающий » 21 июл 2023, 16:09

Подскажите пожалуйста отчего после установки Marlin2.0 может перестать работать экструдер, на что стоит обратить внимание?
Драйвер и мотор рабочие, проверял путем втыкания драйвера в плашку для Z, мотор тоже исправно работал до замены платы и перехода на 32 битную версию марлин.

Как я понимаю я не один такой, погуглив нашел ветку https://3dtoday.ru/questions/posle-zame ... -marlin-20 но к сожалению информация оттуда не помогла.

Re: Marlin 2.0 (32bit)

setar » 23 июл 2023, 13:20

Начинающий писал(а):Подскажите пожалуйста отчего после установки Marlin2.0 может перестать работать экструдер, на что стоит обратить внимание?
Драйвер и мотор рабочие, проверял путем втыкания драйвера в плашку для Z, мотор тоже исправно работал до замены платы и перехода на 32 битную версию марлин.

Как я понимаю я не один такой, погуглив нашел ветку https://3dtoday.ru/questions/posle-zame ... -marlin-20 но к сожалению информация оттуда не помогла.

как проверяли ? экструдер не двигается без нагрева - защита (ее при тесте нужно отключать командой m302)
Код: Выделить всёРазвернуть
M302         ; report current cold extrusion state
M302 P0      ; enable cold extrusion checking
M302 P1      ; disable cold extrusion checking
M302 S0      ; always allow extrusion (disable checking)
M302 S170    ; only allow extrusion above 170
M302 S170 P1 ; set min extrude temp to 170 but leave disabled

Re: Marlin 2.0 (32bit)

Начинающий » 23 июл 2023, 16:02

Спасибо за ответ.
Вопрос уже решен, основная проблема как оказалось была в том что я экструдер по незнанию подключал не в тот порт...
G-code запустить с ПК нет возможности, т.к. нет дров а моя win7 их на автомате не находит, а с LCD я так понимаю даже если я файл и запущу, все равно ничего не увижу наверно :/

P.S. уважаемый не подскажите ли где во 2 Marlin хранятся параметры сетки,
как ни искал в Configuration.h ничего похожего на первый Marlin не нашел:
#define LEFT_PROBE_BED_POSITION 20
#define RIGHT_PROBE_BED_POSITION 178
#define FRONT_PROBE_BED_POSITION 10
#define BACK_PROBE_BED_POSITION 200

Сейчас честно говоря вообще не понимаю как там выставляют углы сетки для калибровки столика перед печатью.
_______________________________________________________________________________________________________________________________________________________
Все разобрался с автовыравниванием, сейчас это оказывается выглядит так:
#define PROBING_MARGIN_LEFT 20
#define PROBING_MARGIN_RIGHT 20
#define PROBING_MARGIN_FRONT 20
#define PROBING_MARGIN_BACK 20

и как пишут тут https://3d-printery.ru/topics/8153/kak- ... niya-stola
теперь эти значения определяют не границы области, а значения смещений от края стола.


cron
Rambler\'s Top100 Mail.ru counter