# PMW3901 기반 유량 센서
PMW3901은 내부적으로 흐름을 계산하고, 각 프레임 간의 픽셀 차이를 제공하는 광류 ASIC입니다. 컴퓨터 마우스와 유사한 추적 센서를 사용하지만 80mm에서 무한대 사이에서 작동하도록 조정되었습니다. PMW3901은 Bitcraze, Tindie, Hex, Thone 및 Alientek의 일부 제품을 포함하여 여러 제품에 사용됩니다.
장착 방법, PX4 설정 방법과 테스트 센서에 대한 링크를 제공합니다 (이 유형의 모든 센서에 공통임).
# PMW3901을 사용하는 보드
다음 표는이 센서를 사용하는 일부 보드를 보여 주며, 인터페이스 수, 센서 수, 입력 전압 및 크기를 나열합니다. 보드 이름은 배선 및 구매 정보가 포함된 보드 별 섹션으로 연결됩니다.
제조사 | 보드 | 인터페이스 | 흐름 | 거리 측정기 | 자이로 | 전압 (V) | 크기 (mm) | 최대 높이 (m) |
---|---|---|---|---|---|---|---|---|
Bitcraze | Flow breakout | SPI | Y | Y | - | 3 - 5 | 21x20 | 1 |
Tindie | PMW3901 광류 센서 | SPI | Y | - | - | 3 - 5 | AxB | - |
Hex | HereFlow PMW3901 광류 센서 | CAN | Y | Y | Y | 3 - 5 | AxB | 4 |
Thone | ThoneFlow-3901U | UART | Y | - | - | 3 - 5 | AxB | - |
Alientek | ATK-PMW3901 | SPI | Y | - | - | 3.3 - 4.2 | 27.5x16.5 | 1 |
# 외부 거리계
거리계가 없는 센서 (예: Tindie 또는 Thone)에는 외부 거리계/거리 센서가 필수이며 권장됩니다. 다른 보드의 경우 (범위가 매우 제한되어 있으므로).
필요한 범위는 애플리케이션에 따라 다릅니다.
- 실내 비행 : ≈4m
- 실외 비행 : ≥10 미터 (예 : GPS에 문제가 있을 수 있는 환경에서 위치 제어를 지원)
PX4에서 지원하는 거리계/거리 센서를 사용할 수 있습니다. 센서는 어디나 장착할 수 있지만, 아래를 향해야하며 평소와 같이 연결/설정하여야 합니다.
PX4 팀은 주로 대형 기체에 [Lidar Lite V3](../sensor/lidar_lite.md)를 사용하고 소형 기체에 [Lanbao CM8JL65](../sensor/cm8jl65_ir_distance_sensor.md)를 사용하여 테스트 하였습니다.
# 장착 및 방향
흐름 모듈은 일반적으로 차량 중앙 근처에 장착됩니다. 중심을 벗어난 곳에 장착하는 경우 오프셋을 설정하여야 합니다. Optical Flow > EKF2.
흐름 모듈은 차체 프레임과 관련된 모든 요 방향으로 장착 할 수 있지만 SENS_FLOW_ROT에 사용 된 값을 설정하여야 합니다.
"제로"회전은 센서 보드와 기체 X 축이 정렬되어 (즉, 기체 "전면"과 보드가 같은 방향에 있음) 회전이 시계 방향으로 증가하는 경우입니다.
PMW3901 모듈에는 보드 후방을 나타내는 작은 노치가 있습니다. 다이어그램은 SENS_FLOW_ROT=0
에 해당하는 상대적인 보드 및 기체 방향을 나타냅니다 (뒷면의 노치 참조).
위의 다이어그램은 Bitcraze 보드입니다. 노치를 사용하여 같은 방법으로 다른 보드의 방향을 찾을 수 있습니다.
Tindie | Hex Hereflow |
Thone | Alientek (앞면을 나타내는 화살표도 있습니다!) |
# PX4 설정
모든 PMW3901 기반 보드에 공통적인 PX4 설정:
- 광류 > EKF2는 EKF2 추정기에서 광류 데이터를 융합하고 흐름 센서의 장착 위치에 대한 위치 오프셋을 설정 방법을 설명합니다.
- SENS_FLOW_ROT는 기체 방향을 기준으로 유량 센서의 방향을 설정합니다.
추가:
- SPI 연결 센서 드라이버를 활성화하려면 SENS_EN_PMW3901을
1
로 설정하여야합니다. - UART 연결 센서 (예 : ThoneFlow-3901UY)는 매개변수 SENS_TFLOW_CFG를 연결된 UART 포트의 값으로 설정하여 관련 직렬 포트를 설정하여야합니다 (예 : 이 센서를
TELEM 2
에 연결 한 경우SENS_TFLOW_CFG
를102
로 설정하여야합니다). - UAVCAN 센서는
UAVCAN_ENABLE
을 적절하게 설정하여야합니다. 자세한 내용은 UAVCAN 주변 장치 (및 아래의 HereFlow PMW3901 문서)를 참조하십시오.
개별 유량 센서는 아래 섹션에 설명대로 추가로 설정됩니다.
# Bitcraze Flow breakout
Bitcraze Flow breakou (opens new window)은 PMW3901 모듈에서 SPI 인터페이스를 직접 노출합니다.
이 보드는 또한 Pixhawk I2C 포트에 연결된 거리 센서를 통합합니다. 이 거리 센서는 STMicroelectronics의 VL53L0x ToF 센서입니다. 센서 범위는 최소 (2m)이며 햇빛 아래에서 비행시 줄어듭니다. 따라서 외부 거리 센서를 사용하는 것이 좋습니다.
# SPI 배선
PMW3901은 Pixhawk 4의 SPI 포트에 연결된 경우 Bitcraze 흐름 모듈을 자동으로 감지합니다. 이 장치의 드라이버는 칩 선택 1을 사용하여 SPI 포트에 연결되도록 명시적으로 작성되었습니다. 센서의 방향 및 위치 이외의 매개변수는 설정할 필요 없습니다.
Pixhawk SPI 포트와 Bitcraze Flow Board의 핀아웃 매핑은 아래에 나와 있습니다 (포트 매핑은 모든 Pixhawk FMU 버전과 동일합니다).
Pixhawk SPI 포트 (왼쪽에서 오른쪽으로) | Bitcraze 플로우 보드 |
---|---|
1 (VCC) | VCC |
2 (SCK) | CLK |
3 (MISO) | MISO |
4 (MOSI) | MOSI |
5 (CS1) | 연결하지 마십시오 |
6 (CS2) | CS |
7 (GND) | GND |
Bitcraze 플로우 보드를 Pixhawk에 연결하려면 Pixhawk SPI 케이블의 와이어를 플로우 보드에 납땜하여야 합니다. SPI 케이블에는 7개의 와이어가 있으며, 6개를 플로우 보드에 연결하여야합니다.
아래의 다이어그램은 센서를 Pixhawk 4에 연결하는 방법을 보여줍니다.
# I2C 배선
I2C 배선은 다른 거리 센서에 대해서도 동일합니다. SLA, SLC, GND 및 VCC를 Pixhawk 콘트롤러와 센서의 해당 (동일한) 핀에 연결하면 됩니다.
# Tindie PMW3901 광류 센서
Tindie PMW3901 광류 센서 (opens new window)는 Bitcraze 모듈에서와 똑같이 PMW3901 모듈에서 SPI 인터페이스를 노출합니다 (SPI 배선 참조).
센서에는 거리 센서가 내장되어 있지 않으므로 외부 거리 센서를 사용하여야 합니다.
# AlienTek ATK-PMW3901
AlienTek ATK-PMW3901 (opens new window)은 Bitcraze 모듈과 동일한 방식으로 PMW3901 모듈에서 SPI 인터페이스를 노출합니다 (SPI 배선 참조).
보드에는 거리 센서도 포함되어 있습니다 (외부 거리 센서를 사용하는 것이 좋습니다). 다른 I2C 주변기기와 동일한 방식으로 Pixhawk I2C 포트에 내부 센서를 연결할 수 있습니다. I2C 핀 (SLA, SLC, GND 및 VCC)을 보여주는 스크린 샷이 아래에 제공됩니다.
# Hex HereFlow PMW3901 광류 센서
Hex HereFlow PMW3901 광류 센서 (opens new window)는 PMW3901 흐름 모듈, VL53L1X 거리 센서 및 IMU (흐름 데이터를 자이로 데이터와 동기화에 사용됨)가 포함된 작은 보드입니다.
온보드 마이크로 컨트롤러는 3개의 센서를 샘플링하고 유량 및 거리 센서 계산에 필요한 모든 정보가 포함된 2 개의 UAVCAN 메시지를 게시합니다.
보드는 모든 Pixhawk 보드의 CAN 포트에 연결할 수 있습니다 (UAVCAN 배선 참조).
다른 광학 플로우 보드의 경우 외부 거리 센서를 사용하는 것이 좋습니다.
# UAVCAN 배선/설정
아래의 다이어그램은 센서를 Pixhawk 4 CAN 버스에 연결하는 방법을 보여줍니다.
다른 설정 외에도 시스템에 따라 UAVCAN_ENABLE 매개변수를 2 또는 3으로 설정하여야 합니다.
UAVCAN_ENABLE=2
: UAVCAN 센서이지만 모터 컨트롤러가 없습니다.UAVCAN_ENABLE=3
: UAVCAN 센서 및 모터 컨트롤러.
UAVCAN 배선과 설정 정보는 UAVCAN 주변기기를 참고하십시오.
# Thone ThoneFlow-3901U
Thone ThoneFlow-3901U (opens new window)는 UART 인터페이스를 통해 PMW3901 광류 모듈을 노출합니다.
보드에는 온보드 거리 센서가 포함되어 있지 않으므로, 외부 거리 센서를 사용하여야 합니다.
일반PX4 설정 외에도 SENS_TFLOW_CFG 매개변수를 연결한 UART 포트의 값으로 설정하여야 합니다 (예 : 센서가 TELEM 2
에 연결된 경우). 그런 다음 SENS_TFLOW_CFG=102
를 설정하십시오. 자세한 내용은 직렬 포트 설정을 참고하십시오.
← PX4FLOW PWM ESC와 서보 →