Space vector limitation

uz_3ph_dq_t uz_CurrentControl_SpaceVector_Limitation(uz_3ph_dq_t v_input_Volts, float V_dc_volts, float max_modulation_index, float omega_el_rad_per_sec, uz_3ph_dq_t i_actual_Ampere, bool *ext_clamping)

function to limit the voltages of a give control algorithm

  • v_input_Volts – uz_dq_t struct with the voltages, which shall be limited

  • V_dc_volts – DC-link voltage

  • max_modulation_index – Max possible modulation index for the chosen modulation method. I.e. 1/sqrt(3) for Space-Vector-Modulation. Must be greater than 0.0f

  • omega_el_rad_per_sec – electrical rotational speed in rad/s

  • i_actual_Ampere – uz_dq_t struct for measured dq-currents in Ampere

  • ext_clamping – flag which states, if the SVL is active




Listing 98 Example function call for space vector limitation
 1#include "uz/uz_CurrentControl/uz_space_vector_limitation.h"
 2int main(void) {
 3   float V_dc_volts = 24.0f;
 4   float omega_el_rad_per_sec = 100.0f;
 5   uz_3ph_dq_t i_actual_Ampere = {.d = 1.0f, .q = 2.0f, .zero = 0.0f};
 6   uz_3ph_dq_t v_input_Volts = {.d = 5.0f, .q = 8.0f, .zero = 0.0f};
 7   bool ext_clamping = false;
 8   float max_modulation_index = 1.0f / sqrtf(3.0f);
 9   struct uz_3ph_dq_t output = uz_CurrentControl_SpaceVector_Limitation(v_input_Volts, V_dc_volts, max_modulation_index, omega_el_rad_per_sec, i_actual_Ampere, &ext_clamping);


Limits the input voltages according to the following flowchart. Further information can be found in 1 . This function is already included in the CurrentControl.

\[\begin{split}V_{SV,max} &= V_{DC} \cdot m_{max} \\ V_{SV,abs} &= \sqrt{v_d^2 + v_q^2}\end{split}\]

Figure made with TikZ

Fig. 76 space vector limitation flow chart



Vector Control of Three-Phase AC Machines, Nguyen Phung Quang, Jörg-Andreas Dittrich, Springer, ISBN 978-3-662-46914-9