• Pompe sur courant continu

    Activer directement une pompe péristaltique avec Arduino ne peut pas de faire directement car le courant et la tension délivrée par le microcontrôleur ne suffisent pas à faire tourner une pompe péristaltique.

    Un relai et une alimentation externe pourront être utilisés pour faire tourner une petite pompe sous 12V (ce type de pompe a un coût de l'ordre de 10€)

    Le schéma ci-dessous montre une possibilité d'activation de la pompe pendant une durée fixée (ici 500 ms). 



    Un étalonnage du volume délivré par la pompe en fonction du temps d'activation sera nécessaire pour connaitre le volume de solution titrante délivré.

    • Pompe sur moteur pas à pas

      Un moteur pas à pas pour pompes péristaltiques est plus facilement contrôlable et permet une gestion fine des débits, volumes, vitesse de rotation. La gestion du moteur nécessite toutefois un driver spécifique qui permet d'alimenter électriquement le moteur et de le faire tourner de façon contrôlée. Le coût d'un tel matériel est plus important (entre 30 et 40 € pour la pompe et le driver de moteur pas à pas).

         

      Exemple de code permettant de faire tourner une pompe péristaltique sur commande. La commande "A3" fait tourner le moteur pour 3 tours.

      #include <AccelStepper.h>

      #define dirPin 2

      #define stepPin 3

      #define motorInterfaceType 1

      AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin); 

      String ChaineSaisie;

      //------------------------------------------------------------------

      void setup() {

      stepper.setMaxSpeed(1000); //vitesse maximale

      stepper.setAcceleration(500); // Accélération

      Serial.begin(9600); // Communication avec le moniteur série

      }

      //------------------------------------------------------------------

      void loop() {

      if (Serial.available()) { // teste si un caractère arrive depuis le moniteur série

          ChaineSaisie = Serial.readString(); 

          if (String(ChaineSaisie[0]) == "A") { // test pour commande de pompe et nombre de rotation 

               int NbTour=ChaineSaisie.substring(1).toInt();  // récupère le nombre de tours à réaliser

               Serial.println("Activation de pompe A pour " + String(NbTour) + " tours");

              MotorAstepper.move(StepPerRevolution*(1)*NbTour);   // définit le nombre de tour à réaliser 

              MotorAstepper.runToPosition(); // Activation du moteur A

              }

         } // fin du traitement arrivée d'un caractère

      }


      Un étalonnage du volume délivré par la pompe en fonction du nombre de tours sera nécessaire pour connaitre le volume de solution titrante délivré.


My interface

Couleur de fond Couleur de fond

Couleur de texte Couleur de texte

Police Police

Crénage de la police Crénage de la police

Taille de police Taille de police

1

Visibilité de l’image Visibilité de l’image

Espacement des lettres Espacement des lettres

0

Hauteur de ligne Hauteur de ligne

1.2

Surbrillance de lien Surbrillance de lien

Largeur de paragraphe Largeur de paragraphe

0

Alignement du texte Alignement du texte