I’ve connected to the Orel with the Babel board and I’d like to calibrate it.
I am using UAVCAN GUI Tool to interface with the Babel board.
The motor I’m using is a DJI 2312 E (800 kV) .
I believe the default number of poles of 14 is correct.
My goal is to be able to use “RPMCommand” to spin the motor with approximately the correct RPM.
(Ultimately I will be using this with Pixhawk / QGroundControl but nothing happened when I tried the QGroundControl UAVCAN control)
Is it true that you have PX4 and Babel connected to the CAN bus at the same time? From your description it sounds like they both are connected and they are issuing contradictory commands, which prevent the motors from starting. Please shut down, disconnect, or disable CAN on PX4 and try again. Before trying again, please reset Sapog parameters (those that are related to motor control at least) back to defaults.
Also I just released UAVCAN GUI Tool v0.8, which has this new feature (it supports only raw commands at the moment though):
I did notice that the Jupyter Console seems to have an RPM cutoff that is not present in the in the ESC Management Panel.
With the ESC panel and a broadcast interval of 0.10 s if I raise the first slider halfway “Generated message” shows:
cmd: [5000. 0, 0, 0]
The motor smoothly ramps up to a reasonable constant RPM.
If I then close the ESC Panel and issue the following command in the console:
The Sapog firmware has a safety feature that prevents the motor from starting if the initial setpoint value was above 25%. The safety threshold can be adjusted (or disabled completely) via the configuration parameter “cmd_start_dc”. This is documented here: docs.zubax.com/sapog#ESC_control. If you want to disable this behavior, set “cmd_start_dc” to 1.0 (which means 100%).
The problem is that your message initialization is malformed. The field that carries RPM setpoints is named “rpm”, not “cmd”. It is documented here: uavcan.org/Specification/7._List … rpmcommand
PX4 issues RAWCommand. I recall that there were efforts to implement RPM control on the PX4 side, but I’m not sure what’s the current status of it.