Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Matlab 6-problemy z uzyskaniem charakterystyk czasowych Tran

19 Sty 2005 16:54 4621 12
  • Poziom 10  
    Witam. Wykonuje projekt z Podstaw Sterowania Cyfrowego, mam za zadanie przy zadanej transmitancji wykonac charakterystyki, wyprobowac roznego rodzaje regulatorow etc
    I teraz mam problem. a mianowicie napisany przeze mnie kod programu w matlabie daje mi bledne wyniki przy charakterystyce impulsowej i skokowej. Wyglada to dosc dziwnie tak jakby nie dzialala suma....zamieszczam kod


    CHOICE = MENU('projekt', 'log amp', 'log fazy', 'log amp-fazowa','amp-fazowa', 'rzeczywista', 'urojona','impulsowa','skokowa','koniec')
    k=1;
    u=0.4;
    t2=0.1;
    t1=0.2;
    t0=0.5;
    w=0.01:0.01:1000;
    t=0.01:0.01:10;
    h=0.0;
    (...)
    elseif CHOICE==7


    syms s;
    g=(k.*(1+u.*s))./((1+t1.*s).*(1+t0.*t0.*s.*s).*(1+t2.*s));
    ilaplace(g);
    t=0.01:0.01:10;
    h=(-40/29*exp(-5*t)+15/13*exp(-10*t)+85/377*cos(2*t)+875/377*sin(2*t));
    plot(t,h);
    TITLE('charakterystyka impulsowa');
    XLABEL('t');
    YLABEL('Amplituda');
    " i teraz przy takim 'h' rysuje mi jedynie sinusoide!!! taka sama gdy h jest rowne tylko"85/377*cos(2*t)+875/377*sin(2*t));" temu czlonowi...jesli zostawie tylko "h=(-40/29*exp(-5*t)+15/13*exp(-10*t)" to rysuje ladne kombinacje e potencjalnych funkcji...Jako , ze z matlabem stykam sie po raz pierwszy prosze was o pomoc
    Z gory dziekuje za pomoc
  • Pomocny post
    Poziom 12  
    Jeżeli masz dane transmitancje, to nie ma problemu i nie musisz nic kombinować: Zapisz je w postacie L: liniczki transmitancji, M: mianownik:
    step(L,M) - odpowiedź ukłądu na skok (charakterystyka skokowa )
    bode(L,M) - charakterystyki (amplitudowa i fazowa tzw. Bode'go)
    margin(L,M) - ------------------//------- z wyznaczeniem zapasu modułu i fazy
    Nyquist - częśtotliwościowe (Re, Im) itd. Wpisz help ident
    pozdrawiam
  • Poziom 10  
    Dziekuje. Juz zadzialalo. Teraz mam pytanie z innej beczki...na ktore niestety moj prowadzacy projekt nie umie znalezc mi odpowiedzi.... (czyt: w ksiazkach pan znajdzie)...lecz mam z tym spore problemy. Chodzi mi o dobor regulatora do mojego ukladu. Mam wyprobowac rozne typy regulatorow i wybrac najodpowiedniejszy. PRoblem tylko w tym, ze moj uklad na wymuszenie skokowe odpowiada odpowiedzia oscylacyjna!! (po pierwszym okresie zanika wplyw skladowych e potencjalnych i dalej jest juz ladny przebieg sinuosoidalny do nieskonczonosci) Problem w tym, ze wszedzie (w dostepnych mi zrodlach) nastawt regulatory dobiera sie na podstawie charak wykladniczej...(metoda Zieglera Nicholsa, etc) Nigdzie natomiast nie znalazlem jak zabrac sie za to zagadnienie gdy odpowiedzia jest przebieg oscylacyjny:(. BYlbym bardzo wdzieczny za pomoc.
  • Poziom 12  
    hm. Chwila przypomnienia....

    Najłatwiej jest dobrać regulator typu PID na podstawie porównania transmitancji Twojego układu objętego jednostkową pętlą sprzężenia zwrotnego do równania oscylatora. W literaturze opisy występują często, może nie zwórciłeś na to uwagi, lub Twój prowadzący nie nakierował Cię na odpowienią. Mniejsza o większość, bo z chęcią postaram się Ci pomódz: a w razie co zapraszm na moją starą (jeszcze z czasów studiów stronę http:\\www.kali.piasta.pl - tam powinieneś coś znaleść. Ale sprubuję z pamięci:
    Zakladając ukła II rzędu (najczęściej)
    Gosc=(2*ksi*wn*s+wn^2)/(s^2+2*ksi*wn*s+wn^2) - oscylator II rzędu.
    Porównując transmitancję całego układu do równania oscylatora opisującego układ w zależności od współczynnika tłumienia ksi oraz częstotliwości wyprowadzamy wzory na wartości wzmocnień regulatora PD (czyli porównujesz współczynniki przy tej samej potędze s, wyliczasz kp i kd).
    teraz możesz kombinować, czyli zwięszkać lub zmniejszać dobrane współczynniki i obserwować jak i co sie zmienia. Powinieneś wyróżnic 3 podstawowe przypadki:
    1 - za ksi podstawiasz wartość <1 -- oscylacyjny układ
    2 - ------------|| --------------- =1 -- aperiodyczny krytyczny
    3 - -----------|| ------------------>1 -- aperiodyczny.
    Zresztą jak wyznaczysz, to zobaczysz. Powodzenia!
  • Poziom 10  
    Widzisz problem jest troche bardziej skomplikowany:( W tym linku znajdziesz jpg z odpowiedzia ukladu na wymuszenie skokowe.
    http://wiera.250free.com/oscy1.jpg
    Problem polega na tym, ze czlon odpowiedzialny za oscylacje ma charakter 1/( s^2+1)!!! A wiec czlon odpowiedzialny za tlumienie oscylacji jest w nim rowny 0!!! a wiec oscylacje nigdy nie zanikaja...i tutaj pojawia sie wielki problem jak to cos regulowac...a w ogole po co tworzyc taki uklad!
  • Pomocny post
    Poziom 12  
    Nie wiem czy to jeszcze dla Pana aktualne...
    Ale jeżeli tak, proszę mi powiedzieć, jakie pan obiera kryterium jakości dla tego układu. Albowiem, możemy przyjąć kilka wariantów standardowych, lecz dla układów, których odpowiedź jest ustalona (w czasie), jeżeli zaś chodzi o pana układ, to rozumiem iż odpowiedź jest w postaci sinusoidalnej - w związku z tym, powinien Pan rozpatrywać czas osiągnięcia ustalonej odpowiedzi (prawdopodobnie), która powinna być zdefiniowana jako np czas, po którym występuje określona i ustalona amplituda drgań, oraz czas w którym ją osiąga.... Proszę pomyśleć o modelu np idealnego wahadła ...
    Jeżeli poda mi Pan więcej informacji na temat szczegółów badania tego ukłądu, postaram sie wesprzeć Pańskie działania...
    pozdrawiam
  • Poziom 10  
    a ktos mi powie dlaczego tu nie widac opoznienia elementu inercyjnego I rzedu?? :

    function sskok
    s=[0.1:0.01:1]
    t=[0:0.01:1]
    for (i=1:70)
    t1=0.35;
    t2=0.2;
    K1=1;
    T12=(1-exp((-t(i)-t1)/t2)).*s(i);

    num1=[0 0 K1];
    den1=[T12 1];
    step(num1, den1, t);
    end
  • Poziom 19  
    Nie bardzo widzę tu jakieg rodzaju obiekt chcesz zasymulować. Z tego co wiem, funkcję step wykonuje się podając jako parametr model w postaci równań stanu, albo tramsnitancji. Model należy utworzyć przedtem przy pomocy odpowedniej funkcji, np. tak:

    sys=tf(K, [T 1]);

    Polecenie to tworzy obiekt inercyjny I rzędu o nazwie sys; jak widać jako parametr polecenia podaje się najpierw licznik, a następnie mianownik transmitancji. Dla obiektów opisanych transmitancją dyskretną podaje się jako 3. parametr okres próbkowania. Teraz aby uzyskać odpowiedź skokową od czasu zero do 't', należy wprowadzić polecenie:

    step(sys, t);

    Nie wiem czy Ciebie do końca dobrze zrozumiałem i czy o to chodziło - jeśli nie to pisz, można kombinować dalej :).
  • Poziom 10  
    witaj
    chcialbym wiedziec jak sie rysuje charekerysteke czlonu inercyjnego pierwszego rzedu. stała czasowa τ członu inercyjnego pierwszego rzędu wynosi .63, a opóźnienie wynosi 0.15,
    bardzo prosze o pomoc
  • Poziom 19  
    Czołem!

    Jeśli chodzi o dodanie opóźnienia transportowego, to transmitancję definiujesz tak jak napisałem wyżej, ale dodatkowo dodajesz do niej parametr 'inputdelay' (czyli opóźnienie transportowe). Chyba najlepiej będzie to pokazać na przykładzie według podanych przze Ciebie danych:

    >> sys = tf(1, [0.63 1],'inputdelay',0.15)

    Matlab odpowiada wyświetlając transmitancję członu.

    Odpowiedź skokową otrzmasz po wpisaniu:

    >> step(sys)
  • Poziom 10  
    witaj,
    nie chce to mi mi dzialac na tym przykladzie, albo moze zle to pisalem:
    -----------------------------
    function sskok
    s=(0.1:0.1:1);
    t=(0:0.1:1);

    i=10;

    t1=0.35;
    t2=0.2;
    K1=1; %
    T12=1-exp(-(t(i)-(t2-t1))/0.63);

    num1=[0 0 K1];
    den1=[T12 1];

    step(num1, den1, t);

    return

    s=(0.1:0.1:1);
    t=(0:0.1:1);
    for i=1:10
    t1=0.35;
    t2=0.2;

    K1=1; %
    T12(i)=1-exp(-(t(i)-(t2-t1))/0.63);
    num1=[0 0 K1];
    den1=[T12 1];
    end
    step(num1, den1, t);
    -------------------------
    moglbys mi pokazac jak i gdzie to pisac? dzieki i pozdrawiam
  • Poziom 10  
    juz dziala, dziekuje ci bardzo i mam nadzieje ze bede mogl do ciebie pisac w razie potrzeby :)
    pozdrawiam
  • Poziom 10  
    jeszcze jedno :)
    jak sie rysuje wykres COS z opoznieniem- bo step nie za bardzo dziala? tez dla tych samych danych?
    pozdrawiam