Добавляем в 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 принтер выдаст текущее значение люфтов для осей.
Еще больше интересных статей
Подсветка для Ender 3 и Sprite Extruder с обдувом K3D
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Попросили меня подробнее написать про подсветку на моем Ender 3....
Охлаждение мотора директа
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...
Комментарии и вопросы
Все работает .с штатным диспле...
Первый результат На штатном ди...
принтер ender-3 поверхность за...
Купил на али два мотора.У одно...
Появилась горелая мкс 3.1 вооб...
Компания собирается закупать п...