Добавляем в 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 принтер выдаст текущее значение люфтов для осей.
Еще больше интересных статей
Anycubic Slicer Next раздружился с коброй
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил поделиться своим решением проблемы, которое в принципе...
Bambu Studio предупреждает о floating cantilever: как найти виновника делением модели по высоте
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.






Комментарии и вопросы
Идея конечно интересная, но то...
Сделаете под куллеры от ПК все...
Но при интенсивной и не очень....
Все привет, кто сталкивался с...
Модернизировал я своего ворона...
Добрый день. Поставил прошивку...
Из черного пластика ABS+ ESUN...