ESC Issue On SDK 1.0.0
-
Good afternoon,
I am having an issue where I cannot get ESC to work and props to spin on 1.0.0. When I am on 0.9, the blue indicator light on the ESC flashes and I am able to spin props. Once I upgrade to 1.0.0, the light does not flash anymore and I cannot spin props.
Is there something I need to do to setup the ESC on 1.0.0?
Thank you for the help,
John Nomikos.
-
voxl2:/$ px4-qshell modalai_esc INFO [qshell] Send cmd: 'modalai_esc' INFO [qshell] cmd returned with: 1 INFO [qshell] qshell return value timestamp: 315219591, local time: 315220325 ERROR [qshell] Command failed voxl2:/$ px4-listener esc_status TOPIC: esc_status esc_status timestamp: 12877338 (321.160156 seconds ago) counter: 0 esc_count: 4 esc_connectiontype: 1 esc_online_flags: 0 esc_armed_flags: 0 esc[0] (esc_report): timestamp: 0 esc_errorcount: 0 esc_rpm: 0 esc_voltage: 0.00000 esc_current: 0.00000 esc_temperature: 0.00000 failures: 0 esc_address: 0 esc_cmdcount: 0 esc_state: 0 actuator_function: 0 esc_power: 0 esc[1] (esc_report): timestamp: 0 esc_errorcount: 0 esc_rpm: 0 esc_voltage: 0.00000 esc_current: 0.00000 esc_temperature: 0.00000 failures: 0 esc_address: 0 esc_cmdcount: 0 esc_state: 0 actuator_function: 0 esc_power: 0 esc[2] (esc_report): timestamp: 0 esc_errorcount: 0 esc_rpm: 0 esc_voltage: 0.00000 esc_current: 0.00000 esc_temperature: 0.00000 failures: 0 esc_address: 0 esc_cmdcount: 0 esc_state: 0 actuator_function: 0 esc_power: 0 esc[3] (esc_report): timestamp: 0 esc_errorcount: 0 esc_rpm: 0 esc_voltage: 0.00000 esc_current: 0.00000 esc_temperature: 0.00000 failures: 0 esc_address: 0 esc_cmdcount: 0 esc_state: 0 actuator_function: 0 esc_power: 0 esc[4] (esc_report): timestamp: 0 esc_errorcount: 0 esc_rpm: 0 esc_voltage: 0.00000 esc_current: 0.00000 esc_temperature: 0.00000 failures: 0 esc_address: 0 esc_cmdcount: 0 esc_state: 0 actuator_function: 0 esc_power: 0 esc[5] (esc_report): timestamp: 0 esc_errorcount: 0 esc_rpm: 0 esc_voltage: 0.00000 esc_current: 0.00000 esc_temperature: 0.00000 failures: 0 esc_address: 0 esc_cmdcount: 0 esc_state: 0 actuator_function: 0 esc_power: 0 esc[6] (esc_report): timestamp: 0 esc_errorcount: 0 esc_rpm: 0 esc_voltage: 0.00000 esc_current: 0.00000 esc_temperature: 0.00000 failures: 0 esc_address: 0 esc_cmdcount: 0 esc_state: 0 actuator_function: 0 esc_power: 0 esc[7] (esc_report): timestamp: 0 esc_errorcount: 0 esc_rpm: 0 esc_voltage: 0.00000 esc_current: 0.00000 esc_temperature: 0.00000 failures: 0 esc_address: 0 esc_cmdcount: 0 esc_state: 0 actuator_function: 0 esc_power: 0
-
@John-Nomikos-0 What do you get with
voxl-esc scan
? -
It does seem to be detecting the ESCs with that command.
Strange that the blue light does not blink and spinning is not working on 1.0.0
Here is the output:
voxl2:/$ voxl-esc scan enabling bridge detected voxl-px4 is enabled Removed /etc/systemd/system/multi-user.target.wants/voxl-px4.service. detected voxl-px4 is running, stopping it now bridge enabled Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) [GCC 8.4.0] Found voxl-esc tools bin version: 1.2 VOXL Platform: M0054 Detected VOXL2 M0054 or M0104! INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000 Sending library name request: libslpi_uart_bridge_slpi.so Received standard error event 2 Sending initialization request 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 31: ModalAi 4-in-1 ESC V2 RevB (M0049) UID : 0x2032353450415714003E004A Firmware : version 34, hash 833243c0 Bootloader : version 183, hash 0a80a32a ID : 1 Board : version 31: ModalAi 4-in-1 ESC V2 RevB (M0049) UID : 0x20323534504157140042002B Firmware : version 34, hash 833243c0 Bootloader : version 183, hash 0a80a32a ID : 2 Board : version 31: ModalAi 4-in-1 ESC V2 RevB (M0049) UID : 0x20323534504157140042002E Firmware : version 34, hash 833243c0 Bootloader : version 183, hash 0a80a32a ID : 3 Board : version 31: ModalAi 4-in-1 ESC V2 RevB (M0049) UID : 0x203235345041571400420034 Firmware : version 34, hash 833243c0 Bootloader : version 183, hash 0a80a32a --------------------- successfully pinged ESCs disabling bridge re-enabling voxl-px4 Created symlink /etc/systemd/system/multi-user.target.wants/voxl-px4.service → /etc/systemd/system/voxl-px4.service. restarting voxl-px4 bridge disabled
-
I found that doing voxl-esc spin is working.
Testing on actuators tab on QGC does not.
Also tried to do "px4-qshell commander arm -f" and it successfully armed and showed it was flying, but props are not spinning
-
To clear things up.
The ESC is not working when we arm. It does not spin with "actuators" tab.
The ESC only spins a motor when we issue a "voxl-esc" on the command line -
@wilkinsaf Please post the settings of all of the MODAL_IO_* parameters. E.g.
px4-param show MODAL_IO_*
-
@Eric-Katzfey here are the params. Let me know if you need anything else.
voxl2:/$ px4-param show MODAL_IO_* Symbols: x = used, + = saved, * = unsaved x + MODAL_IO_BAUD [508,1061] : 2000000 x + MODAL_IO_CONFIG [509,1062] : 1 x + MODAL_IO_FUNC1 [510,1063] : 101 x + MODAL_IO_FUNC2 [511,1064] : 104 x + MODAL_IO_FUNC3 [512,1065] : 102 x + MODAL_IO_FUNC4 [513,1066] : 103 x MODAL_IO_MODE [514,1067] : 0 x MODAL_IO_REV [515,1068] : 0 x MODAL_IO_RPM_MAX [516,1069] : 15000 x + MODAL_IO_RPM_MIN [517,1070] : 3000 x MODAL_IO_SDIR1 [518,1071] : 0 x MODAL_IO_SDIR2 [519,1072] : 0 x MODAL_IO_SDIR3 [520,1073] : 0 x MODAL_IO_SDIR4 [521,1074] : 0 x MODAL_IO_T_COSP [522,1075] : 0.9900 x MODAL_IO_T_DEAD [523,1076] : 20 x MODAL_IO_T_EXPO [524,1077] : 35 x MODAL_IO_T_MINF [525,1078] : 0.1500 x MODAL_IO_T_PERC [526,1079] : 90 x + MODAL_IO_VLOG [527,1080] : 1 799/2092 parameters used.
-
@John-Nomikos-0 Okay, I don't see anything obviously wrong with those. Can you arm the drone and collect a log?
-
@John-Nomikos-0 When you arm you are using the
-f
flag to force it. What happens if you don't use the force flag? Does it give you some errors? -
@Eric-Katzfey John left to go home, but popped into the other room to run this
I keep on getting a failsafe activated the MOMENT we try and arm.
I can not seem to get more than this message. I am going to manually run voxl-px4 to see if I can get better output
-
Here is the output from voxl-px4 once we requested to arm
INFO [px4] Startup script returned successfully INFO [muorb] SLPI: Advertising remote topic ping WARN [uORB] orb_advertise_multi: failed to set queue size INFO [uORB] Marking DeviceNode(mavlink_log) as advertised in process_remote_topic INFO [muorb] SLPI: Armed by external command INFO [logger] Start file log (type: full) WARN [uORB] orb_advertise_multi: failed to set queue size INFO [logger] [logger] /data/px4/log/2023-03-02/12_59_17.ulg INFO [logger] Opened full log file: /data/px4/log/2023-03-02/12_59_17.ulg WARN [mavlink] Event dropped (37, 65526) WARN [mavlink] Event dropped (37, 65526) INFO [muorb] SLPI: Advertising remote topic logger_status WARN [mavlink] Dropped 65489 events (seq=65526) WARN [mavlink] Dropped 65489 events (seq=65526) INFO [uORB] Marking DeviceNode(mavlink_log) as advertised in process_remote_topic INFO [muorb] SLPI: Failsafe activated INFO [muorb] SLPI: Disarmed by failsafe INFO [uORB] Marking DeviceNode(parameter_server_set_value_request) as advertised in process_remote_topic WARN [mavlink] Event dropped (65527, 37) WARN [mavlink] Event dropped (65527, 37) WARN [mavlink] Dropped 28 events (seq=37) WARN [mavlink] Dropped 28 events (seq=37) INFO [muorb] SLPI: Marking DeviceNode(parameter_server_set_value_response) as advertised in process_remote_t INFO [logger] closed logfile, bytes written: 221550
-
@wilkinsaf Okay, that's not very useful. Definitely going to have to figure out a way to make PX4 provide an actual reason. Our ESC guru Alex thinks that the older ESC firmware you have defaults to a different baudrate than we are expecting in SDK 1.0.0 PX4. So he will respond later with the ESC parameter change that will allow them to have the same baudrate.
-
@Eric-Katzfey Thanks Eric.
I imagine we are going to have to connect the ESC to FTDI to laptop. Or is it possible to change this on VOXL2 terminal.
-
I guess Alex will know that. Thanks!
-
@wilkinsaf You should be able to do it directly on VOXL2 with voxl-esc.
-
Based on your description of the problem (when you switch from SDK 0.9 to 1.0.0, the ESCs start responding), it sounds like a mismatch in the UART baud rate in ESC and PX4 params. When going from 0.9 to 1.0.0 we have changed the baud rate for ESCs in PX4 params from 250K to 2M. Accordingly, we have updated the ESC params to 2M as well (ESC firmware and params are part of
voxl-esc
package). However, since you did not perform an ESC firmware / param update, your ESC is still running at 250K baud rate, but the latest PX4 is expecting 2Mbit.From your output of esc scan, this is confirmed:
INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 250000
You have several options:
- Change your PX4 param MODAL_IO_BAUD from 2000000 to 250000 in order to match what your ESC is currently using
- Update the ESC firmware and params while the ESC is connected to VOXL2 (with SDK 1.0.0 installed, which will have the latest
voxl-esc
package with latest firmware and params). Please see this post about updating firmware and params: https://forum.modalai.com/topic/2509/voxl-2-mini-with-mini-4-in-1-esc-no-battery-information/5 . Please note that if you are currently using non-standard ESC params, you will need to make a few updates to them in order to make them compatible with the latest parameter files. If that is the case, let me know, i can help.
Alex
-
Confirmed, changing the MODAL_IO_BAUD to 250000 fixed the problem for me. Thank you so much for the help!