Введение
Вам понадобится печатный адаптер для крепления ADXL345 к задней части каретки X. Вы можете найти его здесь
https://www.klipper3d.org/Measuring_Reso…
Шаг 1 Подключение
Подключите акселерометр к RPI
Акселерометр 3V3 к RPI контакт 17 3.3v
Акселерометр GND к RPI контакт 20 Земля
Акселерометр CS к RPI контакт 24 GPIO08 (SPI0_CE0_N)
SDO акселерометра 21 к выводу RPI GPIO09 (SPI0_MISO)
SDA акселерометра к выводу RPI 19 GPIO10 (SPI0_MOSI)
SCL акселерометра 23 к выводу RPI GPIO11 (SPI0_SCLK)
Шаг 2 Монтаж ADXL345
Существует несколько вариантов крепления акселерометра. Я использовал следующее крепление
Шаг 3 Установка пакетов
Вам нужно подключиться по SSH к принтеру и установить Numby.
~/klippy-env/bin/pip instal l-v numpy
Будьте терпеливы, установка этого пакета может занять 10-20 минут. После завершения запустите:
sudo apt update
sudo apt install python3-numpy python3-matplotli b-y
Убедитесь, что SPI-драйвер Linux включен
sudo raspi-config
#3 Interface Options > P4 SPI > Yes > OK > Завершите работу .
Шаг 4 Подготовка файла printer.cfg
Отмените раздел входного формирователя и тестера резонанса в конфигурации.
probe_points: Рекомендуется использовать 1 точку в центре кровати, чуть выше. Я использовал те же координаты, что и при наведении Z
Перезапустите клиппер с помощью
RESTART
Шаг 5 Предварительные проверки
Убедитесь, что RPI может взаимодействовать с ADXL345, выполнив в консоли следующую команду
ACCELEROMETER_QUERY
Она должна вернуть что-то вроде
adxl345 values (x, y, z): -152.983740, 10249.910580, 152.983740
Если вы получите ошибку типа Invalid adxl345 id (got xx vs e5), где xx — другой идентификатор, это указывает на проблему с подключением ADXL345 или на неисправный датчик. Дважды проверьте питание, проводку (соответствует ли она схеме, нет ли оборванных или ослабленных проводов и т.д.) и качество пайки.
Шаг 6 Настройка резонанса
Установите принтер на место.
Во время резонансного тестирования вибрации могут стать очень сильными. Убедитесь, что вы находитесь поблизости от принтера, если вам понадобится отменить тест с помощью M112.
Теперь можно запустить первый резонансный тест для оси X
TEST_RESONANCES AXIS=X
Когда тест завершится, запустите его снова для Y
TEST_RESONANCES AXIS=Y
По завершении теста будут сгенерированы CSV-файлы, сохраненные на pi.
Шаг 7 Интерпретация результатов резонанса
Снова подключитесь по SSH к принтеру и выполните следующие 2 команды
~/klipper/scripts/calibrate_shaper.py /tmp/resonances_x_*.cs v-o /tmp/shaper_calibrate_x.png
~/klipper/scripts/calibrate_shaper.py /tmp/resonances_y_*.cs v-o /tmp/shaper_calibrate_y.png
Этот скрипт создаст графики /tmp/shaper_calibrate_x.png и /tmp/shaper_calibrate_y.png с частотными откликами.
Вы можете использовать WINSCP, чтобы скопировать их на свой компьютер, если хотите, но это не обязательно.
Вы также получите предлагаемые частоты для каждого входного формирователя, а также информацию о том, какой входной формирователь рекомендуется для вашей установки.
Вы можете увидеть мои значения для X
Вы можете увидеть мои значения для Y
Шаг 8 Сравнение натяжения ремня
С помощью CoreXY вы также можете использовать Klipper для сравнения натяжения ремней между X и Y. Это не говорит вам о том, слишком ли туго или слишком свободно натянуты ремни. Это говорит о том, одинаково ли натянуты ремни.
Выполните следующие команды в консоли
TEST_RESONANCES AXIS=1,1 OUTPUT=raw_data
TEST_RESONANCES AXIS=1,-1 OUTPUT=raw_data
Выполните SSH на pi и запустите
~/klipper/scripts/graph_accelerometer.p y-c /tmp/raw_data_axis*.cs v-o /tmp/resonances.png
Судя по сгенерированному графику, частота X была намного выше, чем Y. Мне пришлось подтянуть левый натяжитель ремня, чтобы приблизить частоты друг к другу.
Как видно из второго теста, частоты для X и Y стали ближе друг к другу, но все равно можно еще немного подправить. Я думаю, что большая часть разброса частот связана с моей кабельной цепью. На низких частотах дребезжание значительно усиливается только при калибровке X.