Model SPICE lampy ECC81 - problem

Teoria lamp elektronowych, techniki próżniowe, zagadnienia konstrukcyjne. Nic dodać, nic ująć. Wszystko o lampach.

Moderatorzy: gsmok, tszczesn, Romekd, Einherjer, OTLamp

Awatar użytkownika
gsmok
3125...6249 postów
3125...6249 postów
Posty: 3915
Rejestracja: wt, 8 kwietnia 2003, 08:33
Lokalizacja: Warszawa

Model SPICE lampy ECC81 - problem

Post autor: gsmok »

Witam
Napotkałem na problem z modelem lampy ECC81. Oto jej model zapisany w formacie SPICE:

Kod: Zaznacz cały

****************************************************
.SUBCKT ECC81 1 2 3; A G C;
*      Extract V1.030
*  Model created:  5-Jan-2014
X1 1 2 3 TriodeK MU= 63.24 EX=1.338 KG1= 306.7 KP= 208.5 KVB= 2363. RGI=2000
+ CCG=0.0P  CGP=0.0P CCP=0.0P  ;
.ENDS

****************************************************
.SUBCKT TriodeK 1 2 3; A G C
E1 7 0 VALUE=
+{V(1,3)/KP*LOG(1+EXP(KP*(1/MU+V(2,3)/SQRT(KVB+V(1,3)*V(1,3)))))}
RE1 7 0 1G
G1 1 3 VALUE={0.5*(PWR(V(7),EX)+PWRS(V(7),EX))/KG1}
RCP 1 3 1G    ; TO AVOID FLOATING NODES IN MU-FOLLOWER
C1 2 3 {CCG}  ; CATHODE-GRID
C2 2 1 {CGP}  ; GRID-PLATE
C3 1 3 {CCP}  ; CATHODE-PLATE
D3 5 3 DX     ; FOR GRID CURRENT
R1 2 5 {RGI}  ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS TriodeK
A oto jej charakterystyka znaleziona w Internecie wyznaczona na podstawie tego modelu:
ecc81.gif
Mój problem polega na tym, że skrypt, który napisałem w oparciu o pokazany model wylicza znacznie zaniżone wartości prądu anodowego, od tych pokazanych na załączonej charakterystyce. Zrobiłem prawdopodobnie jakiś prosty błąd i nie mogę go znaleźć (tak to jest jak po paru godzinach pracy patrzy się na własny kod programu :oops: ). Chciałbym się jednak upewnić, czy na pewno to mój błąd.
Mam prośbę, aby dla jednego punktu pomiarowego ktoś chętny "ręcznie" wyliczył prąd anodowy i skonfrontował go z wykresem. Przyjmijmy, że
UA = 150V
UG= -2V.
Dane modelu zgodnie z załączonym plikiem SPICE:
MU= 63.24
EX=1.338
KG1= 306.7
KP= 208.5
KVB= 2363

Prąd anodowy wyliczamy zgodnie z modelem dwuetapowo:

Krok 1

E1 = UA / KP * LOG(1 + EXP( KP * ( 1 / MU + UG / SQRT(KVB+ UA * UA)))))

Krok 2

IA = 0.5 * (PWR(E1, EX) + PWRS(E1, EX)) / KG1


Dla ułatwienia, dla podanego punktu pracy funkcje PWR() i PWRS() zwracają tą samą wartość czyli po prostu E1 podniesione do potęgi EX, czyli:

IA = PWR(E1, EX) / KGI

Z góry dziękuję za poniesiony trud wyliczenia tej jednej wartości prądu anodowego.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Pozdrawiam
Grzegorz Makarewicz 'gsmok'
witko
100...124 posty
100...124 posty
Posty: 117
Rejestracja: sob, 5 stycznia 2008, 13:03
Lokalizacja: Świdnica

Re: Model SPICE lampy ECC81 - problem

Post autor: witko »

Może prosty błąd w spice LOG to LN ?
pozdr, wk

PS
dla Log E1 = 0,272V -> Ia =0,57 mA
dla LN E1 =0,626V -> Ia = 1,74 mA
(liczone w arkuszu LibreOffice)
Ostatnio zmieniony sob, 17 maja 2014, 14:08 przez witko, łącznie zmieniany 1 raz.
Einherjer
2500...3124 posty
2500...3124 posty
Posty: 2609
Rejestracja: pt, 22 stycznia 2010, 18:34
Lokalizacja: Wałbrzych

Re: Model SPICE lampy ECC81 - problem

Post autor: Einherjer »

No właśnie, zanim zaczniemy liczyć, powiedz czy LOG wyliczasz jako logarytm naturalny, czy dziesiętny. W Spice LOG to logarytm naturalny. Może wklej kod skryptu?
Awatar użytkownika
gsmok
3125...6249 postów
3125...6249 postów
Posty: 3915
Rejestracja: wt, 8 kwietnia 2003, 08:33
Lokalizacja: Warszawa

Re: Model SPICE lampy ECC81 - problem

Post autor: gsmok »

Panowie, dziękuję za zainteresowanie i szybki odzew.
witko pisze:Może prosty błąd w spice LOG to LN ?
pozdr, wk
I tu rzeczywiście był pies pogrzebany. Jak mogłem zrobić tak głupi błąd :oops: . Teraz już skrypt wylicza wartości zgodne z charakterystykami lampy :) .
Jeszcze raz dzięki :D .
Pozdrawiam
Grzegorz Makarewicz 'gsmok'
Einherjer
2500...3124 posty
2500...3124 posty
Posty: 2609
Rejestracja: pt, 22 stycznia 2010, 18:34
Lokalizacja: Wałbrzych

Re: Model SPICE lampy ECC81 - problem

Post autor: Einherjer »

gsmoku, nawet jak się żyje z programowania to się głupsze błędy robi i spędza nad nimi mnóstwo czasu ;) Można wiedzieć do czego będziesz wykorzystywał te skrypty?
Awatar użytkownika
gsmok
3125...6249 postów
3125...6249 postów
Posty: 3915
Rejestracja: wt, 8 kwietnia 2003, 08:33
Lokalizacja: Warszawa

Re: Model SPICE lampy ECC81 - problem

Post autor: gsmok »

Chciałbym udostępnić program do tworzenia modeli i wyznaczania parametrów lamp w formie skryptu w Serwisie TRIODA.
Mam tester "uTracer" (opis w wątku w dziale Wspomaganie układów Lampowych), który eksportuje dane mierzonej lampy do komputera. Na podstawie tych danych opracowany został program do generowania modeli SPICE. Ten program jest zrobiony w formie pliku wykonywalnego na komputerze użytkownika (exe). Chciałbym w wolnej chwili zrobić jego wersję w formie uruchamianej wewnątrz przeglądarki internetowej.
Pozdrawiam
Grzegorz Makarewicz 'gsmok'
Einherjer
2500...3124 posty
2500...3124 posty
Posty: 2609
Rejestracja: pt, 22 stycznia 2010, 18:34
Lokalizacja: Wałbrzych

Re: Model SPICE lampy ECC81 - problem

Post autor: Einherjer »

Chodzi Ci o program Motega? Czy coś Twojego autorstwa? Identyfikacja parametrów modelu wymaga użycia jakiegoś algorytmu optymalizacji nieliniowej. Jak to zrobić w przeglądarce? Chyba, że chodzi Ci o taki program, w którym ręcznie zmieniając parametry dopasowujesz je do charakterystyk.
Awatar użytkownika
gsmok
3125...6249 postów
3125...6249 postów
Posty: 3915
Rejestracja: wt, 8 kwietnia 2003, 08:33
Lokalizacja: Warszawa

Re: Model SPICE lampy ECC81 - problem

Post autor: gsmok »

Chodzi mi o program ExtractModel opracowany do wspomnianego "uTracera" autorstwa Derka Reefmana:
http://www.dos4ever.com/uTracer3/uTracer3_pag14.html

Nie przewiduję ręcznego dopasowywania parametrów. Autor wspomnianego programu nie udostępnia kodu, a jedynie plik wykonywalny. Z krótkiego opisu wynika jednak, że do znajdowania parametrów stosuje zmodyfikowaną metodę najmniejszych kwadratów. Przyznaję, że nie znając szczegółów nie za bardzo wiem, jak ta metoda radzi sobie z problemem nieliniowym. Ja stosowałem metodę najmniejszych kwadratów tylko do zagadnień liniowych, dla problemów optymalizacji bez lokalnych minimów. Ale jak widać z praktyki zaimplementowane podeście sprawdza się - no chyba, że tajemnica kryje się w tym, że przed uruchomieniem procedury optymalizacji trzeba podać ich wartości początkowe - może to powoduje, że algorytm nie "grzęźnie" w jakimś lokalnym minimum i zbiega zapewniając mały błąd. Nie będę raczej zgłębiał szczegółów i od razu planuję zastosować algorytm genetyczny - mam z nim bardzo pozytywne doświadczenia w optymalizacji nieliniowej :) . Zrobiłem parę prób co do szybkości obliczeń i wygląda na to, że przeglądarka spokojnie sobie poradzi :) . Gdyby pomysł z algorytmem genetycznym "wypalił" to po cichu planuję "olać" te wzory, które powiązane są ze zjawiskami fizycznymi zachodzącymi w lampach i do modelowania zastosować jakąś formę wielomianu odpowiedniego stopnia. Myślę, że wyznaczanie przebiegu charakterystyk byłoby szybsze - ale to pieśń przyszłości.
Pozdrawiam
Grzegorz Makarewicz 'gsmok'
Einherjer
2500...3124 posty
2500...3124 posty
Posty: 2609
Rejestracja: pt, 22 stycznia 2010, 18:34
Lokalizacja: Wałbrzych

Re: Model SPICE lampy ECC81 - problem

Post autor: Einherjer »

A może by użyć bardziej "wypasionych" modeli: http://www.boschma.com/motega_math.html Lepiej oddają zachowanie lampy przy niskim Ia i wysokim Ua. Różnica jest zauważalna. Wspomniany przeze mnie program http://www.boschma.com/motega.html korzysta właśnie z algorytmów genetycznych i działa to bardzo dobrze :)
Awatar użytkownika
gsmok
3125...6249 postów
3125...6249 postów
Posty: 3915
Rejestracja: wt, 8 kwietnia 2003, 08:33
Lokalizacja: Warszawa

Re: Model SPICE lampy ECC81 - problem

Post autor: gsmok »

Dziękuje z informację. Oczywiście będę próbował z modelami o różnym stopniu złożoności.
Pozdrawiam
Grzegorz Makarewicz 'gsmok'
Kazimierz
625...1249 postów
625...1249 postów
Posty: 723
Rejestracja: śr, 25 czerwca 2003, 22:17
Lokalizacja: Warszawa

Re: Model SPICE lampy ECC81 - problem

Post autor: Kazimierz »

gsmok pisze: ...planuję zastosować algorytm genetyczny - mam z nim bardzo pozytywne doświadczenia w optymalizacji nieliniowej :) .
Ja też mam takie doświadczenia, wprawdzie nie w elektronice ale oprócz aplikacji samodzielnej także w połączeniu z siecią neuronową. Powiedziałbym, że nawet więcej niż pozytywne :D . AG to bardzo silne narzędzie. Nie akceptowane przez kreacjonistów.
pozdrawiam
Awatar użytkownika
gsmok
3125...6249 postów
3125...6249 postów
Posty: 3915
Rejestracja: wt, 8 kwietnia 2003, 08:33
Lokalizacja: Warszawa

Re: Model SPICE lampy ECC81 - problem

Post autor: gsmok »

A więc jest nas już co najmniej dwóch :). Jak będę miał już coś do pokazania, to podam link do programu na naszym Forum.
Pozdrawiam
Grzegorz Makarewicz 'gsmok'