Inhoudsopgave:

Een KiCad-circuit simuleren: 7 stappen
Een KiCad-circuit simuleren: 7 stappen

Video: Een KiCad-circuit simuleren: 7 stappen

Video: Een KiCad-circuit simuleren: 7 stappen
Video: Net Classes For a Printed Circuit Board KiCad Tutorial 2024, November
Anonim
Een KiCad-circuit simuleren
Een KiCad-circuit simuleren

Het tekenen en ontwerpen van circuits is een oud proces, zo oud als de eerste elektronische componenten. Het was toen makkelijk. Er was een beperkt aantal componenten en dus een beperkt aantal configuraties, met andere woorden: schakelingen waren eenvoudiger. Nu, in het zogenaamde informatietijdperk, zijn er een groot aantal verschillende componenten, en elke elektronische component heeft meer dan een dozijn modellen en elk model wordt vervaardigd door een handvol bedrijven. Het behoeft geen betoog dat elk model en elk bedrijfsspecifiek onderdeel van elkaar verschillen. Ze kunnen hun vooroordelen hebben, fouten met verschillende toleranties, verschillende maximale en minimale bedrijfsomstandigheden en kunnen natuurlijk enigszins veranderen hoe het circuit reageert en werkt. Als klap op de vuurpijl zijn circuits tegenwoordig zeer complex; bestaande uit maximaal tientallen componenten die samenwerken om verschillende taken uit te voeren op basis van de invoer.

Zoals je goed geraden hebt, zou het een nachtmerrie zijn om te proberen deze circuits door berekening of met de hand te analyseren. Bovendien zouden sommige toleranties en nuances verloren gaan of gewijzigd worden omdat ze productspecifiek zijn. Hier komt simulatie om de hoek kijken. Door gebruik te maken van de kracht van moderne technologie en met de allernieuwste snelheden, is een circuitanalyse die teams van mensen urenlang zou hebben gekost, nu net zo eenvoudig als het instellen van de

Benodigdheden

-Kicad versie 5.0 of hoger

- Internetverbinding om bibliotheken te downloaden

Stap 1: Hoe gebeurt de magie?

Laten we dit voorafgaan door te zeggen dat KiCad geen simulaties behandelt. KiCad is slechts een gebruikersinterface (gebruikersinterface). Een vergelijkbare analogie zou zijn dat KiCad slechts een tussenpersoon is tussen u en het simulatieprogramma, dat een van de vele software genaamd "SPICE" zou kunnen zijn.

SPICE is een afkorting voor "Simulation Program with Integrated Circuit Emphasis". In het geval van KiCad worden KiCad 5.0 en hoger voorverpakt met een SPICE-programma genaamd ngspice. Ngspice heeft zijn eigenaardigheden, hikken en beperkingen, maar zal de software zijn waarop we ons zullen concentreren. Ngspice gebruikt "Componenten" om het gedrag van circuits te modelleren. Dit betekent dat we naast het tekenen van de circuitschema's ook modellen moeten annoteren en "toewijzen" aan individuele componenten. Om het probleem van meerdere modellen van dezelfde componenten op te lossen, besloot ngspice om elk bedrijf "kruidenmodellen" te laten maken die de eigenschappen en nuances van hun echte tegenhangers repliceren, en deze modellen vervolgens te verpakken als downloadbare bibliotheken, zodat het tekenen van een circuit zou zo simpel zijn als het downloaden van de vereiste bibliotheken en het toewijzen van een model aan onze componenten. Maar dat is allemaal gepraat, laten we onze hand vuil maken en kijken hoe dit echt werkt.

Stap 2: Een circuit kiezen en passieve componenten modelleren

Een circuit kiezen en passieve componenten modelleren
Een circuit kiezen en passieve componenten modelleren

We hebben gekozen voor een eenvoudig circuit waarmee we kunnen demonstreren hoe we onze eigen SPICE-waarden aan componenten kunnen geven en hoe we componenten kunnen gebruiken die door leveranciers worden vermeld

Ten eerste, zoals we kunnen zien aan de figuur; er zijn 8 componenten in dit circuit.• 2 weerstand

• 1 9v batterij

• 1 LDR

• 1 BC 547 npn-transistor

• 1 LED

• 1 weerstand •

1 grond

Modelleren van alle soorten weerstanden Ngspice "wijst modellen toe" aan weerstanden, met andere woorden: het herkent ze. We hoeven ze dus niet aan te passen of te sleutelen aan bibliotheken om ze te maken. We merken ook dat er een regelweerstand en een LDR is. In ngspice kunnen ze allebei worden gemodelleerd als constante weerstanden waarvan we hun waarden naar behoefte zullen aanpassen. Met andere woorden, als we "het licht moeten verhogen" of de belasting van de regelweerstand moeten verhogen, zullen we de simulatie moeten stoppen, de belasting moeten wijzigen en deze vervolgens opnieuw moeten uitvoeren.

Stap 3: Modellering van spanningsbronnen en aardingen

Modellering van spanningsbronnen en aardingen
Modellering van spanningsbronnen en aardingen
Modellering van spanningsbronnen en aardingen
Modellering van spanningsbronnen en aardingen
Modellering van spanningsbronnen en aardingen
Modellering van spanningsbronnen en aardingen
Modellering van spanningsbronnen en aardingen
Modellering van spanningsbronnen en aardingen

Ngpice herkent geen "standaard" spanningsbronnen; die worden gebruikt door KiCad. Het biedt een bibliotheek specifiek voor de spanningsbronnen en gronden

Om toegang te krijgen tot de bibliotheek, moeten we eerst het tabblad "Kies symbool" kiezen en zoeken naar "kruiden"

*Zoals te zien is in (figuur 1), hebben we de bibliotheek "pspice" en de bibliotheek "simulation_spice". Voor spanningsbronnen willen we naar beneden scrollen naar de simulation_spice-bibliotheek en een gelijkspanningsbron kiezen

Daarna moeten we de waarden ervan instellen zodat de simulator het begrijpt, in dit circuit willen we een 9v dc-bron. We klikken op "E" op de spanningsbron en het volgende menu wordt geopend, weergegeven in (figuur 2). We kiezen een referentienaam voor de spanningsbron, bijvoorbeeld VoltageMain, en dan klikken we op "Edit Spice Model". Zoals hierboven getoond

Dan kiezen we een waarde van dc 9v, en dat is het zo'n beetje. Zoals weergegeven in (figuur 3)

De grond

Voor de grond zoeken we weer naar “spice” en het eerste resultaat is de 0V referentiepotentiaal zoals getoond in.(figuur 4). In tegenstelling tot normale schema's, heeft Spice-software de grond nodig omdat het zijn spanningen berekent op basis van de 0v-referentie.

Stap 4: Het modelleren van de transistor

De transistor modelleren
De transistor modelleren
De transistor modelleren
De transistor modelleren
De transistor modelleren
De transistor modelleren
De transistor modelleren
De transistor modelleren

Zoals we op de afbeelding van het circuit kunnen zien, is de gebruikte transistor een heel specifiek model, de "BC547". Over het algemeen zijn bijna alle gefabriceerde componenten te vinden op de website van hun respectievelijke fabrikant. Onder hun tool- of ondersteuningstabblad zullen er "simulatiemodellen" zijn met het modelnummer en een relatief kruidenmodel. In ons geval zocht ik online naar "bc547" en ontdekte dat het werd vervaardigd door een bedrijf met de naam "On halfgeleiders". Ik zocht naar hun website " https://www.onsemi.com/ " en vond het model als volgt:

  • Ik opende hun tabblad "Extra's en ondersteuning", daaronder vond ik een tabblad met ontwerpbronnen. (Figuur 1)
  • Onder ontwerpbronnen vroegen ze naar het type document, ik koos voor "Simulatiemodellen" (figuur 2)
  • Ik heb het onderdeel op naam gezocht: “BC547”. We willen de bibliotheek, dus we kiezen "BC547 Lib Model" en downloaden het. (figuur 3)
  • Na het downloaden heb ik het lib-bestand in mijn projectdirectory geplaatst. Nu wordt mijn projectdirectory getoond in het originele KiCad-venster dat ik heb geopend, zoals te zien is in (figuur 4). Ik klikte mijn weg naar die map, plakte het bibliotheekbestand zoals weergegeven en keerde terug om het naast de bestanden van mijn project te zien
  • Laten we na alles wat gezegd en gedaan is, het transistorsymbool tekenen. Ik klikte met behulp van het menu "plaatssymbool" en zocht gewoon naar de naam. U ziet dat bijna alle componenten bestaan in het symboolmenu zoals in (figuur 5).
  • Wat nu overblijft, is het model toewijzen aan het symbool. We klikken zoals altijd op "E" op het symbool en klikken op "Specerijenmodel bewerken".
  • Zoals we kunnen zien, zijn de enige beschikbare tabbladen model, passief en bron. Omdat transistors bron noch passief zijn, kiezen we het model en kiezen we ervoor om een bibliotheek in te pluggen om te vullen. Het menu opent eerst naar de map van het project, waar we gelukkig de bibliotheek al in hebben geplaatst. We klikken op het lib-bestand.

    • Super goed!! Nu heeft ngspice de transistor geïdentificeerd als "BC547" en is bijna klaar voor gebruik. Er moet eerst een klein detail worden gesorteerd. We moeten alternatieve knoopvolgorde inschakelen en "3 2 1" typen. De reden dat we deze stap moeten doen, is dat ngspice de 3 transistorterminals een naam geeft op een manier die tegengesteld is aan hoe KiCad ze laat zien. Het kan dus zijn dat er 3 aan de collector zijn toegewezen, terwijl KiCad er 3 als de zender toont. Om verwarring te voorkomen, herconfigureren we de naamvolgorde van Spice, zoals weergegeven in (figuur 7)
    • Endddd dat is het! Dit proces is bijna identiek voor modellen van alle leveranciers. Als je eenmaal je hoofd rond dit zelfstudiegedeelte hebt gewikkeld, kun je elk type elektronisch model en component gebruiken met slechts een beetje onderzoek.

Stap 5: LED's modelleren

LED's modelleren
LED's modelleren
LED's modelleren
LED's modelleren

LED's zijn een beetje lastiger in het feit dat het modelleren ervan enige kennis vereist over hun parameters en curve-fitting. Dus om ze te modelleren, heb ik gewoon "LED ngspice" opgezocht. Ik ontdekte dat meerdere mensen hun "LED-modellen" postten en ik besloot om voor deze " *Typ RODE GaAs LED: Vf=1.7V Vr=4V If=40mA trr=3uS te gaan. MODEL LED1 D (IS=93,2P RS=42M N=3,73 BV=4 IBV=10U + CJO=2,97P VJ=,75 M=.333 TT=4,32U)?”

We zullen "LED" uit het symboolmenu kiezen en deze code in de lege ruimte onder de bibliotheken in "Bewerk kruidenmodel" plakken. We gaan ook de alternatieve knoopvolgorde inschakelen en "2 1" schrijven, zoals weergegeven in figuur 1

Na wat laatste details, zoals de weerstanden en het aansluiten van de draden, zijn we klaar om te beginnen met simuleren

Stap 6: Simuleren

Simuleren
Simuleren
Simuleren
Simuleren
Simuleren
Simuleren
Simuleren
Simuleren

Simuleren is complex, dus in deze tutorial leggen we de basis uit en hoe je aan de slag kunt

  • Eerst openen we de simulator vanaf het tabblad tools in het bovenste lint (figuur 1)
  • Vervolgens gaan we naar het simulatietabblad in het bovenste lint en klikken op instellingen, van daaruit kunnen we specificeren wat voor soort simulatie we willen uitvoeren en de parameters ervan. (Figuur 2)

We willen een tijdelijke simulatie uitvoeren. Er is ook DC- en AC-sweep beschikbaar als simulatie-opties. DC-sweep verhoogt de waarde van de DC-stroom en meldt de veranderingen in de cirkels, terwijl AC de frequentierespons bewaakt.

  • Transiënte analyse simuleert echter een circuit in realtime. Het heeft 3 parameters, waarvan we er twee gaan gebruiken. Tijdstap is hoe vaak de simulator resultaten zal opnemen, en de laatste tijd is na hoeveel seconden de opname zal stoppen. We voeren 1 milliseconde en 5 milliseconden in en dan ok, en dan voeren we de simulatie uit (figuur 3)
  • Zoals u kunt zien, toonde het ons in het onderste tekstdisplay de spannings- en stroomwaarden over verschillende componenten. We kunnen deze waarden ook in een grafiek weergeven door de knop "signalen toevoegen" te gebruiken en vervolgens de spanning of stroom van een bepaald onderdeel te kiezen. We kunnen ook sonderen nadat we de simulatie hebben gestart. Met sonderen kunnen we de spannings- en stroomcurves in een bepaald onderdeel direct volgen door erop te klikken. (figuur 4)

Stap 7: afronden

Aangezien dit circuit verondersteld werd te zijn gemaakt met een LDR en een weerstand, kunnen we de weerstand van beide componenten wijzigen en vervolgens het circuit opnieuw laten lopen om de weerstandswaarden te bepalen die we willen voor deze lichtgestuurde LED met behulp van een common-emitter npn-transistor als schakelcircuit.

Aanbevolen: