ACS712 5A Module Capteur de Courant

30,00 DH 38,00 DH

Disponibilité:

238 en stock

UGS : 0167 Catégories : ,

Description

Module Capteur de Courant 5A ACS712

Le module capteur de courant ACS712 5A est utilisé pour mesurer les courants AC et DC dans diverses applications électroniques. Il utilise le principe de 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 : -5A à +5A
  • Sensibilité : 185 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 ACS712 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 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 voltage = sensorValue * (5.0 / 1023.0);
  float current = (voltage - 2.5) / 0.185;
  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

#include <LiquidCrystal_I2C.h>


// Pin connections
#define CURRENT_SENSOR_PIN A0


// Constants
const float VOLTAGE_REFERENCE = 5.0;
const int ANALOG_TO_DIGITAL_CONVERSION_RESOLUTION = 1023;
const float ZERO_CURRENT_VOLTAGE_LEVEL = 2.5;
const float CURRENT_SENSOR_SENSITIVITY = 0.185; // Sensitivity of the 5A current sensor module: 185 mV/A


LiquidCrystal_I2C lcd(0x27, 16, 2);


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


int readCurrentSensor() {
  return analogRead(CURRENT_SENSOR_PIN);
}


float calculateCurrent(int sensorValue) {
  float analogVoltage = sensorValue * (VOLTAGE_REFERENCE / ANALOG_TO_DIGITAL_CONVERSION_RESOLUTION);
  return (analogVoltage - ZERO_CURRENT_VOLTAGE_LEVEL) / CURRENT_SENSOR_SENSITIVITY;
}


void displayCurrent(float current) {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Current: ");
  lcd.print(current, 2); // Display the current with 2 decimal places
  lcd.print(" A");
  Serial.print("Current: ");
  Serial.print(current, 2);
  Serial.println(" A");
}


void loop() {
  int sensorValue = readCurrentSensor();
  float current = calculateCurrent(sensorValue);
  displayCurrent(current);
  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 :

  • VOLTAGE_REFERENCE : la tension de référence de l’Arduino, qui est de 5 volts.
  • ANALOG_TO_DIGITAL_CONVERSION_RESOLUTION : la résolution de la conversion analogique-numérique de l’Arduino, qui est de 1023.
  • ZERO_CURRENT_VOLTAGE_LEVEL : la tension de sortie du capteur de courant lorsque le courant est nul, qui est de 2,5 volts.
  • CURRENT_SENSOR_SENSITIVITY : la sensibilité du capteur de courant, qui est de 0,185 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.

Fonction de lecture du capteur de courant La fonction readCurrentSensor() lit la valeur analogique du capteur de courant connecté à la broche A0.

Fonction de calcul du courant La fonction calculateCurrent() calcule le courant en ampères à partir de la valeur analogique lue par le capteur de courant. Elle utilise les constantes définies précédemment pour effectuer le calcul.

Fonction d’affichage du courant La fonction displayCurrent() affiche le courant calculé sur l’écran LCD et envoie également la valeur à la console série.

Boucle principale La boucle loop() appelle les fonctions readCurrentSensor(), calculateCurrent() et displayCurrent() pour lire le capteur de courant, calculer le courant et l’afficher sur l’écran LCD et la console série. La boucle s’exécute à une fréquence d’une fois par seconde, 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, Capteur de courant, ACS712, Arduino, Mesure de courant, Effet Hall, Capteur analogique, Arduino tutoriel, Module capteur.