Chopper tuning guide (Russian) - altzbox/Chopper-tuning-guide GitHub Wiki

Проект переехал к настоящему программисту :)

https://github.com/MRX8024/chopper-resonance-tuner/tree/main
Автоматизированы установка скрипта, макросов и создание графиков. Оптимизировано время тестов.


Это не TMC Автотюн. Метод основан на мануале Тринамик по "поведенческой" настройке чоппера.

  1. Установка скрипта на хост с Клиппером.

Создаем директорию
mkdir scripts
Копируем в нее файл скрипта chopper_plot.py
Переходим в директорию scripts
cd scripts
Выдаем разрешение на запуск
chmod +x chopper_plot.py
Устанавливаем необходимые библиотеки
sudo apt install python3-pandas python3-numpy python3-tqdm python3-plotly python3-natsort

  1. Установка макроса в Клиппер. Копируем файл chopper_tune.cfg для портала на 2-х моторах stepper_x и stepper_y или chopper_tune_awd.cfg, если у вас конфигурация портала с 4-мя двигателями stepper_x, stepper_x1, stepper_y, stepper_y1.
    Прописываем файл в printer.cfg
    [include chopper_tune_awd.cfg]

  2. Подключаем акселерометр как при измерении резонансов для инпут шейпера.

  3. Калибровка.
    4.1. Определяем «рябые» скорости.
    В консоли Клиппера водим команду
    DUMP_TMC STEPPER=stepper_x REGISTER=chopconf
    В ответ получаем текущие параметры чоппера.
    CHOPCONF: 224181f8 toff=8 hstrt=7 hend=3 tbl=3 tpfd=4 mres=2(64usteps) dedge=1
    Запускаем макрос с вашими текущими параметрами чоппера, которые выдал дамп, настройкой тока run_current из printer.cfg и скоростью от от 20 до 150 мм/с.
    Пример:

img_1

CHOPPER_TUNE_AWD CURRENT_MIN_mA=2000 CURRENT_MAX_mA=2000 TBL_MIN=0 TBL_MAX=0 TOFF_MIN=8 TOFF_MAX=8 HSTRT_HEND_MAX=10 MIN_HSTRT=7 MAX_HSTRT=7 MIN_HEND=3 MAX_HEND=3 MIN_SPEED=20 MAX_SPEED=150 TRAVEL_DISTANCE=150 ITERATIONS=1

Голова принтера совершит прогоны на заданных скоростях с шагом 1мм/с.

В начале выполнения макроса в консоли будет текст с командой вида "Use the following command to process the generated files: python3 chopper_plot.py --current_min=2000 --current_max=2000 --tbl_min=0 --tbl_max=0 --toff_min=8 --toff_max=8 --hstrt_hend_max=10 --min_hstrt=5 --max_hstrt=5 --min_hend=5 --max_hend=5 --min_speed=20 --max_speed=150 --iterations=1." Лучше ее успеть скопировать — она пригодится для построения графика.

После завершения работы макроса в директории /tmp/ появятся файлы csv с данными акселерометра под каждый прогон головы. Эти файлы нужно обработать с помощью скрипта.
В консоли хоста вводим команду, которую скопировали в начале работы макроса. python3 chopper_plot.py --current_min=2000 --current_max=2000 --tbl_min=0 --tbl_max=0 --toff_min=8 --toff_max=8 --hstrt_hend_max=10 --min_hstrt=7 --max_hstrt=7 --min_hend=3 --max_hend=3 --min_speed=20 --max_speed=150 --iterations=1

Скачиваем из директории /tmp/ файл interactive_plot.html и открываем его в браузере.

img_2.png

На графике будет обычно 2 пика. На скорости около 50мм/с и 100мм/с. Это «рябые» скорости. Нам нужна меньшая из этих скоростей. Например, 55мм/с.
Удаляем все файлы из директории /tmp/

4.2. Запускаем макрос для перебора всех вариантов чоппера на выбранной ранее скорости. Проверьте наличие свободного места на хосте. Под данные необходимо 575Мб.

img_3.png

CHOPPER_TUNE_AWD CURRENT_MIN_mA=2000 CURRENT_MAX_mA=2000 TBL_MIN=0 TBL_MAX=3 TOFF_MIN=2 TOFF_MAX=8 HSTRT_HEND_MAX=10 MIN_HSTRT=0 MAX_HSTRT=7 MIN_HEND=2 MAX_HEND=15 MIN_SPEED=55 MAX_SPEED=55 TRAVEL_DISTANCE=150 ITERATIONS=1
Сбор данных будет проходить около 2 часов, на выходе получится около 1200 файлов csv. После окончания работы макроса запускаем скрипт с параметрами в консоли хоста. В нашем примере это: python3 chopper_plot.py --current_min=2000 --current_max=2000 --tbl_min=0 --tbl_max=3 --toff_min=2 --toff_max=8 --hstrt_hend_max=10 --min_hstrt=0 --max_hstrt=7 --min_hend=2 --max_hend=15 --min_speed=55 --max_speed=55 --iterations=1

Получаем график вида

img_4.png

В этом примере минимальные вибрации при tbl=0 и toff=8. Увеличиваем эту область.

img_5.png

Выбираем вариант чоппера с минимальным значением магнитуды - это искомые параметры чоппера. Так же нужно учитывать, что при больших значениях tbl и toff снижается частота чоппера, что ведет к появлению слышимого шума. Можно повторить процедуру с меньшими вариациями чоппера, например, только tbl=0 и toff=8 и перебрать hstrt и hend, но с большим количеством повторений iterations. В этом случае график будет построен по средним результатам, чтобы уменьшить влияние механики на показания.

Буду признателен, если вы найдете меня в Дискорд altzbox#4007 или Телеграм @altzbox и пришлете свои графики с указанием модели моторов, драйвера и принтера. Я хочу далее оптимизировать алгоритм и создать базу данных с параметрами чоппера.