Укрощение строптивого или тонкая настройка энкодера в 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 соответственно, и теперь могу настраивать температуру с точностью до градуса в любом диапазоне, причём ускорения достаточные, чтобы долго не приходилось крутить ручку энкодера.
На этом всё. Спасибо за внимание!
Еще больше интересных статей
Замена нагревательного элемента на хотэнде QIDI Tech Q1 Pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Обновленный хотэнд QIDI Tech Q1 Pro
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...
Комментарии и вопросы
На момент печати принтер был п...
стоимость комплекта из 6 сборн...
Отличная конструкция. Тоже вын...
Добрый вечера! Есть задачка. К...
Поменял хотенд на ender 3s1 pr...
Приобрел сабж. Ревизия 2. Нрав...
Недавно обнаружил то что хруст...