Composants passifs

COMPOSANTS PASSIFS

Nous avons pas mal discuté des résistances, composant incontournable dans les montages électroniques. Voici d'autres composants dits "passifs" que nous avons souvent à utiliser :

Les Condensateurs ou capacitances

Sujet un peu plus difficile si on veut tout comprendre des capacitances – mais nous allons rester simple... Voici le symbole électronique :

Leur construction et leur forme peuvent varier beaucoup mais leur principe reste le même : deux matériaux conducteurs (les deux traits verticaux), séparés par une matière isolante, appelée diélectrique (l'espace entre les traits), l'ensemble souvent en forme de "sandwich" ou parfois enroulés.

Condensateurs polarisés

Il faut noter que, à partir de la valeur d'environ 1uF (microFarads), bon nombre de condensateurs sont POLARISES - c'est-à-dire qu'ils ont un "+" et un "-". On les appelle souvent condensateurs chimiques. Il faut les brancher dans le bon sens afin d'éviter les surprises désagréables : inversés ils ont tendance a se gonfler jusqu'à parfois se rompre carrément. Les produits chimiques à l'intérieur sont très corrosifs...

D'habitude c'est le fil "-" qui est repéré avec une bande noire sur le côté. Crédits photo : merci Wikipedia :

Le condensateur est conçu pour stocker les charges électriques. Leur valeur est mesurée et calculée en Farads (F). Plus la valeur est grande et plus le condensateur peut stocker de charge. Les valeurs rencontrées dans l'électronique classique sont de l'ordre de nanofarads (10-9 Farads), jusqu'à des centaines de microfarads (10-6 F). Les valeurs sont souvent écrites de la manière suivante :

  • 47uF = 47 microfarads ou 47 × 10-6 ;

  • 100nF = 100 nanofarads ou 100 × 10-9 ;

  • 14pF = 14 picofarads ou 14 × 10-12 (circuits radio) ;

À quoi servent des condensateurs ? Je vais vous montrer quelques exemples pratiques de leur utilisation.

Anti-rebond

Nous avons déjà utilisé des boutons afin de commander nos montages Arduino et vous avez sûrement eu à faire avec le problème de rebond des contacts (contact bounce, en anglais). La construction mécanique des boutons fait que les contacts rebondissent plusieurs fois avant de s'arrêter en position ouverte ou fermée. Avec un Arduino capable de réagir en un milliardième de seconde, ces rebonds sont un vrai casse-tête.

D'habitude, on résout le problème dans le logiciel - on attend un certain nombre de millisecondes et on lit à nouveau l'entrée concernée pour déterminer l'état. Sachez toutefois qu'il y a aussi une solution électronique qui peut parfois nous simplifier la vie : Voici le branchement typique d'un bouton en entrée d'un microcontrôleur :

L'entrée est tenue au niveau 1 par la résistance. Quand on appuie sur le bouton l'entrée est 'tirée' vers le niveau 0. Regardons déjà à quoi ressemble le 'bounce' :

Cette trace d'oscilloscope correspond à une seule pression sur le bouton ! La durée dans le temps de cette trace est de 200 micro-seconds (uS). Chaque division = 25uS. On voit bien que cela peut être interprété par le microcontrôleur comme au moins six pressions ! On peut améliorer la situation en ajoutant un condensateur (et oui, c'est toujours le sujet de ce chapitre...) comme ici :

Un condensateur a besoin de temps pour se charger et se décharger. L'ajout de ce (petit) condensateur en parallèle avec le bouton va 'ralentir' les changements de tension, supprimant les effets aléatoires dûs aux faux contacts. Et avec cette petite modification, nous avons :

Ce n'est pas un carré parfait, mais notre Arduino ne verra qu'une seule pression. Sans avoir à ajouter du code spécifique anti-rebond. Utile les petits condensateurs !

Base de temps RC

Voilà un montage simple à construire avec l'Arduino. D'abord le montage sur la platine de prototypage ou "breadboard" (littéralement "planche à pain" en anglais...) :

Très simple à câbler, ce petit montage sert à voir comment les condensateurs peuvent nous fournir des bases de temps. La sortie 13 de l'Arduino est celle équipée d'une LED sur la platine de l'Arduino. Quand la sortie est au niveau '1' la LED s'allume. Nous prenons la même sortie logique pour piloter notre montage. À travers la résistance de 10KΩ le condensateur se charge pendant que la sortie 13 est au niveau '1', et se décharge pendant le niveau '0'. Le transistor est utilisé comme une sorte d'interrupteur piloté (nous allons parler des transistors bientôt...) pour allumer la LED rouge. Voici le schéma :

Et le programme (ou sketch en anglais pour l'Arduino)

1
/*
2
  SlowBlink
3
  Turns on an LED on for 5 seconds, then off for 5 seconds, repeatedly.
4
  Derived from the 'Blink' example in the Arduino suite.
5
  This example code is in the public domain.
6
 */
7
 
8
// Pin 13 has an LED connected on most Arduino boards.
9
// give it a name:
10
int led = 13;
11
12
// the setup routine runs once when you press reset:
13
void setup() {                
14
  // initialize the digital pin as an output.
15
  pinMode(led, OUTPUT);     
16
}
17
18
// the loop routine runs over and over again forever:
19
void loop() {
20
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
21
  delay(5000);               // wait for 5 seconds
22
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
23
  delay(5000);               // wait for 5 seconds
24
}

Pour réaliser ce montage :

  • À partir des schémas ci-dessus, brancher les composants sur la platine de prototypage.

  • Copier et téléverser le programme

  • et vérifier que la LED sur l'Arduino clignote (très) lentement. Regarder la LED rouge sur la platine d'expérimentation : elle clignote aussi, mais avec presque une seconde de retard. Le délai exact dépend de plusieurs paramètres, notamment le type de transistor.

Dans un monde idéal*, le temps de charge/décharge d'un condensateur se calcule facilement :

T = R×C

avec T = temps en secondes ; R la résistance en Ohms ; et C la capacitance en Farads.

(*) Mais ce temps dépend beaucoup des conditions de branchement, notamment la résistance de sortie du montage (souvent appelée l'impédance). Prenant l'exemple ici, nous avons R = 10000Ω et C = 0,00047F ce qui donne le temps de charge ou décharge de 4,7 secondes. Pourquoi notre LED n'avait qu'un retard d'environ 1 seconde, alors ? La réponse au chapitre "transistors" ! Vous pouvez changer le condensateur pour un plus grand ou plus petit, ou en mettre plusieurs en parallèle ou série. Vous verrez que les valeurs des condensateurs en parallèle s'additionnent, et la valeur des condensateurs en série se calcule comme ceci :

Ctot = 1/(1/C1 + 1/C2 + ... 1/CN)

(exactement l'inverse que pour les résistances)