logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Matlab + PSpice Schematics = falownik nadążny

august_ 01 Lut 2007 17:04 2914 4
  • #1 3515572
    august_
    Poziom 27  
    Witam serdecznie.
    Mam do wykonania symulację falownika nadążnego w PSpice, z tym, że układ sterujący ma być wykonany w matlabie i sprzęgnięty ze schematiksem.

    Symulacja w PSpice działa mi jak należy.
    Program w matlabie też już napisałem - program zwraca mi 0 bądź 1 w zależności którą parę kluczy ma załączyć.

    I teraz jak to połączyć?
    Chcę zastąpić układ sterujący w schematiksie - programem z matlaba - czyli wstawić do schematiksa skrzyneczkę, która będzie mi realizować funkcję z matlaba.
    Szukam jakiegoś SLPS, bo takie hasło zasłyszałem, ale nic konkretnego nie udało mi się znaleźć prócz ulotek oraz że jest to możliwe.

    Bardzo proszę o wszelką pomoc, dziękuję.
    Michał Augustyniak


    Tu jest schemat falownika nadążnego ze sterowaniem:
    Matlab + PSpice Schematics = falownik nadążny

    A tu jest kod programu w matlabie:

    
    format short
    clc
    clear
    
    %warunki początkowe
    
    krok=0.1                                    %krok obliczeń
    histerezah=0.5                              %górna wartość histerezy
    histerezal=-0.5                             %dolna wartość histerezy
    uodbiornika=0                               %wartość napięcia pobrana z odbiornika
    uzadane=0                                   %zadana wartość napięcia
    wyjscie=0                                   %stan logiczny na wyjściu (sterowanie kluczami)
    
    x=0                                         %wyzerowanie wartości początkowej
    
    %początek pętli obliczeniowej
    
    while x<=360
    
    uzadane=0               %sin(x)           %zadana wartość napięcia
    uodbiornika=sin(x)                          %TU MA BYĆ WARTOŚĆ POBRANA Z PSPICE!!!
    
    if(uodbiornika>=uzadane+histerezah)         %czy wartość zmierzona jest większa bądź równa od wzorcowej?
        wyjscie=0                               %jeśli tak - podaj zero na wyjście
    else                                        
        if(uodbiornika<=uzadane+histerezal)     %jeśli nie - sprawdź czy jest mniejsza bądź równa
            wyjscie=1                           %jeśli jest mniejsza bądź równa - podaj jedynkę na wyjście
        else            
            wyjscie=wyjscie                     %jeśli żaden z powyższych, a więc zawiera się w histerezie
        end                                     %to pozostaw wyjście bez zmian
    end
    
    x=x+krok                                    %zwiekszenie kroku dla nastepnego pomiaru
    
    end
    
  • Pomocny post
    #2 3516102
    dex
    Poziom 27  
    jak nie wiem.. ale wogóle dla mnie to jest bez sensu zadanie-pomieszanie z poplątaniem. Wszystko można zrobić w samym Matlabie a właściwie w Simulinku, są nawet odpowiednie bloki do tego, zarówno "na piechote" jak i z gotowych elementów. Tak samo można pofatygować się w samym pspice. No chyba że w zadaniu chodzi konkretnie o to sprzęgnięcie..

    Wydaje mi się ze ten program należało by zdefiniować jako funkcje, i to wyeksportować w taki sposób w jaki przyjmuje to ten schematics.A moze subsystem simulinkowy. Ciort wie co to za schematics, raczej jakiś "biedny" jak przyjmuje sterowanie górnymi kluczami w taki sposób.
  • #3 3518235
    august_
    Poziom 27  
    Dziękuję za podpowiedź.
    Chyba zmierzam do celu - układ sterowania wykonałem w simulinku, a dzięki takiemu zjawisku jak slps - można do simulinka wstawić schemat z pspice... powinno się dać.
  • Pomocny post
    #4 3528273
    megao
    Poziom 24  
    Jeśli do PSpice'a da się podpiąć dll-a, to proponuję w Simulinku stworzyć S-Funkcję. Można wtedy napisać program w C/C++ i po kompilacji dostaniemy bibliotekę dll.
  • #5 3530838
    august_
    Poziom 27  
    megao napisał:
    Jeśli do PSpice'a da się podpiąć dll-a, to proponuję w Simulinku stworzyć S-Funkcję. Można wtedy napisać program w C/C++ i po kompilacji dostaniemy bibliotekę dll.


    Zrobiłem to troszkę inaczej, ale na tej samej zasadzie.
    Jak wspomniałem wcześniej - jest coś takiego jak slps - w skrócie: Jest to bloczek, który ma wejście i wyjście. Do tego bloczka wciągamy schemat z orcada, zaznaczamy, które napięcia to wyjściowe i wejściowe - i dobudowujemy pozostałe bloczki w matlabie.
    Oczywiście tak prosto nie jest - trzeba posiedzieć, ale da się.
    Ja już mam to z głowy - umęczyłem się z moimi 256MB ramu..
REKLAMA