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#
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.