Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Simulation informatique de circuits électriques

Les ordinateurs peuvent être des outils puissants s'ils sont utilisés correctement, en particulier dans les domaines de la science et de l'ingénierie. Des logiciels existent pour la simulation de circuits électriques par ordinateur, et ces programmes peuvent être très utiles pour aider les concepteurs de circuits à tester des idées avant de construire de vrais circuits, économisant ainsi beaucoup de temps et d'argent.

Ces mêmes programmes peuvent être des aides fantastiques pour l'étudiant débutant en électronique, permettant l'exploration d'idées rapidement et facilement sans assemblage de circuits réels requis. Bien sûr, rien ne remplace la construction et le test de circuits réels, mais les simulations informatiques aident certainement le processus d'apprentissage en permettant à l'étudiant d'expérimenter des changements et de voir les effets qu'ils ont sur les circuits.

Tout au long de ce livre, j'incorporerai fréquemment des impressions d'ordinateur de simulation de circuit afin d'illustrer des concepts importants. En observant les résultats d'une simulation informatique, un étudiant peut acquérir une compréhension intuitive du comportement du circuit sans l'intimidation de l'analyse mathématique abstraite.

Simulation de circuit avec SPICE

Pour simuler des circuits sur ordinateur, j'utilise un programme particulier appelé SPICE, qui fonctionne en décrivant un circuit à l'ordinateur au moyen d'un listing de texte. Essentiellement, cette liste est une sorte de programme informatique en soi et doit respecter les règles syntaxiques du langage SPICE.

L'ordinateur est ensuite utilisé pour traiter ou « exécuter » le programme SPICE, qui interprète la liste de texte décrivant le circuit et génère les résultats de son analyse mathématique détaillée, également sous forme de texte. De nombreux détails sur l'utilisation de SPICE sont décrits dans le volume 5 (« Référence ») de cette série de livres pour ceux qui souhaitent plus d'informations. Ici, je vais juste présenter les concepts de base, puis appliquer SPICE à l'analyse de ces circuits simples que nous avons lu.

Tout d'abord, nous devons avoir SPICE installé sur notre ordinateur. En tant que programme gratuit, il est généralement disponible en téléchargement sur Internet et dans des formats adaptés à de nombreux systèmes d'exploitation différents. Dans ce livre, j'utilise l'une des versions précédentes de SPICE :la version 2G6, pour sa simplicité d'utilisation.

Ensuite, nous avons besoin d'un circuit à analyser pour SPICE. Essayons l'un des circuits illustrés plus haut dans le chapitre. Voici son schéma de principe :

Ce circuit simple se compose d'une batterie et d'une résistance connectées directement ensemble. On connaît la tension de la batterie (10 volts) et la résistance de la résistance (5 Ω), mais rien d'autre sur le circuit. Si nous décrivons ce circuit à SPICE, il devrait pouvoir nous dire (à tout le moins) combien de courant nous avons dans le circuit en utilisant la loi d'Ohm (I=E/R).

SPICE est un programme basé sur du texte

SPICE ne peut pas comprendre directement un diagramme schématique ou toute autre forme de description graphique. SPICE est un programme informatique basé sur du texte et exige qu'un circuit soit décrit en termes de ses composants et points de connexion. Chaque point de connexion unique dans un circuit est décrit pour SPICE par un numéro de « nœud ». Les points électriquement communs entre eux dans le circuit à simuler sont désignés comme tels en partageant le même numéro.

Il peut être utile de considérer ces numéros comme des numéros de « fil » plutôt que des numéros de « nœud », en suivant la définition donnée dans la section précédente. C'est ainsi que l'ordinateur sait ce qui est connecté à quoi :par le partage de numéros de fil, ou de nœud, communs. Dans notre exemple de circuit, nous n'avons que deux « nœuds », le fil supérieur et le fil inférieur. SPICE exige qu'il y ait un nœud 0 quelque part dans le circuit, nous allons donc étiqueter nos fils 0 et 1 :

Dans l'illustration ci-dessus, j'ai montré plusieurs étiquettes "1" et "0" autour de chaque fil respectif pour souligner le concept de points communs partageant des numéros de nœuds communs, mais il s'agit toujours d'une image graphique, pas d'une description textuelle. SPICE doit avoir les valeurs des composants et les numéros de nœud sous forme de texte avant que toute analyse puisse se poursuivre.

Utiliser un éditeur de texte pour créer des fichiers SPICE

La création d'un fichier texte sur un ordinateur implique l'utilisation d'un programme appelé éditeur de texte . Semblable à un traitement de texte, un éditeur de texte vous permet de taper du texte et d'enregistrer ce que vous avez tapé sous la forme d'un fichier stocké sur le disque dur de l'ordinateur. Les éditeurs de texte n'ont pas la capacité de formatage des traitements de texte (pas d'italique , gras , ou des caractères soulignés), et c'est une bonne chose, car des programmes tels que SPICE ne sauraient pas quoi faire de ces informations supplémentaires. Si nous voulons créer un fichier en texte brut, avec absolument rien d'enregistré à l'exception des caractères du clavier que nous sélectionnons, un éditeur de texte est l'outil à utiliser.

Si vous utilisez un système d'exploitation Microsoft tel que DOS ou Windows, quelques éditeurs de texte sont facilement disponibles avec le système. Sous DOS, il y a l'ancien Edit programme d'édition de texte, qui peut être invoqué en tapant edit à l'invite de commande. Sous Windows (3.x/95/98/NT/Me/2k/XP), le Bloc-notes l'éditeur de texte est votre choix de stock.

De nombreux autres programmes d'édition de texte sont disponibles, et certains sont même gratuits. J'utilise un éditeur de texte gratuit appelé Vim , et exécutez-le sous les systèmes d'exploitation Windows 95 et Linux. Peu importe l'éditeur que vous utilisez, alors ne vous inquiétez pas si les captures d'écran de cette section ne ressemblent pas aux vôtres ; les informations importantes ici sont ce que vous tapez , pas quel éditeur vous utilisez.

Pour décrire ce circuit simple à deux composants à SPICE, je vais commencer par appeler mon programme d'édition de texte et taper une ligne de "titre" pour le circuit :

Nous pouvons décrire la batterie à l'ordinateur en tapant une ligne de texte commençant par la lettre « v » (pour « Source de tension »), en identifiant à quel fil chaque borne de la batterie se connecte (les numéros de nœud) et la tension de la batterie , comme ceci :

Cette ligne de texte indique à SPICE que nous avons une source de tension connectée entre les nœuds 1 et 0, courant continu (CC), 10 volts. C'est tout ce que l'ordinateur doit savoir concernant la batterie. Passons maintenant à la résistance :SPICE exige que les résistances soient décrites par une lettre « r », les numéros des deux nœuds (points de connexion) et la résistance en ohms. Puisqu'il s'agit d'une simulation informatique, il n'est pas nécessaire de spécifier une puissance nominale pour la résistance. C'est une bonne chose à propos des composants « virtuels » :ils ne peuvent pas être endommagés par des tensions ou des courants excessifs !

Maintenant, SPICE saura qu'il y a une résistance connectée entre les nœuds 1 et 0 avec une valeur de 5 Ω. Cette très brève ligne de texte indique à l'ordinateur que nous avons une résistance ("r") connectée entre les deux mêmes nœuds que la batterie (1 et 0), avec une valeur de résistance de 5 Ω.

Si nous ajoutons une instruction .end à cette collection de commandes SPICE pour indiquer la fin de la description du circuit, nous aurons toutes les informations dont SPICE a besoin, rassemblées dans un seul fichier et prêtes à être traitées. Cette description de circuit, composée de lignes de texte dans un fichier informatique, est techniquement connue sous le nom de netlist , ou pont :

Déplacement des fichiers de l'éditeur de texte dans SPICE

Une fois que nous avons fini de taper toutes les commandes SPICE nécessaires, nous devons les "enregistrer" dans un fichier sur le disque dur de l'ordinateur afin que SPICE ait quelque chose à quoi se référer lorsqu'il est invoqué. Comme il s'agit de ma première netlist SPICE, je vais l'enregistrer sous le nom de fichier "circuit1.cir" (le nom réel étant arbitraire).

Vous pouvez choisir de nommer votre première netlist SPICE quelque chose de complètement différent, du moment que vous n'enfreignez aucune règle de nom de fichier pour votre système d'exploitation, par exemple en n'utilisant pas plus de 8+3 caractères (huit caractères dans le nom et trois caractères dans l'extension :12345678.123) sous DOS.

Pour invoquer SPICE (lui dire de traiter le contenu du fichier netlist circuit1.cir), nous devons quitter l'éditeur de texte et accéder à une invite de commande (la "invite DOS" pour les utilisateurs de Microsoft) où nous pouvons entrer des commandes de texte pour le système d'exploitation de l'ordinateur à obéir.

Cette façon « primitive » d'invoquer un programme peut sembler archaïque pour les utilisateurs d'ordinateurs habitués à un environnement graphique « pointer-cliquer », mais c'est une façon très puissante et flexible de faire les choses.

N'oubliez pas que ce que vous faites ici en utilisant SPICE est une forme simple de programmation informatique, et plus vous vous sentirez à l'aise pour donner à l'ordinateur des commandes sous forme de texte à suivre, par opposition à un simple clic sur les images d'icônes à l'aide d'une souris, plus maîtrise que vous aurez sur votre ordinateur.

Une fois à l'invite de commande, tapez cette commande, suivie d'une frappe [Entrée] (cet exemple utilise le nom de fichier circuit1.cir ; si vous avez choisi un nom de fichier différent pour votre fichier netlist, remplacez-le) :

épice

Voici à quoi cela ressemble sur mon ordinateur (exécutant le système d'exploitation Linux), juste avant d'appuyer sur la touche [Entrée] :

Dès que vous appuyez sur la touche [Entrée] pour émettre cette commande, le texte de la sortie de SPICE doit défiler sur l'écran de l'ordinateur. Voici une capture d'écran montrant ce que SPICE génère sur mon ordinateur (j'ai allongé la fenêtre "terminal" pour vous montrer le texte intégral. Avec un terminal de taille normale, le texte dépasse facilement une page) :

SPICE commence par une réitération de la netlist, avec la ligne de titre et l'instruction .end. Environ à mi-chemin de la simulation, il affiche la tension à tous les nœuds en référence au nœud 0. Dans cet exemple, nous n'avons qu'un nœud autre que le nœud 0, il affiche donc la tension à cet endroit :10,0000 volts.

Ensuite, il affiche le courant à travers chaque source de tension. Comme nous n'avons qu'une seule source de tension dans tout le circuit, il n'affiche que le courant qui la traverse. Dans ce cas, le courant source est de 2 ampères. En raison d'une bizarrerie dans la façon dont SPICE analyse le courant, la valeur de 2 ampères est sortie comme un négatif (-) 2 ampères.

La dernière ligne de texte dans le rapport d'analyse de l'ordinateur est « dissipation de puissance totale », qui dans ce cas est donnée sous la forme « 2.00E+01 » watts :2,00 x 101, ou 20 watts. SPICE génère la plupart des chiffres en notation scientifique plutôt qu'en notation normale (à virgule fixe).

Bien que cela puisse sembler plus déroutant au début, cela l'est en réalité moins lorsqu'il s'agit de très grands ou de très petits nombres. Les détails de la notation scientifique seront traités dans le prochain chapitre de ce livre.

L'un des avantages de l'utilisation d'un programme textuel « primitif » tel que SPICE est que les fichiers texte traités sont extrêmement petits par rapport à d'autres formats de fichiers, en particulier les formats graphiques utilisés dans d'autres logiciels de simulation de circuits.

De plus, le fait que la sortie de SPICE soit en texte brut signifie que vous pouvez diriger la sortie de SPICE vers un autre fichier texte où elle peut être manipulée davantage. Pour ce faire, nous réémettons une commande au système d'exploitation de l'ordinateur pour appeler SPICE, cette fois en redirigeant la sortie vers un fichier que j'appellerai "output.txt":

SPICE fonctionnera "silencieusement" cette fois, sans le flux de sortie de texte sur l'écran de l'ordinateur comme auparavant. Un nouveau fichier, output1.txt, sera créé, que vous pourrez ouvrir et modifier à l'aide d'un éditeur de texte ou d'un traitement de texte. Pour cette illustration, j'utiliserai le même éditeur de texte (Vim ) pour ouvrir ce fichier :

Maintenant, je peux librement éditer ce fichier, en supprimant tout texte superflu (comme les "bannières" indiquant la date et l'heure), en ne laissant que le texte que je pense être pertinent pour l'analyse de mon circuit :

Une fois correctement édité et réenregistré sous le même nom de fichier (output.txt dans cet exemple), le texte peut être collé dans n'importe quel type de document, le « texte brut » étant un format de fichier universel pour presque tous les systèmes informatiques. Je peux même l'inclure directement dans le texte de ce livre, plutôt que comme une image graphique « capture d'écran », comme ceci :

mon premier circuit v 1 0 dc 10 r 1 0 5 .finir tension de nœud ( 1) 10.0000 courants de source de tension nom actuel v -2.000E+00 puissance dissipée totale 2.00E+01 watts

Incidemment, c'est le format préféré pour la sortie de texte des simulations SPICE dans cette série de livres :en tant que texte réel, pas en tant qu'images de capture d'écran graphiques.

Modification des valeurs dans SPICE

Pour modifier une valeur de composant dans la simulation, nous devons ouvrir le fichier netlist (circuit1.cir) et apporter les modifications requises dans la description textuelle du circuit, puis enregistrer ces modifications sous le même nom de fichier et réinvoquer SPICE à l'invite de commande.

Ce processus d'édition et de traitement d'un fichier texte est familier à tout programmeur informatique. L'une des raisons pour lesquelles j'aime enseigner SPICE est qu'il prépare l'apprenant à penser et à travailler comme un programmeur informatique, ce qui est bien car la programmation informatique est un domaine important du travail électronique avancé.

Auparavant, nous avons exploré les conséquences de la modification de l'une des trois variables d'un circuit électrique (tension, courant ou résistance) en utilisant la loi d'Ohm pour prédire mathématiquement ce qui se passerait. Essayons maintenant la même chose en utilisant SPICE pour faire le calcul pour nous.

Si nous devions tripler la tension dans notre dernier exemple de circuit de 10 à 30 volts et maintenir la résistance du circuit inchangée, nous nous attendrions à ce que le courant triple également. Essayons ceci, en renommant notre fichier netlist afin de ne pas écraser le premier fichier.

De cette façon, nous aurons les deux versions de la simulation de circuit stockées sur le disque dur de notre ordinateur pour une utilisation future. La liste de texte suivante est la sortie de SPICE pour cette netlist modifiée, formatée en texte brut plutôt qu'en image graphique de mon écran d'ordinateur :

deuxième exemple de circuit v 1 0 dc 30 r 1 0 5 .finir tension de nœud ( 1) 30.0000 courants de source de tension nom actuel v -6.000E+00 puissance dissipée totale 1.80E+02 watts

Comme nous l'avions prévu, le courant a triplé avec l'augmentation de la tension. Le courant était de 2 ampères, mais maintenant il est passé à 6 ampères (-6.000 x 100). Notez également comment la dissipation de puissance totale dans le circuit a augmenté. C'était 20 watts avant, mais maintenant c'est 180 watts (1,8 x 102).

En rappelant que la puissance est liée au carré de la tension (Loi de Joule :P=E2/R), cela a du sens. Si nous triplons la tension du circuit, la puissance devrait augmenter d'un facteur neuf (32 =9). Neuf fois 20 est en effet 180, donc la sortie de SPICE est en effet en corrélation avec ce que nous savons de la puissance dans les circuits électriques.

Créer des commentaires dans SPICE

Si nous voulons voir comment ce circuit simple réagirait sur une large gamme de tensions de batterie, nous pouvons invoquer certaines des options les plus avancées de SPICE. Ici, j'utiliserai l'option d'analyse ".dc" pour faire varier la tension de la batterie de 0 à 100 volts par incréments de 5 volts, en imprimant la tension et le courant du circuit à chaque étape.

Les lignes de la netlist SPICE commençant par une étoile ("*") sont des commentaires . C'est-à-dire qu'ils ne disent pas à l'ordinateur de faire quoi que ce soit concernant l'analyse des circuits, mais servent simplement de notes pour tout être humain lisant le texte de la netlist.

troisième exemple de circuit v 1 0 r 1 0 5 * l'instruction ".dc" indique à Spice de balayer l'offre "v" *tension de 0 à 100 volts par pas de 5 volts. .dc v 0 100 5 .print dc v(1) i(v) .finir 

Commandes d'impression et de tracé

La commande .print dans cette netlist SPICE indique à SPICE d'imprimer des colonnes de nombres correspondant à chaque étape de l'analyse :

v i(v) 0,000E+00 0,000E+00 5.000E+00 -1.000E+00 1.000E+01 -2.000E+00 1.500E+01 -3.000E+00 2.000E+01 -4.000E+00 2.500E+01 -5.000E+00 3.000E+01 -6.000E+00 3.500E+01 -7.000E+00 4.000E+01 -8.000E+00 4.500E+01 -9.000E+00 5.000E+01 -1.000E+01 5.500E+01 -1.100E+01 6.000E+01 -1.200E+01 6.500E+01 -1.300E+01 7.000E+01 -1.400E+01 7.500E+01 -1.500E+01 8.000E+01 -1.600E+01 8.500E+01 -1.700E+01 9.000E+01 -1.800E+01 9.500E+01 -1.900E+01 1.000E+02 -2.000E+01

Si je réédite le fichier netlist, en changeant la commande .print en une commande .plot, SPICE affichera un graphique brut composé de caractères de texte :

Légende :+ =v#branche -------------------------------------------------- ---------------------- balayage v#branch-2.00e+01 -1.00e+01 0.00e+00 ---------------------|------------------------|--- ---------------------| 0,000e+00 0,000e+00 . . + 5.000e+00 -1.000e+00 . . + . 1.000e+01 -2.000e+00 . . + . 1.500e+01 -3.000e+00 . . + . 2.000e+01 -4.000e+00 . . + . 2.500e+01 -5.000e+00 . . + . 3.000e+01 -6.000e+00 . . + . 3.500e+01 -7.000e+00 . . + . 4.000e+01 -8.000e+00 . . + . 4.500e+01 -9.000e+00 . . + . 5.000e+01 -1.000e+01 . + . 5.500e+01 -1.100e+01 . + . . 6.000e+01 -1.200e+01 . + . . 6.500e+01 -1.300e+01 . + . . 7.000e+01 -1.400e+01 . + . . 7.500e+01 -1.500e+01 . + . . 8.000e+01 -1.600e+01 . + . . 8.500e+01 -1.700e+01 . + . . 9.000e+01 -1.800e+01 . + . . 9.500e+01 -1.900e+01 . + . . 1.000e+02 -2.000e+01 + . . ---------------------|------------------------|--- ---------------------| balayage v#branch-2.00e+01 -1.00e+01 0.00e+00

Dans les deux formats de sortie, la colonne de chiffres de gauche représente la tension de la batterie à chaque intervalle, car elle passe de 0 volt à 100 volts, 5 volts à la fois. Les nombres dans la colonne de droite indiquent le courant du circuit pour chacune de ces tensions. Regardez attentivement ces chiffres et vous verrez la relation proportionnelle entre chaque paire :

La loi d'Ohm (I=E/R) est vraie dans tous les cas, chaque valeur de courant étant 1/5 de la valeur de tension respective, car la résistance du circuit est exactement de 5 Ω. Encore une fois, les nombres négatifs pour le courant dans cette analyse SPICE sont plus une bizarrerie qu'autre chose. Faites juste attention à la valeur absolue de chaque nombre, sauf indication contraire.

Programmes informatiques pour interpréter et convertir les données SPICE

Il existe même des programmes informatiques capables d'interpréter et de convertir les données non graphiques produites par SPICE en un tracé graphique. L'un de ces programmes s'appelle Nutmeg , et sa sortie ressemble à ceci :

Notez comment Nutmeg trace la tension de résistance v (1) (tension entre le nœud 1 et le point de référence implicite du nœud 0) sous la forme d'une ligne avec une pente positive (du coin inférieur gauche au coin supérieur droit). Que vous deveniez ou non compétent dans l'utilisation de SPICE n'est pas pertinent pour son application dans ce livre.

Tout ce qui compte, c'est que vous développiez une compréhension de la signification des chiffres dans un rapport généré par SPICE. Dans les exemples à venir, je ferai de mon mieux pour annoter les résultats numériques de SPICE pour éliminer toute confusion, et libérer la puissance de cet outil étonnant pour vous aider à comprendre le comportement des circuits électriques.

FICHES DE TRAVAIL CONNEXES :

  • Fiche de travail sur l'électricité de base
  • Feuille de travail DC de base
  • Feuille de travail d'analyse de réseau de base
  • Feuille de travail CA de base
  • Fiche de travail de base sur les semi-conducteurs
  • Fiche de travail sur les circuits analogiques de base
  • Fiche de travail de base sur les circuits numériques

Technologie industrielle

  1. Introduction à SPICE
  2. Fondements de la programmation SPICE
  3. Composants de circuit
  4. Circuits de commande de moteur
  5. Utilisation de plusieurs circuits combinés
  6. Énergie dans les circuits électriques
  7. Résonance dans les circuits série-parallèle
  8. Construire des circuits électriques
  9. Une introduction aux différents circuits hydrauliques