Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Régulation de température avec PID


Sujet :

Arduino

  1. #21
    Membre actif

    Homme Profil pro
    Technicien
    Inscrit en
    août 2013
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2013
    Messages : 167
    Points : 246
    Points
    246
    Par défaut
    J'ai mis en oeuvre ta solution f-leb : ça marche les quelques premières minutes mais au bout d'un certain moment, le relais ne bascule plus en mode ON même si la température n'atteint pas la température de consigne.

    @Vincent : la température est de l'ordre de 80-90 °C

    Ci-après une copie d'écran de mon suivi de température à l'aide de l’hystérésis
    Nom : testèregulation.jpg
Affichages : 57
Taille : 27,6 Ko
    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

  2. #22
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    septembre 2008
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : septembre 2008
    Messages : 880
    Points : 2 880
    Points
    2 880
    Par défaut
    C'est quoi cette consigne qui oscille ? (le trait fin du graphique)

    Une consigne c'est fixe, surtout avec un réglage par hystérèse. Sur une hystérèse on réduit l'oscillation en réduisant la grandeur de l'hystérèse (jusqu'à devenir instable car on rentre dans le bruit de mesure).
    Pour un réglage par PID et PWM (et oui avec le relai c'est du PWM à très base fréquence), les grandeurs perturbantes (la variation de la circulation d'air autour de la barre) doivent avoir une constante de temps de 5 à 10 fois supérieur à la période PWM pour que cela marche correctement, et avec le relais et sa constante de temps en 10aines de secondes, j'ai le sentiment que ce n'est pas le cas.

    Delias

  3. #23
    Membre actif

    Homme Profil pro
    Technicien
    Inscrit en
    août 2013
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2013
    Messages : 167
    Points : 246
    Points
    246
    Par défaut
    Citation Envoyé par Delias Voir le message
    C'est quoi cette consigne qui oscille ? (le trait fin du graphique)
    Ce n'est pas la consigne : j'ai juste modélisé par un signal sinusoidal la partie de régulation pour connaître l'amplitude par rapport à la valeur de consigne : comme j'ai fait plusieurs essais en variant la valeur de l'hystérésis.
    Un bout du programme correspondant est celui-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    float temperature = sensors.getTempCByIndex(0);
      if (testMontee == 0)
      {
     
        if (temperature <= tempConsigne - ecartTemp)
        {
          digitalWrite(relais, HIGH);
          testRelais = 1;
        }
        else
        {
          digitalWrite(relais, LOW);
          testRelais = 0;
          testMontee = 1;
        }
      }
      if (testMontee == 1)
      {
     
        if (temperature <= tempConsigne + ecartTemp)
        {
          digitalWrite(relais, HIGH);
          testRelais = 1;
        }
        else
        {
          digitalWrite(relais, LOW);
          testRelais = 0;
        }
        if (temperature >= tempConsigne - ecartTemp)
        {
          digitalWrite(relais, LOW);
          testRelais = 0;
        }
        else
        {
          digitalWrite(relais, HIGH);
          testRelais = 1;
        }
    La variable testMontee me permet de différencier la 1ère montée en température des suivantes.
    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

  4. #24
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    2 578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 578
    Points : 8 837
    Points
    8 837
    Par défaut
    Tu as les spécs de la résistance chauffante ? Sa résistance ? Une doc peut-être ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  5. #25
    Membre actif

    Homme Profil pro
    Technicien
    Inscrit en
    août 2013
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2013
    Messages : 167
    Points : 246
    Points
    246
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Tu as les spécs de la résistance chauffante ? Sa résistance ? Une doc peut-être ?
    la doc non (j'ai pris une que je trouvais dans la boite à trouvailles du labo! !)

    C'est une RH25 7ohm
    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

  6. #26
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    septembre 2008
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : septembre 2008
    Messages : 880
    Points : 2 880
    Points
    2 880
    Par défaut
    Bonjour

    Pourrait-on avoir les ordres de grandeur de la mesure et la valeur de l'écart utilisé pour l'hystérèse ? Je lis 3,5 oscillations en 600 secondes, ai-je juste ? Car si c'est bien cela, l'écart de l'hystérèse est réglé bien trop grand.

    Ici c'est un système avec une certaine inertie et du retard (le temps que la température émise par la résistance met pour arriver à la mesure). C'est presque les bonnes conditions pour avoir un écart quasi nul pour le réglage par hystérèse. Seul une protection contre le bruit de mesure est nécessaire (soit sous la forme d'un écart faible, soit sous la forme d'un anti-rebond logiciel).

    Bonne suite

    Delias

  7. #27
    Membre actif

    Homme Profil pro
    Technicien
    Inscrit en
    août 2013
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2013
    Messages : 167
    Points : 246
    Points
    246
    Par défaut
    Citation Envoyé par Delias Voir le message
    Pourrait-on avoir les ordres de grandeur de la mesure et la valeur de l'écart utilisé pour l'hystérèse ? Je lis 3,5 oscillations en 600 secondes, ai-je juste ?
    A partir du programme mis post précédent, j'ai réglé l'écart de température sur 0.4 (c'est la valeur qui m'a donné le moins d'amplitude des oscillations) et une température de consigne de 80°C.
    Pour la fréquence, je lis 6 oscillations en 1000s qui correspond à la valeur que tu indiques (je n'ai plus le fichier sous la main ce week-end donc je n'ai pas accès à la valeur modélisée. : après vérification sur le fichier source, la période modélisée des oscillations est de 171 s (compatible donc avec les mesures graphiques)
    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

  8. #28
    Membre éclairé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2013
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : mai 2013
    Messages : 131
    Points : 660
    Points
    660
    Par défaut Ohm sweet Ohm
    Bonjour,

    Citation Envoyé par nlbmoi Voir le message
    C'est une RH25 7ohm
    En rapprochant cette valeur d'un précédent message où il est fait état d'une alimentation 20V limitée à 2A, la puissance délivrée sera très loin des 40W. En effet, la limitation de courant à 2A prendra le pas sur la tension de consigne (au lieu de (20 V)²/7 Ohm soit 57 W nous aurons (2 A)²*7 Ohm soit 28 W). Peut être que ce n'est pas un problème : est-ce que le résistance alimentée en permanence permet d'avoir une température sensiblement supérieure à celle souhaitée ?

    Autre chose, plus la régulation souhaitée sera fine (avec une ondulation limitée) plus le relais va basculer souvent d'un état dans l'autre. Or un relais est un organe électro-mécanique dont la durée de vie est directement liée au nombre de basculement. Un passage en électronique pure pourrait être un plus d'autant qu'il ouvre la porte à une commande pseudo analogique (PWM) et donc, entre autres, celle des PID.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  9. #29
    Membre actif

    Homme Profil pro
    Technicien
    Inscrit en
    août 2013
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2013
    Messages : 167
    Points : 246
    Points
    246
    Par défaut
    Citation Envoyé par Guesset Voir le message
    Autre chose, plus la régulation souhaitée sera fine (avec une ondulation limitée) plus le relais va basculer souvent d'un état dans l'autre. Or un relais est un organe électro-mécanique dont la durée de vie est directement liée au nombre de basculement. Un passage en électronique pure pourrait être un plus d'autant qu'il ouvre la porte à une commande pseudo analogique (PWM) et donc, entre autres, celle des PID.
    Je suis preneur de toute solution : j'ai utilisé un relais initialement car c'était facile à mettre en oeuvre pour un premier essai.
    Pour créer une belle table des matières sur LibreOffice - N'oubliez pas de consulter les FAQ en cas de question !

  10. #30
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    avril 2004
    Messages
    815
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : avril 2004
    Messages : 815
    Points : 1 351
    Points
    1 351
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

Discussions similaires

  1. Régulation température avec un seul capteur
    Par DavidBoulouart dans le forum Automation
    Réponses: 22
    Dernier message: 09/02/2016, 23h29
  2. Réponses: 5
    Dernier message: 05/06/2009, 17h28
  3. Régulation de température
    Par bennacer dans le forum LabVIEW
    Réponses: 9
    Dernier message: 18/05/2009, 10h05
  4. [LabVIEW 8.6] Régulation de température en temps réel
    Par polo_olop dans le forum LabVIEW
    Réponses: 8
    Dernier message: 08/04/2009, 09h15
  5. Réponses: 4
    Dernier message: 22/11/2007, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo