I’m currently debugging some badly performing ultrasonic sensors. Right now, I’m trying to find out if noisy supply voltage has anything to do with it.
So, I’m looking for my sensor’s supply voltage in the flight logs?
I’m running ArduPilot 4.5.4 on a CubeOrange with the standard CubePilot board. The sensors are operated by a microcontroller, which sends DISTANCE_SENSOR messages via UART to the TELEM1 port. This port also also powers the controller and all sensors.
The docs say about TELEM1:
This output is separately EMI filtered and draws directly from the USB / Brick inputs.
Does this mean that the voltage on the TELEM1 port is the flight board voltage I find under POWR->Vcc? And does it already contain all filtering the board performs? Can I even get a reliable value from the logs?
The voltage will be close to Vcc, but also the power flags will say if a fault is detected:
1 MAV_POWER_STATUS_BRICK_VALID // main brick power supply valid
2 MAV_POWER_STATUS_SERVO_VALID // main servo power supply valid for FMU
4 MAV_POWER_STATUS_USB_CONNECTED // USB power is connected
8 MAV_POWER_STATUS_PERIPH_OVERCURRENT // peripheral supply is in over-current state
16 MAV_POWER_STATUS_PERIPH_HIPOWER_OVERCURRENT // hi-power peripheral supply is in over-current state
32 MAV_POWER_STATUS_CHANGED // Power status has changed since boot
The power flags are a “bitmask” so get the decimal value from the log and work out which of the above values adds up to the logged value.
PERIPH_HIPOWER relates to TELEM1
and PERIPH relates to all other power outputs such as CAN ports, GPS and TELEM2 and so on.
@Janis_Blank yes you can, but be advised that there is a limit on how much current you can draw, The Cube Module Overview | CubePilot . Also make sure that the the device does not cause short duration peaks, normally known to happen with RF devices.