Укрощение строптивого или тонкая настройка энкодера в Marlin
Привет всем 3D печатникам и не только!
Сегодня я хочу поведать вам о настройке энкодера в прошивке Marlin. Точнее о настройке ускорений изменения значений при увеличении скорости вращения ручки энкодера. Дело в том, что во всех инструкциях по настройке прошивки Marlin попавшихся мне на глаза до сего дня говорилось, что настройка энкодера осуществляется в двух строчках файла Configuration.h
В этих строках можно настроить количество шагов на один "щелчок" энкодера (#define ENCODER_PULSES_PER_STEP 1) и сколько шагов надо сделать для перехода на следующий/предыдущий пункты меню (#define ENCODER_STEPS_PER_MENU_ITEM 3).
И, вроде бы, всё понятно и работает. Проблемы у меня возникают при ручной настройке численных значений имеющих большой диапазон, допустим температура сопла. Если вращать ручку быстрее, то скорость нарастания значений тоже увеличивается. Конкретно на моём Full Graphics Smart Controller практически невозможно настроить точную температуру сопла. Например я хочу выставить 223 градуса, но не получается. То перелёт, то недолёт, а то и вовсе значение убегает в край диапазона 260 градусов.
В строке #define ENCODER_PULSES_PER_STEP значение можно записать дробное значение, например 1/2. Это приведёт к тому, что энкодер придётся вращать с частотой увеличенной в 2 раза. Но это замедлит энкодер во всех режимах и не приведёт к изменению ускорений при быстром вращении.
Оказывается, настройка ускорений находится в файле ultralcd.cpp в строчках:
if (encoderStepRate >= ENCODER_100X_STEPS_PER_SEC) encoderMultiplier = 100;
else if (encoderStepRate >= ENCODER_10X_STEPS_PER_SEC) encoderMultiplier = 10;
Верхняя строка отвечает за быстрое вращение (100 шагов в секунду), а вторая за более медленное (10 шагов в секунду). После знака равенства стоит число, во сколько раз ускоряется нарастание значения при ускоренном вращении. По умолчанию 100 и 10. Я заменил на 30 и 3 соответственно, и теперь могу настраивать температуру с точностью до градуса в любом диапазоне, причём ускорения достаточные, чтобы долго не приходилось крутить ручку энкодера.
На этом всё. Спасибо за внимание!
Еще больше интересных статей
Подключение мощного диодного лазера к 3D-принтеру
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Появилось у меня как-т...
Дистанционное управление питанием 3D-принтера. Настройка Klipper и BTT Relay
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Но ок, если вам мешают вопросы...
Кордовую копию ПО-2 я строил е...
"Здесь не много не тот форум н...
Месяца 2 назад печатал эту мод...
Пришло данное уведомление от c...
Решил купить металлическую маг...
Приветствую товарищи, принтер...