Skip to content

Датчики на основі PMW3901 для вимірювання потоку

PMW3901 - це оптичний потік ASIC, який обчислює потік внутрішньо і надає різницю в пікселях між кожною кадром. Він використовує сенсор відстеження, який схожий на те, що ви знайдете в комп'ютерній мишці, але адаптований для роботи від 80 мм і безмежжя. PMW3901 використовується в декількох продуктах, включаючи деякі від Bitcraze, Tindie, Hex, Thone та Alientek

Bitcraze Flow Deck

Ця тема містить посилання на датчики, які були протестовані, разом з інформацією про кріплення та конфігурацію PX4 (це загальне для всіх датчиків цього типу).

Плати, які використовують PMW3901

Наступна таблиця показує деякі плати, які використовують цей датчик, зазначаючи кількість інтерфейсів, кількість датчиків, вхідну напругу та розмір. Назва дошки посилається на розділи, що містять інформацію про підключення та інформацію про покупку.

ВиробництвоМатеринська платаІнтерфейсПотікДалекомірГіроскопНапруга (V)Розмір (мм)Максимальна висота (м)
BitcrazeРозбивка потокуSPIYY-3 - 521x201
TindieОптичний датчик потоку PMW3901SPIY--3 - 5AxB-
HexHereFlow PMW3901 Оптичний датчик потокуCANYYY3 - 5AxB4
HolybroHolybro PMW3901 Оптичний датчик потокуUARTY--3 - 5AxB-
ThoneThone ThoneFlow-3901UUARTY--3 - 5AxB-
AlientekATK-PMW3901SPIY--3.3 - 4.227.5x16.51

Підтримувані дальномери

Зовнішній дальномер / датчик відстані потрібний для датчиків, які не мають дальномера (наприклад, Tindie або Thone) і рекомендований для інших плат (оскільки їхній діапазон доволі обмежений).

Діапазон, необхідний для застосування, залежить від програми:

  • Польот у приміщенні: ≈4 метри
  • Польот на відкритому повітрі: ≥10 метрів (наприклад, для підтримки контролю за позицією в середовищах, де можуть виникнути проблеми з GPS)

Будь-який дальномер/датчик відстані, підтримуваний PX4, може бути використаний. Датчик може бути встановлений будь-де, але повинен бути спрямований вниз і повинен бути підключений/налаштований як зазвичай.

TIP

Команда PX4 головним чином тестувала використання Lidar Lite V3 на більших транспортних засобах та Lanbao CM8JL65 на менших транспортних засобах.

Монтаж/Орієнтація

Модулі потоку зазвичай встановлюються близько до центру транспортного засобу. Якщо встановлено не по центру, вам потрібно встановити зміщення: Оптичний потік > EKF2.

Модулі процесу можуть бути встановлені з будь-якою орієнтацією Yaw, відносно системи тіла автомобіля, але ви повинні встановити значення, яке використовується в SENS_FLOW_ROT.

"Нульовий" обертання - це коли плата сенсора та вісі X транспортного засобу транспортного засобу вирівнюються (тобто "перед" транспортного засобу та плата знаходяться в одному напрямку), з обертанням, що збільшується в годинниковому напрямку.

Модулі PMW3901 мають невеликий виступ, що вказує напрямок задньої частини плати. Схема показує відносні орієнтації дошки та транспортного засобу, які відповідають SENS_FLOW_ROT=0 (зверніть увагу на виступ ззаду).

PMW3901 PH4 Rotation

Діаграма вище показує дошку Bitcraze. Ви можете використовувати виступ, щоб знайти орієнтацію інших плат у тому ж самому способі:

  
Tindie
PMW3901 Tindie Notch
Hex Hereflow
PMW3901 Hereflow Notch
Thone
PMW3901 Thoneflow Notch
Alientek (також має стрілку, що вказує на передню частину!)
PMW3901 Alientek Notch

Налаштування PX4

Конфігурація PX4, яка є загальною для всіх плат на основі PMW3901:

  • Оптичний потік > EKF2 пояснює, як об'єднати дані оптичного потоку в оцінювачі EKF2 та встановити зсуви позиції для монтажного положення датчика потоку.
  • SENS_FLOW_ROT встановлює орієнтацію датчика потоку відносно напрямку руху транспортного засобу.

Окрім того для:

  • Для підключених по шині SPI датчиків вам потрібно встановити SENS_EN_PMW3901 на 1, щоб увімкнути драйвер датчика.
  • Датчики, підключені через UART (наприклад, ThoneFlow-3901UY), ви повинні налаштувати відповідний послідовний порт, встановивши параметр SENS_TFLOW_CFG на значення підключеного порту UART (наприклад, якщо ви підключили цей датчик до TELEM 2, вам потрібно встановити SENS_TFLOW_CFG на 102).
  • Датчики DroneCAN вам потрібно належним чином встановити UAVCAN_ENABLE. Для отримання додаткової інформації див. Пристрої DroneCAN (та документацію HereFlow PMW3901 нижче).

Індивідуальні датчики потоку додатково налаштовуються/конфігуруються, як описано в розділах нижче.

Розгалуження Bitcraze Flow

Прямий вихід Bitcraze Flow breakout безпосередньо використовує інтерфейс SPI з модуля PMW3901.

До плати також включено датчик відстані підключений до порту I2C Pixhawk. Цей датчик відстані - це датчик ToF VL53L0x від STMicroelectronics. Діапазон сенсора мінімальний (2 метри) і буде зменшуватися під час польоту на сонці. Тому ми настійно рекомендуємо використовувати зовнішній датчик відстані.

Bitcraze Flow Deck

Налаштування PX4 та інструкції з монтажу/орієнтації наведені вище.

Підключення SPI

PMW3901, якщо підключений до порту SPI на Pixhawk 4, автоматично виявить модуль потоку Bitcraze. Драйвер цього пристрою був явно написаний для підключення до порту SPI за допомогою вибору чіпа 1. Не потрібно налаштовувати жодних параметрів, окрім орієнтації та положення сенсора.

Схема виводів для порту SPI Pixhawk до плати Bitcraze Flow показана нижче (схема виводів однакова для всіх версій Pixhawk FMU).

Порт SPI Pixhawk (зліва направо)Плата потоку Bitcraze
1 (VCC)VCC
2 (SCK)CLK
3 (MISO)MISO
4 (MOSI)MOSI
5 (CS1)CS
6 (CS2)Не підключайте
7 (GND)GND

Щоб підключити плату bitcraze flow до Pixhawk, вам потрібно злити дроти кабелю SPI Pixhawk на плату flow. Кабель SPI має 7 провідів, з яких потрібно підключити 6 до плати потоку.

Наступна діаграма показує, як підключити датчик до Pixhawk 4.

Bitcraze PH4 Pinout

Підключення I2C

Проводка I2C однакова для будь-якого іншого датчика відстані. Просто підключіть SLA, SLC, GND та VCC до відповідних (таких же) контактів на Pixhawk та сенсорі.

Оптичний датчик потоку Tindie PMW3901

Оптичний датчик потоку PMW3901 від Tindie PMW3901 використовує інтерфейс SPI з модуля PMW3901 точно так само, як і модуль від Bitcraze (див. SPI підключення).

Tindie PH4 Pinout

Датчик не має вбудованого датчика відстані, тому вам потрібно використовувати зовнішній датчик відстані.

Налаштування PX4 та інструкції з монтажу/орієнтації наведені вище.

AlienTek ATK-PMW3901

Оптичний датчик потоку AlienTek ATK-PMW3901 використовує інтерфейс SPI з модуля PMW3901 точно так само, як і модуль від Bitcraze (див. SPI підключення).

Alientek Pixhawk4 Connections

Плата також включає датчик відстані (ми рекомендуємо використовувати зовнішній датчик відстані). Ви можете підключити внутрішній датчик до порту I2C Pixhawk так само, як і будь-який інший пристрій I2C. Нижче наведено знімок екрану, на якому показані контакти I2C (SLA, SLC, GND та VCC).

Alientek Pinout

Налаштування PX4 та інструкції з монтажу/орієнтації наведені вище.

Hex HereFlow Оптичний датчик потоку PMW3901

Шестигранний Оптичний датчик потоку HereFlow PMW3901 - це маленька плата, що містить модуль потоку PMW3901, датчик відстані VL53L1X та ІІМ (використовується для синхронізації даних потоку з даними гіроскопа).

Вбудований мікроконтролер зразки три датчики та публікує дві повідомлення DroneCAN, що містять всю інформацію, необхідну для розрахунків датчика потоку та відстані.

Плата може бути підключена до будь-якого порту CAN на будь-якій платі Pixhawk (див. Проводка DroneCAN).

Щодо інших плат оптичного потоку, ми рекомендуємо використовувати зовнішній датчик відстані.

Налаштування PX4 та інструкції з монтажу/орієнтації наведені вище.

Проводка/Налаштування DroneCAN

Схема нижче показує, як підключити датчик до шини CAN Pixhawk 4.

Hex PH4 Pinout

Крім іншої конфігурації, вам потрібно встановити параметр UAVCAN_ENABLE на значення 2 або 3, залежно від вашої системи:

  • UAVCAN_ENABLE=2: Датчики DroneCAN, але без контролерів двигунів.
  • UAVCAN_ENABLE=3: Датчики DroneCAN та контролери двигунів.

Для загальної інформації про підключення та налаштування DroneCAN див.: Пристрої DroneCAN.

Holybro PMW3901 Оптичний датчик потоку

Оптичний датчик руху Holybro PMW3901 відкриває модуль оптичного потоку PMW3901 через інтерфейс UART.

Плата не містить вбудованого датчика відстані, тому вам доведеться використовувати зовнішній датчик відстані.

Це поставляється з корпусом, надрукованим у 3D, та передпаяним TX, напругою та GND 4-контактним роз'ємом, який можна підключити до порту телеметрії вашого контролера польоту, як показано нижче (для Pixhawk 6C).

HB-pmw3901-3

Thone ThoneFlow-3901U

Thone ThoneFlow-3901U відкриває модуль оптичного потоку PMW3901 через інтерфейс UART.

Плата не має вбудованого датчика відстані, тому вам потрібно використовувати зовнішній датчик відстані.

PMW3901 Thoneflow Hero

Налаштування PX4 та інструкції з монтажу/орієнтації наведені вище.

Крім того, вам також потрібно встановити параметр SENS_TFLOW_CFG на значення порту UART, до якого ви підключилися (наприклад, якщо сенсор підключений до TELEM 2, тоді встановіть SENS_TFLOW_CFG=102. Для додаткової інформації дивіться Конфігурація послідовного порту.