Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

SPICE Quirks

“Garbage in, garbage out.” —Anoniem

SPICE is een zeer betrouwbaar stuk software, maar het heeft zijn kleine eigenaardigheden waar je even aan moet wennen. Met "quirk" bedoel ik een eis die aan de gebruiker wordt gesteld om het bronbestand op een bepaalde manier te schrijven zodat het werkt zonder foutmeldingen te geven.

Ik doe niet betekent elke vorm van fout met SPICE die onjuiste of misleidende resultaten zou opleveren:dat zou beter een "bug" worden genoemd. Over bugs gesproken, SPICE heeft er ook een paar.

Sommige (of alle) van deze eigenaardigheden zijn mogelijk uniek voor SPICE-versie 2g6, de enige versie die ik op grote schaal heb gebruikt. Ze zijn mogelijk opgelost in latere versies.

Een goed begin

SPICE eist dat het bronbestand begint met iets anders dan de eerste "kaart" in de circuitbeschrijving "deck". Dit eerste teken in het bronbestand kan een linefeed, titelregel of een opmerking zijn:er moet gewoon iets zijn daar voor de eerste component-specificerende regel van het bestand.

Als dat niet het geval is, zal SPICE helemaal weigeren een analyse uit te voeren en beweren dat er een ernstige fout is (zoals onjuiste knooppuntverbindingen) in het "deck".

Een goed einde

SPICE eist dat de .end regel aan het einde van het bronbestand niet worden afgesloten met een regelinvoer of een regelterugloopteken. Met andere woorden, wanneer u klaar bent met het typen van ".end ” moet u niet op [Enter] . drukken toets op uw toetsenbord.

De cursor op uw teksteditor moet onmiddellijk stoppen rechts van de "d" na de ".end ’ en ga niet verder. Als u geen aandacht schenkt aan deze eigenaardigheid, resulteert dit in een "ontbrekende .end-kaart ” foutmelding aan het einde van de analyse-uitvoer.

De eigenlijke circuitanalyse wordt niet beïnvloed door deze fout, dus negeer ik het bericht normaal gesproken. Als u echter op zoek bent naar een "perfecte" uitvoer, moet u deze eigenaardigheid in de gaten houden.

Moet een knooppunt 0 hebben

U krijgt veel vrijheid bij het nummeren van circuitknooppunten, maar u moet een knooppunt 0 ergens in uw netlijst hebben om SPICE te laten werken. Knooppunt 0 is het standaardknooppunt voor circuitaarde en het is het referentiepunt voor alle spanningen die zijn gespecificeerd op locaties met één knooppunt.

Wanneer een eenvoudige DC-analyse wordt uitgevoerd door SPICE, bevat de uitvoer een lijst met spanningen op alle niet-nulknooppunten in het circuit. Het referentiepunt (aarde) voor al deze spanningsmetingen is knooppunt 0. Bijvoorbeeld:

knooppuntspanning knooppuntspanning (1) 15.0000 (2) 0,6522 

In deze analyse is er een gelijkspanning van 15 volt tussen knooppunt 1 en aarde (knooppunt 0), en een gelijkspanning van 0,6522 volt tussen knooppunt 2 en aarde (knooppunt 0). In beide gevallen is de spanningspolariteit negatief bij knooppunt 0 ten opzichte van het andere knooppunt (met andere woorden, beide knooppunten 1 en 2 zijn positief ten opzichte van knooppunt 0).

Vermijd open circuits

SPICE kan niet overweg met open circuits van welke aard dan ook. Als uw netlijst bijvoorbeeld een circuit met een open spanningsbron specificeert, weigert SPICE een analyse uit te voeren.

Een goed voorbeeld van dit type fout wordt gevonden bij het "aansluiten" van een spanningsbron op de ingang van een spanningsafhankelijke bron (gebruikt om een ​​operationele versterker te simuleren). SPICE moet een compleet pad voor stroom zien, dus bind ik meestal een hoogwaardige weerstand (noem het rbogus !) over de spanningsbron om als een minimale belasting te fungeren.

Vermijd bepaalde componentlussen

SPICE kan bepaalde ononderbroken lussen van componenten in een circuit niet aan, namelijk spanningsbronnen en inductoren. De volgende lussen zorgen ervoor dat SPICE de analyse afbreekt:

netlijst l1 2 4 10m l2 2 4 50m l3 2 4 25m 

netlist v1 1 0 dc 12 l1 1 0 150m 

netlist c1 5 6 33u c2 6 7 47u 

De reden dat SPICE deze omstandigheden niet aankan, komt voort uit de manier waarop het DC-analyse uitvoert:door alle inductoren als kortsluitingen en alle condensatoren als open te behandelen. Aangezien kortsluitingen (0 ) en open circuits (oneindige weerstand) wiskundige oneindigheden bevatten of genereren, kan een computer ze gewoon niet aan, en daarom zal SPICE de analyse stopzetten als een van deze omstandigheden zich voordoet.

Hoe om te gaan met smoorspoelen en condensatoren in SPICE

Om deze componentconfiguraties acceptabel te maken voor SPICE, moet u weerstanden met de juiste waarden op de juiste plaatsen plaatsen, waardoor de respectieve kortsluitingen en open circuits worden geëlimineerd. Als een serieweerstand vereist is, kies dan een zeer lage weerstandswaarde.

Omgekeerd, als een parallelle weerstand vereist is, kiest u een zeer hoge weerstandswaarde. Bijvoorbeeld:

Om het probleem met de parallelle inductor op te lossen, plaatst u een weerstand van zeer lage waarde in serie met elke storende inductor.

originele netlijst l1 2 4 10m l2 2 4 50m l3 2 4 25m 
vaste netlijst rbogus1 2 3 1e-12 rbogus2 2 5 1e-12 l1 3 4 10m l2 2 4 50m l3 5 4 25m 

Net als in het vorige voorbeeld met parallelle smoorspoelen, is het belangrijk om de correctieweerstand (Rbogus ) zeer lage weerstand, om de werking van het circuit niet substantieel te beïnvloeden.

Om het seriecondensatorcircuit te repareren, moet een van de condensatoren een weerstand hebben die eroverheen loopt. SPICE vereist een gelijkstroompad naar elke condensator voor analyse.

originele netlijst c1 5 6 33u c2 6 7 47u 
vaste netlijst c1 5 6 33u c2 6 7 47u rbogus 6 7 9e12 

De Rnep waarde van 9 Tera-ohm levert een gelijkstroompad naar C1 (en rond C2 ) zonder de werking van het circuit substantieel te beïnvloeden.

Huidige meting

Hoewel het afdrukken of plotten van spanning vrij eenvoudig is in SPICE, is de uitvoer van stroomwaarden een beetje moeilijker. Spanningsmetingen worden gespecificeerd door de juiste circuitknooppunten te declareren.

Als we bijvoorbeeld de spanning willen weten over een condensator waarvan de draden zijn verbonden tussen de knooppunten 4 en 7, kunnen we .print onderscheiden verklaring ziet er als volgt uit:

c1 4 7 22u .print ac v(4,7) 

Als we echter willen dat SPICE de huidige . meet door die condensator zou het niet zo eenvoudig zijn. Stromen in SPICE moeten worden gespecificeerd in relatie tot een spanningsbron, niet een willekeurige component. Bijvoorbeeld:

c1 4 7 22u vinput 6 4 ac 1 sin .print ac i(vinput) 

Deze .print kaart geeft SPICE de opdracht om de stroom door spanningsbron Vinvoer . af te drukken , wat toevallig hetzelfde is als de stroom door onze condensator tussen de knooppunten 4 en 7. Maar wat als er geen dergelijke spanningsbron in ons circuit is om te verwijzen voor stroommeting?

Een oplossing is om een ​​shuntweerstand in het circuit te plaatsen en de spanning erover te meten. In dit geval heb ik een shuntweerstandswaarde van 1 gekozen om 1 volt per ampère stroom te produceren via C1 :

c1 4 7 22u rshunt 6 4 1 .print ac v(6,4) 

Het inbrengen van een extra weerstand in ons circuit die groot genoeg is om een ​​zinvolle spanning te laten vallen voor het beoogde stroombereik, kan de zaken echter nadelig beïnvloeden. Een betere oplossing voor SPICE is dit, hoewel je in het echte leven nooit zo'n huidige meetoplossing zou zoeken:

c1 4 7 22u vbogus 6 4 dc 0 .print ac i(vbogus) 

Het plaatsen van een "nep" DC-spanningsbron van nul volt heeft helemaal geen invloed op de werking van het circuit, maar het biedt SPICE een handige plek om een ​​stroommeting uit te voeren. Interessant genoeg maakt het niet uit dat Vbogus is een gelijkstroombron wanneer we wisselstroom willen meten!

Het feit dat SPICE een AC-stroomwaarde zal uitvoeren, wordt bepaald door de "ac ”-specificatie in de .print kaart en meer niet. Er moet ook worden opgemerkt dat de manier waarop SPICE een polariteit toewijst aan huidige metingen een beetje vreemd is. Neem het volgende circuit als voorbeeld:

voorbeeld v1 1 0 r1 1 2 5k r2 2 0 5k .dc v1 10 10 1 .print dc i(v1) .end 

Met een totale spanning van 10 volt en een totale weerstand van 10 kΩ, zou je verwachten dat SPICE je zal vertellen dat er 1 mA (1e-03) stroom zal zijn door spanningsbron V1 , maar in werkelijkheid zal SPICE een cijfer van negatief . weergeven 1 mA (-1e-03)! SPICE beschouwt stroom uit het negatieve uiteinde van een DC-spanningsbron (de normale richting) als een negatieve stroomwaarde in plaats van een positieve stroomwaarde.

Er zijn tijden dat ik een "nep" spanningsbron in een gelijkstroomcircuit zoals dit gooi, gewoon om SPICE een positief te laten uitvoeren huidige waarde:

voorbeeld v1 1 0 r1 1 2 5k r2 2 3 5k vbogus 3 0 dc 0 .dc v1 10 10 1 .print dc i(vbogus) .end 

Merk op hoe Vbogus is zo gepositioneerd dat de circuitstroom de positieve kant (knooppunt 3) binnenkomt en de negatieve kant verlaat (knooppunt 0). Deze oriëntatie zorgt voor een positief uitgangsgetal voor circuitstroom.

Fourier-analyse

Bij het uitvoeren van een Fourier-analyse (frequentiedomein) op een golfvorm, vond ik het nodig om de golfvorm af te drukken of te plotten met behulp van de .print of .plot respectievelijk kaarten. Als u het niet afdrukt of plot, pauzeert SPICE even tijdens de analyse en breekt het de taak vervolgens af nadat de "initiële tijdelijke oplossing" is uitgevoerd.

Ook bij het analyseren van een blokgolf geproduceerd door de “puls ” bronfunctie, moet u de golfvorm een ​​eindige stijg- en daaltijd geven, anders zijn de Fourier-analyseresultaten onjuist. Om de een of andere reden produceert een perfecte blokgolf zonder stijg-/daaltijd significante niveaus van even harmonischen volgens de Fourier-analyseoptie van SPICE, wat niet geldt voor echte blokgolven.


Industriële technologie

  1. Een automatisch aanvullen van Google Zoeken maken
  2. Inleiding tot SPICE
  3. Geschiedenis van SPICE
  4. De opdrachtregelinterface
  5. Circuitcomponenten
  6. Praktische overwegingen - Digitale communicatie
  7. Halfgeleiderapparaten in SPICE
  8. JFET Quirks
  9. IGFET-eigenaardigheden
  10. Computersimulatie van elektrische circuits
  11. Zonne-opritverlichting naar MSP430 draadloos sensorknooppunt