Advanced Electric Drives Analysis Control And Modeling Using Matlab Simulink | 2024 |
% Sweep speed from 0 to 2x base speed sim('IPMSM_FluxWeakening.slx'); % Plot voltage magnitude figure; plot(tout, sqrt(vd.^2 + vq.^2)); ylim([0 350]); % See the voltage clamp at 173V (300/sqrt(3)) Implement a Current Reference Generator (CRG) using a lookup table that maps ( T_e^* ) and ( \omega_m ) to ( i_d^ , i_q^ ). Derive this table from the motor's voltage and current limits (the "MTPV" curve). Simulink's Optimization Toolbox can solve for this curve automatically using fmincon . Part 6: Debugging the "Simulation Doesn't Match Reality" You built the model. It works perfectly. The hardware fails. Why?
Using (MathWorks partner) or OPAL-RT , you run your motor/inverter model at 1 µs resolution on a real-time target. You connect your physical controller (the ECU) to this target via cables. % Sweep speed from 0 to 2x base
Replace continuous integrators with Discrete-Time Integrator . Set your sampling time (e.g., ( T_s = 50 \mu s ) for current loop, ( 1 ms ) for speed loop). Add a Zero-Order Hold at the ADC input. Part 6: Debugging the "Simulation Doesn't Match Reality"