Motor Calibration
-
Good Day,
I am working on calibrating a new motor/prop combo and i am not able to get a good calibration result. I have been following the calibration.md doc and have had success in the past.We are trying to use Tmotor p2306 1900kv with a Gemfan 5.1" tri-blade. We are using a 4-in-1 FPV Racing ESC from Modalai. i have attached the most recent calibration graph. is there a way to get a better start than just trying to find a matching motor file already made? I have preformed a min rpm and max rpm test and input those figures into my param file as well as double check motor KV, pole pairs, start-up rpm and have tried to "massage" the a0, a1, and a2 with varying results. sometimes POW doesn't surpass 48 and RPM's are stuck at 12000, other times we have gotten up to POW: 62 with RPMs close to 16000. Max RPM is close to 23000 and min is around 2800 based on the values and scripts in the https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/calibration.md?ref_type=heads .
any help or advice would be greatly appreciated.
-
Quick tip: if you use
--id 2
during the calibration, the total current will be reported because the ESC ID2 senses the total board current. Note that if you have other load connected to the ESC, like VOXL2, that current will also be included, but it's better than nothing. Generally VOXL2 will consume little power compared to a motor spining a 5-inch propeller at high speed. The current measurement is not used for anything in the calibration, but it is a good sanity check to make sure things are behaving properly.The first plot (commanded motor voltage vs rpm is close to linear, which is a good result).
Do not try to "blindly" change the a0, a1, and a2 parameters, as they are the coefficients of a quadratic curve used for feed-forward component of the RPM controller. It is not possible to just guess it.
Also another tip, if you are running this calibration VOXL2 (as opposed to a PC), if you enable the cpu performance mode (
voxl-set-cpu-mode perf
), it should reduce some delays in running the calibration script and the data should look a bit cleaner (although i don't think it is an issue here).After performing the calibration and updating the calibration esc params file, make sure you are actually uploading that to the ESC using
voxl-esc-upload-params.py
script.Finally, after updating the params, what command are you using to test the ESC?
You can gently test the RPM response using a ramp test, similar to what is described here:
https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/doc/low_kv_motor_tuning.md?ref_type=heads#power-ramp-test , but instead of power ramp, you can do an rpm ramp:./voxl-esc-spin.py --id 2 --rpm 12000 --ramp-time 3.0 --timeout 3.5 --enable-plot 1 --cmd-rate 250
I would be curious to see the plot of that test.
You can vary the rpm target in the test (make it higher) as you become more comfortable with the performance.
The closest param file to what you are testing is probably this one : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-params/FPV_RevB/m0138_xing2_1855_5x4x3.xml?ref_type=heads using Xing2 2207 1855kv with 5.1x4.1x3 tri-blade propeller, but this tuning is for 6S battery -- do not use this param file directly because the a0, a1, a2 params will be wrong (because you are using 4S)
Please double check your results and if it is still not working, i can test your calibration file on my setup with the xing2 motor with a 4S battery.
Alex