Перейти к основному содержанию

Использование акселерометра

Руководство по использованию

Тестирование и калибровка акселерометра

Установка зависимых пакетов

Примечания
  • Если на устройстве уже запущена система FlyOS-FAST, все необходимые зависимости предустановлены. Этот шаг можно пропустить.
  • При использовании верхнего компьютера не от FLY обязательно выполните следующие действия по установке.
  • Рекомендуется подключаться через SSH-клиенты, такие как MobaXterm или PuTTY, перед выполнением операций.
  • Данное руководство основано на Raspberry Pi, для других платформ используйте как справочный материал.

Шаги установки

  1. Последовательно выполните следующие команды для установки зависимых пакетов.
  2. Время установки зависит от производительности процессора и состояния сети, обычно занимает 10–20 минут. Пожалуйста, ожидайте завершения.
  3. Если объем оперативной памяти (RAM) устройства слишком мал, установка может завершиться неудачей.

Шаг 1: Установка системных зависимых пакетов

sudo apt install python3-numpy python3-matplotlib libatlas-base-dev

Шаг 2: Установка зависимых пакетов виртуальной среды Klipper

~/klippy-env/bin/pip install matplotlib numpy

Тестирование акселерометра

Предварительные условия

  • Принтер выполнил операцию возврата в исходное положение (Homing).
  • Убедитесь, что акселерометр правильно включен в конфигурационном файле Klipper.

Команда тестирования

Введите следующую команду в консоли Klipper:

ACCELEROMETER_QUERY

Если подключено несколько акселерометров, можно указать чип для тестирования:

ACCELEROMETER_QUERY CHIP=<имя чипа ADXL>

Замените <имя чипа ADXL> на фактический идентификатор акселерометра (например, adxl345).

Совет

В некоторых старых версиях Klipper для получения данных акселерометра может потребоваться выполнить ACCELEROMETER_QUERY дважды.

Обработка распространенных проблем

Отключение питания

Перед проверкой, повторным подключением или заменой кабеля акселерометра полностью выключите принтер и отключите источник питания. Не вставляйте и не извлекайте модули ADXL/LIS2DW/MPU/ICM и не касайтесь оголенных выводов при включенном питании.

  1. Первый запуск завершился неудачей: В некоторых версиях Klipper может быть задержка распознавания команды. Если при первом выполнении данные не возвращены, повторите команду еще раз.
  2. Команда не распознается: Если после нескольких попыток все равно выводится сообщение о неизвестной команде, возможно, версия Klipper слишком низкая. Рекомендуется:
    • Обновить Klipper до последней версии.
    • Или перепрошить систему последней версией (например, последняя версия FlyOS-FAST).
  3. Invalid adxl345 id: При появлении сообщения Invalid adxl345 id (got xx vs e5) сначала немедленно выполните ACCELEROMETER_QUERY еще раз. Если ошибка повторяется, в первую очередь замените готовый кабель акселерометра, переходную плату или модуль датчика для кросс-тестирования. Не рекомендуется самостоятельно выполнять пайку или ремонт точек пайки.
  4. Invalid lis2dw / mpu / icm id: При использовании датчиков LIS2DW, MPU9250, ICM20948 убедитесь, что имя секции конфигурации, шина связи и модель чипа соответствуют фактическому оборудованию.
  5. Unable to obtain response / timeout: Обычно указывает на проблему связи между верхним компьютером и микроконтроллером акселерометра. Проверьте USB/CAN-подключение, ID [mcu], а также cs_pin, spi_bus или i2c_bus.

Оценка результатов

  • Нормальный вывод: Если возвращается непрерывный поток данных (как показано ниже), акселерометр работает нормально и можно выполнять измерение резонансной компенсации.
  • Ошибочный вывод: При появлении сообщений о тайм-ауте, отсутствии данных или ошибке связи последовательно проверьте:
    1. После отключения питания убедитесь, что подключение акселерометра надежно.
    2. Правильность конфигурации датчика и SPI в конфигурационном файле.
    3. В первую очередь замените готовый кабель, переходную плату или модуль датчика для определения проблем с питанием/связью.
Loading...

Распространенные ошибки при резонансном тестировании

Сообщение об ошибкеРаспространенная причинаМетод обработки
No data received from accelerometerАкселерометр не подключен, ошибка порядка линий SPI/I2C, неисправность питанияСначала выполните ACCELEROMETER_QUERY, чтобы убедиться в нормальной связи, затем повторите тест
Insufficient axis data for shaper calibrationСлишком малый диапазон движения, слишком низкое ускорение, высокий уровень шума показаний датчикаУвеличьте диапазон тестирования или accel_per_hz, проверьте надежность крепления акселерометра
Frequency range too narrowСлишком ослабленные ремни, частота механического резонанса машины выходит за пределы диапазона измеренийПроверьте натяжение ремней и затяжку механических элементов; при необходимости уменьшите max_freq или увеличьте accel_per_hz
На резонансном графике только шум, отсутствуют четкие пикиДатчик закреплен ненадежно, вибрация вентилятора, болтание кабеляПосле отключения питания заново закрепите датчик, при тестировании выключите вентиляторы, прокладывайте сигнальные линии отдельно от линий двигателей
SHAPER_CALIBRATE не выводит результат или завершается с ошибкойОтсутствие зависимостей Python (numpy/matplotlib), недостаток памятиУстановите зависимости в соответствии с шагами установки в начале статьи; расчет резонансных графиков большого размера может требовать большего объема памяти

Если ACCELEROMETER_QUERY работает нормально, но резонансное тестирование постоянно завершается неудачей, в первую очередь выполните следующую последовательность:

  1. После отключения питания убедитесь, что поверхность акселерометра плотно прилегает к тестируемой детали, отсутствуют амортизирующие материалы или ослабление двустороннего скотча.
  2. Временно отключите вентиляторы охлаждения модели, хотэнда и камеры во время тестирования.
  3. Убедитесь, что во время тестирования кабель не натягивает датчик и не зацепляется за движущиеся оси.
  4. Увеличьте амплитуду тестирования: в секции [resonance_tester] постепенно увеличьте accel_per_hz с значения по умолчанию 75 до 100–150.
  5. При использовании акселерометра на инструментальной плате (USB/CAN) убедитесь, что линии связи не проходят рядом с линиями двигателей или стола.

Калибровка акселерометра

Шаги калибровки

  1. Убедитесь, что принтер выполнил возврат в исходное положение.

  2. Введите в консоли следующую команду для начала автоматической калибровки осей X и Y:

    SHAPER_CALIBRATE
  3. После завершения калибровки сохраните конфигурацию:

    SAVE_CONFIG

Калибровка одной оси

Для калибровки только одной оси используйте:

SHAPER_CALIBRATE AXIS=X

Или замените X на Y.

Предупреждение безопасности

Во время калибровки принтер может создавать сильные вибрации. Если вибрация слишком сильная, немедленно нажмите кнопку аварийной остановки или отправьте команду M112 для экстренной остановки.

Регулировка интенсивности вибрации

Если во время тестирования вибрация слишком сильная, можно уменьшить значение параметра accel_per_hz (по умолчанию 75):

[resonance_tester]
accel_per_hz: 50

Пояснение: Описанные выше шаги применимы для настройки резонансной компенсации большинства 3D-принтеров на базе Klipper. Настройте их в соответствии с фактическим оборудованием и системной средой.

Loading...