Advertisement
Guest User

Untitled

a guest
Mar 26th, 2020
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.00 KB | None | 0 0
  1. clear all;
  2. clc;
  3.  
  4. %% a szakasz megadása
  5. T1 = 7;
  6. T2 = 1;
  7. T3 = 0.3;
  8. P = tf(1, conv(conv([T1 1], [T2 1]), [T3 1])) % a szabályozandó szakasz
  9.  
  10. %% PD szabályzó tervezése
  11. N = 9; % szabadon eldönthető tervezési paraméter
  12. Tc = T2 / (N+1); % a második leglassabb pólus kiejtése
  13. Td = N * Tc;
  14. Wpd = 1 + tf([Td 0], [Tc 1]); % a szabályzó (egyelőre legyen az erősítés egységnyi, később beállítjuk a fázistartalékot)
  15. Wo = Wpd * P; % a felnyitott kör
  16. figure(1);
  17. pzmap(Wo); % valóban sikerült a póluskiejtés!
  18. figure(2);
  19. bode(Wo, [1e-2:1e-3:10]); % leolvassuk, mennyi az erősítés -130 foknál: -24.95 dB  --> Ap = 24.95 dB kell
  20. Wpd = 10^(24.95/20) * Wpd % újraszámoljuk az átvitelt a jó erősítéssel
  21. Wo = Wpd * P
  22. figure(3);
  23. margin(Wo); % valóban 50 fok lett a fázistartalék!
  24.  
  25. %% a zárt kör dinamikájának vizsgálata
  26. Wcl = feedback(Wo, 1, -1) % a zárt kör átvitele
  27. figure(4);
  28. step(Wcl); % ugrásválasz (megfigyelhető, hogy van maradó hiba... ennek eltüntetéséhez kellene az I tag)
  29. Wru = feedback(Wpd, P, -1); % alapjel --> beavatkozó jel átviteli függvény
  30. figure(5);
  31. step(Wru); % a beavatkozó jel
  32.  
  33. %% PI szabályzó tervezése
  34. Ti = T1; % a leglassabb pólus kiejtése
  35. Wpi = 1 + tf(1, [Ti 0]); % a szabályzó (egyelőre legyen az erősítés egységnyi, később beállítjuk a fázistartalékot)
  36. Wo = Wpi * P; % a felnyitott kör
  37. figure(6);
  38. pzmap(Wo); % valóban sikerült a póluskiejtés!
  39. figure(7);
  40. bode(Wo, [1e-2:1e-3:10]); % leolvassuk, mennyi az erősítés -130 foknál: -13.55 dB  --> Ap = 13.55 dB kell
  41. Wpi = 10^(13.55/20) * Wpi % újraszámoljuk az átvitelt a jó erősítéssel
  42. Wo = Wpi * P
  43. figure(8);
  44. margin(Wo); % valóban 50 fok lett a fázistartalék!
  45.  
  46. %% a zárt kör dinamikájának vizsgálata
  47. Wcl = feedback(Wo, 1, -1) % a zárt kör átvitele
  48. figure(9);
  49. step(Wcl); % ugrásválasz (az I tag miatt nincs maradó hiba)
  50. Wru = feedback(Wpi, P, -1); % alapjel --> beavatkozó jel átviteli függvény
  51. figure(10);
  52. step(Wru); % a beavatkozó jel
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement