Cette mini-réalisation est faite pour voir (ou revoir) une application du PWM dans un cas concret :
Nous allons créer un variateur c'est à dire un circuit permettant d'alimenter un dipôle de puissance (lampe, moteur à courant continu) avec une tension variable par hacheur (PWM).
Bien sûr, l'Arduino ne peut pas délivrer plus de 30mA, il faudra qu'elle demande assistance à un collègue costaud, j'ai nommé le transistor de puissance !
Pour cela, il faudra le connecter en sortie de l'arduino, sur la patte qui délivrera le pas de PWM, avec quelques précautions (résistance protectrice de 10K par exemple).
Afin de pouvoir alimenter votre moteur CC, il faut utiliser un montage amplificateur qui permet de travailler avec des courants assez élevés. Je vous propose donc d'utiliser …
Le montage Darlington !!!
Ce montage est composé de 2 transistors :
Bref, en combinant les deux, on obtient un transistor équivalent qui dispose d'un GRAND gain et qui peut supporter une GRANDE intensité en bref, qui peut alimenter un moteur CC !!
On ajoutera néanmoins une résistance en amont de la base pour protéger votre Arduino adorée
On prendra T1 (le transistor faible) qui est un BC547.
Brochage :
On prendra T2 (le transistor fort) qui est un BUT11A.
Brochage :
Vu que je n'ai pas encore testé ce programme faute de boutons-poussoirs (honte à moi !) je mets ici un programme alternatif n'ayant pas de boutons poussoirs… NB: j'ai prévu trois sorties pour LEDS pour me faire pardonner^^
int sortie = 3; int rouge = 8; int jaune = 9; int vert = 10; void setup () { pinMode(sortie, OUTPUT); pinMode(rouge, OUTPUT); pinMode(jaune, OUTPUT); pinMode(vert, OUTPUT); } void loop () { digitalWrite( rouge, LOW); int i = 10; while ( i<50) { analogWrite( sortie, i*5); i++; if( i < 20) { digitalWrite( vert, HIGH); } if( (i>20)&&(i<30)){ digitalWrite( vert, LOW); digitalWrite( jaune, HIGH); } if(i>30) { digitalWrite( jaune,LOW); digitalWrite( rouge, HIGH); } delay(1000); } }