Advertisement
Guest User

Untitled

a guest
Jan 27th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scilab 5.34 KB | None | 0 0
  1. //stałe
  2. m       =       1396; // masa pojazdu [kg]
  3. C_x     =       0.31; // współczynnik oporu powietrza [-]
  4. ro      =       1.226; // gęstość powietrza [kg/m^3]
  5. S       =       2.07; // powierzchnia czołowa pojazdu [m^2]
  6. r       =       0.32; // promień koła [m]
  7. eta_m   =       0.9; // sprawność mechaniczna układu napędowego
  8. i_c     =       3.11; // całkowite przełożenie napędu na 5-tym biegu
  9. g       =       9.81; // wartość przyspieszenia ziemskiego
  10. Msmax   =       170; // maksymalny moment obrotowy silnika
  11. Fnapmax =       1487; // maksymalna siła napędowa na 5-tym biegu
  12.  
  13. //zmienne
  14. alpha1                       =   0.05; // wartość tan(alfa) - do obliczania oporów wzniesienia
  15. skok                        =   40; // czas, w ktorym nastepuje nastawienie predkosci przez kierowce (zmiana predkosci)
  16. Tpow  = 90; // czas, w ktorym nastepuje poczatek podjazdu pod wzniesienie
  17. Tkow    = 110; // czas, w ktorym nastepuje koniec podjazdu pod wzniesienie
  18. T                           = 2; // stała czasowa
  19.  
  20. //wielkosci zmienne (pomocnicze) do ustawienia blokow "To workspace"
  21. //dV        prędkość uzyskana przez pojazd
  22. //Vzad      prędkość zadana przez kierowcę
  23. //dFopp     suma oporów dzialajacych na pojazd
  24. //dFnap     siła napędowa uzyskiwana przez pojazd
  25. //d_a       przyspieszenie pojazdu
  26. //PI_out    wyjście z regulatora
  27.  
  28. // wartość początkowa całki = wartość początkowa prędkości samochodu
  29. Vo=90; // prędkość w km/h
  30. Voms=Vo/3.6; // prędkość początkowa zamieniona na [m/s] - tą wartość wstawiamy do całki
  31.  
  32. // wartość prędkości nastawiona przez kierowcę w [km/h]
  33. Vonast=140;
  34.  
  35. // parametry regulatora PI
  36. Kp=0.08 // wzmocenienie proporcjonalne
  37. Ki=0.00053 // wzmocnienie całkowe
  38.  
  39. //obliczenia parametrów
  40. Fnap=(Msmax*i_c*eta_m)/r; // maksymalna siła napędowa na 5-tym biegu
  41. Kopp=C_x*(ro/2)*S; // pomocnicze obliczenia dla oporów powietrza, dodatkowo do wzoru dochodzi pomnożenie przez V^2 (prędkość), które jest uwzględnione na schemacie
  42.  
  43. //parametry symulacji
  44. model='C:\Users\kuczw\OneDrive\PWSZ\automatyka\projekt\schemat w scilabie 5.52 - z blokami to workspace.zcos' // nazwa pliku z rozszerzeniem .zcos
  45. czas=300; // czas symulacji
  46. loadXcosLibs();
  47. importXcosDiagram(model);
  48. scs_m.props.tf=czas;
  49. Info=list();
  50. bufor=10000;
  51.  
  52. //symulacja
  53. Info=scicos_simulate(scs_m, Info);
  54.  
  55.  
  56. //przebiegi wielkości wyjściowych
  57.  
  58. //przebieg prędkosci zadanej oraz prędkosci uzyskanej przez pojazd
  59.     xname("Przebiegi wyjściowe symulacji")
  60.     subplot(2,2,1)
  61.     xgrid();
  62.     f=get("current_figure") //get the handle of the current figure :
  63.     f.background=8;
  64.     title("Przebieg prędkości zadanej przez kierowcę oraz prędkości rzeczywistej", "fontsize", 4);
  65.     xlabel("Czas [s]", "fontsize", 3); ylabel("Prędkość [km/h]","fontsize", 3);
  66.     plot(dV.time,dV.values,'red',Vzad.time,Vzad.values,'green');
  67.     legend(['Prędkość uzyskana', 'Prędkość zadana'], 4);
  68.     a=gca();
  69.     a.children // list the children of the axes : here it is an Compound child composed of 2 entities
  70.     poly1= a.children.children(1); //store polyline handle into poly1
  71.     poly2= a.children.children(2);
  72.     poly1.thickness = 2;  // ...and the tickness of a curve.
  73.     poly2.thickness = 2;
  74.  
  75. //przebieg siły napędowej uzyskiwanej przez pojazd oraz siły oporów działających na pojazd
  76.     subplot(2,2,2)
  77.     xgrid();
  78.     f=get("current_figure") //get the handle of the current figure :
  79.     f.background=8;
  80.     title("Przebieg siły napędowej pojazdu oraz sumy oporów działających na pojazd", "fontsize", 4);
  81.     xlabel("Czas [s]", "fontsize", 3); ylabel("Siła [Nm]","fontsize", 3);
  82.     plot(dFopp.time,dFopp.values,'red',dFnap.time,dFnap.values,'green');
  83.     legend(['Siła oporów powietrza', 'Siła napędowa'], 4);
  84.     a=gca();
  85.     a.children // list the children of the axes : here it is an Compound child composed of 2 entities
  86.     poly1= a.children.children(1); //store polyline handle into poly1
  87.     poly2= a.children.children(2);
  88.     poly1.thickness = 2;  // ...and the tickness of a curve.
  89.     poly2.thickness = 2;
  90.    
  91.     //przebieg przyspieszenia uzyskanego przez pojazd
  92.     subplot(2,2,3)
  93.     xgrid();
  94.     f=get("current_figure") //get the handle of the current figure :
  95.     f.background=8;
  96.     title("Przebieg przyspieszenia uzyskanego przez pojazd", "fontsize", 4);
  97.     xlabel("Czas [s]", "fontsize", 3); ylabel("Przyspieszenie [m/s^2]","fontsize", 3);
  98.     plot(d_a.time,d_a.values,'red');
  99.     legend(['Przyspieszenie pojazdu'], 4);
  100.     a=gca();
  101.     a.children // list the children of the axes : here it is an Compound child composed of 2 entities
  102.     poly1= a.children.children(1); //store polyline handle into poly1
  103.     poly1.thickness = 2;
  104.    
  105.     //Wyjście z regulatora
  106.     subplot(2,2,4)
  107.     xgrid();
  108.     f=get("current_figure") //get the handle of the current figure :
  109.     f.background=8;
  110.     title("Przebieg wielkosci sterujacej z regulatora", "fontsize", 4);
  111.     xlabel("Czas [s]", "fontsize", 3); ylabel("Wartosc [-]","fontsize", 3);
  112.     plot(PI_out.time,PI_out.values,'red');
  113.     legend(['Wielkosc sterujaca'], 4);
  114.     a=gca();
  115.     a.children // list the children of the axes : here it is an Compound child composed of 2 entities
  116.     poly1= a.children.children(1); //store polyline handle into poly1
  117.     poly1.thickness = 2;  // ...and the tickness of a curve.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement