esc 4 in i issue
-
Hey @aiden
This is how we enable the driver in our board (e.g. FCv2):
https://github.com/PX4/PX4-Autopilot/blob/main/boards/modalai/fc-v2/default.px4board#L6The serial ports are kinda hard coded... e.g. FCv2
https://github.com/PX4/PX4-Autopilot/blob/3d61ab84c42ff8623bd48ff0ba74f9cf26bb402b/boards/modalai/fc-v2/src/board_config.h#L354Quick glance here and the v6c doesn't use this driver... we don't make that board so can't mess with it really, but it would be enabled here:
https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6c/default.px4boardSo I think you'd need to rebuild the FW and add the
MODAL_IO_DEFAULT_PORT
to what you need, and enable the driver in the v6c config -
@Alex-Kushleyev
Thank you for your help!
After changed adapter what suporrt 2Mbit, PC can detect with ESC. -
@modaltb
Accorinding @modaltb 's advice, I rebuilt the FW that named px4_fmu_v6c included modal_io driver.
In Qgroundcontrol, now i can see modal_io_ouput manual.but there is an issue what cannot touch param's value.
MODAL IO OUTPUT
configure :(param not available)
Bitrate : (Param not availabe)
RPM Min : (Param not availabe)
RPM Max : (Param not availabe)
ESC 1 spin Direction : (Param not availabe)
ESC 2 Spin Direction : (Param not availabe)
ESC 3 Spin Direction : (Param not availabe)
ESC 4 Spin Direction : (Param not availabe)can u tell me how to solve this issue?
-
@aiden , modal_io params are defined here : https://github.com/PX4/PX4-Autopilot/blob/main/src/drivers/actuators/modal_io/modal_io_params.c please make sure those are included in your PX4 build and you are using the correct parameter names.
Alex
-
@Alex-Kushleyev
Thank you for your advice.Here is my last Question.
I supplied power and put pwm in normanl esc(https://store.tmotor.com/goods-580-ALPHA+40A+6S.html), motor can spin.
Is it possible to operate moter with voxl 4 in 1 esc like above way? (without uart function like normal esc )
when i did that experiment, it didn't work.
-
@aiden , I am sorry but at this time we do not support direct PWM input to ModalAI ESC.
-
@Alex-Kushleyev
Here is last question.
When using a script to update parameters and run the motor, the motor's response is not always consistent.it seems like script cannot set whole motor's params.
because after update param first time, i saw situation what id 0,1,2 motor spun normally but id 3 motor was not.after update param file second time, situation was changed like id 2,3 were normal and id 0,1 were not.
sometimes id 0,1,3 were normal.. and id 2 was not..
can u give me any advise in this issue?
p.s Already checked all motors weren't broken
-
@aiden , can you please clarify what you mean "spin normally"?
You can use a command
./voxl-esc-verify-params.py
, which is part ofvoxl-esc
tools, to verify the parameters on all 4 ESCs. If one of the ESC channels has an issue with params, this tool should be able to tell you about an issue.Additionally, if you simply run
./voxl-esc-scan.py
, if all four ESCs are found using the baud rate that is specified in your params, then all the params are OK. -
@Alex-Kushleyev spin normally means motor spins well when using script "voxl-esc-spin.py".
Here is my experiment sequence.
- use a command ./voxl-esc-verify-params.py , which is part of voxl-esc tools.
result.
Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
[GCC 9.4.0]
Found voxl-esc tools bin version: 1.2INFO: Params file name : ../voxl-esc-params/boards/esc_params_generic_m0117.xml
INFO: Params file size : 7462 bytesINFO: All COM ports:
/dev/ttyS0 : ttyS0
/dev/ttyUSB0 : FT232R USB UART - FT232R USB UART
INFO: UART Port Candidates:
/dev/ttyUSB0
INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
INFO: ESCs detected:
INFO: ---------------------
ID: 0, SW: 38, HW: 34: ModalAi 4-in-1 ESC (M0117-1)
ID: 0
ID: 1, SW: 38, HW: 34: ModalAi 4-in-1 ESC (M0117-1)
ID: 1
ID: 2, SW: 38, HW: 34: ModalAi 4-in-1 ESC (M0117-1)
ID: 2
ID: 3, SW: 38, HW: 34: ModalAi 4-in-1 ESC (M0117-1)
ID: 3INFO: Loading XML config file...
INFO: Uploading params...
-- board config
-- id config
-- uart config
-- tune config
DONE
INFO: Resetting ESCs...2. spin can use a command voxl-esc-spin.py* , which is part of voxl-esc tools. (command with --id 255 ) result
Type "Yes" to continue: yes
[0] RPM: 448, PWR: 8, VBAT: 10.25V, TEMPERATURE: 36.24C, CURRENT: 0.02A
[1] RPM: 360, PWR: 8, VBAT: 10.64V, TEMPERATURE: 36.50C, CURRENT: 0.30A
[2] RPM: 360, PWR: 8, VBAT: 11.46V, TEMPERATURE: 36.31C, CURRENT: 0.59A
[3] RPM: 360, PWR: 8, VBAT: 6.66V, TEMPERATURE: 36.58C, CURRENT: 0.31A
[0] RPM: 360, PWR: 8, VBAT: 9.17V, TEMPERATURE: 36.34C, CURRENT: 0.04A
[1] RPM: 0, PWR: 0, VBAT: 7.99V, TEMPERATURE: 36.64C, CURRENT: 0.10A
[2] RPM: 360, PWR: 8, VBAT: 11.11V, TEMPERATURE: 36.50C, CURRENT: 0.59A
[3] RPM: 360, PWR: 8, VBAT: 7.80V, TEMPERATURE: 36.56C, CURRENT: 0.28A
[0] RPM: 360, PWR: 8, VBAT: 10.90V, TEMPERATURE: 36.57C, CURRENT: -0.06A
[1] RPM: 360, PWR: 8, VBAT: 7.38V, TEMPERATURE: 36.72C, CURRENT: 0.34A
[2] RPM: 360, PWR: 8, VBAT: 10.07V, TEMPERATURE: 36.77C, CURRENT: 0.17A
[3] RPM: 360, PWR: 8, VBAT: 9.72V, TEMPERATURE: 36.74C, CURRENT: 0.21A
[0] RPM: 472, PWR: 10, VBAT: 10.32V, TEMPERATURE: 36.82C, CURRENT: 0.02A
[1] RPM: 360, PWR: 8, VBAT: 11.10V, TEMPERATURE: 36.81C, CURRENT: 0.32A
[2] RPM: 360, PWR: 8, VBAT: 11.42V, TEMPERATURE: 36.88C, CURRENT: 0.60A
[3] RPM: 360, PWR: 8, VBAT: 9.03V, TEMPERATURE: 36.79C, CURRENT: 0.38A
[0] RPM: 0, PWR: 0, VBAT: 7.05V, TEMPERATURE: 36.88C, CURRENT: 0.03A
[1] RPM: 0, PWR: 0, VBAT: 9.28V, TEMPERATURE: 37.00C, CURRENT: 0.09A
[2] RPM: 360, PWR: 8, VBAT: 8.09V, TEMPERATURE: 37.16C, CURRENT: 0.31A
[3] RPM: 360, PWR: 8, VBAT: 7.45V, TEMPERATURE: 36.97C, CURRENT: 0.27A
[0] RPM: 360, PWR: 8, VBAT: 7.46V, TEMPERATURE: 37.10C, CURRENT: 0.30A
[1] RPM: 360, PWR: 8, VBAT: 9.03V, TEMPERATURE: 37.15C, CURRENT: 0.17A
[2] RPM: 360, PWR: 8, VBAT: 9.36V, TEMPERATURE: 37.36C, CURRENT: 0.11A
[3] RPM: 360, PWR: 8, VBAT: 9.52V, TEMPERATURE: 37.12C, CURRENT: 0.21A
[0] RPM: 0, PWR: 8, VBAT: 9.44V, TEMPERATURE: 37.31C, CURRENT: -0.01A
[1] RPM: 0, PWR: 0, VBAT: 7.31V, TEMPERATURE: 37.25C, CURRENT: 0.08A
[2] RPM: 0, PWR: 0, VBAT: 9.27V, TEMPERATURE: 37.49C, CURRENT: 0.13A
[3] RPM: 360, PWR: 8, VBAT: 7.53V, TEMPERATURE: 37.20C, CURRENT: 0.38A
[0] RPM: 0, PWR: 0, VBAT: 7.40V, TEMPERATURE: 37.37C, CURRENT: 0.05A
[1] RPM: 360, PWR: 8, VBAT: 7.23V, TEMPERATURE: 37.41C, CURRENT: 0.38A
[2] RPM: 360, PWR: 8, VBAT: 7.37V, TEMPERATURE: 37.63C, CURRENT: 0.37A
[3] RPM: 360, PWR: 8, VBAT: 7.85V, TEMPERATURE: 37.41C, CURRENT: 0.27A
[0] RPM: 360, PWR: 8, VBAT: 7.60V, TEMPERATURE: 37.64C, CURRENT: 0.31A
[1] RPM: 360, PWR: 8, VBAT: 9.00V, TEMPERATURE: 37.53C, CURRENT: 0.18A
[2] RPM: 343, PWR: 8, VBAT: 9.31V, TEMPERATURE: 37.78C, CURRENT: 0.02A
[3] RPM: 360, PWR: 8, VBAT: 9.31V, TEMPERATURE: 37.49C, CURRENT: 0.15A
[0] RPM: 0, PWR: 8, VBAT: 9.32V, TEMPERATURE: 37.71C, CURRENT: -0.06A
[1] RPM: 0, PWR: 0, VBAT: 7.34V, TEMPERATURE: 37.60C, CURRENT: 0.04A
[2] RPM: 0, PWR: 0, VBAT: 9.17V, TEMPERATURE: 37.97C, CURRENT: 0.10A
[3] RPM: 360, PWR: 8, VBAT: 7.46V, TEMPERATURE: 37.67C, CURRENT: 0.33A
[0] RPM: 0, PWR: 0, VBAT: 7.37V, TEMPERATURE: 37.93C, CURRENT: 0.06A
[1] RPM: 360, PWR: 8, VBAT: 7.38V, TEMPERATURE: 37.78C, CURRENT: 0.28A
[2] RPM: 360, PWR: 8, VBAT: 7.47V, TEMPERATURE: 38.07C, CURRENT: 0.36A
[3] RPM: 360, PWR: 8, VBAT: 7.88V, TEMPERATURE: 37.75C, CURRENT: 0.28A
[0] RPM: 360, PWR: 8, VBAT: 7.59V, TEMPERATURE: 38.10C, CURRENT: 0.28A
[1] RPM: 360, PWR: 8, VBAT: 9.14V, TEMPERATURE: 37.85C, CURRENT: 0.23A
[2] RPM: 360, PWR: 8, VBAT: 9.70V, TEMPERATURE: 38.09C, CURRENT: 0.11A
[3] RPM: 360, PWR: 8, VBAT: 9.30V, TEMPERATURE: 37.86C, CURRENT: 0.18Aas you see, the result seems wrong and motor didn't spin well. The motor moves with a ticking sound and struggles. 3. use a command ./voxl-esc-verify-params.py one more time , which is part of voxl-esc tools. result was changed.
Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
[GCC 9.4.0]
Found voxl-esc tools bin version: 1.2
INFO: All COM ports:
/dev/ttyS0 : ttyS0
/dev/ttyUSB0 : FT232R USB UART - FT232R USB UART
INFO: UART Port Candidates:
/dev/ttyUSB0
INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
UART config CRC mismatch 58230 != 0
ERROR: Params for ID 0 are invalid!
INFO: Params from ID 1 match ../voxl-esc-params/boards/esc_params_generic_m0117.xml
UART config CRC mismatch 58230 != 0
ERROR: Params for ID 2 are invalid!
UART config CRC mismatch 58230 != 0
ERROR: Params for ID 3 are invalid!
ERROR: Params from ID 0 and 1 are not the same
ERROR: Some params are invalid or not the same!
Number of ESCs expected : 4
Number of ESCs found : 4
Number of invalid params : 3
Number of matched params : 3can u give me any advise in this issue?
-
can you please provide output of
./voxl-esc-scan.py
? it will give me information about exact firmware version.Also, how are you powering the ESC? it seems during start-up attempt the voltage is dropping from 11V to 7V during spin-up, which is not a good sign. Are you using a weak power supply?
Alex
-
On our ESC the Mosfet driver has a feature called "under voltage lockout", so if the supply voltage drops to below about 4.5V (even for a very brief period of time), the Mosfet Driver will enter fault state and will not drive the mosfets. The Mosfet driver gets reset by ESC software before each start-up.
So if you are seeing that sometimes a motor is not even attempting to spin, you are likely connected to a weak power supply that causes voltage to drop very low and cause a fault in the Mosfet Driver chip on the ESC.
Even though your log is showing voltage of about 7.5V, it is possible that there was an even lower dip, because the data is printed is at very low rate, so we don't see the dip.
Alex
-
here is out put from ./voxl-esc-scan.py.
~/voxl-esc/voxl-esc-tools$ ./voxl-esc-scan.py
Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
[GCC 9.4.0]
Found voxl-esc tools bin version: 1.2
INFO: All COM ports:
/dev/ttyS0 : ttyS0
/dev/ttyUSB0 : FT232R USB UART - FT232R USB UART
INFO: UART Port Candidates:
/dev/ttyUSB0
INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
INFO: Detected protocol: firmware
INFO: Additional Information:
INFO: ---------------------
ID : 0
Board : version 34: ModalAi 4-in-1 ESC (M0117-1)
UID : 0x203034305743570C00280022
Firmware : version 38, hash 83faccfa
Bootloader : version 183, hash 25317f42ID : 1 Board : version 34: ModalAi 4-in-1 ESC (M0117-1) UID : 0x203034305743570C00190039 Firmware : version 38, hash 83faccfa Bootloader : version 183, hash 25317f42 ID : 2 Board : version 34: ModalAi 4-in-1 ESC (M0117-1) UID : 0x203034305743570C001A0047 Firmware : version 38, hash 83faccfa Bootloader : version 183, hash 25317f42 ID : 3 Board : version 34: ModalAi 4-in-1 ESC (M0117-1) UID : 0x203034305743570C003B004F Firmware : version 38, hash 83faccfa Bootloader : version 183, hash 25317f42
and we supplied 12v in esc.