Настройка Smoothie для работы на SKR 1.3 с драйверами TMC2130 и TMC5160 через SPI

vova0108
Идет загрузка
Загрузка
06.06.2020
1246
5
печатает на Anet A8
Разное

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

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

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

1

Всем привет!

Собран принтер на базе SKR 1.3, с кинематикой CoreXY.Сейчас пользуюсь Marlin, но тестирование показало, что присутствует "странная" переменная экструзия. Как пример: возьмём пустотелый куб 20х20мм. На нем появляется рябь с равным шагом 6 слоев. Берем тот же куб но с размерами 40х40. И теперь рябь уже каждые 3 слоя. Берем 80х80 и уже, каждый слой не к слою.

Изменчивость совсем не большая, но не позволяет получать идеальные поверхности.

Почему Smoothie? Решил на эту же конфигурацию её накатить, сделал базовые настройки. Драйверы перевел на перемычки, для дробления шагов 16. И когда поставил тот же файл с кубиком 20х20, ряби не увидел. Повторил со всеми поверхностями, и все идеально, нет больше переменной экструзии. 

Меня конечно терзает вопрос, почему!?Чем же отличается эта прошивка или, что такого делает Marlin, что пластик лезет неравномерно? Ответа не нашёл.

А дальше, раз все проблемы качества решает Smoothie, нужно как то перенести функционал Marlin. 

Теперь по существу:

1. Экструдер:

Драйвер TMC2130 установлен на оси E или Экструдер. BIGTREETECH TMC2130 V3.0 SPI.

Экструдер - Директ, основан на Trianglelab BMG экструдер + V6 HOTEND двухприводный, 24 вольта.

Шаговый двигатель в экструдере Nema17 17HS4023 1.8 градуса

2. Оси XY:

Для осей XY применяются TMC5160. Дробление требуется 64 микро шага. Ток в пропившие 1200. Драйверы так же от BIGTREETECH.BIGTREETECH TMC5160 V1.2 SPI. Чтобы они завелись на SKR 1.3 потребовалось убрать контакт, и добавить как показал на картинке ниже. В прошивке уже потребовалось установить значение сопротивление резистора, в разделе настроек Configuration_adv.h для 21хх на 0.075.

#define X_RSENSE 0.075

#define Y_RSENSE 0.075

Двигатели осей XY от STEPPERONLINE 17HS19-2004S1. На всякий случай, может потребуется приложу характеристики.

3. Ось Z:

Управляется TMC2208 в режиме STANDALONE, дробление установлено на 16 перемычками. Двигатель такой же как и на XY.

К оси Z нет вопросов, высота слоев максимально равномерная, разглядывал под микроскопом. 

4. Материнская плата:

SKR 1.3. Самая обычная BIGTREETECH SKR V1.3

Блок питания 24 вольта 500 ватт.

Вопрос.

Вопрос в том как завести данную связку на основе Smoothie? Оси E и Z не требуют особо ничего, можно подключить используя перемычки. Хоть и маленький двигатель Экструдера будет не восторге выставленных по умолчанию токов от TMC2130. Но все же хотелось в режиме SPI. Хуже того, на Marlin это все еще работает в гибридном режиме. Так как 2130 не способен в "тихом режиме" крутиться быстро, а в BMG экструдере редуктор, скорость ретракта 15мм/с, это предел. Эту проблему исправляет Гибридный режим, этот имеется виду:

#define HYBRID_THRESHOLD

#define E0_HYBRID_THRESHOLD 15

Это позволяет крутиться шаговому двигателю намного быстрее.

А ток для данного двигателя нужно снижать до 500 (чего то там, не понятно какой это ток в реальности), двигатель передвигается. 

Оси YX работают с нестандартным дроблением 64, вроде как можно выставить его перемычками. Но требуется ток 1.2 и более для работы. А на TMC5160 ток уже не покрутить отверткой.

Тезисно:

1. Заставить работать TMC2130 в режиме SPI. Возможность включить гибридный режим, или принудительно выключить "тихий" stealthChop режим.

2. Заставить работать TMC5160 в режиме SPI, с дроблением 64 и так же отключенным stealthChop.

3. Мечта) Заставить marlin работать так же как Smoothie.

Примеры проблемы приложу чуть позднее. Сейчас далеко от принтера, а вопрос назрел.

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

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

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

1
Комментарии к статье

Комментарии

06.06.2020 в 16:47
0

Могу подсказать покопаться в исходниках для Smoothieboard / MKS Sbase 1.3, в последней точно реализовано управление током встроенных DRV 8825.

Как вариант - предложил бы использовать Klipper, как там с марта продвигается "допиливание" совместимости прошивки с TMC-драйверами, - не следил. Разбирался тогда вот ЗДЕСЬ

09.06.2020 в 19:54
0

Ээээ.... Мнэээ... Очень хочется помочь, только вот не осознаю до конца, чем именно могу помочь и могу ли помочь вообще. Далек я (пока?) от темы управления драйверами.

У людей есть вполне удачные (насколько я понимаю) форки Soothieware для TMC2130, TMC5160 (и 2208/09). И там даже проскакивают буквы SPI:

https://github.com/Smoothieware/Smoothieware/pull/1315

https://github.com/Smoothieware/Smoothieware/pull/1401

https://github.com/Smoothieware/Smoothieware/pull/1447

Можно ли из них выкопать что-то подходящее для ваших планов (чтобы совместить на одной доске TMC2130 и TMC5160) - надеюсь, что можно.

P.S. Самому интересно приткнуть к моей MKS Sbase v.1.3 / Smoothieware что-нибудь интересненькое, но пока еще, видимо, количество моих знаний не готово перейти в качество конструкции.

30.06.2020 в 09:58
0

Ответ на ваш вопрос, что не так с прошивкой марлин. Ответ очень прост, ширина импульса STEP периодически скачет, в определенный момент ее не хватает и драйвер пропускается шаги. Попробуйте вбить костыль, там в настройках есть минимальная длительность импульса STEP, увеличьте ее в полтора два раза. Все должно нормализоваться...

На гитхабе есть обсуждение этой проблемы, насколько я понимаю ее до сих пор не решили, хотя вроде бы и решают.

30.06.2020 в 12:02
0

Имеется ввиду вот эта настройка в _adv
/**

 * Minimum stepper driver pulse width (in µs)
 * 0 : Smallest possible width the MCU can produce, compatible with TMC2xxx drivers
 * 0 : Minimum 500ns for LV8729, adjusted in stepper.h
 * 1 : Minimum for A4988 and A5984 stepper drivers
 * 2 : Minimum for DRV8825 stepper drivers
 * 3 : Minimum for TB6600 stepper drivers
 * 30 : Minimum for TB6560 stepper drivers
 *
 * Override the default value based on the driver type set in Configuration.h.
 */
//#define MINIMUM_STEPPER_PULSE 2

30.06.2020 в 12:38
0

Именно, только ее сначала расскоментировать надо конечно же :)

У этих драйверов минимальная длительность импульса степ что то около 0,8 микросекунд. Марлин 2 на LPC1768 Выдает честные по дефолту 2 микросекунды, но периодически длительность проваливается даже до 0,5 микросекунд, вот тут драйвер с ума и сходит... При желании можете почитать на гитхабе, где прошивку сливаете. Находится по TMC2130...

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

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

Кормушка для птичек в древнегреческом стиле

Кашпо для "жениха" и "невесты"

Тихий Predator

Кронштейны для боковых зеркал заднего вида

ANET A8 Plus и как его можно улучшить

Антипирен UL94 V-0 от Филаментарно. Режимы печати.