Open het schema van TS of het transistor schema van Thevel in LTSpice en bestudeer de gegenereerde netlist en zie dat daarin node 0 wordt aangesloten op het substraat van de BJT.
Op 28 oktober 2023 18:40:52 schreef ohm pi:
[...]Ik krijg een regenboog aan foutmeldingen. Ik draai Version(x64): 17.1.9 onder Xubuntu.
Hier de bijbehorende plaatjes. In het tweede plaatje krijg ik inderdaad geen foutmelding dat de ground gemist wordt.
Om de uitleg compleet te maken, de GND foutmelding in het schema met de MOSFET ontstaat omdat de bulk (het substraat) van de MOSFET in de netlist aan de source van de MOSFET wordt aangesloten en niet zoals bij de BJT aan node 0.
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Ik zie in beide fotos een foutmelding. De melding is subtiel anders en meldt het woordje "GND" niet, maar het gaat over hetzelfde probleem.
Er zijn een hoop situaties waar een computer op verschillende momenten achter "een probleem" kan komen, waarbij, om te helpen bij het foutzoeken het niet geheel onhandig is dat de foutmeldingen van mekaar te onderscheiden zijn. Microsoft is aan het migreren naar "something went wrong while trying to display this page". Daar heb je als gebruiker of systeembeheerder helemaal niets aan: je kan gaan gokken wat er mis ging, maar jantje de koekoek dat de computer dat op een bepaald moment moet hebben geweten (b.v. "verbinding naar de server gemaakt, en nadat ik mijn HTTP request stuurde kwam ie met iets terug wat niet aan de standaard voldoet"). Spice dateert uit een tijd dat zodra een probleem duidelijk is, er een zo omschrijvend mogelijke melding komt. En bij fet/BJT komt ie er dus op iets verschillende momenten achter en geeft ie iets verschillende meldingen.
Dus de "voorkom veelvoorkomende fout" detecteert of er uberhaupt iets op gnd is aangesloten. Met het model van de BJT lijk je die foutmelding te kunnen omzeilen, maar dan komt ie er pas bij het inverteren van de matrix achter en moet ie de foutmelding gaan geven net voordat ie de "0/0" deling had zullen doen.
[Bericht gewijzigd door rew op (13%)]
Open de schema's in LTSpice en bestudeer de gegenereerde netlist en ontdek de verschillen tussen de substraat aansluitingen van een MOSFET en een BJT.
BJT substraat aangesloten aan node 0 (GND).
MOSFET substraat aangesloten aan MOSFET source.
Qxxx Collector Base Emitter [Substrate Node]
+ model [area] [off] [IC=<Vbe,Vce>] [temp=<T>]De aansluiting van het substraat is de 4e node van een Q device (BJT) in de netlist. En is dus geen onderdeel van het model. Is het dan een LTspice ding dat het substraat aan node 0 komt als er geen GND symbool in het schema staat?
Op 29 oktober 2023 19:50:54 schreef PE9SMS:
Qxxx Collector Base Emitter [Substrate Node] + model [area] [off] [IC=<Vbe,Vce>] [temp=<T>]De aansluiting van het substraat is de 4e node van een Q device (BJT) in de netlist. En is dus geen onderdeel van het model. Is het dan een LTspice ding dat het substraat aan node 0 komt als er geen GND symbool in het schema staat?
Een GND toevoegen aan het schema maakt niet uit, het substraat blijft aan node 0 liggen. Het substraat is deel van het Q device (BJT) model.
Op 29 oktober 2023 19:58:57 schreef Bobosje:
Een GND toevoegen aan het schema maakt niet uit,..
Hier wel!
Foutmelding blijft achterwege.
ohm pi, we praten over de GND foutmelding voor het begin van een simulatie en niet over het achterwege blijven van de evt. convergentie foutmeldingen door het toevoegen van GND aan het schema.
Op 29 oktober 2023 18:44:41 schreef ohm pi:
[...]Hier de bijbehorende plaatjes. [...]
Kun jij misschien de list file eens posten? Ik ben benieuwd naar die globale nul aan het substraat - waarmee dus meteen de substraten van modellen die dat zo hebben, aan elkaar zouden zitten (vandaar mijn 'niet vaak' hierboven; ik bedoel natuurlijk 'nooit':).
Ik kan het LTSpice schema wel inladen, en kan dan ook de gebruikte modellen bestuderen (daarin kom ik trouwens voor de 547 geen substraat tegen).
Maar ik heb LTSpice zelf niet.
(Simetrix runt met alle plezier het schema, maar weigert eraan te beginnen als er geen referentiepunt is, zodat ik daaraan niet kan zien wat er blijkbaar in LTSpice zou gebeuren.)
Hier is de netlist van het model met bc547c zonder ground
* C:\users\sjaak\Mijn Documenten\LTspiceXVII\Draft1.asc
V1 N001 N003 12V
R1 N001 N002 1k
R2 N002 N003 1k
Q1 N001 N002 N003 0 BC547C
.model NPN NPN
.model PNP PNP
.lib C:\users\sjaak\Local Settings\Application Data\LTspice\lib\cmp\standard.bjt
.tran 0.2
.backanno
.endHier is de netlist van het model met bc547c met ground
* C:\users\sjaak\Mijn Documenten\LTspiceXVII\Draft1.asc
V1 N001 0 12V
R1 N001 N002 1k
R2 N002 0 1k
Q1 N001 N002 0 0 BC547C
.model NPN NPN
.model PNP PNP
.lib C:\users\sjaak\Local Settings\Application Data\LTspice\lib\cmp\standard.bjt
.tran 0.2
.backanno
.endOp 29 oktober 2023 20:48:53 schreef Frederick E. Terman:
Maar ik heb LTSpice zelf niet.
Is gratis. Draait onder windows en in wine onder linux. Het is hier te vinden. https://www.analog.com/en/design-center/design-tools-and-calculators/l…
[Bericht gewijzigd door ohm pi op (19%)]
Dank je wel!
Kijk, daar heb je de rakker, inderdaad lijkt het substraat hard aan GND te liggen.
Ik kan in Simetrix die vierde node voor de tor in de netlist toevoegen voor de tor, en dat slikt hij (inclusief het toewijzen van de bijbehorende getallen voor het substraat); niettemin klaagt hij dan alsnog over geen referentie. 
Ik gebruik al bijna zolang als het bestaat Simetrix, en had nooit zoveel zin om er nog eentje toe te voegen. En nu ik in Simetrix ook LTSpice-bestanden kan inlezen nog minder: ik kan dan zien waarover gepraat wordt. Maar ik zie dan natuurlijk niet hoe LTspice bepaalde toestanden behandelt, zoals nu.
Speciale LTspice-toevoegingen aan de syntax, zoals Vceo en Mfg enzo, moet ik ook even deleten. De fabrikant is voor de berekening niet zo belangrijk, en dat ik de Vceo niet moet overschrijden weet ik evengoed wel. 
Op 30 oktober 2023 00:11:44 schreef Frederick E. Terman:
Ik kan in Simetrix die vierde node voor de tor in de netlist toevoegen voor de tor, en dat slikt hij (inclusief het toewijzen van de bijbehorende getallen voor het substraat)...
Welke substraat-parameters en welke waardes daarvoor heb je dan toegevoegd?
Als je de netlist handmatig aanpast wordt je netlist dan niet overschreven door een nieuw gegenereerde netlist van je schema vlak voor aanvang van een nieuwe simulatie waardoor de substraat-node uit je netlist verdwijnt?
[Bericht gewijzigd door Bobosje op (23%)]
Ik heb alleen een vierde node, '0', bij Q1 in de declaratie in design.net opgenomen.
Bij het runnen komt dan de melding 'design.net gewijzigd, sla deze op'.
Zou ik nu het schema gaan runnen, dan maakt hij een nieuwe, dus dat helpt niet.
Maar ik kan wel rechtstreeks met die netfile werken door die (als een nieuw project) in de editor te droppen. Simetrix runt die dan zonder schema.
Om hieruit resultaten te bekijken zou je dan zelf .probe statements etc. moeten gebruiken. Ik ben zover niet gegaan, wilde alleen kijken of er foutmeldingen zouden komen.
Maar hij stopt dus ook nu alweer omdat er geen referentie is.
Toch ga ik straks nog eens LTspice installeren, uit pure nieuwsgierigheid. 
--
Nog iets anders: als ik zelf 'met de hand' een netfile maak van bijv. een spanningsbron met de plus als uitgang, en de min naar node '0', en daarvan dan een module maak voor een component (ik maak dan een doosje met 1 aansluiting), dan kan ik die component gewoon in een schema opnemen. Je ziet dan één aansluiting waarop dan inderdaad bijv. 5 V staat.
Als er verder helemaal niets anders in dat schema staat, dan hoef ik daar ook geen referentie ('GND') te gebruiken.
Ook Simetrix kent dus wel de globale '0' in componentbeschrijvingen, maar ik had daar nooit zo bij stilgestaan.
Verschillende standaard 'doosjes' (arbitrary function) doen dit trouwens ook, bedenk ik me achteraf.
Kun je me eens het Simetrix spice library model (met alle daarin vermelde parameters) van de in je simulatie gebruikte BC547C hier posten zoals in onderstaand voorbeeld?
.model BC547C NPN(... , ... , ..., etc.)
Jawel, hier is die in de Simetrix bieb, met bronvermelding:
*From Philips SC04 "Small signal transistors 1991"
* Base spreading parameters (RB,IRB,RBM) estimated. TR derived using BCY58 data
.model BC547C npn ( IS=7.59E-15 VAF=19.3 BF=500 IKF=0.0710 NE=1.3808 ISE=7.477E-15 IKR=0.03 ISC=2.00E-13 NC=1.2 NR=1 BR=5 RC=0.25 CJC=6.33E-12 FC=0.5 MJC=0.33 VJC=0.65 CJE=1.25E-11 MJE=0.55 VJE=0.65 TF=4.12E-10 ITF=0.4 VTF=3 XTF=12.5 RB=100 IRB=0.0001 RBM=10 RE=0.5 TR=1.50E-07)
Je ziet inderdaad enkele parameters die op het substraat betrekking hebben.
Als test voor Simetrix:
Kun je onderstaand BJT spice model (met de naam BC547CC) eens toevoegen aan je Simetrix library? Het BJT model is gelijk aan jouw BC547C model met een toegevoegde parameter CJS=1E-12.
Noot: Een CJS van 1pF is geen reele waarde voor een BC547C, de waarde is hier puur en alleen bedoeld als test waarde en is nodig voor onderstaand test circuit.
.model BC547CC npn ( IS=7.59E-15 VAF=19.3 BF=500 IKF=0.0710 NE=1.3808 ISE=7.477E-15 IKR=0.03 ISC=2.00E-13 NC=1.2 NR=1 BR=5 RC=0.25 CJC=6.33E-12 FC=0.5 MJC=0.33 VJC=0.65 CJE=1.25E-11 MJE=0.55 VJE=0.65 TF=4.12E-10 ITF=0.4 VTF=3 XTF=12.5 RB=100 IRB=0.0001 RBM=10 RE=0.5 TR=1.50E-07 CJS=1E-12)
En kun je dan onderstaand circuit eens simuleren (run een AC analysis) en V(out1) hier eens posten en de netlist controleren of de substraat-nodes van Q1 en Q2 nu wel aanwezig zijn?
Ook in dit circuit is geen GND symbool aanwezig in het schema op het scherm.
Ik denk dat langzamerhand een kleine uitleg handig wordt voor de meelezers.
De sim gebruikt alle parameters van het model die hij voor een bepaalde run nodig heeft, dus ook van het substraat, zoals dat zich verhoudt tot de andere aansluitingen en de werking van de tor (diodeovergang, capaciteit, weerstand naar de C,E,B).
Maar normaal gesproken is bij een gewone losse BJT het substraat niet naar buiten uitgevoerd (de tor heeft maar drie pootjes), en kan het dus niet in het schema ergens anders mee verbonden worden.
Door echter het substraat ook als aansluiting van het onderdeel aan te merken, kan dat wel, als je dat zou willen. In o.a Simetrix kun je dat rechtstreeks in een design.net invoeren.
Zelf werk ik liever met de schema-editor. Het is mij toch meestal, om educatieve redenen (in artikeltjes in de bladen, en zo), om de plaatjes te doen.
Als je in de schema-editor met het substraat van bijv. een NPN wilt werken, geef je dat aan door in het schema het NPN-symbool met vier aansluitingen te gebruiken. Het substraat zit aan de vierde aansluiting (het 'losse rondje' in het schema hieronder), juist alsof de transistor daaraan een aansluitpad of -draad heeft.
Wat je daarna met die aansluiting doet, mag je zelf weten. Je zou bijvoorbeeld de substraten van verschillende torren met elkaar kunnen doorverbinden, om te doen alsof ze allemaal samen geïntegreerd zijn.
Nu hebben we in deze thread echter ontdekt dat LTspice standaard alle substraten hard aan massa gooit, maar eigenlijk hoort dat niet, en het komt niet overeen met de praktische werkelijkheid.
e: Bij langer experimenteren blijkt dat in Simetrix soms ook te kunnen gebeuren (maar nooit bij een 4-pin symbool); zie verdere posts.
Ter iets eenvoudiger illustratie, zie het schema hieronder, geanalyseerd in Simetrix. De AC-generator voedt de RC-schakeling, gevormd door de collector-substraat-capaciteit CJS van, hier, 1 pF zoals je vroeg; en de weerstand van 1 Meg.
Ik heb opzettelijk het substraat NIET aan massa gelegd, maar juist aan de 'hete kant', zodat je goed kunt zien dat ook de substraatpin local is voor de transistor, en NIET aan massa hangt.
In de grafiek twee traces. De rode trace is de uitgangsspanning over de weerstand; het kantelpunt komt overeen met 1 Meg en 1 pF.
De andere, groene trace is de capaciteit berekend uit de spanning over collector-substraat en de stroom erdoor. Het resultaat is weer die 1 pF.
Hier nog de list. In regel drie zie je vier pootjes van de tor.
V1 V1_P 0 AC 1 0
R1 Q3_S 0 1Meg
Q3 V1_P Q3_B Q3_E Q3_S BC547CC
.ac dec 100 10k 10000000
.model BC547CC
+ npn ( IS=7.59E-15 VAF=19.3 BF=500 IKF=0.0710 NE=1.3808 ISE=7.477E-15 IKR=0.03 ISC=2.00E-13
+ NC=1.2 NR=1 BR=5 RC=0.25 CJC=6.33E-12 FC=0.5 MJC=0.33 VJC=0.65 CJE=1.25E-11 MJE=0.55 VJE=0.65
+ TF=4.12E-10 ITF=0.4 VTF=3 XTF=12.5 RB=100 IRB=0.0001 RBM=10 RE=0.5 TR=1.50E-07 CJS=1E-12)
.end
Het ging er in mijn bovenstaande test circuit om om te zien of Simetrix de substraat-nodes van beide BJT's nu automatisch in de netlist opneemt omdat er expliciet een capaciteit (CJS) aanwezig is tussen collector en het substraat.
LTSpice is niet de enige simulator die de BJT substraat-node default aan node 0 legt (zelfs wanneer ze niet expliciet in de netlist als 4-de node staan vermeld).
Zou je mijn test-circuit ook eens kunnen simuleren in Simetrix en kijken of de BJT substraat nodes nu wel in de netlist staan en kijken of de AC simulatie werkt?
Dank je.
Wat, wat! Het wordt steeds interessanter!
Onder sommige omstandigheden zie ik inderdaad óók in Simetrix een substraat naar 0 ontstaan. Niet bij het 4-pin symbool, maar soms bij het gewone 3-pin symbool.
Eerst dacht ik nog: 'wel, als je substraatparameters definieert en er vervolgens geen pin voor maakt, dan legt hij het substraat zeker uit arren moede maar aan 0', maar dat lijkt ook niet het criterium te zijn.
Bij een en hetzelfde model (ook een 'gewoon' model) zie ik het soms wel en soms niet. Ik moet hiermee eens experimenteren.
Bij het 4-pin symbool heb je sowieso volledige zeggenschap over de S, maar aan de andere kant gave de gewone 3-poters mij nooit reden tot argwaan. 
--
Wat je schema betreft: met 4-pin symbolen, S door mij aan massa verbonden, verdeelt de spanning zich gewoon netjes over de twee C-S capaciteiten; minder naarmate de frequentie stijgt natuurlijk, maar keurig in tweeën.
Toen met 3-pins geprobeerd: Hé, nu lukt het ook! En nu heeft Simetrix de S zelf aan nul gelegd, wat in de list te zien was.
En nu het bizarre: als ik vervolgens de CJS-declaratie weer weghaal, blijft er bij het runnen een 'substraat aan de nul' ontstaan. Wat eerst dus niet zo was, zie boven.
Natuurlijk loop de simulatie dan geweldig uit de hand, en van de 1 V AC komen er op beide torren bij sommige frequenties tientallen volts te staan.
Maar even natuurlijk gebruiken we de sim nu allang niet meer op de manier die de makers, met de beste bedoelingen, voorzien hadden...
Niettemin, voor de wetenschap, wat hamer!, moet dit nader onderzocht. 
blackdog
Golden Member
Daar de mens het noodzakelijke niet kan volbrengen, streeft hij naar het overbodige (Goethe)
Hi,
Yep, leuk topic!
Nu bleef het wel knagen, dat wil zeggen... componenten die geen Substrate hebben die naar buiten komt.
Kijk hier eens naar, het verklaart wel een beetje mijn leeftijd *grin* wie kent ze nog.
Laatste pagina "Terminal Diagram"
www.bramcam.nl/Diversen/3N128.pdf
Groet,
Bram
Op 30 oktober 2023 22:09:06 schreef Frederick E. Terman:
Maar even natuurlijk gebruiken we de sim nu allang niet meer op de manier die de makers, met de beste bedoelingen, voorzien hadden...
De makers van de simulators hebben met de beste bedoelingen simulaties van o.a. BJT's en MOSFET's inclusief hun substraten mogelijk gemaakt...
Ik bedoel natuurlijk dat het opzettelijk laten zweven van alle aansluitingen, en je dan verlaten op het default aan '0' verbinden van het substraat door de sim, niet het normale gebruik van de modellen is.
--
Enfin, na enig experimenteren ben ik zover dat ik denk dat het hele substraat-verhaal normaal geen probleem is (kan ook haast niet - dan zouden we erover gehoord hebben).
Bij de meeste gewone BJT-modellen wordt het substraat niet eens aangegeven. Doe je dit nu wél, door bijvoorbeeld CJS op te geven, of, zoals hieronder, ISS, dan ' ontstaat' er een substraat dat de sim dan maar in vredesnaam aan de '0' hangt. Wil je iets anders, dan kun je het vierdraads symbool gebruiken, of je kunt zelf de netlist wijzigen.
In sommige, toegegeven nogal bedachte, gevallen kan ik een 'bug' veroorzaken met dat substraat. In het schema hieronder heeft het transistormodel een substraat waarvan de diode-overgang is aangegeven door de verzadigingsstroom van (in dit voorbeeld) 1 nA. Dit bepaalt voor een groot deel het diode-gedrag.
Simetrix
De schakeling is een eenvoudige x10 versterker, die in zijn geheel 'opgetild' wordt door V3. Normaal mag dit niets uitmaken voor de uitgangsspanning over R5, en met de gewone BJT-modellen máákt het ook niets uit.
Maar doordat ik hier een substraat afdwing, en dat vervolgens niet aansluit, legt de sim dat substraat default aan 0, dus aan GND.
Bij negatieve spanningen voor de 'lift'-spanning, hier: negatiever dan zo'n 9 V, zie je dan de uitgangsspanning instorten: de substraatdiode is in geleiding gekomen.
In werkelijkheid is van zo'n losse tor het substraat natuurlijk niét aangesloten. In de sim kunnen we dat aangeven door het 4-polige symbool te gebruiken. De extra pen 'S' die we dan krijgen, kunnen we laten zweven, of aan een van de andere pennen van de transistor verbinden.
We kunnen dit ook in de netlist zelf doen: kies View/Edit Netlist, en verander de regel
Q1 R2_N R1_N Q1_E 0 NPN_model
in, bijvoorbeeld:
Q1 R2_N R1_N Q1_E Q1_E NPN_model
waarmee je in dat geval het substraat aan de emitter hangt.
Daarna natuurlijk niet 'Run Schematic' kiezen, maar in plaats daarvan 'Run Netlist'.
De schakeling is dan weer ongevoelig voor V3, net als in het echt.
Ik geef expres geen plaatjes van de uitgangsspanning; het is heel leuk zelf te zien hoe de boel instort als de 'lift' te veel negatief wordt.
--
Zoals ik het tot dusverre begrijp, samengevat:
- Substraat is geen probleem in 'gewone' schema's, en in de meeste 'gewone' BJT-modellen staan de parameters ervan op nul, inactief, of dergelijke.
- ALS je een substraat declareert, dan moet je er ook iets mee doen. Anders legt de sim het substraat aan nul. Wat alsnog meestal prima is, tenzij de betreffende tor zelf op een of andere rare (negatieve; of voor PNP: positieve) spanningsomgeving werkt.
- Je kunt het substraat in het schema aan laten geven, en dan los laten hangen, of ergens mee verbinden.
- Of je kunt rechtstreeks in de netlist editen en dan rechtstreeks de netlist runnen.
Wie meer? 
Er is geen 'bug' ...
.model BC547CC npn ( IS=7.59E-15 VAF=19.3 BF=500 IKF=0.0710 NE=1.3808 ISE=7.477E-15 IKR=0.03 ISC=2.00E-13 NC=1.2 NR=1 BR=5 RC=0.25 CJC=6.33E-12 FC=0.5 MJC=0.33 VJC=0.65 CJE=1.25E-11 MJE=0.55 VJE=0.65 TF=4.12E-10 ITF=0.4 VTF=3 XTF=12.5 RB=100 IRB=0.0001 RBM=10 RE=0.5 TR=1.50E-07 ISS=1e-9)
En nu met V3 = -100V ?
De clou is dat je het substraat op hoger potentiaal krijgt dan de schakeling. Aangezien het substraat aan node 0 zit, moet de rest dus onder 0 zitten.