VOXL FPV Racing 4-in-1 ESC with flight core v2 and voxl2
-
@Jetson-Nano , if the voxl_esc driver is started by PX4 running on the Flight Core, it should print out debugging information to the UART console. The log below was taken from PX4 running on VOXL2 DSP, but the output should be the same when using Flight Core V2.
Please also note that the Flight Core (V2), when powered up, starts immediately (as opposed to VOXL2 booting takes a few seconds), so FC V2 will try to detect the ESC before the ESC exits bootloader (which takes 1 second after power is applied) and will fail to detect the ESC. This was fixed in our FC V2 drone config, please check your voxl-esc driver behavior. Here is the commit that added the delay of 1.5 seconds before starting voxl esc driver on FC V2:
- https://github.com/modalai/px4-firmware/pull/70/commits/55742d298bf9241a2af5aa2c7ba3a26788073356
- https://github.com/modalai/px4-firmware/pull/70/commits/1c11e2e0ac3fcc19cb45ab59292b3cf5f4fdb348
(voxl-esc driver log from VOXL2 DSP is below)
INFO [muorb] SLPI: VOXL_ESC: Starting VOXL ESC driver INFO [muorb] SLPI: VOXL_ESC: Opening UART ESC device 2, baud rate 2000000 INFO [muorb] SLPI: VOXL_ESC: Successfully opened UART ESC device INFO [muorb] SLPI: VOXL_ESC: Detecting ESCs... INFO [muorb] SLPI: VOXL_ESC: ESC ID : 0 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x203330385246571900480024 INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 1646us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: ESC ID : 1 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x2033303852465719004D004D INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 621us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: ESC ID : 2 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x203330385246571900500042 INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : versiINFO [qshell] Send cmd: 'voxl_esc start' INFO [muorb] SLPI: VOXL_ESC: Reply time : 1120us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: ESC ID : 3 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x2033303852465719004D0050 INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 617us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: Use extened rpm packet : 1 INFO [muorb] SLPI: VOXL_ESC: All ESCs successfully detected
-
@Alex-Kushleyev Thank you for reverting back. I will verify this and get back.
I changed the firmware version to the
voxl-fpv-dev
still the FC is not detecting the ESC.if i start esc through voxl_esc start , it is starting
could please verify the parameters I mentioned.
nsh> voxl_esc status INFO [voxl_esc] Max update rate: 0 Hz INFO [voxl_esc] Outputs on: no INFO [voxl_esc] UART port: /dev/ttyS4 INFO [voxl_esc] UART open: no INFO [voxl_esc] INFO [voxl_esc] Params: VOXL_ESC_CONFIG: 1 INFO [voxl_esc] Params: VOXL_ESC_MODE: 0 INFO [voxl_esc] Params: VOXL_ESC_BAUD: 250000 INFO [voxl_esc] Params: VOXL_ESC_FUNC1: 101 INFO [voxl_esc] Params: VOXL_ESC_FUNC2: 104 INFO [voxl_esc] Params: VOXL_ESC_FUNC3: 102 INFO [voxl_esc] Params: VOXL_ESC_FUNC4: 103 INFO [voxl_esc] Params: VOXL_ESC_SDIR1: 0 INFO [voxl_esc] Params: VOXL_ESC_SDIR2: 0 INFO [voxl_esc] Params: VOXL_ESC_SDIR3: 0 INFO [voxl_esc] Params: VOXL_ESC_SDIR4: 0 INFO [voxl_esc] Params: VOXL_ESC_RPM_MIN: 5500 INFO [voxl_esc] Params: VOXL_ESC_RPM_MAX: 15000 INFO [voxl_esc] Params: VOXL_ESC_T_PERC: 90 INFO [voxl_esc] Params: VOXL_ESC_T_DEAD: 20 INFO [voxl_esc] Params: VOXL_ESC_T_EXPO: 35 INFO [voxl_esc] Params: VOXL_ESC_T_MINF: 0.150000 INFO [voxl_esc] Params: VOXL_ESC_T_COSP: 0.990000 INFO [voxl_esc] Params: VOXL_ESC_VLOG: 0 INFO [voxl_esc] Params: VOXL_ESC_PUB_BST: 1 INFO [voxl_esc] Params: VOXL_ESC_T_WARN: 0 INFO [voxl_esc] Params: VOXL_ESC_T_OVER: 0 INFO [voxl_esc] Params: GPIO_CTL_CH: 0 INFO [voxl_esc] INFO [voxl_esc] -- ID: 0 INFO [voxl_esc] Motor: 1 INFO [voxl_esc] Direction: 1 INFO [voxl_esc] State: 0 INFO [voxl_esc] Requested: 0 RPM INFO [voxl_esc] Measured: 0 RPM INFO [voxl_esc] Command Counter: 0 INFO [voxl_esc] Voltage: 0.000000 VDC INFO [voxl_esc] INFO [voxl_esc] -- ID: 1 INFO [voxl_esc] Motor: 4 INFO [voxl_esc] Direction: 1 INFO [voxl_esc] State: 0 INFO [voxl_esc] Requested: 0 RPM INFO [voxl_esc] Measured: 0 RPM INFO [voxl_esc] Command Counter: 0 INFO [voxl_esc] Voltage: 0.000000 VDC INFO [voxl_esc] INFO [voxl_esc] -- ID: 2 INFO [voxl_esc] Motor: 2 INFO [voxl_esc] Direction: 1 INFO [voxl_esc] State: 0 INFO [voxl_esc] Requested: 0 RPM INFO [voxl_esc] Measured: 0 RPM INFO [voxl_esc] Command Counter: 0 INFO [voxl_esc] Voltage: 0.000000 VDC INFO [voxl_esc] INFO [voxl_esc] -- ID: 3 INFO [voxl_esc] Motor: 3 INFO [voxl_esc] Direction: 1 INFO [voxl_esc] State: 0 INFO [voxl_esc] Requested: 0 RPM INFO [voxl_esc] Measured: 0 RPM INFO [voxl_esc] Command Counter: 0 INFO [voxl_esc] Voltage: 0.000000 VDC INFO [voxl_esc] voxl_esc: cycle: 0 events, 0us elapsed, 0.00us avg, min 0us max 0us 0.000us rms voxl_esc: output update interval: 0 events, 0.00us avg, min 0us max 0us 0.000us rms INFO [mixer_module] Param prefix: VOXL_ESC control latency: 0 events, 0us elapsed, 0.00us avg, min 0us max 0us 0.000us rms Channel Configuration: Channel 0: func: 0, value: 0, failsafe: 0, disarmed: 0, min: 5500, max: 15000 Channel 1: func: 0, value: 0, failsafe: 0, disarmed: 0, min: 5500, max: 15000 Channel 2: func: 0, value: 0, failsafe: 0, disarmed: 0, min: 5500, max: 15000 Channel 3: func: 0, value: 0, failsafe: 0, disarmed: 0, min: 5500, max: 15000
-
Voxl2 is connected to Flight core v2 through telem 1.
ESC is connected to flight core through telem 2.
the parameters are the following -
@Jetson-Nano said in VOXL FPV Racing 4-in-1 ESC with flight core v2 and voxl2:
if i start esc through voxl_esc start , it is starting
Can you please provide the debug prints that
voxl_esc
driver outputs when you callvoxl_esc start
?Alex
-
@Alex-Kushleyev When I run it for sometime it is makes the ESC blink once.
then once again if I run the command it gives the following statement
Error [voxl_esc] Task already running
-
@Jetson-Nano , you can stop the task and run it again or just look at the console output when you power on FC V2, so you see what happens when
voxl_esc
task prints when it start for the first time. -
nsh> voxl_esc stop ERROR [voxl_esc] timeout, forcing stop ERROR [voxl_esc] failed restoring uart to original state ERROR [voxl_esc] error closing uart nsh> voxl_esc start ERROR [px4_work_queue] wq:ttyS4 not available ERROR [px4_work_queue] init failed INFO [voxl_esc] Starting VOXL ESC driver INFO [voxl_esc] Params: VOXL_ESC_CONFIG: 1 INFO [voxl_esc] Params: VOXL_ESC_MODE: 0 INFO [voxl_esc] Params: VOXL_ESC_BAUD: 250000 INFO [voxl_esc] Params: VOXL_ESC_FUNC1: 101 INFO [voxl_esc] Params: VOXL_ESC_FUNC2: 104 INFO [voxl_esc] Params: VOXL_ESC_FUNC3: 102 INFO [voxl_esc] Params: VOXL_ESC_FUNC4: 103 INFO [voxl_esc] Params: VOXL_ESC_SDIR1: 0 INFO [voxl_esc] Params: VOXL_ESC_SDIR2: 0 INFO [voxl_esc] Params: VOXL_ESC_SDIR3: 0 INFO [voxl_esc] Params: VOXL_ESC_SDIR4: 0 INFO [voxl_esc] Params: VOXL_ESC_RPM_MIN: 5500 INFO [voxl_esc] Params: VOXL_ESC_RPM_MAX: 15000 INFO [voxl_esc] Params: VOXL_ESC_T_PERC: 90 INFO [voxl_esc] Params: VOXL_ESC_T_DEAD: 20 INFO [voxl_esc] Params: VOXL_ESC_T_EXPO: 35 INFO [voxl_esc] Params: VOXL_ESC_T_MINF: 0.150000 INFO [voxl_esc] Params: VOXL_ESC_T_COSP: 0.990000 INFO [voxl_esc] Params: VOXL_ESC_VLOG: 0 INFO [voxl_esc] Params: VOXL_ESC_PUB_BST: 1 INFO [voxl_esc] Params: VOXL_ESC_T_WARN: 0 INFO [voxl_esc] Params: VOXL_ESC_T_OVER: 0 INFO [voxl_esc] Params: GPIO_CTL_CH: 0 nsh>
can you verify whether it is a parameter related error. I have mentioned the parameters in the above thread.
-
@Jetson-Nano said in VOXL FPV Racing 4-in-1 ESC with flight core v2 and voxl2:
ERROR [px4_work_queue] wq:ttyS4 not available
the error above seems like an issue.
Also is your ESC actually running at 250K baud rate? Did you verify this using
voxl-esc
tools?Additionally, it seems the
voxl_esc
driver does not produce the prints I was expecting, let me check to make sure the FC V2 is using the latestvoxl_esc
implementation.Alex
-
@Alex-Kushleyev
Yes it is running in the 250k baud rate.
I did not verify with the voxl-esc tools. I directly connected it to the FC.
I am using the voxl-fpv-dev version of px4 -
@Jetson-Nano , what do you mean
voxl-fpv-dev
version of px4? can you provide the link to the exact release? -
-
@Alex-Kushleyev here you had mentioned a version where the change has been made with respect to the delay.
https://forum.modalai.com/post/21951 -
@Jetson-Nano , from your above screen shot from QGC, it seems you are using TELEM2 for MAV0, so that is probably why the port is not able to open. You should probably set MAV_0_CONFIG to
Disabled
...ERROR [px4_work_queue] wq:ttyS4 not available
-
@Alex-Kushleyev Thank you for the help . I changed the parameter and now the ESC has been initialised. motor are able to rotate.
Also is there any other parameter i should be aware of -
@Jetson-Nano , since you are probably using a custom motor and propeller you should:
- first of all, update the ESC firmware to the latest
- calibrate the ESC for the motor/propeller and upload params
- update min and max rpm params in PX4 because they are used to scale the control output
- set the correct motor mapping and direction in px4 params
- i also recommend updating the baud rate to at least 921600 (or 1M). We are using 2Mbit for all latest ESC configs now. This reduces latency and ensures that you don't have ESC packet drops (depending on the update rate of your flight control loop)
In order to perform the updates and tuning, you will need to use
voxl-esc
tools. Please see the following page for more info: https://docs.modalai.com/voxl-escs/faq/Alex
-
@Alex-Kushleyev Thank you for the support. I will make the changes you have mentioned.