ESC32 technical Glossary of Terms
CLI – Command Line Interface
Command Line Interface, using a serial terminal (putty set on serial) the user can access the CLI using 230400bps. All configuration settings can also be done in the CLI.
There is also a binary protocol for high speed machine to machine communications up to 921600 baud.
Closed Loop RPM Mode
Put simply, the input throttle requests are treated as a linear RPM request (which the controller is responsible for achieving and maintaining) instead of voltage requests. Only the ESC knows the true RPM (and therefore thrust) so it can close the loops and provide exactly what is requested. It can also do it very quickly with a 1KHz control loop.
The ESC utilizes a feed forward augmented PI controller to get you to the requested set point as quickly as possible but still remaining within the set current limit.
Regenerative Braking uses the diodes in the FETs to rectify the flyback voltage to the power rails. Due to the conservation of energy principal, the motor’s kinetic energy is reduced and power is sent back into the main rail. In reality the extra power would mostly go towards speeding up the opposite motor during maneuvering. But still, recycled energy.
To get an idea of the concept, you can take a small BLDC motor and spin the spindle between your fingers. Now short one ore more phase wires and try again.
Virtual Current Limiter
The problem with a lot of hobby ESCs is that they have to be careful of how much current they allow the motor to draw during acceleration events. The amount of current drawn by the motor depends on the motor’s size, RPM and prop load which is not known by the ESC and most do not have a current sensor.
The virtual current limiter will give the user a way to profile the motor and prop being used on the bench. This data can also be looked up from a database that is being compiled of known motor/prop configurations. With this information, the onboard current limiter can pre-calculate how much current a given throttle (voltage) request will take at the current RPM, and if it would result in an over current situation, the implemented throttle request is trimmed to fit under the limit.
As the motor speeds up, the current demand drops even if the requested throttle has not changed so the limit is re-evaluated at 1KHz trying to give the maximum amount of acceleration possible with the given restrictions.
The results are the fastest throttle response possible while staying under the set current limit. Finally, if the profiling parameters have not yet been set, a regular PI controller is used to limit current. It is still better than throttle filtering methods, but not as good as the virtual current limiter as it is a reactionary strategy.