I’ve installed my first ESC with AM32 - It’s a Skystars KM55A.
The quad with this ESC shakes violently when running the motors up in Stabilize mode without the props. I’m using BDshot on this ESC with a Cube Orange and T-Motor 2216 Motors.
I have an almost identical quad using a T-Motor ESC with BLHeli32, Holybro 6C Mini, and SunnySky 2213 motors. This quad behaves normally when running up the motors in Stabilize without the props. No vibration or shaking.
During motor test the esc’s are just commanded to a fixed value.
During stabilize the FC tries to control the Drone by varaiation of the thrust of the motors. But this cannot work without props. On increasing power the FC assumes some reaction which is not coming as the logical back loop is brocken.
On this drone with the AM32 ESC, I did put the props on and armed the quad in Stabilize on the ground. The vibration was too severe to apply enough power to lift off.
On my first build with this frame where I’m using a BLHeli_32 ESC, the vibes were really low on this test mapping mission.
And really - since the Motor Test doesn’t cause any vibration when the motors are run up, but using Stabilize does cause vibration - I get the feeling that there’s something about how the ArduPilot firmware is talking to the ESC firmware.
I have a spare Holybro Pixhawk 6C Mini - I can easily start by swapping out the Cube Orange for that.
I decided to try a few things on the ESC to see if I could get any improvements.
I downgraded the firmware one release - no change.
I then enabled Sinusoidal Commutation - both for the old release and the current release. The problem with Sinusoidal Commutation is much worse - and starts at a very low RPM.
I spent some time turning on and off options on the AM32 Configurator and I think I found the culprit. There’s an option called “Complementary PWM”.
As I read the notes, it’s something designed to improve motor efficiency - but perhaps my ESC doesn’t support it. So by turning that option off - it works now.
It appears to to do something to eliminate the prop-off on the bench oscillation but this feature is generally desirable for a multi-rotor as I understand it. Peter Smith the AM32 developer likened it to BLHeli damped light. You would want to disable it for a Plane or some RC Car/Truck applications. AM32 was originally developed for ground vehicles.
I expect most people using AM32 are using it because BLHeli_32 support has stopped.
So when I configured AM32, I modeled my setting after BLHeli_32 - which I can see now doesn’t quite work.
An interesting example is Sinusoidal Commutation. AM32 notes that this is for ground vehicles when they get stuck - and as such only works at low rpm.
One other thing I’ve just discovered when digging through logs regarding my apparent ESC failure due to high temperature. Looking at my logs from copters with BLHeli_32 ESC’s, the only data being reported from the ESC is RPM. My guess is to get the other data you have to use the telemetry port on the ESC.
AM32 on the other hand reports: RPM, RawRPM, Volt, Curr, Temp, and Err. At least on my Skystars ESC running the latest stable release of AM32.
Correct. The worst part about lack of support for BlHeli32 is a known bug in a recent release that could cause inadvertent spin up of motors upon power application in some rare instances. The latest release supposedly fixed that, but unless you were quick to update before all support disappeared, there’s a good chance that existing BlHeli32 ESCs contain that bug.
I’ve found AM32 to be a pretty good drop-in replacement, but it’s not without issues, as you’ve found, and I hope time and further development will improve the user experience and function of these ESCs.