Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pilotage chargeur de batterie sous Arduino

    26 mai 2014 à 10:50:16

    La question que je me pose va sûrement être bête...mais est-il possible d'activer le PWM par du code seulement lors d'un déclenchement d'un BP présent sur le micro de la carte arduino ?

    Je dois finir la rapport cyclique, du coup il ne sera pas variable ?

    -
    Edité par aure7 26 mai 2014 à 11:55:39

    • Partager sur Facebook
    • Partager sur Twitter
      2 juin 2014 à 9:34:51

      Bonjour Lorrio,

      J'ai tout les éléments pour faire mon PWM, mais je ne vois comment je peux avoir une tension variable en sortie du chargeur grâce au PWM... Est-il possible de faire varier la valeur du 0-5V du PWM?

      • Partager sur Facebook
      • Partager sur Twitter
        2 juin 2014 à 10:35:00

        En code, tu peux faire tout ce que tu veux !

        Si tu veux désactiver ton PWM, tu reconfigures TCCR2A et TCCR2B pour désactiver le PWM.

        Je n'ai pas la doc sous les yeux mais il me semble que mettre 0x00 dans les 2 désactive complètement le module PWM (donc les pin seront à nouveau en mode I/O normale, controlable par digitalMode et digitalWrite).

        Si tu veux activer ton PWM sur un bouton, là encore, c'est du code.

        Il te suffit de lire périodiquement l'état du bouton (à l'aide de digitalRead) pour faire des actions en conséquence.

        Si tu veux faire varier la tension 0-5V, il te suffit de faire varier le rapport cyclique à l'aide de la fonction defPWM que je t'ai donné. Pour rappel defPWM(x) donne une tension de 5V*x/100.

        Bref, tout ça, c'est du code.

        Si tu ne vois pas comment faire, je t'invites à relire les tutoriels de programmation arduino car je n'ai ni l'envie, ni le temps de redire tout ce qu'il y a écrit dans le tutoriel.

        -
        Edité par lorrio 2 juin 2014 à 10:36:43

        • Partager sur Facebook
        • Partager sur Twitter
          2 juin 2014 à 21:29:42

          D'accord Lorrio, merci pour ta réponse, comme tu m'a dit des tuto sont très bien pour comprendre !!! 

          =====

          Je reviens au sujet du capteur à LEM car je dois expliquer pourquoi j'ai choisi tel composant et la valeur donc j'aimerais savoir comment ta déterminer les valeurs des composants stp pour le filtrage RC du capteur et du condensateur de découplage stp

          Rappel de ton message : "Un petit condo de découplage (100nF X7R) du GND/VDD au plus proche du capteur lui fera le plus grand bien.

          Tu devrais aussi filtrer la sortie du capteur avec un petit filtre RC (du genre 100 ohm, 10nF)."

          • Partager sur Facebook
          • Partager sur Twitter
            2 juin 2014 à 21:47:44

            Alors là ... c'est plus le feeling et l’expérience qui prédomine sur les calculs savants et scientifique.

            ===========

            Une capacité de découpage sert à gommer les appels brutaux de courant d'un composant.

            Je m'explique : lorsqu’un transistor commute (et tu dois savoir qu'on en trouve beaucoup à l'interrieur d'un composant), il a besoin pendant une fraction de seconde infime (invisible à l'oscilloscope tellement c'est cours) d'un surplus de courant.

            Un condensateur de placé au plus proche du composant permet de fournir très rapidement le pic de courant nécessaire.

            Si il n'est pas là, ce pic devra être fournie par l'alimentation principale et donc traverser une distance bien plus longue.

            Or, les pistes électriques n'ont pas une résistance nulle donc à chaque micro pic de courant, il y aura une micro chute de tension.

            Tu peux regarder dans beaucoup de montage, la valeur 100nF en temps que "decoupling capacitor" revient souvent.

            Sans ce condensateur, ça marche quand même, mais c'est mieux qu'il soit là.

            ===========

            Pour le 10nF, c'est un peu le même problème : lorsque le microprocesseur va échantillonner l'entrée, il va connecter un mini condensateur interne qui lui sert à faire sa mesure (dont la valeur apparait généralement comme "input capacitor" dans la doc).

            Cette connexion va aussi générer un micro pic de courant (et donc une micro chutte de tension) susceptible de fausser légèrement ta mesure.

            Le condensateur de 10nF sert donc de réserve d'énergie pour charger rapidement le condensateur interne du microprocesseur afin de limiter la micro chute de tension qui fausse ta mesure.

            Sans ce condensateur, ça marche quand même, mais les micro chute de tension pourrait te faire perdre un bit ou deux de précision (par exemple, au lieux de mesurer la valeur 632, ton arduino peut très bien mesurer aléatoirement une valeur entre 630 et 632).

            ===========

            Quand au 100 ohm (couplée aux 10nF), c'est là pour filtrer un peu la sortie du LEM.

            C'est à dire que si le LEM mesure une intensité qui oscille rapidement, la tension que va mesurer ton arduino sera une valeur moyennée.

            Plus la résistance et/ou du condensateur est grande, plus la valeur sera moyennée.

            Histoire d'avoir une base de temps, on peut dire que la moyenne se fait sur un temps T = R * C.

            Dans ton cas, ça fait un moyennage sur 100R*10n = ( 100 ) * ( 10 / 1000000000 ) = 1 us (ce qui reste très rapide comme moyennage).

            On pourrait se dire que ça sert à rien mais les 100 ohm servent aussi à protéger le LEM puisqu'il n'y a aucun composant qui aime avoir sa sortie directement reliée à un condensateur).

            -
            Edité par lorrio 2 juin 2014 à 21:54:48

            • Partager sur Facebook
            • Partager sur Twitter
              3 juin 2014 à 12:09:37

              Explication vraiment au top LORRIO !!!! Un vrai pro

              =======

              J'aurais juste une petite question au niveau de ce passage " Quand au 100 ohm (couplée aux 10nF), c'est là pour filtrer un peu la sortie du LEM.

              C'est à dire que si le LEM mesure une intensité qui oscille rapidement, la tension que va mesurer ton arduino sera une valeur moyennée."

              Mais au fond quel est le rôle du filtre ? y va tout simplement permettre d'avoir une stabilisation du courant afin de permettre une meilleure précision de la mesure ?

              • Partager sur Facebook
              • Partager sur Twitter
                3 juin 2014 à 13:16:49

                Imagine que ton LEM mesure le courant d'un moteur relie un à axe un peu tordu.

                Le courant ne sera donc jamais constant mais va varier faiblement et périodiquement en fonction de la position du moteur (courbe rose sur ma photo).

                Concernant ton arduino, tu ne peux pas faire une mesure permanente, il y a forcément échantillonnage du genre une mesure toutes les 100ms (droite bleu sur ma photo).

                Bref, alors que le courant moyen est toujours le même, ton arduino ne va jamais mesurer la même chose : un coup il peut tomber sur la valeur mini, un coup la valeur maxi, un coup la moyenne ...

                A toi de voir si tu veux mesurer la consommation instantanée ou plutôt une moyenne.

                • Partager sur Facebook
                • Partager sur Twitter
                  3 juin 2014 à 13:39:17

                  Donc si je comprends bien avec ce filtre,j'aurais une valeur moyenne et sans ce filtre j'aurais une valeur instantanée qui ne voudra pas dire grand chose car le courant varie constamment, du coup je ne pourrais pas connaître la "vrai" valeur du courant alors que la valeur moyenne me permet d'avoir une vrai image de la valeur du courant.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 juin 2014 à 15:42:51

                    Mais ça dépend entièrement de ce que tu veux mesurer.

                    ==========

                    Par exemple, sur une application de détection de court-circuit, il ne faut surtout pas de valeur moyenne.

                    En effet, pour ce genre d'application, si un court-circuit apparait, le fait de faire un moyennage va retarder le moment ou l'électronique va le détecter.

                    Il est donc préférable d'avoir une valeur instantanée, même si ça ne correspond pas forcément à la consommation moyenne.

                    ==========

                    A l'inverse, sur une application de gestion de durée de vie d'une batterie, avoir la valeur instantanée n'est pas intéressant.

                    Ce qu'il compte, c'est avoir une valeur moyenne juste afin d'estimer la quantité d'énergie que la batterie a déjà fournie pour ensuite estimer la quantité restante et donc, fournir une approximation de l'autonomie restante.

                    ==========

                    Comme je te l'ai dis, 100 ohm 10nF fait un moyennage sur 1us (1 million de fois plus rapide qu'une seconde).

                    Donc on ne peut pas forcément appeler ça une moyenne mais ça permet d'éliminer tous les petits pics de courant qui pourraient fausser légèrement ta mesure.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 juin 2014 à 16:54:09

                      D'accord lorrio, merci !!

                      ======

                      Du coup dans mon cas pour mes deux mesures, mesures du courant de batterie et mesure du courant d'utilisation une valeur moyenne me va très bien !!

                      -
                      Edité par aure7 3 juin 2014 à 17:12:50

                      • Partager sur Facebook
                      • Partager sur Twitter
                        4 juin 2014 à 14:56:21

                        Bonjour Lorrio,

                        J'aurais une question , en sortie de mon capteur de température http://fr.farnell.com/texas-instruments/lm35dh/capteur-de-temperature/dp/1216166?Ntt=1216166 , sois-je mettre un filtre RC ou résistance avant de le relier à mon arduino ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 juin 2014 à 18:48:03

                          Même principe que pour le LEM :

                          - un condensateur de découplage 100nF sur VSS/VDD, au plus proche du composant

                          - un filtre RC en sortie

                          • Partager sur Facebook
                          • Partager sur Twitter
                            4 juin 2014 à 20:09:52

                            Je me doutais bien !! j'ai tout prévu !!

                            =========

                            Sinon j'aurais une question au niveau des emplacement sur la carte Arduino:

                            LED , Bouton Poussoir, buzzer, écran LCD = > Pin numérique ?

                            Capteur de courant, pont diviseur, capteur de température => Pin analogique ?

                            C'est bien ça ou cela n'a peu d'importances ?

                            • Partager sur Facebook
                            • Partager sur Twitter
                              4 juin 2014 à 20:29:05

                              Si, ça a de l'importance !

                              Et oui, c'est bien ça.

                              Par contre, pour le buzzer, fait attention à sa consommation !

                              Les pins de l'arduino ont un courant maxi à le pas dépasser.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                4 juin 2014 à 21:09:22

                                Je vais regarder ça , merci Lorrio, je n'y avais pas penser....

                                ======

                                peut tu me confirmer cela stp :

                                LED, BUZZER, BP et écran => Sorties

                                Capteur de courant, pont diviseur, capteur de température => Entrées

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  4 juin 2014 à 21:27:21

                                  Là, il va falloir que j'arrête répondre aussi vite parce que ça devient une habitude ...

                                  Un doute ? Pas envie de réfléchir ? C'est pas grave, Lorrio est là !

                                  4 pages, plus de 100 messages, je n'ai jamais vu ça (et pourtant, j'ai déjà posté plusieurs milliers de message sur ce forum).

                                  ==========

                                  Donc non, je ne confirme pas parce que ce n'est pas ça.

                                  Et non, je ne donnerais pas d'indication sur ce qui ne va pas car tu peux largement trouver en réfléchissant un peu ou en relisant les tutoriels arduino.

                                  -
                                  Edité par lorrio 4 juin 2014 à 21:28:55

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Pilotage chargeur de batterie sous Arduino

                                  × 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