[Autre] Temps de demi-décharge d'un RC
Répondre à la discussion
Affichage des résultats 1 à 19 sur 19

Temps de demi-décharge d'un RC



  1. #1
    nlbmoi

    Temps de demi-décharge d'un RC


    ------

    Bonjour,

    Je souhaite étudier la relation entre temps de demi-décharge d'un filtre RC et la tension d'alimentation : j'utilise un micro controleur pour faire varier la tension d'alimentation, prendre une série de mesures pour chaque tension puis les afficher.
    Mon problème est que, là ou j'attendais une valeur identique pour chaque tension d'alimentation, la valeur du temps de demi-décharge diminue légèrement quand la tension d'alimentation diminue.

    A titre d'exemple (avec un filtre RC tel que (valeur obtenue par étude de la charge), j'obtiens :
    Tension d'alimentation (V) Temps de demi-décharge (s)
    5.000 0.07409
    4.510 0.07400
    4.020 0.07397
    3.529 0.07390
    3.039 0.07382
    2.549 0.07371
    2.059 0.07345
    1.569 0.07327
    1.078 0.07296

    la baisse n'est pas très grande (~1.5%) mais elle existe toujours (j'ai refait plusieurs fois la manip et toujours la même conclusion) ; les valeurs obtenues t~0.074 sont cohérentes avec la valeur de tau

    Mon programme :
    Code:
    //déclaration des variables
    const unsigned long flux = 250000; //flux de la liaison série
    unsigned long temps0, temps1;  // Deux variables temps pour mesurer tau
    float tau;  // Constante de temps
    unsigned long cpt = 1; //compteur du nombre de boucles, saisi dans Python par l'utilisateur
    unsigned long nbrPoints; // saisi dans Python par l'utilisateur
    int topDepart = 0; //variable pour lancer l'acquisition
    String envoi;
    
    byte alimentation = 3;  // Broche numérique alimentant le circuit RC
    byte mesure = 0; //broche analogique de mesure de la tension aux bornes de C
    
    const int nbCycle = 10; //nombre de cycles pour la moyenne de tau
    
    int delaidecharge = 10; //délai en ms dans la boucle pour décharger le condensateur
    int delaimesure = 1200 ; //délai en ms entre deux processus de mesure
    
    void setup()
    {
      Serial.begin(flux) ;  // Initialisation de la communication série
      pinMode(alimentation, OUTPUT);  // On définit la borne d'alimentation du circuit en Sortie
      digitalWrite(alimentation, LOW);  // On décharge le condensateur en le mettant à 0V
    
      Serial.print("Tension d'alimentation (V)");
      Serial.print("\t");
      Serial.println("Temps de demi-décharge (s)");
    
      int pwm = 255 ;
      while (pwm >= 50)
      {
        RC(pwm) ;
        pwm = pwm - 25 ;
      }
      Serial.flush();
    }
    
    void loop()
    {
      
    
    }
    
    
    void RC(int valeur)
    {
      unsigned long T = 0;
      for (int i = 0; i < nbCycle; i++)
      {
    
        analogWrite(alimentation, valeur);
        delay(delaimesure);
        temps0 = micros();  // On relève t0
        digitalWrite(alimentation, LOW);  // On applique 0V en entrée du circuit RC pour commencer à décharger
        int valeurmax=analogRead(mesure)/2;
        while (analogRead(mesure) > valeurmax)
        { // Tant que le niveau lu est supérieur à la moitié de la tension d'alimentation)
          // on boucle sans rien faire
        }
        T = T + (micros() - temps0); // Une fois sorti de la boucle on mesure l'écart de temps que l'on ajoute à T pour faire la moyenne
      }
      tau = T/nbCycle*1e-6;
      float tension=valeur*5.0/255;
      Serial.print(tension,3);
      Serial.print("\t");
      Serial.println(tau, 5);
    }

    Est-ce dû à une erreur dans mon programme ?
    Un problème matériel ?

    merci d'avance

    -----

  2. #2
    BOB92
    Animateur Bricolage et décoration

    Re : Temps de demi-décharge d'un RC

    Bonjour

    Cet écart est certainement induit soit par l'alimentation du filtre, soit par la charge.

    Un petit schéma du circuit électrique physique permettrait de lever le doute.

    Cordialement

  3. #3
    nlbmoi

    Re : Temps de demi-décharge d'un RC

    L'alimentation se fait par la carte Arduino (5V) à l'aide d'une sortie PWM.Nom : IMG_1752.jpg
Affichages : 308
Taille : 79,9 Ko

  4. #4
    gienas
    Modérateur

    Re : Temps de demi-décharge d'un RC

    Bonjour à tous

    Citation Envoyé par BOB92 Voir le message
    ... Cet écart est certainement induit ... par la charge ...
    C'est plus que probable.

    Là, la résistance R de (re) charge du RC est de 100kΩ, et l'on ne connaît pas la valeur de la résistance de (dé)charge qui est l'entrée du microcontrôleur.

    Les deux forment un pont diviseur de tension qui vient perturber le système.

    Pour y être insensible, il faudrait que la résistance qui fait la recharge, soit cent fois plus forte que la résistance d'entrée du micro.

  5. A voir en vidéo sur Futura
  6. #5
    BOB92
    Animateur Bricolage et décoration

    Re : Temps de demi-décharge d'un RC

    Bonjour

    Une photo c'est bien ...
    Mais représente donc le circuit, y compris la sortie PWM utilisée
    Un petit schéma vaut mieux qu'un long discours ....
    Cordialement

  7. #6
    nlbmoi

    Re : Temps de demi-décharge d'un RC

    Citation Envoyé par BOB92 Voir le message
    représente donc le circuit, y compris la sortie PWM utilisée
    Je ne vois pas trop quoi représenter : c'est une sortie d'une carte Arduino.

    Mon schéma : D3 (sortie PWM) --> Résistance 10k --> Condensateur 10µF --> GND
    Je récupère la tension aux bornes du condensateur (entrée analogique A0 de la carte)

  8. #7
    nlbmoi

    Re : Temps de demi-décharge d'un RC

    Citation Envoyé par gienas Voir le message
    Pour y être insensible, il faudrait que la résistance qui fait la recharge, soit cent fois plus forte que la résistance d'entrée du micro.
    J'ai essayé de décupler la valeur de la résistance (1 M) mais c'est encore pire

  9. #8
    Exotique

    Re : Temps de demi-décharge d'un RC

    Il faudrait mettre un AOP en suiveur pour ne pas entacher la mesure

  10. #9
    nlbmoi

    Re : Temps de demi-décharge d'un RC

    Citation Envoyé par Exotique Voir le message
    Il faudrait mettre un AOP en suiveur pour ne pas entacher la mesure
    Ca compliquerait un peu mon montage mais bon si je n'ai pas le choix !

    Un TLC271 serait-il utile ? J'en utilise un pour autre manip (et je peux l'alimenter avec Arduino)
    Si je prends un AOP, y-a-t-il une valeur optimale dans le choix des composants ? J'aimerais pouvoir avoir tau=0.1 s ce qui me donne comme couple possible pour RC 10k/10µ, 100k/1µ et 1M/0.1µ
    Dernière modification par nlbmoi ; 01/12/2020 à 11h43.

  11. #10
    jiherve

    Re : Temps de demi-décharge d'un RC

    bonjour,
    c'est amha miraculeux de n'avoir pas plus d'erreur car :
    comment se passe l'enchainement analogWrite /digitalWrite ?

    il y a forcement un délais(pas forcement fixe) entre digitalWrite et analogRead pendant lequel la capa commence à se décharger.
    aucune compensation (visible)de l'offset inévitable de l'ADC ni non plus de calibration (visible)
    Pour faire de vraies mesures il faut passer par l'assembleur!
    Utiliser un timer pour générer la PWM, interrompre celle ci de façon synchrone avec le cycle de la PWM et utiliser l'ADC de façon correcte.
    sans tout casser il faudrait au moins mesurer la tension de charge avant de couper la PWM et c'est cet instant qui sera t0.
    JR
    l'électronique c'est pas du vaudou!

  12. #11
    Exotique

    Re : Temps de demi-décharge d'un RC

    Bof pas forcément de l'assembleur, juste bien écrire son code et surtout avoir un bon schéma électrique adapté au besoin, ce qui n'est pas vraiment le cas ici.

  13. #12
    nlbmoi

    Re : Temps de demi-décharge d'un RC

    S'il y a des améliorations, je suis preneur, merci

  14. #13
    Exotique

    Re : Temps de demi-décharge d'un RC

    Tu peux faire un montage comme ça:
    Images attachées Images attachées  

  15. #14
    Exotique

    Re : Temps de demi-décharge d'un RC

    Pour le coté soft, une proposition:

    0/ mesurer l'offset (PWM à 0 => déchet de tension sur l'entrée de mesure que tu stockes pour après)
    1/ fixer un rapport PWM
    2/ temporiser quelques dizaines de ms pour que la tension se stabilise aux bornes du condensateur
    3/ tu lances la mesure *
    4/ tu récupères la mesure et tu retranches l'offset du 0/.
    5/ tu incrémentes (ou décrémente) le rapport cyclique du PWM pour changer la tension aux bornes de C
    6/ etc...

    * il faut faire par exemple 10 mesures puis tu extrais la moyenne de ces 10 mesures.

  16. #15
    nlbmoi

    Re : Temps de demi-décharge d'un RC

    Quelques questions pour le montage suiveur :
    - un AOP rail to rail autre que le MCP601T est-il possible ? J'ai trouvé dans mon stock des TLC271
    - pour Vcc, je prends bien le 5V de l'Arduino ?

    Dans mon programme ( voir le 1er post), je pense faire une partie de ce que tu suggères :
    - mettre la PWM a une certaine valeur
    - attendre 500 ms pour la stabilisation
    - mesure le t0
    - on calcule la valeur micros()-t0 ; que j'ajoute ensuite à ma variable T pour ensuite calculer la moyenne
    - je fais tout ça dans une boucle en changeant la valeur PWM de 25 en 225 pour obtenir des tensions de 5, 4.5, 4, 3.5, 3, 2.5, 2, 1.5 et 1V

    Si j'en crois ta suggestion, il y a juste l'offset que je ne prenais pas en compte : tu la mesures une seule fois en début de proramme puis tu la soustrais à chaque valeur mesurée micros()-t0 ?

    merci en tout cas pour ton aide

  17. #16
    Exotique

    Re : Temps de demi-décharge d'un RC

    Citation Envoyé par nlbmoi Voir le message
    Quelques questions pour le montage suiveur :
    - un AOP rail to rail autre que le MCP601T est-il possible ? J'ai trouvé dans mon stock des TLC271
    Il faudra juste t'assurer de ne pas monter la tension aux bornes du condensateur jusqu'à la tension de 5V sinon l'AOP ne suivra pas jusque là.
    En réalité avec le TLC271 il ne faudra pas aller au delà de 3.2V.
    Tu peux aussi alimenter l'AOP en 12V par exemple, si tu en disposes, comme ça tu ne sera plus limité avec 5V max sur son entrée.
    - pour Vcc, je prends bien le 5V de l'Arduino ?
    5V pour un rail-to-rail et 12V sinon.
    Si j'en crois ta suggestion, il y a juste l'offset que je ne prenais pas en compte : tu la mesures une seule fois en début de programme puis tu la soustrais à chaque valeur mesurée micros()-t0 ?
    Oui une seule fois.
    Tu corriges avec ta mesure de tension lue (à chaque fois) et puis tu fais ton traitement derrière.

  18. #17
    nlbmoi

    Re : Temps de demi-décharge d'un RC

    Je trouvais l'idée intéressante de ne pas utiliser d'alimentation externe ! Je vais voir ce que je peux trouver pour avoir une tension la plus proche des 5V.

    j'ai cherché dans la datasheet du TLC271, je ne trouve pas la ligne indiquant la tension maximale de 3.2V que tu évoques.

    merci pour tes précieux conseils !

  19. #18
    Exotique

    Re : Temps de demi-décharge d'un RC

    Alimenté en 5V cet AOP ne pourra pas sortir plus de 3.2V
    Donc même si tu mets 5V sur son entrée ce sera 3.2V dans le pire des cas selon la doc (il faut toujours prendre la valeur la plus défavorable de la datasheet pour ne pas avoir de surprise).
    Images attachées Images attachées  

  20. #19
    nlbmoi

    Re : Temps de demi-décharge d'un RC

    Ah ok, super merci pour l'information

Discussions similaires

  1. [Exercice] Temps de demi-vie
    Par Sribibi dans le forum Biologie
    Réponses: 1
    Dernier message: 02/01/2013, 10h00
  2. Batterie Li-ion: Temps de décharge
    Par invite5bc96a17 dans le forum Électronique
    Réponses: 6
    Dernier message: 20/09/2012, 09h49
  3. temps de demi vie !
    Par Weasley14 dans le forum Chimie
    Réponses: 2
    Dernier message: 14/05/2012, 00h10
  4. Temps de demi-vie
    Par invite506b67e1 dans le forum Chimie
    Réponses: 5
    Dernier message: 31/12/2009, 11h49
  5. Decharge d'un condensateur et temps
    Par invited6a8e0a5 dans le forum Physique
    Réponses: 5
    Dernier message: 14/11/2008, 17h27
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...