Using Ardupilot with Flight Core v2+VOXL Mini 4-in-1 ESC : Min/Max PWM Mismatch and motors keep spinning after disarm
-
Hello Modal AI team,
I'm currently testing Ardupilot firmware on the Flight Core v2, and I am trying to use the VOXL Mini 4-in-1 ESC in PWM mode (not UART)
The motors do spin, but I'm facing two criticla issues:1. PWM min/max values do not match the ESC range
Even after setting standard values:- SERVO _MIN = 1000
- SERVO _TRIM = 1000
- SERVO _MAX= 2000
- MOT_PWM_TYPE = 0(Nomal) ※If I change this parameter for 6(Dshot600), Motor don't spin well.
the ESC does not respond correctly.
It looks like the ESC expects a different throttle calibration range, and the output from Ardupilot is not lining up with the ESC's internal min/max mapping.2. Motors keep spinning even after Disarm
Even when the vehicle is disarmed, the motors continue spinning at a low RPM.
However, the ESC still keeps the motors running, which makes me suspect that the ESC interprets the "idle PWM" differently from standard hobby ESCs3. Questions
3-1. Does the VOXL Mini 4-in-1 ESC require a specific PWM range or calibration sequence when used outside PX4/VOXL?
3-2. Is there a recommended PWM frequency or pulse width range for compatibility with Ardupilot?
3-3. Are there known limitations when using ESC in PWM mode with Ardupilot(instead of the UART protocol it was designed for)?
3-4. Is there any way to explicitly set the ESC's zero-throttle PWM value?4. Test Environment
- FC : Modal AI Flight Core v2
- ESC : VOXL Mini 4-in-1 ESC (PWM input pins used)
- Firmware : Ardupilot Copter
- GCS : Mission Planner
- MOTOR : T-Motor Air2216/kv920
- Controller : SIYI FT24 (Sbus)
- Battery : 3S 5,300mAh LiPo
Any guidance or documentation on the correct PWM range, calibration method, or expected behavior would be greatly appreciated.
Thank you!
-
tagging @Eric-Katzfey for Ardupiot -related question..
Some answers:
3-1: VOXL ESC supports PWM input via aux pads (as you probably already know, but just noting it here) : https://docs.modalai.com/voxl-mini-esc-datasheet/#pwm-inputs--outputs. The range of the commands are 1000us=0% duty cycle, 2000us = 100% duty cycle (linear mapping). There is no calibration needed or supported (the MCU clock is pretty accurate).3-2: Recommended PWM frequency (up to 1/(2000us) = 500hz as long as pulses have some off time between them), one-shot is supported.
3-3: i don't think that we have tested the mini ESC with Ardupilot in PWM mode, but the ESC should work very similarly to a standard ESC in PWM control mode
3-4: there is no way to set the zero-throttle PWM value in the ESC params, however here is my recommendation:
- in order to stop the motor and keep it off, send pulse 950us
- in order to start the motor, send pulse 1050us and operate in range 1050-2000us.
- the turn off point is 1000us with some hysteresis, but you don't want to operate close to that point and risk motors shutting off in flight.
Also, we do not support Dshot input for VOXL ESCs. Spin direction reversal is not supported with the PWM commands.
UART protocol is recommended because you don't run into the PWM-related range issues and you also get telemetry back from the ESCs (and much higher command rate is supported).
Alex
-
@박지현 Unfortunately, for Ardupilot, our ESCs are only supported with UART interface when using the VOXL 2 / VOXL 2 mini as the flight controller. When using Flight Core v2 that is not supported.