Добавляем в 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 Q1 Pro разбор экструдера (для начинающих Qidiводов)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Проблемы с Creality Nebula Pad
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Это первая моя статья, возможно, уже есть решение в интернет...
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
mini560 сильно греются у меня,...
Спасибо. Буду пробовать толщин...
да, робот пришел к похожему вы...
Печатал раньше смолой water-wa...
Принте Ender 3 Плата Skr mini...
Делаю как тут https://www.yout...
Принтер Q1 proOrca SlicerНейло...