Gnuplot : Modéliser des tubes pour LT spice.
- 11 réponses
- 4 participants
- 2 489 vues
- 5 followers
Taffer
1526
AFicionado·a
Membre depuis 18 ans
Sujet de la discussion Posté le 13/04/2017 à 15:15:19Gnuplot : Modéliser des tubes pour LT spice.
Bonjour à tous,
J’ouvre ce sujet car je rencontre un petit souci concernant la modélisation de tubes électroniques pour ensuite les utiliser avec LT Spice.
Il y a quelques temps, j’ai construit un traceur de courbe (Utracer) pour tester, appairer, etc… mes tubes.
(voir le sujet : https://fr.audiofanzine.com/les-mains-dans-le-cambouis/forums/t.589807,traceur-de-courbe-utracer-3.html)
Utracer : http://www.dos4ever.com/uTracer3/uTracer3_pag0.html
Il y a peu, j’ai découvert que ce même traceur de courbe pouvait me permettre de récupérer les données des tubes mesurés sous forme de fichier .utd pour ensuite les modéliser et utiliser ces « modèles » dans le logiciel de simulation LT Spice.
Voici le lien qui explique cette procédure : http://www.dos4ever.com/uTracer3/uTracer3_pag14.html
J'ai donc voulu modéliser le tube 5840 (introuvable en spice). J'ai suivi la procédure expliquée (c.f. le lien ci-dessus) en utilisant les logiciels ExtractModel et Gnuplot.
Mon souci est que lorsque je compare les courbes que mon Utracer a relevées et celles restituées par Gnuplot...
(pour agrandir : clique gauche + afficher l'image )
Les petites croix sur Gnuplot (les deux graphes du dessus) semblent représentatives de ce que mon traceur de courbe a relevé (les deux graphes du dessous). Par contre, les courbes tracées par Gnuplot elles ne ressemblent plus du tout aux courbes relevées !
Puis, lorsque je "teste" ce même tube sur LT Spice ce dernier restitu effectivement la courbe de Gnuplot mais du coup, cela n'a plus rien à voir avec le tube réel !
(pour agrandir : clique gauche + afficher l'image bis )
D'où proviendrait cette différence selon vous ?
Quelqu'un pratiquerait il cette modélisation ?
Merci par avance
J’ouvre ce sujet car je rencontre un petit souci concernant la modélisation de tubes électroniques pour ensuite les utiliser avec LT Spice.
Il y a quelques temps, j’ai construit un traceur de courbe (Utracer) pour tester, appairer, etc… mes tubes.
(voir le sujet : https://fr.audiofanzine.com/les-mains-dans-le-cambouis/forums/t.589807,traceur-de-courbe-utracer-3.html)
Utracer : http://www.dos4ever.com/uTracer3/uTracer3_pag0.html
Il y a peu, j’ai découvert que ce même traceur de courbe pouvait me permettre de récupérer les données des tubes mesurés sous forme de fichier .utd pour ensuite les modéliser et utiliser ces « modèles » dans le logiciel de simulation LT Spice.
Voici le lien qui explique cette procédure : http://www.dos4ever.com/uTracer3/uTracer3_pag14.html
J'ai donc voulu modéliser le tube 5840 (introuvable en spice). J'ai suivi la procédure expliquée (c.f. le lien ci-dessus) en utilisant les logiciels ExtractModel et Gnuplot.
Mon souci est que lorsque je compare les courbes que mon Utracer a relevées et celles restituées par Gnuplot...
(pour agrandir : clique gauche + afficher l'image )
Les petites croix sur Gnuplot (les deux graphes du dessus) semblent représentatives de ce que mon traceur de courbe a relevé (les deux graphes du dessous). Par contre, les courbes tracées par Gnuplot elles ne ressemblent plus du tout aux courbes relevées !
Puis, lorsque je "teste" ce même tube sur LT Spice ce dernier restitu effectivement la courbe de Gnuplot mais du coup, cela n'a plus rien à voir avec le tube réel !
(pour agrandir : clique gauche + afficher l'image bis )
D'où proviendrait cette différence selon vous ?
Quelqu'un pratiquerait il cette modélisation ?
Merci par avance
Je suis CHARLIE
[ Dernière édition du message le 13/04/2017 à 15:16:43 ]
- 1
- 2
Taffer
1526
AFicionado·a
Membre depuis 18 ans
2 Posté le 13/04/2017 à 15:37:51
PS : sur l'image LT Spice représentant le pentode 5840, cette dernière est sous la forme d'une tétrode car sous la forme d'une réelle pentode, LT Spice m'explique que dans les données du fichier .cir, fournit par Gnuplot, il n'y a pas la 5ième électrode de spécifié. (C.f. image ci-dessous)
Le tube 5840 ayant sa grille G3 reliée à la cathode en interne j'ai du coup fait aussi le teste avec un tube 6AU6... Le résultat fut le même...
J'en ai déduit que vu que le câblage de G3 est relié à la cathode lors des testes, mon traceur de courbe ne notifie pas cette électrode car il ne voit du coup qu'une : La Cathode...
Le tube 5840 ayant sa grille G3 reliée à la cathode en interne j'ai du coup fait aussi le teste avec un tube 6AU6... Le résultat fut le même...
J'en ai déduit que vu que le câblage de G3 est relié à la cathode lors des testes, mon traceur de courbe ne notifie pas cette électrode car il ne voit du coup qu'une : La Cathode...
Je suis CHARLIE
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
3 Posté le 13/04/2017 à 17:55:00
J'ai effectivement l'impression que tu utilises le mauvais modèle Spice. L'outil tente de calquer au mieux les paramètres d'un modèle de tetrode sur tes données de pentode, et ca ne correspond pas bien.
(Au passage, gnuplot ne fait qu'afficher, c'est le programme ExtractModel qui fait le fitting)
(Au passage, gnuplot ne fait qu'afficher, c'est le programme ExtractModel qui fait le fitting)
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
Taffer
1526
AFicionado·a
Membre depuis 18 ans
4 Posté le 13/04/2017 à 18:21:30
Citation :
Au passage, gnuplot ne fait qu'afficher, c'est le programme ExtractModel qui fait le fitting
Oui, tu as tout à fait raison
Citation :
L'outil tente de calquer au mieux les paramètres d'un modèle de tetrode sur tes données de pentode, et ca ne correspond pas bien.
En fait, je crois que je n'ai pas vraiment le choix... C'est le Utracer qui transmet les données... Et lors de la mesure sur le traceur de courbe, G3 est câblé à la cathode... Donc, il semblerait que soit le Utracer, soit ExtractModel, ou encore les deux, ne déterminent pas cet électrode surement par manque de variation dessus...
Ce qui fait que je me retrouve avec un .SUBCKT bien notifié pentode mais qui n'a semble t il que 4 électrodes A G2 G1 C... (c.f. le post 2)
Et donc, si j'utilise un modèle pentode sur LT Spice, ce dernier refuse la simulation car il ne trouve pas G3...
Je suis CHARLIE
Taffer
1526
AFicionado·a
Membre depuis 18 ans
5 Posté le 13/04/2017 à 19:22:43
Bon nouveau tests qui se rapprochent mais toujours pas 100 % concluants :
Alors le changement c'est fait auprès du fichiers .ini pour le câblage pentode qui dirigent ExtractModel : le changement fut de passer du mode P (pentode "habituelle") en mode V (pentode à mu variable) et utiliser le model 'DerkE.
Pour le "câblage" pentode :
C:Program Files (x86)gnuplotinwgnuplot.exe
5 ! 5 data files now
5840_75 ! three files with I as a function of Va for different Vg
5840_100 ! each file for a different screen voltage
5840_125 !
5840_150 !
5840_triode ! the pentode measured as triode again
V ! fit a variable mu pentode
DerkE ! model DerkE
.9 ! Pmax in fit
0 ! Vg Offset
pour le "câblage" triode :
C:Program Files (x86)gnuplotinwgnuplot.exe
1 ! only one file
5840_triode ! with the pentode measured with screen connected to anode
X ! to sum Ia and Is to fit the triode model
Derk ! Derk is used
.9 ! Pmax in fit
0 ! Vg Offset
Mais... Ce n'est toujours pas exacte...
Suis un peu perdu
Alors le changement c'est fait auprès du fichiers .ini pour le câblage pentode qui dirigent ExtractModel : le changement fut de passer du mode P (pentode "habituelle") en mode V (pentode à mu variable) et utiliser le model 'DerkE.
Pour le "câblage" pentode :
C:Program Files (x86)gnuplotinwgnuplot.exe
5 ! 5 data files now
5840_75 ! three files with I as a function of Va for different Vg
5840_100 ! each file for a different screen voltage
5840_125 !
5840_150 !
5840_triode ! the pentode measured as triode again
V ! fit a variable mu pentode
DerkE ! model DerkE
.9 ! Pmax in fit
0 ! Vg Offset
pour le "câblage" triode :
C:Program Files (x86)gnuplotinwgnuplot.exe
1 ! only one file
5840_triode ! with the pentode measured with screen connected to anode
X ! to sum Ia and Is to fit the triode model
Derk ! Derk is used
.9 ! Pmax in fit
0 ! Vg Offset
Mais... Ce n'est toujours pas exacte...
Suis un peu perdu
Je suis CHARLIE
Jimbass
11603
Drogué·e à l’AFéine
Membre depuis 18 ans
6 Posté le 13/04/2017 à 22:02:17
C'est quand même beaucoup mieux !
Tu as aussi le modèle 'B', sur ton précédent lien ils expliquent que la différence entre 'P' et 'B' n'est pas Pentode vs. Beam tetrode, mais une question de prise en compte de l'émission secondaire. À tester avec Derk et DerkE.
Tu as aussi le modèle 'B', sur ton précédent lien ils expliquent que la différence entre 'P' et 'B' n'est pas Pentode vs. Beam tetrode, mais une question de prise en compte de l'émission secondaire. À tester avec Derk et DerkE.
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
[ Dernière édition du message le 13/04/2017 à 22:04:43 ]
Taffer
1526
AFicionado·a
Membre depuis 18 ans
7 Posté le 14/04/2017 à 16:01:00
Citation de Jimbass :
C'est quand même beaucoup mieux !
oui ! Mais pas encore exacte...
Citation de Jimbass :
Tu as aussi le modèle 'B',
Je l'ai essayé et il donne à peu près la même chose que le modèle V pour le 5840... Donc du coup, pas réellement le relevé du Utracer...
Je n'arrive pas à trouver où cela pêche...
Je suis CHARLIE
GrosGrainGras
48
Nouvel·le AFfilié·e
Membre depuis 19 ans
8 Posté le 18/04/2017 à 12:37:36
Salut Taffer, je m'amuse aussi pas mal avec les différents modèles de tubes, pour l'instant je n'ai travaillé qu'avec les triodes mais je vais suivre ton projet de prêt
Je ne sais pas comment fonctionne le logiciel mais les résultats que tu présentes paraissent déjà pas mal du tout! Le modèle n'est pas parfait non plus donc "fitter" totalement les mesures me paraît un peu optimiste...
Est-ce qu'il est possible de modifier ExtractModel pour utiliser un autre modèle?
Si oui je te suggère d'essayer de rajouter un paramètre Kvb2 (l'idée provient de ce document : https://hal.archives-ouvertes.fr/hal-00811215/document )
Tu peux remplacer la ligne :
+{V(2,4)/KP*LOG(1+EXP(KP*(1/MU+V(3,4)/SQRT(KVB+V(2,4)*V(2,4)))))}
par :
+{V(2,4)/KP*LOG(1+EXP(KP*(1/MU+V(3,4)/SQRT(KVB+V(2,4)*V(2,4)+KVB2*V(2,4)))))}
Je ne sais pas comment fonctionne le logiciel mais les résultats que tu présentes paraissent déjà pas mal du tout! Le modèle n'est pas parfait non plus donc "fitter" totalement les mesures me paraît un peu optimiste...
Est-ce qu'il est possible de modifier ExtractModel pour utiliser un autre modèle?
Si oui je te suggère d'essayer de rajouter un paramètre Kvb2 (l'idée provient de ce document : https://hal.archives-ouvertes.fr/hal-00811215/document )
Tu peux remplacer la ligne :
+{V(2,4)/KP*LOG(1+EXP(KP*(1/MU+V(3,4)/SQRT(KVB+V(2,4)*V(2,4)))))}
par :
+{V(2,4)/KP*LOG(1+EXP(KP*(1/MU+V(3,4)/SQRT(KVB+V(2,4)*V(2,4)+KVB2*V(2,4)))))}
[ Dernière édition du message le 18/04/2017 à 12:38:32 ]
Taffer
1526
AFicionado·a
Membre depuis 18 ans
9 Posté le 18/04/2017 à 13:51:44
Bonjour GrosGrainGras
Merci pour ta participation !
Heu... En fait je ne comprends pas bien ce que tu veux dire... Tu voudrais modifier le programme "ExtractModel" lui même ? Et, qu'appelles tu "utiliser un autre modèle" ?
Je suis encore plus perdu...
Je veux bien que tu m'expliques cela en le vulgarisant un maximum car je suis totalement néophyte en matière de programme informatique
Merci pour ta participation !
Citation :
Est-ce qu'il est possible de modifier ExtractModel pour utiliser un autre modèle?
Heu... En fait je ne comprends pas bien ce que tu veux dire... Tu voudrais modifier le programme "ExtractModel" lui même ? Et, qu'appelles tu "utiliser un autre modèle" ?
Citation :
Si oui je te suggère d'essayer de rajouter un paramètre Kvb2 (l'idée provient de ce document : https://hal.archives-ouvertes.fr/hal-00811215/document )
Tu peux remplacer la ligne :
+{V(2,4)/KP*LOG(1+EXP(KP*(1/MU+V(3,4)/SQRT(KVB+V(2,4)*V(2,4)))))}
par :
+{V(2,4)/KP*LOG(1+EXP(KP*(1/MU+V(3,4)/SQRT(KVB+V(2,4)*V(2,4)+KVB2*V(2,4)))))}
Je suis encore plus perdu...
Je veux bien que tu m'expliques cela en le vulgarisant un maximum car je suis totalement néophyte en matière de programme informatique
Je suis CHARLIE
GrosGrainGras
48
Nouvel·le AFfilié·e
Membre depuis 19 ans
10 Posté le 25/04/2017 à 11:28:10
Je vais tenter d'expliquer
En gros le tube est modélisé ici par 2 sources de courant pilotées en tension, une diode et quelques composants passifs autour.
Les équations ne changent pas d'un tube à l'autre mais seulement les valeurs des paramètres ( MU, Ex, kG1, KP, ... ).
Donc j'imagine que le programme ExtractModel permet de tester pleins de valeurs de paramètres du modèle pour "fitter" au mieux les mesures.
Perso, j'ai essayé de faire ça une fois avec Matlab et la fonction fminsearch mais le résultat n'était vraiment pas terrible, principalement parceque le modèle de Norman Koren n'est pas très réaliste!!!
Le modèle utilisé ici pour la pentode en est directement dérivé, mais il existe de nombreux autres modèles comme https://aaltodoc.aalto.fi/bitstream/handle/123456789/14420/article3.pdf?sequence=6, http://recherche.ircam.fr/pub/dafx11/Papers/76_e.pdf, http://www.duncanamps.com/spicevalvesgt.html ...
Donc je pense que le résultat que tu as obtenu est déjà pas mal, maintenant si tu veux obtenir mieux, il faut trouver un modèle plus souple ou plus réaliste et bidouiller pour trouver les valeurs des paramètres... (Le code source de "ExtractModel" n'a pas l'air disponible donc en fait ce que je proposais n'a pas l'air possible)
En gros le tube est modélisé ici par 2 sources de courant pilotées en tension, une diode et quelques composants passifs autour.
Les équations ne changent pas d'un tube à l'autre mais seulement les valeurs des paramètres ( MU, Ex, kG1, KP, ... ).
Donc j'imagine que le programme ExtractModel permet de tester pleins de valeurs de paramètres du modèle pour "fitter" au mieux les mesures.
Perso, j'ai essayé de faire ça une fois avec Matlab et la fonction fminsearch mais le résultat n'était vraiment pas terrible, principalement parceque le modèle de Norman Koren n'est pas très réaliste!!!
Le modèle utilisé ici pour la pentode en est directement dérivé, mais il existe de nombreux autres modèles comme https://aaltodoc.aalto.fi/bitstream/handle/123456789/14420/article3.pdf?sequence=6, http://recherche.ircam.fr/pub/dafx11/Papers/76_e.pdf, http://www.duncanamps.com/spicevalvesgt.html ...
Donc je pense que le résultat que tu as obtenu est déjà pas mal, maintenant si tu veux obtenir mieux, il faut trouver un modèle plus souple ou plus réaliste et bidouiller pour trouver les valeurs des paramètres... (Le code source de "ExtractModel" n'a pas l'air disponible donc en fait ce que je proposais n'a pas l'air possible)
- < Liste des sujets
- Charte
- 1
- 2