Skip to content

Latest commit

 

History

History
62 lines (51 loc) · 9.94 KB

chopper_tuning_guide_russian.md

File metadata and controls

62 lines (51 loc) · 9.94 KB

Метод полу-автоматической калибровки параметров драйвера основан на мануале Trinamic по "поведенческой" настройке мотора.

1. Установка скрипта калибровки на хост принтера. (последует перезагрузка клиппера!)

   cd ~
   git clone https://github.com/MRX8024/chopper-resonance-tuner
   bash ~/chopper-resonance-tuner/install.sh

Если все прошло успешно, вы увидите у себя в домашней директории принтера (~/printer_data/config) появившуюся папку - adxl_results, в которую после будут помещаться результаты калибровок, а так же уже доступный макрос из панели макросов на главной странице веб интерфейса. А если по каким то причинам нет, то установите вручную.

  1. Подключаем акселерометр к мотору, методом прикручивания его винтом, это гарантирует точное измерение вибраций. Однако, можно подключить, как например, при измерении резонансов, для input_shaper - к печатающей головке / столу, в зависимости от типа принтера, выбранной оси измерения, для сбора вибраций. Этот способ может дать неверные данные при кривой механике, однако на ровно собранных принтера, он не уступает первому.

  2. Калибровка: (Дальнейшие команды в этой статье будут трактоваться с минимально необходимыми параметрами, все поддерживаемые перечислены внизу статьи).

    1. Определяем резонирующие скорости, введя в терминал веб интерфейса команду CHOPPER_TUNE FIND_VIBRATIONS=1
    2. После завершения работы макроса алгоритм автоматически сгенерирует графики, поместит их в директорию .../adxl_results/chopper_magnitude/, скачиваем и открываем interactive_plot.html, и видим следующую картину - На графике будет видно обычно 2 пика, на скорости около 50мм/с и 100мм/с - это резонансные скорости, нам нужна наименьшая из этих скоростей, например - 55мм/с.
    3. Запускаем макрос для перебора всех вариантов чоппера на выбранной ранее скорости, команда будет выглядеть вот так -CHOPPER_TUNE MIN_SPEED=55 MAX_SPEED=55. Проверьте наличие свободного места на хосте, возможный лимит папки /tmp на 1ГБ ОЗУ хостах, под данные необходимо ~700mb. Время сбора данных займет примерно два часа (в зависимости от кинематики), после завершения точно так же открываем график, как и в предыдущий раз, получаем график вида - В этом примере минимальные вибрации при TBL=0 и TOFF=8. Увеличиваем эту область.
    4. Выбираем вариант чоппера с минимальным значением магнитуды - это искомые параметры. Так же нужно учитывать, что при больших значениях TBL и TOFF снижается частота мотора, что ведет к появлению противного высокочастотного шума. Если вибрации уменьшаются вместе с появлением этого явления, найдите приятный диапазон работы между вибрациями и писком, используя функционал программы (вписывая нужные вам диапазоны регистров в параметры макроса), если это вас беспокоит. Ежели нет, то предпочтительнее будет оставить высокочастотный писк. Вписываем их в секцию драйверов в printer.cfg, пример -
    [tmc**** stepper_*]
    cs_pin: PC4
    ...
    driver_TBL: 0
    driver_TOFF: 8
    driver_HSTRT: 5
    driver_HEND: 5
    
    1. Можно повторить процедуру с меньшими вариациями чоппера, например, только TBL=0 и TOFF=8 и перебрать полные диапазоны HSTRT и HEND, но с большим количеством повторений ITERATIONS. В этом случае график будет построен по средним результатам, чтобы уменьшить влияние механики на показания.
    2. Если вы счастливый обладатель TMC2240, либо TMC5160, то после настроек всех вышеперечисленных регистров, у вас есть возможность настроить еще один параметр, именуемый TPFD. Отвечает он за гашение средних резонансов мотора, и имеет диапазон значений 0-15. Выставите его значение принудительно нулю - driver_TPFD: 0, либо откалибруйте. Команда с найденными выше правильными регистрами, двумя ITERATIONS - для большей точности, и резонансной скоростью выглядит следующим образом - CHOPPER_TUNE TBL_MIN=0 TBL_MAX=0 TOFF_MIN=8 TOFF_MAX=8 HSTRT_MIN=5 HSTRT_MAX=5 HEND_MIN=5 HEND_MAX=5 TPFD_MIN=0 TPFD_MAX=15 MIN_SPEED=55 MAX_SPEED=55 ITERATIONS=2

Описание функционала программы -

Значения 'default' в параметрах означают, что при отсутствии аргумента эта переменная присвоит дефолтные (базовые) параметры из printer.cfg, либо посчитает минимально требуемые.

  1. AXIS - направление Х/У/Z на котором будет производиться измерение.
  2. CURRENT_MIN_MA и CURRENT_MAX_MA - изменение подающегося тока (мА) с шагом 25мА. Допустим, если вам хватает момента, который выдают шаговые двигатели, вы можете снизить их ток, дабы сделать систему тише, снизить нагрев шд. Эта функция позволяет частично проанализировать стоит ли игра свеч, ну, или просто измените ток на нужный вам во время теста.
  3. TBL_MIN-0 и TBL_MAX-3, TOFF_MIN-1 и TOFF_MAX-15, HSTRT_MIN-0 и HSTRT_MAX-7, HEND_MIN-0 и HEND_MAX-15, TPFD_MIN-0 и TPFD_MAX-15- собственно так же отвечают за перебор параметров, в данном случае - регистров драйвера/ов, указан их диапазон работ и перебора.
  4. HSTRT_HEND_MAX-16 - лимит, предел суммы HSTRT и HEND, изменению нежелателен. (подробнее)
  5. MIN_SPEED и MAX_SPEED - перебор диапазона скоростей, с шагом SPEED_CHANGE_STEP. По умолчанию рассчитывается на основе требуемых оборот по передаточным числам.
  6. ITERATIONS - количество повторений замеров, для более точных данных.
  7. TRAVEL_DISTANCE - дистанция (мм) движения печатающей головки во время которого происходит считывание вибраций. По умолчанию рассчитывается исходя из способностей принтера, времени измерения.
  8. ACCELEROMETER - акселерометр, который будет использован для измерения вибраций, авто определится, если таковой указан в конфигурации resonance_tester, в противном случае без указания будет применен adxl345.
  9. FIND_VIBRATIONS - режим измерения вибраций от скорости, полезно дабы вычеркнуть из повседневной печати резонансные скорости, как и для 3.1 шага данной статьи. Применяет регистры из конфигурации принтера. Значения - (True / False), (1 / 0)
  10. RUN_PLOTTER - запускать ли программу генерации графиков. Значения - (True / False), (1 / 0)