Comment tracer des circuits électriques avec circuitikz ?#

Note

Bien que cela ne soit pas indispensable, une connaissance basique du package tikz est un plus.

Le package circuitikz fournit un environnement circuitikz dans lequel on décrit le circuit à construire.

1.  Chargement du package et symboles européens#

\usepackage[
  european resistor,
  RPvoltages,
  european current,
  european voltage,
  straightvoltages
  ]{circuitikz}
\usetikzlibrary{babel}
  • RPvoltages (Rising Potential voltages) : les flèches de tensions suivent par défaut le sens conventionnel (pour les récepteurs et les générateurs) ;

  • straightvoltages : flèche des tensions droites (courbées par défaut) ;

  • european voltage et european current : sources de tension et d’intensité idéale au format européen.

2.  Circuit sans dipôles#

Pour construire un circuit, pour l’instant sans dipôles, on utilise le code suivant :

\documentclass{article}
\usepackage[
  european resistor,
  RPvoltages,
  european current,
  european voltage,
  straightvoltages
  ]{circuitikz}
\usetikzlibrary{babel}
\begin{document}

\begin{circuitikz}
	\draw (0,0) to (4,0) to (4,-4) to (0,-4) to (0,0);
\end{circuitikz}

\end{document}

On comprend qu’il s’agit d’indiquer des coordonnées des points.

Attention

Bien penser à terminer chaque instruction par ;.

3.  Ajout des dipôles#

Pour ajouter des dipôles, on indique un paramètre optionnel après la liaison to :

\documentclass{article}
\usepackage[
  european resistor,
  RPvoltages,
  european current,
  european voltage,
  straightvoltages
  ]{circuitikz}
\usetikzlibrary{babel}
\begin{document}

\begin{circuitikz}
	\draw (0,0) to [vsource] (4,0) to [lamp] (4,-4) to [R] (0,-4) to [empty led] (0,0);
\end{circuitikz}

\end{document}

Pour les autres dipôles, voir la liste des dipôles usuels.

4.  Intensité et tension#

Reprenons le circuit précédent pour y ajouter les tensions et l’intensité :

\documentclass{article}
\usepackage[
  european resistor,
  RPvoltages,
  european current,
  european voltage,
  straightvoltages
  ]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
	\draw (0,0) to [vsource, v=$u_G$, i=$i$] (4,0)
	to [lamp, v=$u_L$] (4,-4)
	to [R, v=$u_R$] (0,-4)
    to [empty led, v=$u_D$] (0,0);
\end{circuitikz}
\end{document}

5.  Ajout d’une dérivation#

Pour ajouter une boucle supplémentaire, on ajoute une nouvelle instruction \draw qui doit également se terminer par ;.

\documentclass{article}
\usepackage[
  european resistor,
  RPvoltages,
  european current,
  european voltage,
  straightvoltages
  ]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
	% première boucle
	\draw (0,0) to [vsource, v=$u_G$, i=$i$] (4,0)
    to [lamp, v=$u_L$, i=$i_2$] (4,-4)
    to [R, v=$u_R$] (0,-4)
    to [empty led, v=$u_D$] (0,0);
    % deuxième boucle
    \draw (4,0) to (6,0)
    to [lamp, i=$i_1$] (6,-4)
    to (4,-4);
\end{circuitikz}
\end{document}

6.  Réglages manuels#

Pour régler manuellement le sens des flèches, ou pour modifier leur position, on utilise les caractères <, >, _ et ^.

\documentclass{article}
\usepackage[
  european resistor,
  RPvoltages,
  european current,
  european voltage,
  straightvoltages
  ]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
    \draw (0,0) to [vsource, v=$u_G$, i=$i$] (4,0)
    to [lamp, v=$u_L$, i^>=$i_2$, *-*] (4,-4)
    to [R, v=$u_R$] (0,-4)
    to [empty led, v=$u_D$] (0,0);
    %
    \draw (4,0) to (6,0)
    to [lamp, i>^=$i_1$] (6,-4)
    to (4,-4);
\end{circuitikz}
\end{document}

Note

L’ordre dans lequel on indique la position du nom et le sens du courant a une influence. On peut constater la différence en comparant les positions de \(i_1\) et \(i_2\) dans le code précédent.

7.  Quelques exemples de dipôles#

Dipôles de bases#

Dipôles

Argument optionnel à passer à to

Résistance

R

Résistance variable

vR

Photorésistance

phR

Thermistance

thR

Diode

empty diode

Led

empdy led

Photodiode

empty photodiode

Pile

battery2

Source de tension

vsource

Source de tension sinusoïdale

sV

Ampèremètre

rmeter, t=A

Voltmètre

rmeter, t=V

Lampe

lamp

Interrupteur

normal open switch

Interrupteur qu’on ouvre

opening switch

Interrupteur qu’on ferme

closing swich

Condensateur

C

Bobine

L

Fil vide (pour ajouter u ou i)

short

Oscilloscope

oscope

Note

Pour la Terre on définit un node (au sens de TikZ) auquel on passe l’option eground.

Ci-dessous, un dernier exemple.

\documentclass{article}
\usepackage[
  european resistor,
  RPvoltages,
  european current,
  european voltage,
  straightvoltages
  ]{circuitikz}
\usetikzlibrary{babel}
\begin{document}
\begin{circuitikz}
   \draw (0,0)
    to [sV] (0,3)
    to[lamp] (3,3)
    to [R, *-*] (3,0)
    -- (0,0);
    \draw (3,3) -- (5,3) to [oscope, l=Ocsillo] (5,0) -- (3,0);
    \draw (0,0) to[short, *-] (0,-.5) node[eground]{};
\end{circuitikz}
\end{document}