Технический форум по робототехнике.
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 не удалось запустить, надо написать или найти библиотеку для них)
Что сейчас работает:
- Мапинг базовых пинов
- Эндстопы
- Грелки
- Сервы
- Термисторы
- Экран 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битной борде
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
trengtor » 25 июл 2021, 14:02
Rasputin писал(а):Просто хочу донести косяки, а знания языков не позволяют.
https://translate.google.ru/?hl=ru&tab= ... =translate
trengtor » 02 дек 2021, 19:09
Такой сумасшедший вопрос: а кто-нибудь пытался подключить PT1000 с подтяжкой 4К7 не через полином (как предлагает Марлин), а через нормальную таблицу (аналогично подключению NTC100K, например)?
ps. Имеющиеся в Марлине таблицы PT100/PT1000 – это, по сути, «заглушки» для кода.
setar » 02 дек 2021, 19:20
вроде бы я так работаю, нужно код глянуть - позже, дома
trengtor » 02 дек 2021, 22:02
setar писал(а):нужно код глянуть - позже, дома
Заранее спасибо!
trengtor » 03 дек 2021, 17:52
Всё, разобрался.
- Вложения
-
trengtor » 26 май 2023, 10:27
Вопрос немного в сторону.
Никому не попадалось версии прошивки с опцией обнуления всего содержимого EEPROM? Не его инициализации, а именно полного стирания?
setar » 26 май 2023, 11:45
trengtor писал(а):Вопрос немного в сторону.
Никому не попадалось версии прошивки с опцией обнуления всего содержимого EEPROM? Не его инициализации, а именно полного стирания?
Если мне не изменяет память обнуление происхождит автоматически, если версия хранилища меньше версии текущей прошивки.
там происходит не обнуление а именно инициализация = заполнение дефолтными данными.
Если нужно именно обнуление области это не к прошивке а к тулзам прошивальщика.
trengtor » 26 май 2023, 17:35
setar писал(а):Если мне не изменяет память обнуление происхождит автоматически, если версия хранилища меньше версии текущей прошивки.
там происходит не обнуление а именно инициализация = заполнение дефолтными данными.
Если нужно именно обнуление области это не к прошивке а к тулзам прошивальщика.
Именно так. А тут пришлось с 2.1.2 вернуться на 2.0.8.2 – и часть параметров инитятся и запоминаются откровенно криво. Боль и страдания, в общем. Уже разобрался с тем, что тут можно использовать отладочный режим (т.е. активировать в Марлине режим разработчика). Теперь понять бы, как именно корректно использовать D-коды, в частности, D3. По ним примеров ноль вообще. Только табличка на РепРапе.
trengtor » 01 июн 2023, 09:58
В общем, дожал я эту тему до конца. Как выяснилось, эти отладочные D-команды для EEPROM работоспособны только для 5 (пяти) плат из 332. Ну да, EEPROM там стоит далеко не на всех 332 платах, но в данном контексте это не так уж важно. Марлин тут явно сорвал джекпот )))
- Вложения
-
-
Начинающий » 20 июл 2023, 15:21
Понимаю что прошло уже не мало времени, но все же, если предидущий вопрос с обнулением EEPROM касался того что в Marlin2.0 сконфигурированном по умолчанию не сохраняются в EEPROM новые значения для шагов моторов, то я лечил так:
в Configuration.h
1) Разкомментировал строчку #define EEPROM_SETTINGS
2) Чуть ниже разкомментировал строку #define EEPROM_INIT_NOW
Все. Теперь новые значения сохраняются в EEPROM.
Начинающий » 21 июл 2023, 16:09
Подскажите пожалуйста отчего после установки Marlin2.0 может перестать работать экструдер, на что стоит обратить внимание?
Драйвер и мотор рабочие, проверял путем втыкания драйвера в плашку для Z, мотор тоже исправно работал до замены платы и перехода на 32 битную версию марлин.
Как я понимаю я не один такой, погуглив нашел ветку
https://3dtoday.ru/questions/posle-zame ... -marlin-20 но к сожалению информация оттуда не помогла.
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
Начинающий » 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теперь эти значения определяют не границы области, а значения смещений от края стола.