Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.96 KB | None | 0 0
  1. clear all
  2. clc
  3.  
  4. %PARAMETRY UKŁADU
  5. s=tf('s');
  6. R1=2.03421;
  7. H1=11;
  8. c1=3.3665;
  9. a2=1.86737;
  10. b2=12.1383;
  11. H2=17;
  12. c2=1.94365;
  13. q=[0:0.001:8.3];
  14. h2=(q/c2).^2;
  15.  
  16. %PUNKT PRACY I STAŁE CZASOWE
  17. h20=8.5;
  18. q0=5.66666425;
  19. h10=2.83333426;
  20. k=3;
  21. T1=13;
  22. T2=17;
  23. T3=0.1*T1;
  24.  
  25. %TRANSMITANCJE
  26. t= 0:0.01:500;
  27. Ko=k/(T1*s+1)/(T2*s+1)/(s*T3+1); %transmitancja ukladu zlinearyzowanego otwartego z czlonem wykonawczym
  28.  
  29. %REGULATOR P
  30. %
  31. % mi = 2;
  32. % osc_deg = 0;
  33. % kr = 0;
  34. % eps = 0.0001;
  35. %
  36. %
  37. % while (osc_deg < mi)
  38. % poles = rlocus(Ko, kr);
  39. % osc_deg = max(abs(imag(poles)./real(poles)));
  40. % kr = kr + eps;
  41. % end
  42. % kr
  43. % K=kr*Ko;
  44. % Kz=K/(1+K);
  45. % step(Kz)
  46. % hold on
  47. % [ampli,fazy]=margin(Kz)
  48. % y=step(t,Kz);
  49. % stepinfo(Kz)
  50.  
  51. %regulator PD
  52. % mi = 2;
  53. % osc_deg = 0;
  54. % kr = 0;
  55. % eps = 0.001;
  56. % beta=0.1;
  57. % KrPD=(1+s*T1)/(1+s*T3*beta); %zmieniamy stałe czasowe, przy becie zostawiamy
  58. %
  59. %
  60. % while (osc_deg < mi)
  61. % poles = rlocus(KrPD*Ko, kr);
  62. % osc_deg = max(abs(imag(poles)./real(poles)));
  63. % kr = kr + eps;
  64. % end
  65. %
  66. % kr
  67. % Kz=kr*KrPD*Ko/(kr*KrPD*Ko+1);
  68. %
  69. % [amplituda,faza] = margin(kr*KrPD*Ko)
  70. % stepinfo(Kz)
  71. % step(Kz)
  72. % hold on
  73.  
  74. %regulator PI %
  75. % mi = 1;
  76. % osc_deg = 0;
  77. % kr = 0;
  78. % eps = 0.001;
  79. % beta=0.02;
  80. % Tc=T1; % w zależności od potrzeby zamieniamy to na T2, T3, T1
  81. % Dobrać w taki sposób aby skrócić z jednym z czynników mianownika transmitancji
  82. % KrPI=(1+s*Tc)/s; %zmieniamy stałe czasowe, przy becie zostawiamy
  83. %
  84. % while (osc_deg < mi)
  85. % poles = rlocus(KrPI*Ko, kr);
  86. % osc_deg = max(abs(imag(poles)./real(poles)));
  87. % kr = kr + eps;
  88. % end
  89. %
  90. % kr
  91. % Kz=kr*KrPI*Ko/(kr*KrPI*Ko+1);
  92.  
  93. % [amplituda,faza] = margin(kr*KrPI*Ko)
  94. % stepinfo(Kz)
  95. % step(Kz)
  96. % hold on
  97. % T2
  98. % Tc=T2; % w zależności od potrzeby zamieniamy to na T2, T3, T1
  99. % Dobrać w taki sposób aby skrócić z jednym z czynników mianownika transmitancji
  100. % KrPI=(1+s*Tc)/s; %zmieniamy stałe czasowe, przy becie zostawiamy
  101. %
  102. %
  103. % while (osc_deg < mi)
  104. % poles = rlocus(KrPI*Ko, kr);
  105. % osc_deg = max(abs(imag(poles)./real(poles)));
  106. % kr = kr + eps;
  107. % end
  108. %
  109. % kr
  110. % Kz=kr*KrPI*Ko/(kr*KrPI*Ko+1);
  111. %
  112. % % [amplituda,faza] = margin(kr*KrPI*Ko)
  113. % % stepinfo(Kz)
  114. % % step(Kz)
  115. % % hold on
  116. %
  117. % Tc=T3; % w zależności od potrzeby zamieniamy to na T2, T3, T1
  118. % % Dobrać w taki sposób aby skrócić z jednym z czynników mianownika transmitancji
  119. % KrPI=(1+s*Tc)/s; %zmieniamy stałe czasowe, przy becie zostawiamy
  120. %
  121. %
  122. % while (osc_deg < mi)
  123. % poles = rlocus(KrPI*Ko, kr);
  124. % osc_deg = max(abs(imag(poles)./real(poles)));
  125. % kr = kr + eps;
  126. % end
  127. %
  128. % kr
  129. % Kz=kr*KrPI*Ko/(kr*KrPI*Ko+1);
  130. % %
  131. % % [amplituda,faza] = margin(kr*KrPI*Ko)
  132. % % stepinfo(Kz)
  133. % % step(Kz)
  134. % hold on
  135.  
  136. %regulator PID
  137. %mi = 2;
  138. %osc_deg = 0;
  139. %kr = 0;
  140. %eps = 0.0001;
  141. %beta=0.1;
  142. %KrPID=(1+s*T3)*(1+s*T1)/(s*(1+s*beta*T3)); %zmieniamy stałe czasowe, przy becie zostawiamy
  143.  
  144. %while (osc_deg < mi)
  145. %poles = rlocus(Ko*KrPID, kr);
  146. %osc_deg = max(abs(imag(poles)./real(poles)));
  147. %kr = kr + eps;
  148. %end
  149.  
  150. %kr
  151. %Kz=kr*KrPID*Ko/(kr*KrPID*Ko+1);
  152. %rlocus(Ko*KrPID)
  153.  
  154.  
  155. %step(t,Kz)
  156. %[zapasamplitudy,zapasfazy]=margin(kr*KrPID*Ko)
  157. %stepinfo(Kz)
  158. %hold on
  159.  
  160. %poles = rlocus(Ko*KrPID, kr);
  161. %osc_deg = max(abs(imag(poles)./real(poles)));
  162. %osc_deg
  163. %ststab=(-1)*min(real(poles))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement