Les solénoïdes
Sommaire
Matériel
- Arduino Uno
- Plaque d'essai (breadboard)
- Straps ou fils de liaison
- 1 Solénoïde 5v (https://www.sparkfun.com/products/11015)
- 1 Résistance 2,2 kΩ
- 1 Diode de roue libre 1N4007
- 1 Transistor 2N2222A (ou BC547)
Principe
Un solénoïde est un actionneur linéaire simple particulièrement adapté pour pousser ou tirer. Le solénoïde que nous utiliserons est de petite dimension et peut être commandé avec une tension de 5V (celle fournie par le port USB du PC par exemple).
D'un point de vue physique, un solénoïde est un electro-aimant qui pousse (ou tire) une tige lorsqu'il est activé. Pour l'activer, il faut alimenter la bobine avec une source de tension. L'intensité nécessaire (<=500mA) étant relativement importante, on ne peut pas brancher directement le solénoïde sur une sortie de l'Arduino (qui peut délivrer maximum 40mA).
Pour le piloter, il faut donc utiliser un transistor. Des transistors, il en existe de différents types et pour différentes applications : amplification de courant/tension, commutation, etc. répartis dans plusieurs familles. L'objectif n'est pas de faire exhaustif sur toutes les possibilités de ces composants mais uniquement de les utiliser pour commander une charge. Dans ce mode de fonctionnement, on peut voir le transistor comme un interrupteur que l'on commande électroniquement.
Le transistor que nous allons utiliser est dit bipolaire. Il a trois broches, chacune ayant une fonction propre :
- une broche d’entrée (Collecteur),
- une broche de sortie (Émetteur)
- une broche de commande (Base).
Son symbole est le suivant :
Celui que nous allons utiliser est un 2N2222A. Les données constructeurs sont synthètisées dans le tableau ci-dessous :
Fabricant | Vce | Ic | PD | fT |
---|---|---|---|---|
ST Microelectronics 2N2222A | 40 V | 800 mA | 500 mW/1.8 W | 300 MHz |
La mise en boitier est la suivante :
Montage
Programme
Voici le programme qu'il faut éditer dans l'IDE Arduino, puis compiler et charger dans la carte Arduino. Ce programme active le solénoïde toute les secondes et le relâche
int solenoide = 11;
void setup() {
pinMode(solenoide, OUTPUT);
}
void loop() {
digitalWrite(solenoide, HIGH); // Active le solenoide
delay(50);
digitalWrite(solenoide, LOW); // Relache
delay(1000);
}