Maîtriser la simulation de circuits électriques avec SPICE : Guide pratique pour concepteurs et étudiants
Bien utilisés, les ordinateurs deviennent des alliés indispensables en science et ingénierie. L'une des applications les plus puissantes est la simulation de circuits électriques. Ces programmes permettent aux concepteurs d'évaluer rapidement des concepts, réduisant temps et coûts comparés au prototypage physique.
Pour les étudiants débutants en électronique, la simulation offre un moyen immédiat et concret d'expérimenter le comportement des circuits sans assembler de matériel. Si les tests réels restent essentiels, les expériences virtuelles aident à construire l'intuition et permettent des itérations rapides.
Tout au long de ce guide, j'intercalerai des captures d'écran de simulations SPICE pour illustrer les concepts clés. En étudiant ces résultats, les apprenants peuvent saisir la dynamique des circuits sans se noyer dans les mathématiques complexes.
Simulation de circuits avec SPICE
Pour modéliser des circuits sur ordinateur, j'utilise SPICE (Simulation Program with Integrated Circuit Emphasis). SPICE interprète une description textuelle d'un circuit — appelée netlist — et produit les résultats d'une analyse mathématique détaillée.
Pour les détails approfondis, le Volume 5 de la série de référence couvre SPICE de manière exhaustive. Ici, je me concentre sur les fondamentaux et parcours des exemples simples.
D'abord, SPICE doit être installé. Il est gratuit pour de nombreux systèmes d'exploitation, et je démontrerai avec la version légère 2G6, choisie pour sa facilité d'utilisation.
Analysons un circuit de base vu plus tôt : une batterie de 10 V en série avec une résistance de 5 Ω. L'objectif est de vérifier que SPICE calcule le courant attendu via la loi d'Ohm (I = E / R).
SPICE est un programme textuel
SPICE n'interprète pas les schémas graphiques ; il requiert une description purement textuelle. Chaque point de connexion unique se voit attribuer un numéro de nœud. Les nœuds partageant un point commun reçoivent le même numéro. SPICE attend aussi un nœud 0 comme référence (masse).
Dans notre exemple simple, nous n'avons que deux nœuds — nœud 1 et nœud 0 :

Bien que ce diagramme illustre la numérotation, SPICE exige la même information en texte brut.
Créer des netlists SPICE avec un éditeur de texte
Un éditeur de texte — Notepad sous Windows ou Vim sous Linux — fournit un environnement propre, sans formatage, pour écrire les netlists. SPICE repose sur la syntaxe exacte de ces fichiers.
Commencez par une ligne de titre :

Définissez la source de tension avec la lettre « v », les numéros de nœuds, et la valeur de tension DC :

Puis spécifiez la résistance avec « r » et ses connexions de nœuds :

Terminez le netlist par une directive .end. Le netlist complet :

Exécuter SPICE en ligne de commande
Après avoir sauvé le fichier (ex: circuit1.cir), invoquez SPICE depuis un terminal :
spice < circuit1.cir
Sur Linux, la ligne de commande avant Entrée ressemble à :

SPICE affiche alors son netlist, les tensions de nœuds, les courants des sources, et la dissipation de puissance totale. La sortie pour notre exemple :

Notez que SPICE rapporte le courant comme valeur négative en raison de sa convention de signe interne. La puissance est en notation scientifique (2,00E+01 W).
Rediriger la sortie vers un fichier texte
Pour supprimer l'affichage écran et capturer les résultats dans un fichier, redirigez la sortie :

Le fichier résultant — output1.txt — peut être édité. Après suppression des en-têtes superflus, les données principales restent prêtes pour analyse ou inclusion dans des documents :

Voici la sortie nettoyée présentée directement en texte :
my first circuit v 1 0 dc 10 r 1 0 5 .end node voltage ( 1) 10.0000 voltage source currents name current v -2.000E+00 total power dissipation 2.00E+01 watts
Modifier les valeurs des composants
Pour changer un composant, éditez le netlist, sauvez, et relancez SPICE. Par exemple, tripler la tension à 30 V donne :
second example circuit v 1 0 dc 30 r 1 0 5 .end node voltage ( 1) 30.0000 voltage source currents name current v -6.000E+00 total power dissipation 1.80E+02 watts
Le courant passe de 2 A à 6 A, et la puissance est multipliée par 9 — de 20 W à 180 W — conforme à la loi de Joule (P = E² / R).
Utiliser les fonctions de balayage et tracé de SPICE
Pour examiner le circuit sur une plage de tension, ajoutez une directive .dc. Les commentaires — lignes commençant par «* » — documentent le netlist :
third example circuit v 1 0 r 1 0 5 *l'instruction ".dc" dit à spice de balayer la tension *de la source "v" de 0 à 100 volts par pas de 5 volts. .dc v 0 100 5 .print dc v(1) i(v) .end
La commande .print génère des données tabulaires pour chaque pas :
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
Remplacer .print par .plot génère un graphique textuel simple :
Legend: + = v#branch ------------------------------------------------------------------------ sweep 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.000e+02 -2.000e+01 + . . ----------------------|------------------------|------------------------| sweep v#branch-2.00e+01 -1.00e+01 0.00e+00
Interpréter la sortie SPICE avec des outils externes
Des programmes graphiques comme Nutmeg peuvent lire la sortie texte de SPICE et tracer les données visuellement. Un tracé Nutmeg typique montre la tension de la résistance (v(1)) augmentant linéairement avec la tension de source appliquée.

Quelle que soit votre maîtrise de SPICE, comprendre les chiffres dans ses rapports est essentiel. Je continuerai d'annoter les sorties dans les exemples à venir pour démystifier les résultats et débloquer tout le potentiel de l'outil.
Fiches d'exercices associées
- Fiche électricité de base
- Fiche DC de base
- Fiche analyse de réseaux de base
- Fiche AC de base
- Fiche semiconducteurs de base
- Fiche circuits analogiques de base
- Fiche circuits numériques de base
Technologie industrielle
- Démarrer avec SPICE : outil de simulation de circuits en mode texte
- Programmation SPICE : guide pratique des netlists et syntaxe
- Maîtriser la syntaxe des netlists SPICE : nommage, composants passifs/actifs, sources
- Circuits de commande moteur avancés : verrouillage, arrêt et techniques à temporisation
- Conception d'un afficheur 7 segments à 4 chiffres avec un seul encodeur binaire
- Comprendre la puissance dans les circuits électriques : Mesure et signification
- Impact de la résistance sur la résonance dans les circuits LC série-parallèle
- Maîtriser la conception de circuits électriques : Guide pour débutants
- Comprendre les circuits hydrauliques : Types, fonctions et applications