Aucun produit dans le panier.
MODULE Capteur De Courant ACS712
38.0 د.م.
Rupture de stock
- Chemin de signal analogique à faible bruit
- Temps de montée de sortie de 5 µs en réponse au courant d’entrée pas à pas
- Boîtier SOIC8 à faible encombrement et profil bas
- Tension d’isolation minimale de 2,1 kVRMS des broches 1-4 aux broches 5-8
- Tension d’alimentation: 4,5 V ~ 5,5 V CC
- Sensibilité: 100mV / A
Commander avant 14h pour recevoir le produit le (30/06/2022)*
SKU: Volta-79327 Catégorie: Module Capteur
Le module Arduino avec capteur de courant ACS712 fonctionne sur le principe de l’effet Hall, de sorte que le circuit intégré placé sur le module génère une tension électrique en fonction du champ électrique et magnétique environnant, qui génère du courant électrique à travers les bornes. Il suffit de mesurer la tension du module de capteur de courant ACS712 en utilisant l’entrée analogique Arduino et de la convertir en courant en utilisant la constante spécifiée par le fabricant du capteur de courant. L’ACS712 lui-même peut être acheté en deux variantes pour mesurer différentes tailles de courant, agissant ± 5A et ± 20A. Cet article se concentre sur la variante 5A, mais si vous utilisez un type de module différent, vous devez uniquement utiliser la valeur appropriée dans le commentaire pour la variable “constante”. Un autre avantage du capteur de courant ACS712 est la possibilité de mesurer le courant dans les deux sens, afin d’obtenir des résultats positifs et négatifs.
Pour une connexion réussie avec Arduino, il est nécessaire d’utiliser 3 broches de connexion sur le module de capteur de courant. Connectez VCC à + 5V, OUT à A0 et GND à la terre. La broche de sortie du capteur OUT peut bien sûr être connectée à une autre entrée analogique libre de la carte Arduino. Nous connectons ensuite la charge mesurée entre les bornes de l’autre côté du module, comme vous pouvez le voir sur l’image ci-dessous.
Le premier exemple de code contient une mesure de courant continu (CC). Au début du programme, nous avons défini le numéro de broche pour l’entrée analogique, puis initialisé une variable avec une constante pour convertir la tension mesurée en courant et définir le décalage à la moitié de la tension d’alimentation. Dans le sous-programme de configuration, nous avons configuré la communication série à 9600 bauds et la broche d’entrée analogique sélectionnée comme entrée. Dans chaque boucle, nous créons des variables pour les mesures et les calculs de courant dans chaque boucle, et dans la boucle suivante, nous effectuons 100 mesures, y compris la conversion de la tension en courant. Dans le même temps, nous stockons les 100 résultats de mesure individuels dans la variable «somme» et divisons cette variable par 100 pour compléter la moyenne des 100 mesures prises. Ce résultat est ensuite imprimé sur une ligne série et après une petite pause, le programme entier est répété à nouveau.
copier dans le presse-papiers // Capteur de courant ACS712 5A
// Mesure de courant CC
// numéro de broche de l'entrée analogique connectée
const int analogIn = A0;
// constante pour la conversion de la tension mesurée en courant
// utilisez 100 pour la version 20A
int constant = 185 ;
// variable offset offset, moitié Vcc
int offset = 2500 ;
void setup () {
// communication sur liaison série à 9600 bauds
Série . commencer ( 9600 );
// initialise l'entrée analogique
pinMode (analogIn, INPUT );
}
void loop () {
// variables pour mesurer et calculer le courant
int analogique = 0 ;
double tension = 0 ;
double courant = 0 ;
double somme = 0 ;
// effectuer des centaines de mesures pour stabiliser le résultat
pour ( int i = 0 ; i < 100 ; i ++) {
// lire la valeur d'entrée analogique analog
= analogRead (analogIn);
// conversion de tension en courant selon les informations du fabricant
tension = (analogique * 5000,0 ) /1023,0 ;
courant = (décalage de tension) / constant;
// sauvegarde le résultat pour une moyenne ultérieure
somme + = courant;
retard ( 10 );
}
// calculer la moyenne d'une centaine de mesures de
courant = (somme / 100 );
// sortie du résultat à 3 décimales
Serial . imprimer ( "Actuel:" );
Série . impression (actuelle, 3 );
Série . println ( "A" );
// attend 1 s en raison du nombre inutile de caractères imprimés
retard ( 1000 );
}
Si vous devez mesurer AC, le deuxième exemple de code est également fourni. Son début est similaire à l’exemple précédent. Dans la fonction de boucle, nous utilisons la fonction de mesure zmerVpp, qui, en utilisant la fonction while (boucle répétée jusqu’à ce que les conditions – la différence entre le temps stocké et le courant 1 seconde) trouve toujours la valeur maximale et minimale de la tension et renvoie sa différence. Lors de l’impression du résultat, vous pouvez remarquer que les variables sont étiquetées RMS (Root Mean Square), ce qui signifie la valeur RMS du courant.
copier dans le presse-papiers // Capteur de courant ACS712 5A
// Mesure de courant AC
// numéro de broche de l'entrée analogique connectée
const int analogIn = A0;
// constante pour la conversion de la tension mesurée en courant
// utilisez 100 pour la version 20A
int constant = 185 ;
void setup () {
// communication sur liaison série à 9600 bauds
Série . commencer ( 9600 );
// initialise l'entrée analogique
pinMode (analogIn, INPUT );
}
void loop () {
// variables pour les calculs de courant
double tension = 0 ;
double voltageRMS = 0 ;
double streamRMS = 0 ;
tension = zVV ();
// conversion de tension en tension actuelle
RMS = (tension / 2,0 ) * 0,707 ;
currentRMS = (voltageRMS * 1000 ) / constant;
// sortie du résultat à 3 décimales
Serial . imprimer ( "Actuel:" );
Série . impression (flux RMS, 3 );
Série . println ( "A" );
}
float zmerVpp ()
{
// variables pour mesurer
float send;
int napAng;
int maximum = 0 ;
int minimum = 1023 ;
mezicas longs non signés = millis ();
// répéter la mesure pendant 1 seconde
tandis que (( millis () -mezicas) < 1000 )
{
// lire la valeur d'entrée analogique
napAng = analogRead (analogIn);
// recherche maximum
if (napAng> maximum)
{
maximum = napAng;
}
// recherche minimum
if (napAng <minimum)
{
minimum = napAng;
}
}
// conversion de la valeur d'entrée analogique en tension
trans = ((maximum - minimum) * 5.0 ) / 1023.0 ;
return vysl;
}
Après avoir chargé le programme dans la carte Arduino, nous pouvons ouvrir le moniteur série et regarder le courant mesuré entre les terminaux.
En conséquence, nous obtenons une liste similaire:
copier dans le presse-papier Courant: 0,955 A
Courant: 0,950 A
Courant: 0,942 A
Actuel: 1,288 A
Actuel: 1,279 A
Je tiens à souligner que le capteur de courant utilisé ACS712 ne peut pas être utilisé comme ampèremètre précis, car à des courants faibles jusqu’à environ 300 mA, sa mesure n’est pas très précise en raison des interférences électromagnétiques environnantes. Et la deuxième note concerne les constantes mentionnées, où le fabricant lui-même les désigne à titre indicatif. Si vous souhaitez mesurer des valeurs plus précises avec le capteur, je recommande de comparer sa sortie avec un autre instrument de mesure de meilleure précision sur plusieurs valeurs de courant différentes et d’ajuster la constante de mesure en conséquence. J’ai personnellement constaté que mon module testé dans la variante 5A et dans la plage mesurée 1-3 A donnait les meilleurs résultats avec une constante de 125.
Avis des clients
5 stars 0
4 stars 0
3 stars 0
2 stars 0
1 star 0
SOYEZ LE PREMIER À LAISSER UN AVIS “MODULE Capteur De Courant ACS712” Annuler la réponse
Only logged in customers who have purchased this product may write a review.
Avis
Il n'y a pas encore d'avis.