- Composants requis
- Fonctionnement du contrôle du ventilateur AC à l'aide d'Arduino
- 1. Détecteur de passage à zéro
- 2. Circuit de contrôle d'angle de phase
- 3. Potentiomètre pour contrôler la vitesse du ventilateur
- 4. Unité de génération de signal PWM
- Schéma
- Programmation de l'Arduino pour le contrôle de la vitesse du ventilateur AC
ATTENTION!! Le schéma de circuit discuté dans ce projet est uniquement à des fins éducatives. Sachez que travailler avec une tension secteur de 220 V CA nécessite des précautions extrêmes et que des procédures de sécurité doivent être suivies. Ne touchez aucun des composants ou des fils lorsque le circuit est en fonctionnement.
Il est facile d'allumer ou d'éteindre n'importe quel appareil ménager en utilisant un interrupteur ou en utilisant un mécanisme de contrôle comme nous l'avons fait dans de nombreux projets domotiques basés sur Arduino. Mais il existe de nombreuses applications pour lesquelles nous devons contrôler partiellement l'alimentation CA, par exemple pour contrôler la vitesse du ventilateur ou l'intensité d'une lampe. Dans ce cas, la technique PWM est utilisée, nous allons donc apprendre ici comment utiliser le PWM généré par Arduino pour contrôler la vitesse du ventilateur AC avec Arduino.
Dans ce projet, nous allons démontrer le contrôle de la vitesse du ventilateur Arduino AC à l'aide de TRIAC. Ici, la méthode de contrôle de phase du signal AC est utilisée pour contrôler la vitesse du ventilateur AC, en utilisant les signaux PWM générés par Arduino. Dans le didacticiel précédent, nous avons contrôlé la vitesse du ventilateur CC à l'aide de PWM.
Composants requis
- Arduino UNO
- 4N25 (Détecteur de passage à zéro)
- Potentiomètre 10k
- MOC3021 0pto-coupleur
- (0-9) V, transformateur abaisseur 500 mA
- BT136 TRIAC
- Ventilateur AC axial 230 VAC
- Fils de connexion
- Résistances
Fonctionnement du contrôle du ventilateur AC à l'aide d'Arduino
Le travail peut être divisé en quatre parties différentes. Ils sont comme suit
1. Détecteur de passage par zéro
2. Circuit de contrôle de l'angle de phase
3. Potentiomètre pour contrôler la vitesse du ventilateur
4. Circuit de génération de signal PWM
1. Détecteur de passage à zéro
L'alimentation CA que nous recevons dans notre foyer est de 220 V CA RMS, 50 HZ. Ce signal alternatif est de nature alternée et change périodiquement de polarité. Dans la première moitié de chaque cycle, il s'écoule dans une direction pour atteindre une tension de crête, puis diminue jusqu'à zéro. Ensuite, dans le demi-cycle suivant, il s'écoule dans une direction alternative (négative) jusqu'à une tension de crête, puis revient à zéro. Pour contrôler la vitesse du ventilateur CA, la tension de crête des deux demi-cycles doit être hachée ou contrôlée. Pour cela, nous devons détecter le point zéro à partir duquel le signal doit être contrôlé / haché. Ce point sur la courbe de tension où la tension change de direction est appelé passage à zéro de tension.
Le circuit illustré ci-dessous est le circuit du détecteur de passage à zéro qui est utilisé pour obtenir le point de passage à zéro. Tout d'abord, la tension 220V AC est abaissée à 9V AC à l'aide d'un transformateur abaisseur et elle est ensuite alimentée à un optocoupleur 4N25 à ses broches 1 et 2. L'optocoupleur 4N25 a une LED intégrée avec la broche 1 comme anode et la broche 2 comme un cathode. Ainsi, selon le circuit ci-dessous, lorsque l'onde CA se rapproche du point de passage à zéro, la LED intégrée de 4N25 s'éteint et, par conséquent, le transistor de sortie de 4N25 est également désactivé et la broche d'impulsion de sortie être tiré jusqu'à 5V. De même, lorsque le signal augmente progressivement jusqu'au picpoint, alors la LED s'allume et le transistor s'allume également avec la broche de masse connectée à la broche de sortie, ce qui rend cette broche 0V. En utilisant cette impulsion, le point de passage par zéro peut être détecté à l'aide d'Arduino.
2. Circuit de contrôle d'angle de phase
Après avoir détecté le point de passage à zéro, nous devons maintenant contrôler la durée pendant laquelle l'alimentation sera activée et désactivée. Ce signal PWM décidera de la quantité de tension de sortie vers le moteur à courant alternatif, qui à son tour en contrôle la vitesse. Ici, un BT136 TRIAC est utilisé, qui contrôle la tension alternative car il s'agit d'un interrupteur électronique de puissance pour contrôler un signal de tension alternative.
TRIAC est un commutateur CA à trois bornes qui peut être déclenché par un signal de faible énergie à sa borne de porte. Dans les SCR, il ne conduit que dans un seul sens, mais dans le cas du TRIAC, la puissance peut être contrôlée dans les deux sens. Pour en savoir plus sur TRIAC et SCR, suivez nos articles précédents.
Comme le montre la figure ci-dessus, le TRIAC est déclenché à un angle de tir de 90 degrés en lui appliquant un petit signal d'impulsion de grille. Le temps «t1» est le temps de retard qui est donné selon l'exigence de variation. Par exemple, dans ce cas, l'angle de tir est de 90%, par conséquent la puissance de sortie sera également divisée par deux et par conséquent la lampe brillera également avec une demi-intensité.
On sait que la fréquence du signal AC est ici de 50 Hz. La période sera donc de 1 / f, soit 20 ms. Pour un demi-cycle, ce sera 10 ms ou 10 000 microsecondes. Par conséquent, pour contrôler la puissance d'une lampe à courant alternatif, la plage de «t1» peut varier de 0 à 10 000 microsecondes.
Optocoupleur:
L'optocoupleur est également connu sous le nom d'Optoisolator. Il est utilisé pour maintenir l'isolation entre deux circuits électriques tels que les signaux CC et CA. Fondamentalement, il se compose d'une LED qui émet de la lumière infrarouge et du capteur photo qui la détecte. Ici, un optocoupleur MOC3021 est utilisé pour contrôler le ventilateur CA à partir des signaux du microcontrôleur qui est un signal CC.
Schéma de connexion TRIAC et optocoupleur:
3. Potentiomètre pour contrôler la vitesse du ventilateur
Ici, un potentiomètre est utilisé pour faire varier la vitesse du ventilateur AC. Nous savons qu'un potentiomètre est un appareil à 3 bornes qui agit comme un diviseur de tension et fournit une sortie de tension variable. Cette tension de sortie analogique variable est donnée à la borne d'entrée analogique Arduino pour définir la valeur de vitesse du ventilateur CA.
4. Unité de génération de signal PWM
Dans l'étape finale, une impulsion PWM est donnée au TRIAC selon les exigences de vitesse, qui à son tour fait varier la synchronisation ON / OFF du signal CA et fournit une sortie variable pour contrôler la vitesse du ventilateur. Ici, Arduino est utilisé pour générer l'impulsion PWM, qui prend l'entrée du potentiomètre et donne une sortie de signal PWM au circuit TRIAC et optocoupleur qui entraîne davantage le ventilateur AC à la vitesse souhaitée. En savoir plus sur la génération PWM à l'aide d'Arduino ici.
Schéma
Le schéma de circuit de ce circuit de commande de vitesse du ventilateur 230 V basé sur Arduino est donné ci-dessous:
Remarque: j'ai montré le circuit complet sur une maquette uniquement à des fins de compréhension. Vous ne devez pas utiliser d'alimentation 220V AC directement sur votre maquette, j'ai utilisé un tableau en pointillé pour effectuer les connexions comme vous pouvez le voir dans l'image ci-dessous
Programmation de l'Arduino pour le contrôle de la vitesse du ventilateur AC
Après la connexion matérielle, nous devons écrire le code pour Arduino, qui générera un signal PWM pour contrôler la synchronisation ON / OFF du signal CA à l'aide d'une entrée de potentiomètre. Nous utilisions auparavant les techniques PWM dans de nombreux projets.
Le code complet de ce projet de contrôle de la vitesse du ventilateur AC Arduino est donné au bas de ce projet. L'explication étape par étape du code est donnée ci-dessous.
Dans la première étape, déclarez toutes les variables requises, qui seront utilisées dans tout le code. Ici, le BT136 TRIAC est connecté à la broche 6 d'Arduino. Et la variable speed_val est déclarée pour stocker la valeur du pas de vitesse.
int TRIAC = 6; int speed_val = 0;
Ensuite, dans la fonction de configuration , déclarez la broche TRIAC comme sortie car la sortie PWM sera générée via cette broche. Ensuite, configurez une interruption pour détecter le passage à zéro. Ici, nous avons utilisé une fonction appelée attachInterrupt, qui configurera la broche numérique 3 d'Arduino en tant qu'interruption externe et appellera la fonction nommée zero_crossing lorsqu'elle détectera des interruptions sur sa broche.
void setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
À l'intérieur de la boucle infinie, lisez la valeur analogique du potentiomètre connecté à A0 et mappez-la à une plage de valeurs de (10-49).
Pour connaître cette plage, nous devons faire un petit calcul. Auparavant, il était dit que chaque demi-cycle équivaut à 10 000 microsecondes. Donc, ici, la gradation sera contrôlée en 50 étapes, ce qui est une valeur arbitraire et peut être modifiée. Ici, les étapes minimales sont prises comme 10, pas zéro car les étapes 0-9 donnent approximativement la même puissance de sortie et les étapes maximales sont prises comme 49 car il n'est pratiquement pas recommandé de prendre la limite supérieure (qui est de 50 dans ce cas).
Ensuite, chaque temps de pas peut être calculé comme 10000/50 = 200 microsecondes. Cela sera utilisé dans la prochaine partie du code.
boucle vide () {int pot = analogRead (A0); int data1 = carte (pot, 0, 1023,10,49); speed_val = data1; }
Dans la dernière étape, configurez la fonction zero_crossing pilotée par interruption. Ici, le temps de variation peut être calculé en multipliant le temps de pas individuel par no. d'étapes. Ensuite, après ce temps de retard, le TRIAC peut être déclenché à l'aide d'une petite impulsion haute de 10 microsecondes qui est suffisante pour allumer un TRIAC.
void zero_crossing () {int chop_time = (200 * speed_val); delayMicrosecondes (chop_time); DigitalWrite (TRIAC, HIGH); delayMicrosecondes (10); DigitalWrite (TRIAC, LOW); }
Le code complet ainsi qu'une vidéo de travail pour ce contrôle de ventilateur AC utilisant Arduino et PWM sont donnés ci-dessous.