Partage
  • Partager sur Facebook
  • Partager sur Twitter

[ARDUINO] controle ventilateur 12v

Sujet résolu
    16 août 2013 à 14:51:21

    Bonjour a tous, je cherche a contrôler comme le titre l'indique un ventilateur de  pc "C7015B12M" qui fonctionne sur du 12v.

    Mon code de test est le suivant :

    int ventilo=2;
    
    void setup() 
    {
      pinMode(ventilateur, OUTPUT);
      digitalWrite(ventileur, HIGH);
    }
    void loop() 
    {
    digitalWrite(ventileur, HIGH);
    delay(5000);
    digitalWrite(ventileur, LOW);
    delay(5000);
    }

    Le fil "+" du ventilateur est relié au pin "vin" de l'arduino qui fournit du 12v.

    Le fil "-" est lui relié au pin 2.  Rien de plus basique.

    Cependant cela ne fonctionne pas, le ventilateur tourne a pleine puissance pendant 5s puis ralentis faiblement 5 autres secondes AU LIEU de s’arrêter completement.

    Étant un grand débutant je ne trouve pas de solution même en m'inspirant de situations relativement similaires sur d'autres forums.

    Merci de votre aide. :)

    -
    Edité par kashkawan 16 août 2013 à 14:52:06

    • Partager sur Facebook
    • Partager sur Twitter
    "Kashkawan" means "it is foggy" in Algonquin.                                                                                                                                  | 你很好奇 |
      16 août 2013 à 15:58:10

      Je n'ai pas trop le temps de me pencher sur le ventilateur, mais il se peut que en ayant une PWM à "0" cela n'arrête pas le ventilateur mais le fasse seulement aller à sa vitesse minimum. Et pour l'arrêter il suffit de couper l'alimentation.

      Il faut se renseigner sur le ventilateur, sa technologie, récupérer la datasheet et voir si y a des informations sur le type de contrôle.

      Il faut savoir qu'un moteur a une inertie et qu'il faut un peu plus de puissance au démarrage lorsqu'il est à l'arrêt pour le faire tourner. L'avantage de le laisser tourner même faiblement au lieu de l'arrêter c'est que lorsqu'on réappliquer une consigne d'une vitesse légèrement supérieure (genre on pas de 0% à 5%), le ventilateur va continuer à tourner et respecter la consigne, or si le ventilateur était à l'arrêt il se peut qu'il reste à l'arrêt car il n'y a pas assez de puissance pour le faire démarrer.

      Tu peux facilement vérifier ce principe avec un ventilateur simple à deux fil et une alimentation variable : pour faire démarrer le ventilateur tu auras besoin d'une tension T1, une fois qu'il tourne, tu peux baisser la tension jusqu'à atteindre une tension T2 où le ventilateur s'arrêtera. Mais T2 sera inférieure à T1 et temps que tu n'aura pas redépasser T2 et T1 ton ventilateur sera toujours à l'arrêt. En revanche si tu es entre T2 et T1 (et que le ventilateur tourne toujours), si tu augmente la tension, le ventilateur accélérera.
      • Partager sur Facebook
      • Partager sur Twitter
        16 août 2013 à 19:00:00

        L'arduino est un processeur 5V.

        Ses sorties sont donc soit à 5V, soit à 0V.

        Lorsque tu écris un LOW, la sortie est à 0V, il y a donc une tension de 12 - 0 = 12V aux bornes du ventilateur => il tourne à plein régime

        Lorsque tu écris un HIGH, la sortie est à 5V, il y a donc une tension de 12 - 5 = 7V aux bornes du ventilateur => il tourne à faible vitesse

        En plus de ne pas respecter les consignes de tension sur les pins de ton arduino (il est fortement déconseillé de mettre du 12V dessus), il est fort probable que tu ne respecte pas non plus les consignes de courtant (un ventilateur, ça consomme beaucoup par rapport à ce que l'arduino peut fournir).

        =====

        Si tu veux un montage qui marche, il te faut utiliser un transistor !

        Note : le fil rouge du ventilo est sur le 12V
        
        
                                     ventillo (fil noir)
                                        |
                                        |
                                        |
                                        |
                  résistance         C /
        sortie     |-----|         B |/
        -----------|  R  |-----------|  transistor
                   |-----|           |\
                                     E \
                                        |
                                        |
                                      -----
                                       \ \ \ GND 0V



        • Partager sur Facebook
        • Partager sur Twitter
          16 août 2013 à 19:19:41

          J'ai justement demandé parce que j'avais peur d'endommager l'arduino avec du 12V .  :euh:

          Je me disais bien qu'un transistor ferait l'affaire mais j’étais persuadé que je pouvais faire sans.

          Merci, maintenant j'ai bien assimilé toutes les notions et les les erreurs a ne pas commettre (qui ne sont pas forcement évidente pour un débutant).

          Enfaite c’était pas si dur :D.

          • Partager sur Facebook
          • Partager sur Twitter
          "Kashkawan" means "it is foggy" in Algonquin.                                                                                                                                  | 你很好奇 |

          [ARDUINO] controle ventilateur 12v

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown