Металл2024 Реклама
Метобр2024 Реклама

Мой опыт прошивки Marlin 2 на Skr E3 DIP с драйверами 2208 UART.

DenisFox
Идет загрузка
Загрузка
09.10.2019
10481
60
Личные дневники

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

3

Доброго времени суток.

Купил я пару недель назад Ender 3 Pro и сразу заказал к нему skr E3 DIP с драйверами 2208 UART в комплекте.

После установки столкнулся с проблемой что последний офф марлин работает некорректно на плате от skr.

Собрал сборку офф марлина почти без проблем и прошивается тоже хорошо ......

НО чтобы я не пробовал всегда была ошибка "tmc connection error" и что самое печальное - неверное количество шагов моторов.

Шаги моторов были увеличены в 2 раза

Если я хотел передвинуть какую либо ось на 10 мм , то она обязательно поедет на 20 мм. (Так чуть не упёрся в раму пару раз).

Хотя прошивка от BigTree компилировалась достаточно хорошо , проблем с шагами не было и TMC ошибки тоже , но мне хочется прошивку посвежее.

В течении 2 дней прогуглил всё возможное , пока не решил сравнить прошивку от BigTree и новую от марлин.

В итоге мой интерес пал на то как работает TMCStepper в обоих случаях (тот который рекомендует BigTree и тот что используется марлине).

Поиски привели меня к тому что в том драйвере , который использует marlin  , надо во время компиляции определить дополнительный параметр в ручную - TMC_SERIAL_SWITCH , так как сам он почему-то не дефайнился. 

А драйвера от БольшогоДерева по дефолту дефайнят всё сами.

(Я так и не понял почему . Но марлин чётко знает что использовать когда мы выбирает драйвера с UART.)

В обшем решил эти проблемы просто добавив дополнительный аргумент (флаг) для компиляции : -DTMC_SERIAL_SWITCH

Файл - platformio.ini

[env:STM32F103RC_bigtree]

...........

build_flags = !python Marlin/src/HAL/HAL_STM32F1/build_flags.py ${common.build_flags} -DDEBUG_LEVEL=0 -std=gnu++14

-DHAVE_SW_SERIAL

-DTMC_SERIAL_SWITCH

..............

Также на всякий случай указал что пусть марлин использует последний билд TMCStepper.

Было -  TMCStepper@>=0.5.0<1.0.0

Стало - TMCStepper=https://github.com/teemuatlut/TMCStepper/archive/master.zip

Я до сих пор не знаю на сколько это корректное решение , но у меня печатает теперь корректно и практический без проблем.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

3
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама