Dans ce tutoriel, nous développerons une source de tension variable 5V d'Arduino Uno. Pour cela, nous allons utiliser la fonction ADC (conversion analogique-numérique) et PWM (modulation de largeur d'impulsion).
Certains modules électroniques numériques comme l'accéléromètre fonctionnent sur une tension de 3,3 V et d'autres sur 2,2 V. Certains fonctionnent même à des tensions plus basses. Avec cela, nous ne pouvons pas obtenir un régulateur pour chacun d'entre eux. Nous allons donc créer ici un circuit simple qui fournira une tension de sortie de 0 à 5 volts à une résolution de 0,05 V. Ainsi, avec cela, nous pouvons fournir des tensions avec précision pour les autres modules.
Ce circuit peut fournir des courants jusqu'à 100 mA, nous pouvons donc utiliser cette unité d'alimentation pour la plupart des modules de capteurs sans aucun problème. Cette sortie de circuit peut également être utilisée pour charger des piles rechargeables AA ou AAA. Avec l'affichage en place, nous pouvons facilement voir les fluctuations de puissance dans le système. Ce bloc d'alimentation variable contient une interface de bouton pour la programmation de la tension. Le fonctionnement et le circuit sont expliqués ci-dessous.
Matériel: Arduino Uno, alimentation (5v), condensateur 100uF (2 pièces), bouton (2 pièces), résistance 1KΩ (3 pièces), LCD 16 * 2 caractères, transistor 2N2222.
Logiciel: Atmel studio 6.2 ou AURDINO tous les soirs.
Schéma de circuit et explication de fonctionnement
Le circuit pour l'unité de tension variable utilisant arduino est illustré dans le diagramme ci-dessous.
La tension aux bornes de la sortie n'est pas complètement linéaire; ce sera bruyant. Pour filtrer, les condensateurs de bruit sont placés sur les bornes de sortie comme indiqué sur la figure. Les deux boutons ici servent à augmenter et diminuer la tension. L'unité d'affichage indique la tension aux bornes OUTPUT.
Avant de travailler, nous devons examiner les fonctionnalités ADC et PWM d'Arduino UNO.
Ici, nous allons prendre la tension fournie à la borne OUTPUT et l'introduire dans l'un des canaux ADC d'Arduino. Après la conversion, nous allons prendre cette valeur NUMÉRIQUE et nous la relierons à la tension et afficherons le résultat dans un affichage 16 * 2. Cette valeur affichée représente la valeur de tension variable.
ARDUINO dispose de six canaux ADC, comme le montre la figure. Dans ceux-ci, l'un d'entre eux ou tous peuvent être utilisés comme entrées pour la tension analogique. L'UNO ADC a une résolution de 10 bits (donc les valeurs entières de (0- (2 ^ 10) 1023)). Cela signifie qu'il mappera les tensions d'entrée entre 0 et 5 volts en valeurs entières entre 0 et 1023. Donc, pour chaque (5/1024 = 4,9 mV) par unité.
Ici, nous allons utiliser A0 de UNO.
|
Tout d'abord, les canaux UNO ADC ont une valeur de référence par défaut de 5V. Cela signifie que nous pouvons donner une tension d'entrée maximale de 5 V pour la conversion ADC sur n'importe quel canal d'entrée. Étant donné que certains capteurs fournissent des tensions de 0 à 2,5 V, avec une référence de 5 V, nous obtenons une précision moindre, nous avons donc une instruction qui nous permet de modifier cette valeur de référence. Donc, pour changer la valeur de référence, nous avons (“analogReference ();”) Pour l'instant, nous la laissons comme.
Par défaut, nous obtenons la résolution ADC maximale de la carte qui est de 10 bits, cette résolution peut être modifiée en utilisant l'instruction («analogReadResolution (bits);»). Ce changement de résolution peut être utile dans certains cas. Pour l'instant, nous laissons cela comme.
Maintenant, si les conditions ci-dessus sont définies par défaut, nous pouvons lire la valeur du CAN du canal '0' en appelant directement la fonction "analogRead (pin);", ici "pin" représente la broche où nous avons connecté le signal analogique, dans ce cas, il serait «A0».
La valeur de l'ADC peut être prise dans un entier comme «float VOLTAGEVALUE = analogRead (A0); ”, Par cette instruction, la valeur après ADC est stockée dans l'entier“ VOLTAGEVALUE ”.
Le PWM de UNO peut être réalisé sur n'importe laquelle des broches symbolisées par «~» sur la carte PCB. Il existe six canaux PWM dans UNO. Nous allons utiliser PIN3 à nos fins.
analogWrite (3, VALUE); |
À partir de la condition ci-dessus, nous pouvons directement obtenir le signal PWM à la broche correspondante. Le premier paramètre entre parenthèses sert à choisir le numéro de broche du signal PWM. Le deuxième paramètre est pour l'écriture du rapport cyclique.
La valeur PWM de UNO peut être modifiée de 0 à 255. Avec «0» comme plus bas à «255» comme plus haut. Avec 255 comme rapport de service, nous obtiendrons 5V à PIN3. Si le rapport cyclique est donné à 125, nous obtiendrons 2,5 V à PIN3
Comme dit précédemment, il y a deux boutons connectés à PIN4 et PIN5 de UNO. Sur pression, la valeur du rapport cyclique de PWM augmentera. Lorsque vous appuyez sur un autre bouton, la valeur du rapport cyclique de PWM diminue. Nous faisons donc varier le rapport cyclique du signal PWM à PIN3.
Ce signal PWM à PIN3 est fourni à la base du transistor NPN. Ce transistor fournit une tension variable au niveau de son émetteur, tout en jouant le rôle de dispositif de commutation.
Avec le rapport de service variable PWM à la base, il y aura une tension variable à la sortie de l'émetteur. Avec cela, nous avons une source de tension variable à portée de main.
La sortie de tension est alimentée à UNO ADC, pour que l'utilisateur puisse voir la sortie de tension.