foc_adrc.m 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. % Clear workspace
  2. close all
  3. clear
  4. clc
  5. % Load model parameters
  6. Ts = 5e-7; % [s] Model sampling time (200 KHz)
  7. Ts_ctrl = 6e-5; % [s] Controller sampling time (50us)5e-5
  8. f_speed_ctrl = 500; % [Hz] Speed/torque Controller frequency = (500 Hz)
  9. Ts_Spd_ctl = 1/f_speed_ctrl;
  10. PWM_Cnt = 6000;
  11. PWM_Half_Cnt = PWM_Cnt/2;
  12. Torque_Mode = 1;
  13. Speed_Mode = 2;
  14. Ctrl_Mode = Torque_Mode;
  15. %Simulink provider Motor parameters
  16. n_polePairs = 4; % [-] Number of motor pole pairs
  17. PM = 0.01688; % Permanent magnet flux linkage,
  18. Ld = 0.178e-3; %0.07e-3;% d-axis inductance,
  19. Lq = 0.178e-3; % q-axis inductance,
  20. Rs = 0.011; % Stator resistance,
  21. J = 0.03945; % Moment of inertia,
  22. bandwith = 1000*2*pi;
  23. i_Udc = 96; % DCbus max voltage
  24. lamda1 = -0.000001;
  25. lamda2 = -0.1;
  26. A=[-Rs/Ld 0 -1/Ld 0;0 -Rs/Ld 0 -1/Ld;0 0 0 -200;0 0 200 0];
  27. B=[1/Ld 0; 0 1/Ld;0 0 ;0 0];
  28. C=[1 0 0 0;0 1 0 0];
  29. D=[0 0 0 0;0 0 0 0];
  30. G=place(A', C', [-10 -8 -4 -1])';