bitdump / BLHeli

BLHeli for brushless ESC firmware
GNU General Public License v3.0
1.96k stars 1.09k forks source link

Blheli 32 and larger props/motors desyncing #718

Open 2RAWAerials opened 10 months ago

2RAWAerials commented 10 months ago

Blheli32 and bigger motors desyncing -

mid you use any motor above 35xx and 11inch + props they nearly always desync.

Have been carrying out tests on 4214 motors with 11inch props (12s power), also tried 4220 and 12 inch and 13inch props (12s power) - tried multiple different blheli32 esc’s brands and different fcs.

Loads and loads of desyncs - had multiple people reporting the same issues to me.

is this a known thing - is there a solution with settings? Have run multiple tests benching every setting to see how each one affects performance. But the only one that can sometimes control the desyncs if you get lucky is rampup it seems.

Is blheli32 just not cut out for bigger motors and esc’s?

sskaug commented 10 months ago

Motor desyncs are almost exclusively caused by motor coil demagnetization time being too long. When you switch off a winding, it takes time for the current to decay to zero, which is required in order to use BEMF voltage to read rotor position. The higher the current is, the longer it takes to decay. So limiting peak currents is important.

In BLHeli_32, setting low RPM power protection to "on adaptive" is specifically implemented for use with larger motors. When using this, BLHeli_32 will measure the combo of motor kV and battery voltage, and adjust the rampup power curve accordingly.

As you say, reducing rampup power generally reduces the risk of desyncs.

Another important setting is motor timing. Setting it higher, allows for more time for motor coil demagnetization. Often setting it to auto can also work well, as then BLHeli_32 will automatically increase timing when needed.

Demag compensation can also have an effect, generally setting it higher can help reduce the risk of desyncs.

A more "brute force" setting, is max acceleration. Setting it low (generally 1%/ms or lower) will limit current peaks due to acceleration. But setting it too low will of course lead to sluggish performance.

Every motor has its limit, when coil demagnetization time just becomes too long. In such cases reducing voltage and/or prop size may be the only things that help.

2RAWAerials commented 10 months ago

I will try all these settings thank you!

you mention the issue is regarding current decay to zero for the back EMF. But then you suggest lowering voltage could be a fix - would lower voltage not mean even more current into the motor? To reduce current should we not increase voltage and decrease KV.

sskaug commented 10 months ago

Lower voltage means lower current - for the same motor and prop.... If changing both voltage and kV, then many things come into play. Higher voltage and lower kV will reduce current. But at the same time increase motor winding inductance and resistance, which is not good. Not sure about the exact tradeoffs here, but in my experience 4S motors are better behaved than similar size and power 6S motors.

2RAWAerials commented 10 months ago

https://drive.google.com/drive/folders/1NZR42SCidxPxSkJMC2uxYm8RAmy-d4vi?usp=sharing

within the drive i attach a BBlog, and some video examples of the tests we've been carrying out. weve done over 50 tests now with different variations of hardware and settings. We tried all your settings as well as our own.

We have tried now 3 different escs that all run BLheli32

Flycolour 80A tmotor 120A 12s Iflight 120A 12s

We have used 3 different motors

Xing 4315 KO 5215 Xing 3320

We have tried 3 different FC's

Tmotor F7 pro Iflight Blitz pro iflight Blitz

We are using the Gemfan 11x7x3 prop in all the tests.

The voltage is 12s.

The motor will never desync on the bench or in the esc testing apparatus, only when mounted freely on a drone in a pid loop.

Every single test results in a desync, it looks like blheli32 is failing to identify its getting false readings on larger motors.

Let me know if there is anything i can test to help you guys.

sskaug commented 10 months ago

Thank you for testing and reporting. We surely want BLHeli_32 to run well for such setups. I've been trying to source one or more of the motors for testing, but have a hard time finding any of them. Do you have links to where they are available, as well as their specs?

2RAWAerials commented 10 months ago

Yes, I can get you some esc’s and motors sent out, pass me the address you want them shipped too.

sskaug commented 10 months ago

Can you ping us at blheli32 at gmail dot com and we can continue discussion?