Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| start:projet:arduino:variateur [2014/11/15 12:35] – [A/ Un problème de conversion de puissance] jcano | start:projet:arduino:variateur [2015/01/20 15:11] (Version actuelle) – [Réalisation : Variateur 12 V] jcano | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Réalisation : Variateur 12 V ====== | ||
| + | <note warning> Page non-finie, mais lisez quand même !!</ | ||
| + | ===== I - Introduction ===== | ||
| + | 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' | ||
| + | === Mise en situation === | ||
| + | * Le variateur sera commandé par deux boutons poussoirs, un permettant d' | ||
| + | * On va créer un variateur pouvant commander un dipôle consommant **0.5A**, mais il est possible de commander de plus grand (en modifiant les transistors et avec des dissipateurs) | ||
| + | <note important> | ||
| + | === Qui est qui ? === | ||
| + | == les entrées == | ||
| + | * On dira que la pin digitale 1 est connectée à UP | ||
| + | * De même pour la pin 2 qui sera connectée à DOWN | ||
| + | == les sorties == | ||
| + | * Il n'y en a qu' | ||
| + | ===== II - Ressources Électronique ===== | ||
| + | ==== A/ Un problème de conversion de puissance ==== | ||
| + | Bien sûr, **l' | ||
| + | Pour cela, il faudra le connecter en sortie de l' | ||
| + | < | ||
| + | - Le __moteur à courant continu__ est un **dipôle inductif**, un bon vieux circuit RL, ayant pour propriété de lisser la tension quand il est en série. | ||
| + | - L' | ||
| + | </ | ||
| + | <note tip>Si l'on veut lisser **le courant**, on pourra utiliser un circuit RC mais c'est inutile ici... | ||
| + | </ | ||
| + | ==== B/ Le montage Darlington ==== | ||
| + | |||
| + | 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' | ||
| + | |||
| + | ** Le montage Darlington !!! ** 8-) | ||
| + | |||
| + | {{: | ||
| + | |||
| + | \\ \\ | ||
| + | Ce montage est composé de 2 transistors : \\ | ||
| + | * T1 est un **petit transistor** qui est doté d'un grand gain mais il ne peut supporter une grande charge... | ||
| + | * T2 est un **GRAND transistor** qui est pourvu d'un petit gain mais il peut supporter des grandes intensités. | ||
| + | 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 ;-) | ||
| + | |||
| + | ==== C/ Schéma électronique ==== | ||
| + | {{ : | ||
| + | |||
| + | On prendra T1 (le transistor faible) qui est un BC547. | ||
| + | \\ | ||
| + | ** Brochage : ** | ||
| + | {{ : | ||
| + | On prendra T2 (le transistor fort) qui est un BUT11A. | ||
| + | \\ | ||
| + | ** Brochage : ** | ||
| + | {{ : | ||
| + | ===== III - Programmation ===== | ||
| + | |||
| + | // Vu que je n'ai pas encore testé ce programme faute de boutons-poussoirs (honte à moi !) je mets ici un programme alternatif n' | ||
| + | **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, | ||
| + | pinMode(rouge, | ||
| + | pinMode(jaune, | ||
| + | pinMode(vert, | ||
| + | } | ||
| + | void loop () { | ||
| + | digitalWrite( rouge, LOW); | ||
| + | int i = 10; | ||
| + | while ( i<50) { | ||
| + | | ||
| + | analogWrite( sortie, i*5); | ||
| + | i++; | ||
| + | if( i < 20) { | ||
| + | digitalWrite( vert, HIGH); } | ||
| + | if( (i> | ||
| + | digitalWrite( vert, LOW); | ||
| + | digitalWrite( jaune, HIGH); | ||
| + | } | ||
| + | if(i>30) { | ||
| + | digitalWrite( jaune,LOW); | ||
| + | digitalWrite( rouge, HIGH); | ||
| + | } | ||
| + | delay(1000); | ||
| + | } | ||
| + | | ||
| + | } | ||