Control and dsp algorithms for owntech converters
This library has been integrated and tested on TWIST converters using SPIN controller.
The integration is based on the dedicated OwnTech Power API.
Remarks: The library is currently not optimized to make it easier to read (we hope).
The library provides the following functionalities mainly through C++ objects.
Controllers provided are:
Pid()
: Standard form of the PID regulator.Pr()
: Proportional Resonant regulator.Rst()
: Discrete form of Polynomial regulator.Pid()
, Pr()
and Rst()
inherit from the Controller()
class which define the same interface.
PllSinus()
: Software PLL (Phased Lock Loop)LowPassFirstOrdreFilter()
, NotchFilter()
It provides also three phase system transformation through a static
class : Transform
from transform.h
header.
Idqo = Transform::to_dqo(Iabc, angle);
Iabc = Transofrm::to_abc(Idqo, angle);
Iabo = Transform::clarke(Iabc);
Iabc = Transform::clarke_inverse(Iabo);
Idqo = Transform::rotation_to_dqo(Iabo, angle)
Iabo = Transform::rotation_to_clarke(Idqo, angle)
It includes also types:
threephase_t
dqo_t
clarke_t
We describe here the process to use it with the Power API which has been designed to use PlatformIO.
The installation here recall the procedure of using a library in PlatformIO.
To use the library, you need to add the line above in the platformio.ini
file.
lib_deps=
control_lib = https://github.com/owntech-foundation/control_library.git
You can find various examples in the OwnTech examples library
Links which inspired this work:
Thanks to the OwnTech contributors: