Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Arduino] Mesurer une intensité

Par exemple la consommation d'un moteur a courant continu

Sujet résolu
    6 avril 2013 à 20:30:47

    Bonjour ! :)

    Je voudrai savoir comment on peut mesurer l'intensité qui traverse par exemple un moteur CC, avec une Arduino. C'est assez facile de mesurer une tension  mais du coup maintenant je me demande comment on peut faire pour l'intensité.

    J'ai aussi constaté la présence des broches Vsense sur les pont H L298 mais je ne sait pas les utiliser ^^

    • Partager sur Facebook
    • Partager sur Twitter
      6 avril 2013 à 20:57:38

      Si tu sais utiliser un amperemetre ca devrais le faire ^^

      Pour utiliser les pins de "current sense" du L298 il te faudra des résistances de moins d'un ohm et surtout qu'elle soit capable d'encaisser quelques watts si ton moteur demande pas mal de courant...

      • Partager sur Facebook
      • Partager sur Twitter

      Retrouvez moi sur mon blog et ma chaine Youtube !

        7 avril 2013 à 16:48:13

         Si tu regarde le block diagram du L298 tu verra que les pins Vsense sont sur la partie basse du circuit d'alimentation du moteur, tu as donc un image du courant qui passe.

        En effet en vertu de la loi d'Ohm, tu aura une différence de potentiels au niveau de ta résistance, donc une tension, que tu peux utiliser pour mesurer ton courant (loi d'Ohm).

        Pour le L298 la datasheet est assez ancienne et assez peu détaillée sur le fonctionnement, il y a beaucoup de choses implicites et pour vérifier des hypothèses avec un composant à 15€, c'est un peu "cher" :)

        Je ferais une explication détaillée cette semaine si cela t'intéresse, car j'ai besoin de faire quelques schéma pour que cela soit facile à comprendre, mais je n'ai pas le temps aujourd'hui.

        Concernant la mesure de courant en général, c'est souvent réalisé avec un résistance de shunt, de très faible valeur (valeur précise, connue et qui, si possible, ne doit pas trop varier en température). Avec la loi d'ohm, on a une tension présente aux bornes de la résistance. 

        Soit cette tension est suffisamment élevée pour être directement traitée avec un ADC et dans ce cas c'est relié directement à l'ADC, soit un met un étage amplificateur, si possible assez propre et précis pour éviter d'ajouter trop d'incertitude à la mesure), avant l'ADC.

        Connaissant la valeur de la résistance, on connait le courant qui passe dans la résistance. Après la difficultée est de prendre une résistance dont la valeur est suffisamment faible pour ne pas bloquer le fonctionnement du circuit :

        Si tu met une résistance de shunt de 10 Ohm à l'entrée du carte fonctionnant à 5V et qui pompe 2A, ta résistance va limiter le courant à 500 mA. Il te faut au moins une résistance de 2,5 Ohms pour laisser passer 2A. Et pour avoir une marge de sécurité en cas d'appel de courant, on mettra probablement 1 Ohm, ce qui permet 5A.

        L'autre problématique c'est la puissance de la résistance, plus tu descend en valeur et plus tu auras besoin d'une résistance capable de dissiper la chaleur. 

        Par exemple la résistance de 1 Ohm, en fonctionnement nominal va avoir une puissance de : P = U x I = R x I² = 1 x 2² = 1 x 4 = 4 W !

        Pour éviter d'avoir des résistances trop grosses et/ou trop chère, on peut mettre des résistances en parallèle : par exemple 4 résistances de 4 Ohms pour faire 1 Ohm, chaque résistance ne dissipera que 1 W.
        • Partager sur Facebook
        • Partager sur Twitter
          7 avril 2013 à 19:17:34

          Le L298 est un dinosaure qui a certes son utilité, mais bon.

          http://www.freescale.com/files/analog/doc/data_sheet/MC33931.pdf

          Concernant le courant il y a deux aspects, la mesure et la protection.

          Si tu veux mesurer un courant, tu vas penser précision, sources d'erreurs possibles, etc.

          Si tu veux une protection anti court circuit ou bien ne pas cramer ton moteur quand il coince, la précision n'a aucune importance, il faut chercher la vitesse de réaction et la robustesse.

          Donc il faut savoir par quel bout prendre le problème.

          Si tu veux mesurer un courant, il faudra le transformer en un truc mesurable par ton uC, généralement une tension. Pour ça, une résistance, c'est pratique, mais la résistance transforme le courant en différence de potentiel entre ses deux bornes. Si une des bornes est à la masse, la mesure est simple. Si ça se balade sur une alim positive ou négative, alors il faut un ampli différentiel (MAX4376, AD8210). Si la mesure doit être isolée, il y a d'autres solutions (Hall, transfo de courant, etc).

          Par contre, si tu veux une protection, ça va t'imposer l'emplacement du capteur. Le L298 mesure la tension dans la masse, parce qu'il date d'avant l'invention du MOS à double drain. Le résultat est que si un des fils du moteur touche le chassis, qui est à la masse, le courant passera dans la batterie, dans le transistor du haut, dans le fil, dans le chassis, et retour à la batterie, sans passer dans la résistance. Donc, la protection ne verra rien, et ça cramera. Si le capteur de courant est dans l'alim, c'est l'inverse, on peut protéger contre les court-circuits entre sorties et masse, mais pas entre sortie et alim. Un composant plus moderne comme le MC33931 est équipé de MOS "current sense" et peut supporter à peu près n'importe quelle torture.

          > plus tu descend en valeur et plus tu auras besoin d'une résistance capable de dissiper la chaleur. 

          Plus la résistance est de faible valeur, moins elle chauffe (RI2)

          Pour mesurer 2A on met un shunt de 50 mOhm, qui dissipera 0.2W, donc un CMS 1206 avec un peu de cuivre autour, et un ampli diférentiel de gain 50 (si le shunt est dans l'alim), ou un AOP de base en montage non inverseur si le shunt est à la masse.

          -
          Edité par Lord Casque Noir 7 avril 2013 à 19:23:26

          • Partager sur Facebook
          • Partager sur Twitter
            16 avril 2013 à 23:56:15

            Han merci pour vos réponses ! Je suis désolé j'ai pas vraiment eu le temps de passer sur le forum depuis :)

            Je crois avoir compris pour l'instant, en résumé si j'ai bien il suffit d'appliquer la loi d'Ohm par rapport a une résistance très faible valeur pour pas interférer avec le reste ^^

            • Partager sur Facebook
            • Partager sur Twitter

            [Arduino] Mesurer une intensité

            × 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