- Composants requis:
- Explication de travail:
- Explication du circuit:
- Explication de la programmation:
- Conception de circuits et de circuits imprimés avec EasyEDA:
- Calcul et commande de PCB en ligne:
Nous constatons souvent des fluctuations de tension dans l'alimentation électrique de notre maison, ce qui peut entraîner un dysfonctionnement de nos appareils électroménagers. Aujourd'hui, nous construisons un circuit de protection haute et basse tension à faible coût, qui coupera l'alimentation électrique des appareils en cas de haute ou basse tension. Il affichera également un message d'alerte sur l'écran LCD 16x2. Dans ce projet, nous avons utilisé le microcontrôleur PIC pour lire et comparer la tension d'entrée à la tension de référence et prendre les mesures en conséquence.
Nous avons fait ce circuit sur PCB et ajouté un circuit supplémentaire sur PCB dans le même but, mais cette fois en utilisant l'ampli-op LM358 (sans microcontrôleur). À des fins de démonstration, nous avons choisi la limite de basse tension à 150 V et la limite de haute tension à 200 V. Ici, dans ce projet, nous n'avons utilisé aucun relais pour la coupure, nous venons de le démontrer en utilisant un écran LCD, consultez la vidéo à la fin de cet article. Mais l'utilisateur peut attacher un relais à ce circuit et le connecter au GPIO de PIC.
Consultez nos autres projets PCB ici.
Composants requis:
- Microcontrôleur PIC PIC18F2520
- PCB (commandé auprès d'EasyEDA)
- IC LM358
- Connecteur de borne à 3 broches (en option)
- Écran LCD 16x2
- Transistor BC547
- Résistance 1k
- Résistance 2k2
- 30K résistance SMD
- 10k SMD
- Condensateurs - 0,1 uf, 10 uF, 1000 uF
- Base IC à 28 broches
- Baguettes mâles / femelles
- 7805 Régulateurs de tension - 7805, 7812
- Programmeur Pickit2
- LED
- Diode Zener - 5.1v, 7.5v, 9.2v
- Transformateur 12-0-12
- Cristal 12 MHz
- Condensateur 33pF
- Régulateur de tension (régulateur de vitesse du ventilateur)
Explication de travail:
Dans ce circuit de coupure de haute et basse tension, nous avons lu la tension alternative en utilisant un microcontrôleur PIC à l'aide d'un transformateur, d'un pont redresseur et d'un circuit diviseur de tension et affiché sur un écran LCD 16x2. Ensuite, nous avons comparé la tension alternative aux limites prédéfinies et affiché le message d'alerte sur l'écran LCD en conséquence. Comme si la tension est inférieure à 150v, nous avons montré «basse tension» et si la tension est supérieure à 200v, nous avons affiché le texte «haute tension» sur l'écran LCD. Nous pouvons modifier ces limites dans le code PIC donné à la fin de ce projet. Ici, nous avons utilisé le régulateur de ventilateur pour augmenter et diminuer la tension d'entrée à des fins de démonstration dans la vidéo.
Dans ce circuit, nous avons également ajouté un circuit de protection simple contre les sous et surtensions sans utiliser de microcontrôleur. Dans ce circuit simple, nous avons utilisé le comparateur LM358 pour comparer la tension d'entrée et de référence. Nous avons donc ici trois options dans ce projet:
- Mesurez et comparez la tension alternative à l'aide d'un transformateur, d'un pont redresseur, d'un circuit diviseur de tension et d'un microcontrôleur PIC.
- Détection de surtension et de sous-tension à l'aide du LM358 à l'aide du transformateur, du redresseur et du comparateur LM358 (sans microcontrôleur)
- Détectez les sous et surtensions en utilisant un comparateur LM358 et transmettez sa sortie au microcontrôleur PIC pour agir par code.
Ici, nous avons démontré la première option de ce projet. Dans lequel nous avons réduit la tension d'entrée CA, puis converti celle-ci en CC en utilisant un redresseur en pont, puis à nouveau mappé cette tension CC à 5 V, puis avons finalement transmis cette tension au microcontrôleur PIC pour comparaison et affichage.
Dans le microcontrôleur PIC, nous avons lu cette tension continue mappée et sur la base de cette valeur mappée, nous avons calculé la tension alternative entrante à l'aide de la formule donnée:
volt = ((adcValue * 240) / 1023)
où adcValue est la valeur de tension d'entrée CC équivalente à la broche ADC du contrôleur PIC et volt est la tension alternative appliquée. Ici, nous avons pris 240v comme tension d'entrée maximale.
ou bien nous pouvons utiliser une méthode donnée pour mapper une valeur d'entrée CC équivalente.
volt = carte (adcVlaue, 530, 895, 100, 240)
où adcValue est la valeur de tension d'entrée CC équivalente à la broche ADC du contrôleur PIC, 530 est la tension CC minimale équivalente et 895 est la valeur équivalente de tension CC maximale. Et 100 V est la tension de cartographie minimale et 240 V est la tension de cartographie maximale.
Signifie qu'une entrée CC de 10 mV à la broche PIC ADC est égale à 2,046 valeur équivalente ADC. Donc, ici, nous avons sélectionné 530 comme valeur minimale, la tension à la broche ADC de PIC sera:
(((530 / 2.046) * 10) / 1000) volts
2.6v qui correspondra à une valeur minimale de 100VAC
(Même calcul pour la limite maximale).
Vérifiez que la fonction de carte est donnée dans le code du programme PIC à la fin. En savoir plus sur le circuit diviseur de tension et la cartographie des tensions à l'aide du convertisseur analogique-numérique ici.
Le fonctionnement de ce projet est facile. Dans ce projet, nous avons utilisé un régulateur de ventilateur de tension alternative pour le démontrer. Nous avons attaché un régulateur de ventilateur à l'entrée du transformateur. Et puis en augmentant ou en diminuant sa résistance, nous avons obtenu la sortie de tension souhaitée.
Dans le code, nous avons des valeurs de tension maximale et minimale fixes pour la détection de haute tension et de basse tension. Nous avons fixé 200 V comme limite de surtension et 150 V comme limite de tension inférieure. Maintenant, après la mise sous tension du circuit, nous pouvons voir la tension d'entrée CA sur l'écran LCD. Lorsque la tension d'entrée augmente, nous pouvons voir les changements de tension sur l'écran LCD et si la tension dépasse la limite de surtension, l'écran LCD nous alertera par «Alerte de haute tension» et si la tension devient inférieure à la limite de tension, l'écran LCD nous alertera en affichant « Message d'alerte de basse tension ». De cette façon, il peut également être utilisé comme disjoncteur électronique.
Nous pouvons en outre ajouter un relais pour connecter tous les appareils CA à la coupure automatique sur les tensions basses ou élevées. Il suffit d'ajouter une ligne de code pour éteindre l'appareil, sous le message d'alerte LCD affichant le code. Cochez ici pour utiliser Relay avec des appareils CA.
Explication du circuit:
Dans le circuit de protection haute et basse tension, nous avons utilisé un ampli-op LM358 qui a deux sorties connectées à 2 et 3 broches numériques du microcontrôleur PIC. Et un diviseur de tension est utilisé pour diviser la tension et connecte sa sortie à la 4ème broche du microcontrôleur PIC. L'écran LCD est connecté au PORTB du PIC en mode 4 bits. RS et EN sont directement connectés en B0 et B1 et les broches de données D4, D5, D6 et D7 du LCD sont connectées respectivement en B2, B3, B4 et B5. Dans ce projet, nous avons utilisé deux régulateurs de tension: 7805 pour l'alimentation du microcontrôleur et 7812 pour le circuit LM358. Et un transformateur abaisseur 12v-0-12v est également utilisé pour abaisser la tension alternative. Les autres composants sont indiqués dans le schéma de circuit ci-dessous.
Explication de la programmation:
La programmation d'une partie de ce projet est facile. Dans ce code, nous avons juste besoin de calculer la tension alternative en utilisant la tension 0-5v mappée provenant du circuit diviseur de tension, puis de la comparer avec des valeurs prédéfinies. Vous pouvez vérifier le code PIC complet après ce projet.
Tout d'abord, dans le code, nous avons inclus un en-tête et configuré les bits de configuration du microcontrôleur PIC. Si vous êtes nouveau dans le codage PIC, apprenez ici le microcontrôleur PIC et ses bits de configuration.
Ensuite, nous avons utilisé certaines fonctions pour piloter l'écran LCD, comme void lcdbegin () pour initialiser l'écran LCD, void lcdcmd (char ch) pour envoyer une commande à LCD, void lcdwrite (char ch) pour envoyer des données à LCD et void lcdprint (char * str) pour envoyer une chaîne à l'écran LCD. Vérifiez toutes les fonctions dans le code ci-dessous.
La fonction ci-dessous est utilisée pour mapper les valeurs:
carte longue (x long, long in_min, long in_max, long out_min, long out_max) {return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }
Étant donné la fonction int analogRead (int ch) est utilisée pour initialiser et lire ADC:
int analogRead (int ch) {int adcData = 0; si (ch == 0) ADCON0 = 0x03; // canal adc 0 else if (ch == 1) ADCON0 = 0x0b; // sélectionne le canal adc 1 else if (ch == 2) ADCON0 = 0x0b; // sélectionne le canal adc 2 ADCON1 = 0b00001100; // sélectionne le canal analogique i / p 0,1 et 2 de ADC ADCON2 = 0b10001010; // temps d'éqisation en maintenant le temps de plafond while (GODONE == 1); // démarrer la conversion valeur adc adcData = (ADRESL) + (ADRESH << 8); // Stocke la sortie 10 bits ADON = 0; // adc off return adcData; }
Les lignes données sont utilisées pour obtenir des échantillons ADC et en calculer la moyenne, puis calculer la tension:
while (1) {long adcValue = 0; int volt = 0; for (int i = 0; i <100; i ++) // prise d'échantillons {adcValue + = analogRead (2); retard (1); } adcValue / = 100; #if méthode == 1 volt = (((float) adcValue * 240.0) /1023.0); #else volt = carte (adcValue, 530, 895, 100, 240); #endif sprintf (résultat, "% d", volt);
Et enfin, une fonction donnée est utilisée pour entreprendre l'action résultante:
si (volt> 200) {lcdcmd (1); lcdprint ("haute tension"); lcdcmd (192); lcdprint ("Alerte"); retard (1000); } sinon si (volt <150) {lcdcmd (1); lcdprint ("basse tension"); lcdcmd (192); lcdprint ("Alerte"); retard (1000); }
Conception de circuits et de circuits imprimés avec EasyEDA:
Pour concevoir ce circuit de détection de tension HAUTE et BASSE, nous avons choisi l'outil EDA en ligne appelé EasyEDA. Nous avons déjà utilisé EasyEDA à plusieurs reprises et l'avons trouvé très pratique à utiliser par rapport à d'autres fabricants de PCB. Consultez ici tous nos projets PCB. EasyEDA n'est pas seulement la solution unique pour la capture de schémas, la simulation de circuits et la conception de circuits imprimés, ils offrent également un service de sourcing de prototypes et de composants de circuits imprimés à faible coût. Ils ont récemment lancé leur service d'approvisionnement en composants où ils disposent d'un stock important de composants électroniques et les utilisateurs peuvent commander les composants nécessaires avec la commande de PCB.
Lors de la conception de vos circuits et PCB, vous pouvez également rendre publics vos conceptions de circuits et de PCB afin que d'autres utilisateurs puissent les copier ou les modifier et en tirer parti, nous avons également rendu public l'ensemble de nos schémas de circuits et de PCB pour cette haute et basse tension Circuit de protection, vérifiez le lien ci-dessous:
easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6
Vous trouverez ci-dessous un instantané de la couche supérieure de la disposition du PCB d'EasyEDA, vous pouvez afficher n'importe quelle couche (supérieure, inférieure, Topsilk, Bottomsilk, etc.) du PCB en sélectionnant la couche dans la fenêtre `` Couches ''.
Vous pouvez également consulter la vue Photo du PCB en utilisant EasyEDA:
Calcul et commande de PCB en ligne:
Après avoir terminé la conception du PCB, vous pouvez cliquer sur l'icône de sortie de fabrication ci-dessus. Ensuite, vous accéderez à la page Commande PCB pour télécharger les fichiers Gerber de votre PCB et les envoyer à n'importe quel fabricant, c'est aussi beaucoup plus facile (et moins cher) de le commander directement dans EasyEDA. Ici, vous pouvez sélectionner le nombre de PCB que vous souhaitez commander, le nombre de couches de cuivre dont vous avez besoin, l'épaisseur du PCB, le poids du cuivre et même la couleur du PCB. Après avoir sélectionné toutes les options, cliquez sur «Enregistrer dans le panier» et terminez votre commande, puis vous recevrez vos PCB quelques jours plus tard. L'utilisateur peut également aller avec son fournisseur de PCB local pour fabriquer des PCB en utilisant le fichier Gerber.
La livraison d'EasyEDA est très rapide et après quelques jours de commande de PCB, j'ai reçu les échantillons de PCB:
Voici les images après avoir soudé les composants sur PCB:
C'est ainsi que nous pouvons facilement construire le circuit de protection basse tension pour notre maison. De plus, il vous suffit d' ajouter un relais pour y connecter tous les appareils CA, pour le protéger des fluctuations de tension. Connectez simplement le relais à n'importe quelle broche à usage général de PIC MCU et écrivez le code pour rendre cette broche haute et basse avec le code de message d'alerte LCD.