[Analogique] Contrôleur de pression via Arduino
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Contrôleur de pression via Arduino



  1. #1
    Wulord

    Contrôleur de pression via Arduino


    ------

    Bonjour à tous,

    Je vous demande conseil concernant un petit projet de stage dans lequel je suis bloqué.

    Le but est de contrôler la pression d'un conduit en réduisant plus ou moins l'ouverture d'une vanne pour toujours revenir à une pression de référence.

    Pour modéliser mon projet avant de le monter, j'ai créé sur tinkercad un circuit avec 2 potentiomètres pour mes pressions (une que je veux fixer comme référence et l'autre captée dans le conduit) qui entre dans une carte Arduino. En sortie, une diode plus ou moins brillante représente la vanne plus ou moins ouverte. Je vous fournit ci-joint la capture de mon montage et son code dans lequel toutes les opérations sont explicitées.

    Quand je lance la simulation, la diode reste éteinte quoi qu'on fasse. Je ne suis pas vraiment calé en électronique donc il est possible que l'erreur soit assez triviale mais j'ai demandé à un pote mieux renseigné : pour lui ça devrait marcher aussi.
    Merci à celui ou ceux qui m'accorderont un peu de leur temps.
    A bientôt.

    Nom : montage.PNG
Affichages : 305
Taille : 79,2 Ko
    La résistance utilisée est de 1 Kohm

    Le code :

    Code:
    // C++ code
    //
    
    float P_fixee;
    float P_captee;
    float epsilon;
    
    void setup()
    {
      pinMode(A0, INPUT);
      pinMode(A1, INPUT);
      pinMode(3, OUTPUT);
    }
    
    void loop()
    {
      P_fixee = analogRead(0);  // Le 1er potentiometre est la pression qu'on fixe
      P_captee = analogRead(1);  // On simule le 2eme potentiometre comme la pression mesurée
      
      epsilon = P_fixee - P_captee;
      
      if ( epsilon < 0 ) {  // Si la pression captée est trop grande : 
        analogWrite(3,255);  // On ouvre complètement la vanne
      }
      else {  // Si la pression captée est trop petite :
        analogWrite(3, 255-epsilon/4);  // plus epsilon est grand, plus l'ouverture sera petite
      }
    }

    -----

  2. #2
    umfred

    Re : Contrôleur de pression via Arduino

    la diode est peut-être mise à l'envers sur le schéma

  3. #3
    Gyrocompas

    Re : Contrôleur de pression via Arduino

    Bonjour,
    Le niveau du stage n'est pas précisé.
    Les remarques sont donc à tempérer...

    La comparaison des niveaux sur les potentiomètres ne nécessite pas de variable epsilon.

    Une simple comparaison entre les valeurs est suffisante A>B ou B> A

    Utiliser une boucle qui pédale à la µs pour commander une vanne n'est pas adaptée, trop rapide.
    Voir la doc du µP (en cowboy) : http://ww1.microchip.com/downloads/e..._Datasheet.pdf

    Le µP possède 2 entrées ain0 et ain1 qui vont vers un comparateur interne.
    Une interruption peut être générée quand un événement (dépassement) est rencontré ou le retour à la normale par rapport à la consigne (analog comparator).
    C'est alors l'interruption qui déclenchera la correction nécessaire +/-.
    Prendre le temps de la lecture du fonctionnement sous interruption : préparation des conditions, utilisation du vecteur adapté.
    La vanne n'ayant pas une réaction instantanée (mécanique), sa mise en route progressive par la répétition d'un état est sans doute à envisager.
    Ce qui nécessite de faire appel à un timer adapté, par exemple, scrutation de l'état toutes les 10 ms, 100ms, incrémentation/décrémentation de la valeur de commande de l'actionneur.

  4. #4
    Wulord

    Re : Contrôleur de pression via Arduino

    oki.
    merci Umfred pour la réponse et Gyrocompas pour les approfondissements !

  5. A voir en vidéo sur Futura
  6. #5
    nornand

    Re : Contrôleur de pression via Arduino

    bjr, c'est plus une régulation PID pour cette application .

  7. #6
    nornand

    Re : Contrôleur de pression via Arduino

    Citation Envoyé par umfred Voir le message
    la diode est peut-être mise à l'envers sur le schéma
    Ca explique beaucoup de choses .

  8. #7
    umfred

    Re : Contrôleur de pression via Arduino

    Citation Envoyé par nornand Voir le message
    Ca explique beaucoup de choses .
    on a déjà tous fait cette erreur bête (si c'était ça le problème)

Discussions similaires

  1. [Analogique] Contrôleur de tension 12V - Arduino - L7909
    Par Wazisisgood dans le forum Électronique
    Réponses: 20
    Dernier message: 23/07/2019, 15h51
  2. [Programmation] Interrupteur contrôleur midi Arduino
    Par inviteb1860e60 dans le forum Électronique
    Réponses: 0
    Dernier message: 02/08/2017, 03h30
  3. Arduino et contrôleur moteur
    Par invitee7cd9960 dans le forum Électronique
    Réponses: 6
    Dernier message: 22/06/2015, 07h06
  4. controleur arduino uno apres recepteur modelisme
    Par invitec62685ec dans le forum Électronique
    Réponses: 36
    Dernier message: 23/10/2014, 10h54
  5. [Divers] Pompe haute pression Kärcher K397m : contrôleur de pression !
    Par invite8b30072d dans le forum Dépannage
    Réponses: 0
    Dernier message: 15/09/2010, 14h49
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...