Добавляем в Marlin программную поддержку компенсации люфта ходовых винтов
Подобную функцию когда-то поддерживала прошивка Marlin, но потом ее почему-то удалили. В любом случае моей задачей было вернуть ее на место. Впоследствии был найден вот этот пост, его собственноручный перевод с адаптацией для версии 1.0.2 я здесь и решил опубликовать, снабдив пояснительными картинками.
Шаг 1. Добавьте define в configuration.h. Я добавил нижеследующую строку после define для DEFAULT_MAX_ACCELERATION
#define DEFAULT_HYSTERESIS_MM 0, 0, 0, 0 // X, Y, Z, E hysteresis in mm. These are the extra distances that are performed when an axis changes direction to compensate for any mechanical hysteresis your printer has.Шаг 2. Добавьте пару новых G-кодов в Marlin_main.cpp. Найдите 'case 115: // M115' и вставьте нижеследующие строки перед ней:
case 98: // M98
{
hysteresis.ReportToSerial();
}
break;
case 99: // M99
{
if(code_seen('X')) hysteresis.SetAxis( X_AXIS, code_value() );
if(code_seen('Y')) hysteresis.SetAxis( Y_AXIS, code_value() );
if(code_seen('Z')) hysteresis.SetAxis( Z_AXIS, code_value() );
if(code_seen('E')) hysteresis.SetAxis( E_AXIS, code_value() );
}
break;Шаг 3. Добавьте include в Marlin_main.cpp. Допишите его почти сверху, после всех остальных include
#include 'Hysteresis.h'Шаг 4. Сделайте то же самое в planner.cpp. Добавьте после всех остальных includeШаг 5. Добавьте нижеследующую строку в функцию plan_buffer_line в planner.cpp. Она должна быть первой в функции, до 'int next_buffer_head = ....'
hysteresis.InsertCorrection(x,y,z,e)Шаг 6. Добавьте вложенные файлы (hysteresis.cpp и hysteresis.h) в директорию прошивки, туда же, где лежит Marlin_main.cpp.
В общем-то и все. Теперь можно в начало gcode-файла добавить строку вида:
M99 X0 Y0.17 Z0 E0
где 0,17 - это люфт оси Y. По команде M98 в Pronterface принтер выдаст текущее значение люфтов для осей.
Еще больше интересных статей
Снятие экструдера на Qidi Plus 4 и небольшой, но полезный нюанс от Qidi
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
(Не)большое улучшение сушилки Sunlu S2 для мягкой подачи филамента
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...






Комментарии и вопросы
есть, есть велосипед!https://m...
Я, глядя на раскачиваемую прин...
Это "горизонтальная" книга, ее...
Добрый час, подскажите пожалуй...
Кто знает где кнопка сохранить...
При нагреве экструдера выше 30...
Здравствуйте, нужна ваша помощ...