Static nonlinear decoupling#

uz_3ph_dq_t uz_CurrentControl_static_nonlinear_decoupling(uz_3ph_dq_t flux_approx, float omega_el_rad_per_sec)#

function to calculate static_nonlinear decoupling values for d- and q-axis

Parameters:
  • omega_el_rad_per_sec – electrical rotational speed in rad/s

  • flux_approx – uz_dq_t struct with the approximated flux linkages

Returns:

uz_dq_t outputs latest values

Example#

Listing 101 Example function call for static nonlinear decoupling.#
1#include "uz/uz_CurrentControl/uz_static_nonlinear_decoupling.h"
2int main(void) {
3   float omega_el_rad_per_sec = 100.0f;
4   struct uz_3ph_dq_t flux_approx_real = {.d = 0.016f, .q = 0.010f, .zero = 0.0f};
5   struct uz_3ph_dq_t output = uz_CurrentControl_static_nonlinear_decoupling(flux_approx_real, omega_el_rad_per_sec);
6}

Description#

Calculates the values for a static nonlinear decoupling according to the following formulars:

\[\begin{split}v_{d,decoup} &= -\omega_{el} \cdot \psi_q\\ v_{q,decoup} &= \omega_{el} \cdot \psi_d\end{split}\]

This function is already included in the CurrentControl, but it can be used independently for any other purpose.