Table des matières

Sommaire Matériels

Capteurs - Intensité du courant

[Mise à jour le 25/6/2024]


1. Généralités

Un courant électrique est un mouvement d'ensemble de porteurs de charges électriques, généralement des électrons, au sein d'un matériau conducteur. Ces déplacements sont imposés par l'action de la force électromagnétique, dont l'interaction avec la matière est le fondement de l'électricité. Wikipédia


2. Capteurs analogiques

ACS714

2.1 ±5A - (ACS714)

2.1.1 Présentation
Le module MR362 est un capteur d'intensité basé sur un composant ACS714. Il mesure un courant compris entre -5A et +5A. La sortie analogique est proportionnelle au courant mesuré (2,5V pour 0A).


2.1.2 Exemples de code
  • Ressources
    • Fiche guide pour l'étude d'une chaîne d'information comprenant un ACS714 [Télécharger]
  • Connexion à un shield Tinkerkit v2 monté sur une Arduino Uno
  • Exemple pour tester le capteur (étude dans la fiche guide)

acs714_V1.cpp
/*
ACS714 sur Arduino Uno
*/
 
#define RefVal 5.0
#define Pin A0
 
// Take the average of 500 times
const int averageValue = 500;
long int sensorValue = 0;
float sensitivity = 1000.0 / 185.0;  //1000mA per 185mV
 
// Output voltage with no current: 2500mV
float Vref = 2500;
 
void setup() {
  Serial.begin(9600);
}
 
void loop() {
  // Read the value 500 times:
  for (int i = 0; i < averageValue; i++) {
    sensorValue += analogRead(Pin);
 
    // wait 2 milliseconds before the next loop
    delay(2);
  }
  sensorValue = sensorValue / averageValue;
 
  // The on-board ADC is 10-bits
  // Different power supply will lead to different reference sources
  // example: 2^10 = 1024 -> 5V / 1024 ~= 4.88mV
  //          unitValue= 5.0 / 1024.0*1000 ;
  float unitValue = RefVal / 1024.0 * 1000;
  float voltage = unitValue * sensorValue;
 
  // When no load,Vref=initialValue
  Serial.print("initialValue: ");
  Serial.print(voltage);
  Serial.println("mV");
 
  // Calculate the corresponding current
  float current = (voltage - Vref) * sensitivity;
 
  // Print display current (mA)
  Serial.print(current);
  Serial.println("mA");
 
  Serial.print("\n");
 
  // Reset the sensorValue for the next reading
  sensorValue = 0;
  // Read it once per second
  delay(1000);
}
  • Exemple à compléter (étude dans la fiche guide)
acs714_V2.cpp
/*##############################################################################
 Connexions de l'ACS714 à une carte Arduino Uno
 * Vcc   -> 5V      # Alimentation du module
 * GND   -> GND
 * OUT   -> PIN A0  # Signal de sortie du cateur (tension)
##############################################################################*/
 
// Constantes et variables
const int Ucapteur = A0; // Sortie du capteur : tension (image de l'intensité mesurée)
int N = 0;               // Valeur délivrée par le CA/N
float Intensite = 0;     // Valeur de l'intensité mesurée par l'ACS714
 
void setup() {
  Serial.begin(9600);
}
 
void loop() {
  N = analogRead(Ucapteur);
  Intensite = ((float)(N - a) * b) / c;   // Calculer a,b et c pour un ACS714 à partir de l'étude de la chaîne d'information
 
  Serial.print("Intensité = " );  // Affichage dans la console
  Serial.print(Intensite);      
  Serial.println("A");      
 
  delay(2000);
}              
A venir

Archives

Le projet contenant l'exemple pour la carte Netduino, à programmer avec l'IDE Visual Studio Community 2015, est téléchargeable ici


2.2 ±5A - (ACS70331)

2.2.1 Présentation
Ce module Grove, basé sur un capteur ACS70331, permet la mesure de l'intensité d'un courant AC et DC jusqu'à 5 A. Ce capteur s'insère en série dans un montage électrique et délivre une tension analogique exploitable par une carte Arduino ou compatible.


2.2.2 Bibliothèques
  • Téléchargez la bibliothèque de capteurs de courant Grove depuis Github et l'installer dans le dossier ./Documents/Arduino/libraries.
A venir


2.2.3 Exemples de code
  • Ressource à consulter :wiki Seeed studio.
  • Exemple de l'IDE Arduino pour tester le capteur et corriger le décalage à zéro
    Dans l'IDE Arduino, sélectionner : Fichiers → Exemples → Grove current sensor → Grove_5A_DC_Current_Sensor
  • Résultat dans la console

A venir


MR392

2.3 ±12,5A - (ACS711)

2.3.1 Présentation
Le module MR392 est un capteur d'intensité basé sur un composant ACS711. Il mesure un courant compris entre -12,5A et +12,5A. La sortie analogique est proportionnelle au courant mesuré (1,65 V pour 0 A sous 3,3 V).


2.3.2 Exemples de code (A compléter)
  • Connexion à un shield Tinkerkit v2 monté sur une Arduino Uno.
  • Exemple pour tester le capteur

/*##############################################################################
 Author:
 * Mirko Prosseda (06-2013)
 * email: mirko.prosseda@gmail.com
 
 Description:
 * 5A Linear Current Sensor test sketch v1.0
 * Read current value from the sensor and print its value on the Serial Monitor
 
 Connections:
 * BOARD -> ARDUINO
 * Vcc   -> 5V
 * GND   -> GND
 * OUT   -> PIN A0
##############################################################################*/
 
// Define constants and variables
const int analogInPin = A0; // Analog input pin that the current sensor is attached to
int sensorValue = 0;        // value read from the sensor
float outputValue = 0;      // converted value of the sensor reading
 
// Initialization
void setup() {
  Serial.begin(9600);       // Serial Port initialization
}
 
// main loop
void loop() {
  sensorValue = analogRead(analogInPin);                          // reads the sensor value and convert it
  outputValue = ((float)(sensorValue - 338) * 5 / 0.11) / 1024;  // A vérifier
 
  Serial.print("Current Sensor value= " );                        // print results
  Serial.print(outputValue);      
  Serial.println("A");      
 
  delay(200);                     
}
A venir


2.4 ±30A - (ACS712)

2.4.1 Présentation
Ce module Phidgets doit être inséré en série dans le circuit à mesurer. Il est équipé de 2 sorties qui permettent de mesurer séparément le courant continu et alternatif pour les ondes de forme complexe..


3. Capteurs numériques

3.1 INA219 Current Sensor

INA219

3.1.1 Présentation
Capteur de courant basé sur le circuit INA219B permettant de mesurer un courant continu jusqu'à 3,2 A avec une résolution de 0,8 mA (jusqu'à 26 Vcc). Il communique avec un microcontrôleur Arduino ou compatible via le bus I2C et est équipé d'un shunt de 0,1 Ω (chute de tension de 320 mV pour 3,2 A).


3.1.2 Bibliothèques
  • A partir du gestionnaire de bibliothèques de l'IDE Arduino, installer :


A venir

3.1.3 Exemples de code
  • Ressource : wiki Adafruit.
  • Exemple de l'IDE Arduino pour tester le capteur
    Dans l'IDE Arduino, sélectionner : Fichiers → Exemples → Adafruit INA219 → getcurrent
A venir