Modifications

Sauter à la navigation Sauter à la recherche
2 403 octets ajoutés ,  24 mars 2020 à 11:27
Ligne 2 : Ligne 2 :  
[[Fichier:SENSEUR-COURANT-ACS712.jpg|640px]]
 
[[Fichier:SENSEUR-COURANT-ACS712.jpg|640px]]
   −
Basé sur l'ACS712 d'Allegro, ce senseur se branche en série avec la charge sur un circuit alternatif et permet de mesurer le courant qui traverse le senseur. Le senseur utiliser le champ magnétique généré par le courant (et donc l'effet hall) pour mesurer le courant qui le traverse..
+
Basé sur l'ACS712 d'Allegro (et ACS724, ACS720), ce senseur se branche en série avec la charge sur un circuit alternatif et permet de mesurer le courant qui traverse le senseur. Le senseur utiliser le champ magnétique généré par le courant (et donc l'effet hall) pour mesurer le courant qui le traverse..
 
Le senseur produit en sortie une tension continue proportionnelle au courant à raison de 0.100V/A (100 mV par ampère). Vous pouvez donc lire cette tension sur une entrée analogique de votre Arduino.
 
Le senseur produit en sortie une tension continue proportionnelle au courant à raison de 0.100V/A (100 mV par ampère). Vous pouvez donc lire cette tension sur une entrée analogique de votre Arduino.
   Ligne 19 : Ligne 19 :     
== Détails techniques ==
 
== Détails techniques ==
* Sensibilité: 100 mV par ampère
+
* Sensibilité: 100 mV par ampère pour le capteur 20A (400 mv/A pour un capteur 5A)
 
* Tension logique: 4.5V - 5.5VV
 
* Tension logique: 4.5V - 5.5VV
 
* Consommation: 10mA
 
* Consommation: 10mA
Ligne 31 : Ligne 31 :  
* Bruit sur l'ACS712 - environ 130mA avec la capacité de filtrage de 10nF. Le bruit peut être significativement réduit en utilisant une capacité de 470nF
 
* Bruit sur l'ACS712 - environ 130mA avec la capacité de filtrage de 10nF. Le bruit peut être significativement réduit en utilisant une capacité de 470nF
 
* [http://df.mchobby.be/datasheet/ACS712.pdf Fiche technique de l'allégro ACS712] (PDF, Allegro)
 
* [http://df.mchobby.be/datasheet/ACS712.pdf Fiche technique de l'allégro ACS712] (PDF, Allegro)
 +
 +
[[Fichier:ACSENS-20A-ACS712-board.jpg|480px]]
 +
 +
[[Fichier:ACSENS-20A-ACS712-schema.jpg|480px]]
    
== Brancher ==
 
== Brancher ==
 +
Voici comment insérer un senseur ACS712 dans un circuit électrique.
 +
 +
[[Fichier:SENSEUR-COURANT-ACS712-Montage.jpg|740px]]
 +
 +
== Code ==
 +
Voici un programme d'exemple, effectuant des lectures sur le senseur ACS712 et transformant la valeur en courant (mA) puis en puissance (W).
 +
 +
Le résultat est affiché sur le moniteur série d'Arduino.
 +
 +
<nowiki>float zero_senseur;
 +
int PIN_ACS712 = A0;
 +
 +
// Obtient la valeur du senseur de courant ACS712
 +
//
 +
// Effectue plusieurs lecture et calcule la moyenne pour pondérer
 +
// la valeur obtenue.
 +
float valeurACS712( int pin ){
 +
  int valeur;
 +
  float moyenne = 0;
 +
 
 +
  int nbr_lectures = 50;
 +
  for( int i = 0; i < nbr_lectures; i++ ){
 +
      valeur = analogRead( pin );
 +
      moyenne = moyenne + float(valeur);
 +
  }
 +
  moyenne = moyenne / float(nbr_lectures);
 +
  return moyenne;
 +
}
 +
 +
void setup(){
 +
  // calibration du senseur  (SANS COURANT)
 +
  zero_senseur = valeurACS712( PIN_ACS712 );
 +
 
 +
  Serial.begin( 9600 );
 +
}
 +
 +
float courant;
 +
float courant_efficace;   
 +
float tension_efficace = 230; // tension efficace du réseau electrique
 +
float puissance_efficace;
 +
float ACS712_RAPPORT = 100; // nbr de millivolts par ampère
 +
 +
void loop(){
 +
  float valeur_senseur = valeurACS712( PIN_ACS712 );
 +
  // L'amplitude en courant est ici retournée en mA
 +
  // plus confortable pour les calculs
 +
  courant = (float)(valeur_senseur-zero_senseur)/1024*5/ACS712_RAPPORT*100000;
 +
  // Courant efficace en mA
 +
  courant_efficace = courant / 1.414; // divisé par racine de 2
   −
== Code ==
+
  // Calcul de la puissance.
 +
  //    On divise par 1000 pour transformer les mA en Ampère
 +
  puissance_efficace = (courant_efficace * tension_efficace/1000);
 +
 
 +
  Serial.println( "zero_senseur - lecture - courant efficace (mA) - Puissance (W)" );
 +
  Serial.print( zero_senseur );
 +
  Serial.print( " - " );
 +
  Serial.print( valeur_senseur );
 +
  Serial.print( " - " );
 +
  Serial.print( courant_efficace );
 +
  Serial.print( "mA - " );
 +
  Serial.print( puissance_efficace );
 +
  Serial.println( " W" );
 +
 
 +
  delay( 1000 ); // attendre une seconde
 +
}</nowiki>
    
== Plus d'informations ==
 
== Plus d'informations ==
Ligne 42 : Ligne 110 :     
== Ou acheter ==
 
== Ou acheter ==
 +
* {{pl|788|Capteur de courant AC - ACS712 - 20A}} disponible chez MCHobby
 +
* {{pl|788|Capteur de courant AC - ACS724 - 20A}} disponible chez MCHobby
 +
* {{pl|1637|Capteur de courant AC - ACS724 - 5A}} disponible chez MCHobby
29 917

modifications

Menu de navigation