ERROR: No ESC(s) detected, exiting.
-
hi Alex,
I have wired wrongly some of the drone motors to esc. Do you sell individual cable connector?
I am new to soldering and don't want to re-solder the esc.
thanks.
suvasis -
It is great to hear that you got it working!
Regarding motor wiring.. Are you saying that some motors are spinning in wrong direction? If so, you can use PX4 params to reverse the motor directions. Also, when using voxl-esc tools for testing, some scripts (but maybe not all) support commanding negative power and rpm, which will cause the motor to spin in opposite direction (specifically, voxl-esc-spin.py supports negative power and rpm commands).
Regarding soldering, I would encourage you to practice soldering on some other boards that are "junk", so you can gain some experience with soldering. This will help you make sure that the motor connections that you already made are good! Sometimes bad solder joint can result in failure to spin motor or can come loose in flight.
The motors are typically soldered to the ESC directly in order to avoid another connection (potential point of failure) between the motor and ESC..
-
hi Alex,
I run tests on motors, I see the following result:
What does "RPM COMPARISON TEST FAILED" this mean?
command:
voxl-esc/tools$ python voxl-esc-spin.py --device /dev/ttyUSB0 --baud-rate 250000 --id 3 --power 15 --timeout 300//result snippet:
[299.950] (3) RPM: 1828, PWR: 15, VBAT: 12.19V, TEMPERATURE: 36.48C, CURRENT: 0.11A
[299.960] (3) RPM: 1828, PWR: 15, VBAT: 12.18V, TEMPERATURE: 36.50C, CURRENT: 0.14A
[299.970] (3) RPM: 1828, PWR: 15, VBAT: 12.18V, TEMPERATURE: 36.50C, CURRENT: 0.14A
[299.980] (3) RPM: 1830, PWR: 15, VBAT: 12.18V, TEMPERATURE: 36.52C, CURRENT: 0.10A
[299.990] (3) RPM: 1830, PWR: 15, VBAT: 12.18V, TEMPERATURE: 36.52C, CURRENT: 0.11A
Finished!
[1678327467.651517] TX=30008, RX=30007 packets, RX CRC ERRORS=0
Average RPMs: 0.00 0.00 0.00 1829.42
Average RPM deviation between ESCs : 1829.42
RPM COMPARISON TEST FAILED -
Actually you can ignore this. At the end of the test, the script compares the average rpms between 4 motors and reports if they are close to the same or not. In your case,
You only spun one motor. I will fix this in the script, but please ignore it for now. -
hi Alex,
Thanks. I see it "RPM_COMPARISON TEST PASSED":
command:
voxl-esc/tools$ python voxl-esc-spin.py --id 255 --rpm 2000 --timeout 30result snippet:
[29.991] (2) RPM: 2006, PWR: 16, VBAT: 12.15V, TEMPERATURE: 37.05C, CURRENT: 0.09A
[29.991] (3) RPM: 1989, PWR: 16, VBAT: 12.15V, TEMPERATURE: 37.05C, CURRENT: 0.14A
Finished!
[1678328032.787829] TX=3008, RX=2999 packets, RX CRC ERRORS=1
Average RPMs: 1996.62 2000.80 2003.73 1993.21
Average RPM deviation between ESCs : 10.52
RPM_COMPARISON TEST PASSED -
hi Alex,
There is no documentation on which cable from motor go esc. Does it matter?
Thanks.
suvasis -
For all 3-phase BLDC motors, the following rule applies: if you switch the order of any two (out of three) wires, the direction is reversed.
With that in mind, the ModalAI ESC has a parameter how to control the direction of motor based on the ID (0-3).
In this example, the value 2 means ID-based, this means:
ID0 = normal direction
ID1 = reversed direction
ID2 = normal direction
ID3 = reversed directionThis is convenient so that if you solder the wires the same way to the ESC, the ESC will alternate directions, since in a Quadrotor, the motor direction alternates as you go around from ID 0 to 3.
If you want all four IDs to spin in the same direction (and you switch wires yourself to alternate directions), then you can set the
dir
parameter to 0 or 1.However, please note that an ESC cannot know the true spin direction, as the three phases are (almost) identical.
-
hi Alex,
I connected the esc after testing from PC.
But when I connect the esc to the vox2 using cable MCBL-00029-1.
and followed the document: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/dev-python3/voxl-esc-tools
"Installation Instructions for VOXL2"
I get the following message:
voxl2:~/voxl-esc/tools(dev-python3)$ python voxl-esc-upload-params.py --params-file ../params/RB5_Flight_V1/esc_params_modalai_4_in_1_revb_holybro2216_880_third_kp.xml
Detected Python version : 3.8.16 (default, Mar 7 2023, 22:05:32)
[GCC 7.5.0]
Found voxl-esc tools bin version: 1.1INFO: Params file name : ../params/RB5_Flight_V1/esc_params_modalai_4_in_1_revb_holybro2216_880_third_kp.xml
INFO: Params file size : 6912 bytesVOXL Platform: M0054
Detected VOXL2 M0054 or M0104!
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
Received standard error event 2
Couldn't configure flight_controller sensor
Error calling voxl_uart_init
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 921600
Received standard error event 2
Couldn't configure flight_controller sensor
Error calling voxl_uart_init
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 230400
Received standard error event 2
Couldn't configure flight_controller sensor
Error calling voxl_uart_init
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 57600
Received standard error event 2
Couldn't configure flight_controller sensor
Error calling voxl_uart_init
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 115200
Received standard error event 2
Couldn't configure flight_controller sensor
Error calling voxl_uart_init
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
Received standard error event 2
Couldn't configure flight_controller sensor
Error calling voxl_uart_init
INFO: Scanning for ESC bootloader: /dev/slpi-uart-2, baud: 38400
Received standard error event 2
Couldn't configure flight_controller sensor
Error calling voxl_uart_init
Received standard error event 2
Couldn't configure flight_controller sensor
Error calling voxl_uart_init
Updated baud rate to 38400
Segmentation fault
voxl2:~/voxl-esc/tools(dev-python3)$ ^C -
Hi @suvasis , please double check that you followed the instructions here : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/dev-python3/voxl-esc-tools#installation-instructions-for-voxl2 , most importantly including:
- disabling px4 using
systemctl
- creating a symlink for the slpi uart bridge
- restarting the board
- disabling px4 using
-
Thanks. Alex,
I followed the document:
Installation Instructions for VOXL2
#stop and disable PX4 while using voxl-esc tools
systemctl stop voxl-px4 && systemctl disable voxl-px4#temporarily move libpx4.so and create symlink for slpi bridge to libpx4.so
#this is required because currently the slpi application loader looks for libpx4.so (hardcoded)
cd /usr/lib/rfsa/adsp
mv libpx4.so libpx4.so.bak
ln -s ./libslpi_uart_bridge_slpi.so ./libpx4.so#reboot VOXL2
rebootLooks now it works after I re-did the steps:
result:
voxl2:~$
voxl2:~$ cd /usr/lib/rfsa/adsp
voxl2:/usr/lib/rfsa/adsp$ ls -l libpx4.so
lrwxrwxrwx 1 root root 29 Mar 16 17:41 libpx4.so -> ./libslpi_uart_bridge_slpi.so
voxl2:/usr/lib/rfsa/adsp$ cd
voxl2:~$ pwd
/home/root
voxl2:~$ cd voxl-esc/tools/
voxl2:~/voxl-esc/tools(dev-python3)$ ./voxl-esc-scan.py
Detected Python version : 3.6.9 (default, Jun 29 2022, 11:45:57)
[GCC 8.4.0]
Found voxl-esc tools bin version: 1.1
VOXL Platform: M0054
Detected VOXL2 M0054 or M0104!
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 250000
INFO: Detected protocol: firmware
INFO: Additional Information:
INFO: ---------------------
ID : 0
Board : version 34: ModalAi 4-in-1 ESC V2 RevC (M0117)
UID : 0x203034305743570C00360052
Firmware : version 36, hash f75f1fdb
Bootloader : version 183, hash 25317f42ID : 1 Board : version 34: ModalAi 4-in-1 ESC V2 RevC (M0117) UID : 0x203034305743570C0036004C Firmware : version 36, hash f75f1fdb Bootloader : version 183, hash 25317f42 ID : 2 Board : version 34: ModalAi 4-in-1 ESC V2 RevC (M0117) UID : 0x203034305743570C0036004B Firmware : version 36, hash f75f1fdb Bootloader : version 183, hash 25317f42 ID : 3 Board : version 34: ModalAi 4-in-1 ESC V2 RevC (M0117) UID : 0x203034305743570C0042001C Firmware : version 36, hash f75f1fdb Bootloader : version 183, hash 25317f42
voxl2:~/voxl-esc/tools(dev-python3)$
-
hi Alex,
I have 2 questions:
- After the tests are performed:
#test voxl-esc tools
cd /home/root/voxl-esc/tools
./voxl-esc-scan.py#perform ESC testing / calibration
#...What does this do?
#when done, restore original libpx4.so
cd /usr/lib/rfsa/adsp
rm libpx4.so
cp libpx4.so.bak libpx4.so
systemctl enable voxl-px4
reboot- While Uploading Parameters:
I don't see any parameters file "params/esc_params_modalai_4_in_1.xml" per se
python voxl-esc-upload-params.py --params-file ../params/esc_params_modalai_4_in_1.xml
Thanks.
suvasis -
hi @suvasis
#test voxl-esc tools cd /home/root/voxl-esc/tools ./voxl-esc-scan.py #perform ESC testing / calibration #...
this was just a place holder for any testing you want to do with the voxl-esc tools.
#when done, restore original libpx4.so cd /usr/lib/rfsa/adsp rm libpx4.so cp libpx4.so.bak libpx4.so systemctl enable voxl-px4 reboot
This part restores the PX4 functionality, because in order to use voxl-esc tools on VOXL2, the instructions told you to disable PX4 while using voxl-esc tools. Soon we will not require disabling PX4 to use voxl-esc tools, but currently you have to do it.
- Please note that we just made some updated to the voxl-esc tools and directory structure has slightly changed. Also, you no longer have to download the binary tools package and add it to the voxl-esc/tools directory. Please see an example params file here : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/dev/voxl-esc-params/old/esc_params_modalai_4_in_1_revb.xml