Condensateur - Mesurer une constante de temps avec le comparateur analogique

Comparateur analogique de l’Arduino

Comparateur analogique de l’Arduino Uno R3 sur les entrée AIN0 et AIN1

Montage

  • La tension de référence égale à 63% de VCC est appliquée sur AINO à l’aide d’un potentiomètre.

  • La tension du condensateur est appliquée sur AIN1.

  • Le circuit RC est chargé par la broche D8.

Le basculement (front montant) du comparateur analogique de l’Arduino se fait lorsque la tension du condensateur atteint la tension de référence (63% de la valeur finale).

Mesure de la constante de temps

/* Mesure de la constante de temps d'un circuit RC
 * avec le comparateur analogique d'un Arduino Uno R3
 * David THERINCOURT - 2025
 */

#include "analogComp.h"

unsigned long t0;  // 32 bits
unsigned long t1;
unsigned long tau;
float C;
float R = 1.0E6;

void setup() {
   Serial.begin(9600);
   Serial.println("-----------");

   analogComparator.setOn(AIN0, AIN1); //we instruct the lib to use voltages on the pins
   analogComparator.enableInterrupt(changeStatus, RISING);

   pinMode(8,OUTPUT);      // Broche digitale en sortie

   // DECHARGE COMPLETE
   digitalWrite(8,LOW);    // Décharge condensateur avant mesure
   delay(1000);               // pendant 1 s


   // DEBUT CHARGE
   digitalWrite(8,HIGH);   // Début charge condensateur
   t0 = micros();             // Mesure instant initial
}

void loop() {

}

void changeStatus() {
   analogComparator.disableInterrupt();
   t1 = micros();             // Mesure instant où seuil atteint
   tau = t1 - t0;              // Calcul de tau
   C = tau/R * 1E4;
   Serial.print("tau = ");
   Serial.print(tau);          // Début affichage
   Serial.print(" µs \t C = ");
   Serial.print(C);          // Début affichage
   Serial.println(" nF");
}

Mesures avec une boîte à décade de condensateurs.