Motor issues when running ESC calibration
-
Can you please clarify, what is "burning out" ?
Also, on the FPV ESC, if you run the calibration procedure on esc ID 3, then you will also see the current measurement (on this ESC, there is only a total current measurement available and it is sensed by ID3).
When you are running the calibration using a power supply, is this power supply rated for the maximum current that the motor will draw during the calibration or is the voltage of the power supply reduced due to over current (as motor draws more and more current during calibration)?
Just to note (you probably already saw this), testing using power supply could sometimes lead to ESC failure, see https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/calibration.md#hardware-setup (and specifically https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/doc/regenerative_braking.md). However, i understand that you are facing an issue and in this case it is OK to use a power supply, as long as it is rated for appropriate current for the test. The calibration procedure does not involve large steps, so there should not be regenerative braking spikes.
Can you share the plots that you got during calibration attempts using power supply and battery? similar to these:
https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/calibration.md#sample-calibration-resultsIf you are going to run this again, in order to avoid burning out (i assume motor), you can limit the
--pwm-max
to 50 or 55 to avoid any further issue so we can at least look at the plots that include current (and change the ESC id to 3 so we get current measurements -- make sure to install the propeller on ID3 instead):./voxl-esc-calibrate.py --id 3 --pwm-min 10 --pwm-max 50
also, what propeller are you using?
-
@Alex-Kushleyev said in Motor issues when running ESC calibration:
Can you please clarify, what is "burning out" ?
Also, on the FPV ESC, if you run the calibration procedure on esc ID 3, then you will also see the current measurement (on this ESC, there is only a total current measurement available and it is sensed by ID3).
When you are running the calibration using a power supply, is this power supply rated for the maximum current that the motor will draw during the calibration or is the voltage of the power supply reduced due to over current (as motor draws more and more current during calibration)?
Just to note (you probably already saw this), testing using power supply could sometimes lead to ESC failure, see https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/calibration.md#hardware-setup (and specifically https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/doc/regenerative_braking.md). However, i understand that you are facing an issue and in this case it is OK to use a power supply, as long as it is rated for appropriate current for the test. The calibration procedure does not involve large steps, so there should not be regenerative braking spikes.
Can you share the plots that you got during calibration attempts using power supply and battery? similar to these:
https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/calibration.md#sample-calibration-resultsIf you are going to run this again, in order to avoid burning out (i assume motor), you can limit the --pwm-max to 50 or 55 to avoid any further issue so we can at least look at the plots that include current (and change the ESC id to 3 so we get current measurements -- make sure to install the propeller on ID3 instead):
./voxl-esc-calibrate.py --id 3 --pwm-min 10 --pwm-max 50
also, what propeller are you using?Hello again Alex, I will help answer, Alex is on my team.
Can you please clarify, what is "burning out" ?
The motor smokes and turns black within a few seconds while on battery pwr. fails to function smoothlyAlso, on the FPV ESC, if you run the calibration procedure on esc ID 3, then you will also see the current measurement (on this ESC, there is only a total current measurement available and it is sensed by ID3).
thank you
When you are running the calibration using a power supply, is this power supply rated for the maximum current that the motor will draw during the calibration or is the voltage of the power supply reduced due to over current (as motor draws more and more current during calibration)?
Wall supply is 12V 3amp, just using for spin test, Battery is a 4S LiPo 60C 120C burst) Only doing motor calibration with Battery Power
Just to note (you probably already saw this), testing using power supply could sometimes lead to ESC failure, see https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/calibration.md#hardware-setup (and specifically https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/doc/regenerative_braking.md). However, i understand that you are facing an issue and in this case it is OK to use a power supply, as long as it is rated for appropriate current for the test. The calibration procedure does not involve large steps, so there should not be regenerative braking spikes.
Motor does not sound smooth, lots of friction at all pwr levels when on ANY 4S battery. Motors operate as smooth as can be on wall power.
Can you share the plots that you got during calibration attempts using power supply and battery? similar to these:
https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/calibration.md#sample-calibration-resultsIf you are going to run this again, in order to avoid burning out (i assume motor), you can limit the --pwm-max to 50 or 55 to avoid any further issue so we can at least look at the plots that include current (and change the ESC id to 3 so we get current measurements -- make sure to install the propeller on ID3 instead):
./voxl-esc-calibrate.py --id 3 --pwm-min 10 --pwm-max 50
also, what propeller are you using?thank you for this Alex. We will be ready to make any changes today. This is a priority
-
@Alex-Kushleyev Good morning Alex,
The plot before the motor burned was as follows:
Quadratic fit: motor_voltage = a2rpm_desired^2 + a1rpm_desired + a0
pwm_vs_rpm_curve_a0 = 5.03240880692
pwm_vs_rpm_curve_a1 = 5.75204182026
pwm_vs_rpm_curve_a2 = -0.000365638113773We stopped testing for other motors because of the issues faced which is why there's only 1 instead of 4.
Also we changed the params/tune used by the motors to more closely correspond to the T-motor F2203.5 and zeroed out the kp and ki params based off of this response: https://forum.modalai.com/topic/3179/seeking-assistance-with-motor-heating-and-burnt-smell-issue-on-new-drone
-
@Alexander-Saunders and @rdjarvis ,
the wall supply that can provide 3A is absolutely not enough to perform any motor testing, especially calibration. What happens if you try to do it, the wall supply will quickly reach its 3A limit and start decreasing output voltage, so the ESC cannot draw required power, so the calibration is useless (for lack of a better word). If you look at the voltage during the calibration stage, you will most likely see the voltage going into ESC will start dropping as soon as the power level will reach certain point at which the motor draws around 3A.
@Alexander-Saunders , i did not see the plot in your previous post - did you intend to attach an image of the plot?
Also, please provide a few more details to help me undrestand (i do have tmotor F2203.5 motor, so i can help you):
- what propeller are you using?
- what is the kV value of F2203.5 motor?
What could happen is that your propeller is too large for your motor or there are some tweaks we need to do to improve the ESC performance, which I can help with, but i need to know more details (above) and if you have any output from the terminal when the tests were running (it prints voltage, current, esc temperature, esc rpm, etc)
-
@Alex-Kushleyev Thank you for the fast reply!
T-Motor 2203.5 2850KV
3in 3052 Gemfan propOnly used wall supply for spin test, not calibration.
-
The values I sent was the output. I did not send the visual plot of the feed curve because we turned our attention to debugging why the motor was not behaving as inspected. We are ssh into the voxl when running the test. I haven't done the steps of moving calibration_results.html to plot yet.
-
@Alexander-Saunders , you just use adb or ssh to get the results html to your PC and open the html with any browser, it will show you the plot.
The results a0, a1, a2 tell very little information because it is just a data fit, it does not show underlying data points.
-
We cannot find the calibration_results.html.
We tried find / -type f -name "calibration_results.html"
and
locate calibration_results.html
find / -type f -name "*.html"No luck. Any suggestions on what directory the file would be in?
-
Using the script from this post: https://forum.modalai.com/topic/2522/esc-calibration I plugged in the one calibration test we ran before trying to troubleshoot the motor issues.
-
@Alexander-Saunders , like i said the plot does not tells us anything because it does not show the original data where something went wrong. also the plot i am looking for would be something like this:
If you are not seeing the calibration xml, then you probably used older version of the voxl-esc utils, you can get latest here
https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/
and showing where the html is saved:
https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/voxl-esc-calibrate.py?ref_type=heads#L275Do you have any data still available in the terminal where you ran the calibration, it would print the information received from the ESC (before the calibration is calculated)
-
@Alex-Kushleyev We do not have the data available.
-
@Alex-Kushleyev We have this:
INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 250000
ID : 0
Board : version 42: ModalAi 4-in-1 ESC (M0138-1)
UID : 0x20333038524657120030001F
Firmware : version 39, hash e4f576a0
Bootloader : version 184, hash e1c038deID : 1 Board : version 42: ModalAi 4-in-1 ESC (M0138-1) UID : 0x20333038524657120054002A Firmware : version 39, hash e4f576a0 Bootloader : version 184, hash e1c038de ID : 2 Board : version 42: ModalAi 4-in-1 ESC (M0138-1) UID : 0x203330385246571200360037 Firmware : version 39, hash e4f576a0 Bootloader : version 184, hash e1c038de ID : 3 Board : version 42: ModalAi 4-in-1 ESC (M0138-1) UID : 0x203330385246571200300020 Firmware : version 39, hash e4f576a0 Bootloader : version 184, hash e1c038de
-
@rdjarvis , ok that is fine.
What params do you currently have installed on the ESC? if you can share those, i can double check them.
After i confirm the params, i suggest using a new working motor and run the calibration with limited maximum power of 40 or 50 and see what the plots look like (low enough max power to avoid burn up).
Once we verify / fix any issues, we can run the calibration to higher power.
Please get the latest voxl-esc tools on your VOXL2 from : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/dev
-
@Alex-Kushleyev /old/esc_params_modalai_4_in_1_revb_mn1804_2400kv_gemfan5040.xml
-
To add to Ryan response for params, we have the value of zero for the params kp and ki.
-
@Alexander-Saunders , OK, thanks, i don't see anything particularly wrong with using those params (even though the are from the old folder). I will do a test using these params and another similar motor just to check this.
I checked i only have the 1500kV version of your motor (i thought i had 2850, but cannot locate it at the moment). If i had the exact motor, i could test it. I will look again.
I just realized that the calibration script in the current state will not correctly show the total current on M0138 ESC (will show just zero). I need to make a small change to fix that.
one test that is similar to the calibration, but will show the current is the following:
./voxl-esc-spin.py --id 3 --power 40 --ramp-time 2.0 --timeout 2.5 --enable-plot 1 --cmd-rate 250
This will spin id3 3 from 10 to 40 % power, it will take 2 seconds to ramp up the power and the test will end in 2.5 seconds and generate the plot (save to disk, same folder as the script).
40% power should be safe to start, if you can run that test with a working motor, i can take a look at the plot (html) -- you can send a screen shot of the html after you view it in your browser.
If the plot looks good, we can increase the maximum power in the ramp (gradually) and see how the motor performs. Please use the battery. If you see any abnormal behavior or unreasonably large current (in this test should definitely be less than 10A), you can terminate the test even faster using control-c.
-
@Alex-Kushleyev Thank you! We will test and get back to you.
-
@rdjarvis I am sorry, i made a mistake, the FPV ESC (M0138) has total current sensing on ID2, so please use the following command:
./voxl-esc-spin.py --id 2 --power 40 --ramp-time 2.0 --timeout 2.5 --enable-plot 1 --cmd-rate 250
meanwhile, i will fix the calibration script to also use the total board current for the plots. The current is not used in the actual calibration procedure, but it is good for checking to make sure things look ok and there are no glitches.
Since you are using VOXL2, however, the total current will also include the VOXL2 current, which will mean the plot of current won't be as smooth.
Alex
-
The change was pretty easy, i enabled the board current to be used as ESC current for the calibration plot purposes. the change is on
dev
branch ofvoxl-esc
: (commit) . so you can use that latest code for testing. -
@Alex-Kushleyev wonderful, thank you, as always!
We will get to this as soon as we can for testing. Looking forward to the results.
RDJ