ACS712 20A Module Capteur de Courant

30,00 DH 38,00 DH

Disponibilité:

219 en stock

UGS : 0168 Catégories : ,

Description

Module Capteur de Courant 20A ACS712

Le module capteur de courant ACS712 20A est utilisé pour mesurer les courants AC et DC dans diverses applications électroniques. Ce module utilise l’effet Hall pour convertir le courant passant à travers un conducteur en un signal de tension proportionnel.

Caractéristiques en détail

  • Tension de fonctionnement : 4.5V à 5.5V DC
  • Courant de mesure : -20A à +20A
  • Sensibilité : 100 mV/A
  • Sortie : Tension analogique proportionnelle au courant
  • Isolation : 2.1 kV RMS isolation du conducteur
  • Précision : ±1.5%
  • Température de fonctionnement : -40°C à 85°C
  • Dimensions : Compact et facile à intégrer

Fonctionnement

Le capteur de courant utilise un circuit intégré basé sur l’effet Hall pour mesurer le courant. Le courant à mesurer passe à travers une piste de cuivre intégrée dans le module, générant un champ magnétique proportionnel au courant. Ce champ est détecté par le capteur à effet Hall et converti en une tension analogique proportionnelle au courant mesuré​.

Applications

  • Surveillance de courant pour les moteurs et les systèmes de charge de batterie
  • Gestion de l’alimentation pour les appareils électroniques
  • Protection contre les surintensités dans les circuits
  • Prototypage de robots et de machines autonomes
  • Détection et mesure de courant dans les systèmes de gestion de l’énergie

Brochage

  • VCC : Alimentation (4.5V à 5.5V)
  • GND : Masse
  • OUT : Sortie analogique proportionnelle au courant mesuré

Comment l’utiliser

Pour utiliser le capteur de courant ACS712 20A avec un Arduino, connectez la broche VCC à l’alimentation 5V de l’Arduino, la broche GND à la masse, et la broche OUT à une entrée analogique de l’Arduino​.

Comment l’utiliser avec Arduino Uno

Exemple de code Arduino de base

#define CURRENT_SENSOR_PIN A0


void setup() {
  Serial.begin(9600);
}


void loop() {
  int sensorValue = analogRead(CURRENT_SENSOR_PIN);
  float analogVoltage = sensorValue * (5.0 / 1023.0);
  float current = (analogVoltage - 2.5) / 0.100; // Sensibilité de 100 mV/A pour 20A
  Serial.print("Current: ");
  Serial.print(current);
  Serial.println(" A");
  delay(1000);
}

But du code

Ce code lit les valeurs analogiques du capteur de courant et les convertit en courant en utilisant la formule appropriée. Les valeurs de courant sont affichées sur le moniteur série.

Composants nécessaires pour le code de base

  • Arduino Uno
  • Module capteur de courant ACS712
  • Câbles de connexion

Explication détaillée du code de base

  • Initialisation : La communication série est établie à 9600 bauds.
  • Lecture des données : Les valeurs analogiques du capteur sont lues, converties en tension, puis en courant. Les valeurs de courant sont affichées sur le moniteur série.

Brochage détaillé des connexions du code de base

  • VCC : 5V (Arduino)
  • GND : GND (Arduino)
  • OUT : A0 (Arduino)

Exemple de code Arduino avancé pour affichage sur LCD avec améliorations

#include <LiquidCrystal_I2C.h>


// Broches de connexion
#define CURRENT_SENSOR_PIN A0


// Constantes
const float V_REF = 5.0;
const int ADC_RESOLUTION = 1023;
const float ZERO_CURRENT_VOLTAGE = 2.5;
const float SENSITIVITY = 0.100; // Sensibilité du module 20A : 100 mV/A


LiquidCrystal_I2C lcd(0x27, 16, 2);


void setup() {
  lcd.begin();
  lcd.backlight();
  Serial.begin(9600);
}


void loop() {
  int sensorValue = analogRead(CURRENT_SENSOR_PIN);
  float analogVoltage = sensorValue * (V_REF / ADC_RESOLUTION);
  float current = (analogVoltage - ZERO_CURRENT_VOLTAGE) / SENSITIVITY;
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Current: ");
  lcd.print(current, 2); // Affiche le courant avec 2 décimales
  lcd.print(" A");
  Serial.print("Current: ");
  Serial.print(current, 2);
  Serial.println(" A");
  delay(1000);
}

But du code

Ce code affiche les valeurs de courant mesurées par le capteur ACS712 sur un écran LCD I2C.

Composants nécessaires pour le code avancé

  • Arduino Uno
  • Module capteur de courant ACS712
  • Écran LCD I2C 1602
  • Câbles de connexion

Explication détaillée du code avancé

Inclusion de la bibliothèque La première ligne du code inclut la bibliothèque LiquidCrystal_I2C.h, qui permet de communiquer avec un écran LCD utilisant le protocole I2C.

Définition des broches de connexion La ligne suivante définit la broche de connexion du capteur de courant, qui est connectée à la broche A0 de l’Arduino.

Définition des constantes Les lignes suivantes définissent des constantes utilisées dans le code :

  • V_REF : la tension de référence de l’Arduino, qui est de 5 volts.
  • ADC_RESOLUTION : la résolution de la conversion analogique-numérique de l’Arduino, qui est de 1023.
  • ZERO_CURRENT_VOLTAGE : la tension de sortie du capteur de courant lorsque le courant est nul, qui est de 2,5 volts.
  • SENSITIVITY : la sensibilité du capteur de courant, qui est de 0,100 volt par ampère.

Initialisation de l’écran LCD La fonction setup() initialise l’écran LCD en appelant les méthodes begin() et backlight() de la bibliothèque LiquidCrystal_I2C. Elle initialise également la communication série à une vitesse de 9600 bauds.

Boucle principale La boucle loop() lit la valeur analogique du capteur de courant, calcule le courant en ampères, et l’affiche sur l’écran LCD et la console série.

Voici les étapes de la boucle principale :

  1. La valeur analogique du capteur de courant est lue à l’aide de la fonction analogRead() et stockée dans la variable sensorValue.
  2. La tension analogique est calculée en multipliant la valeur lue par la tension de référence et en divisant par la résolution de la conversion analogique-numérique.
  3. Le courant est calculé en soustrayant la tension de sortie du capteur de courant lorsque le courant est nul, puis en divisant par la sensibilité du capteur de courant.
  4. L’écran LCD est effacé et le curseur est positionné à la ligne 0, colonne 0.
  5. Le texte “Current: ” est affiché sur l’écran LCD, suivi de la valeur du courant avec 2 décimales.
  6. Le texte ” A” est affiché pour indiquer l’unité du courant.
  7. La valeur du courant est également envoyée à la console série avec 2 décimales.
  8. La boucle attend 1 seconde avant de recommencer, grâce à l’appel de la fonction delay(1000).

Brochage détaillé des connexions du code avancé

  • VCC : 5V (Arduino)
  • GND : GND (Arduino)
  • OUT : A0 (Arduino)
  • SDA : A4 (Arduino)
  • SCL : A5 (Arduino)

Installation de Drivers/bibliothèques

Aucune bibliothèque spécifique n’est nécessaire pour utiliser le capteur de courant ACS712 avec Arduino. Pour l’écran LCD, installez la bibliothèque LiquidCrystal_I2C via le gestionnaire de bibliothèques de l’IDE Arduino.

Mots clés: sensor, current.