The BldcMotor implements the Field-Oriented Control (FOC) algorithm with
support for multiple transforms to drive voltage (such as Sinusoidal and Space
Vector). It supports the following motion control configurations (which can be
changed dynamically):
Note: currently the code has some support for Torque control, but that requires current sense - for which I don't yet have the hardware to support the development of.
The BldcMotor should be configured with a BldcDriver and optional Sensor
(for angle & speed of the motor), and optional CurrentSensor (for measuring
the phase currents of the motor and providing torque control).
The example shows the use of the BldcMotor component to drive a
BLDC motor (such as a tiny gimbal motor) using Field-Oriented Control (FOC) in
both open-loop and closed-loop control schemes for both position and velocity
control.
idf.py add-dependency "espp/bldc_motor^1.0.9"