Partage
  • Partager sur Facebook
  • Partager sur Twitter

Soucis électriques avec mes arduinos ?

    23 octobre 2018 à 20:26:42

    Bonjour à tous !

    Je gère un Escape Game, 100% électro et fait maison.

    Tout roulait nickel et du jour au lendemain, j'ai un comportement erratique sur une de mes énigmes, sans que je n'y comprenne RIEN !

    Dans l'énigme en question, des servos bougent, 16 plus exactement. Ils ne bougent QUE quand des boutons particuliers sont appuyés.

    Pas de soucis jusqu'à il y a quelques jours. Depuis, certains servos, de temps en temps, bougent, lorsqu'il se passe d'autres choses dans la salle, qui n'ont RIEN A VOIR avec cette énigme.

    Du genre, les joueurs placent un objet sur un capteur, branché sur un autre arduino, sur une autre multiprise, branchée sur une autre prise et ça fait bouger un servo de l'autre énigme Oo

    Et hier, j'ai débranché un ventilo de la salle et un servo a bougé ...

    Vous avez une idée, j'ai déjà testé pas mal de trucs, je n'y comprend rien !!!

    Merci !

    • Partager sur Facebook
    • Partager sur Twitter
      23 octobre 2018 à 21:31:23

      Bonsoir,

      on peux imaginer que les entrées correspondant aux boutons ont une impédance élevée et pourraient alors être sensible aux parasites.

      • Partager sur Facebook
      • Partager sur Twitter
        23 octobre 2018 à 21:41:35

        Autres tests du jour. Les servos tournent aussi quand il ne se passe RIEN dans la salle.

        Merci clgbzh.

        Que puis-je faire pour améliorer ça si c'est bien le problème ?

        Je vais tester de virer les boutons et voir si ça le fait toujours, pour voir si c'est bien dû à ça.

        • Partager sur Facebook
        • Partager sur Twitter
          Staff 24 octobre 2018 à 8:12:04

          Comment as tu câblé tes boutons ?

          Quelle valeur de résistance utilises tu comme pull-up ou pull-down ?

          • Partager sur Facebook
          • Partager sur Twitter
            24 octobre 2018 à 16:26:57

            Exactement comme ceci :

            https://www.arduino.cc/en/Tutorial/Button

            Si je passe avec juste 2 fils, un GND et un en DIGITAL, avec la Pin en PULL UP ça ira ?

            Merci Lorrio =p

            EDIT : Mais comme le lien ça marchait ... avant ...

            -
            Edité par Thibaut Leuridan 24 octobre 2018 à 16:27:16

            • Partager sur Facebook
            • Partager sur Twitter
              Staff 24 octobre 2018 à 20:42:45

              Quand on passe une pin en mode INPUT_PULLUP, c'est l'arduino qui commute une résistance de pull-up à l'entrée digitale.

              Par contre, il faut avouer que cette résistance n'est pas très efficace...

              En effet, cette résistance est une résistance interne à l'arduino, gravée dans le silicium au même titre que tous les autres éléments du processeur donc il y a très peu de place pour celle-ci.

              Cela fonctionne bien sur un bouton en local (pas trop loin du processeur) mais à partir du moment où l'on met des fils un peu long, cela marche beaucoup moins bien.

              En effet, ces fils vont faire office d'antenne qui captera toutes les ondes électromagnétiques qui passent .

              La résistance de pull-up interne n'étant pas très efficace, la perturbation électromagnétique va pouvoir fausser la mesure de l'arduino.

              Bref, si tu veux mettre des fils, il vaut mieux mettre une vrai résistance de pull-up.

              N'hésites pas à réduire la valeur de la résistance (du genre prendre une 1k au lieux de 10k) pour que celle-ci polarise vraiment la ligne et puisse ainsi supprimer efficacement toutes les perturbations électromagnétiques.

              -
              Edité par lorrio 24 octobre 2018 à 20:43:48

              • Partager sur Facebook
              • Partager sur Twitter
                24 octobre 2018 à 20:59:15

                En plus mes fils sont très longs ! 4 mètres !

                Je vais diminuer la résistance, merci Lorrio !

                • Partager sur Facebook
                • Partager sur Twitter
                  Staff 25 octobre 2018 à 9:55:57

                  Alors là, ça ne m'étonne pas du tout que tu obtiennes n'importe quoi avec 4m de fils.

                  Une résistance de 1k est clairement obligatoire dans ce cas là.

                  Je te conseille aussi de rajouter un petit condensateur (du genre 100pF) entre le GND et la pin INPUT de l'arduino.

                  Condensateur que tu devras placer proche de l'arduino et non proche du bouton.

                  Tu peux aussi en ajouter un autre de 100nF pour faire un filtre tout en laissant aussi le 100pF.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 octobre 2018 à 16:28:44

                    Pourtant ça fonctionnait avant =p

                    Je vais ajouter ajouter les 1K. On va dire que je préfère voir si ça suffit, car je n'ai pas forcément le temps !

                    Merci encore en tout cas.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 novembre 2018 à 17:35:06

                      C'est donc fait ! J'ai changé toutes les résistances de 10K en résistances de 1K ! Et j'ai toujours le même problème. Je redonne quelques infos au cs où =p

                      Le montage qui bug est seul sur une multi (3 alims nécéssaires, une 6V, une 12V et une 3V).

                      Un des bugs se produit PARFOIS (1 fois sur 20 on va dire) quand je monte ou descends, via un bouton, un moteur de volet roulant. Le servo qui bug est aléatoire.

                      J'ajoute que sur le montage buggué, il y a 16 servos. Pour pouvoir booter (car ils bougent tous en même temps au démarrage) je passe par 4 relais, qui allument les servos 4 par 4, sinon mon alim 6V ne tient pas. Je ne sais pas si ça peut jouer, je ne pense pas mais bon...

                      Je n'ai pas encore soudé les condensateurs. Ça peut le faire selon toi ou c'est une théorie incertaine =p ?

                      Encore merci.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        Staff 9 novembre 2018 à 21:02:50

                        Le condensateur devrait effectivement aider en filtrant les parasites qu'il peut y avoir sur tes lignes.

                        Je t'encourage aussi vivement à revoir ton code pour ajouter un filtrage logiciel.

                        Par exemple, tu pourrais lire ton entrée toutes les millis secondes et considérer un changement d'état que si les 10 dernières valeurs sont les même.

                        Ainsi, même si tu as un parasite qui vient fausser une mesure, tu n'auras pas de changement d'état de ton servo car une erreur sur une seule des 10 mesures n'est pas suffisante pour enclencher une réaction.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 novembre 2018 à 21:32:12

                          Pas mal l'idée !!!

                          Je vais ajouter les condensateurs et voir ensuite pour le code.

                          Tu parlais de 100 pico et 100 nanof, où est-ce que je place le 100 nf ?

                          MERCI !

                          • Partager sur Facebook
                          • Partager sur Twitter
                            Staff 10 novembre 2018 à 19:01:01

                            Les 2 seraient en parallèle, connectés au plus proche de la pin arduino, et le GND sur l'autre pins des condensateurs.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              16 décembre 2018 à 22:24:34

                              Me revoilà ...

                              Et je repars du début !

                              J'ai un problème plus général en fait ! Là où je pensais que c'était un problème de bouton qui faisait réagir un servo, c'est tout autre chose, mais ça déclenché justement également parfois ces servos.

                              J'utilise un volet roulant (VR) pour une énigme et c'est en fait celui-ci qui pose problème, à potentiellement TOUTES mes autres énigmes.

                              C'est un phénomène aléatoire mais très handicapant et il faut que je le règle au plus vite.

                              Plus concrètement, lorsque le relais qui contrôle mon VR (2 relais plus exactement, 1 pour le courant et l'autre pour la direction) change d'état, j'ai d'autres capteurs dans ma salle qui réagissent, qu'ils soient proches ou éloignés, qu'ils soient sur la même multiprise ou non.

                              Ça se traduit de différentes manières, mais chaque fois que le VR monte ou descend, certaines Pin de certains arduinos se mettent d'un coup à lire un HIGH ! Donc parfois ça fait bouger un de mes servos (le problème initial que je croyais avoir identifié), parfois une photorésistance capte quelque chose, une prise que les joueurs doivent débrancher est considérée comme débranchées alors qu'elle l'est toujours etc ...

                              Le VR est la seule de toutes mes énigmes ou je contrôle du 220V avec relais, je ne pense pas que ça soit une coïncidence !!!

                              Que puis-je faire ?

                              Est-ce que isoler la prise du VR sur une seule prise (et pas une multi pour l'instant) peut changer quelque chose ?

                              Est-ce que passer la prise du VR sur une prise qui est sur une autre fusible que toutes les autres prises des arduinos sont peut changer ?

                              Merci d'avance à tous pour votre aide !

                              • Partager sur Facebook
                              • Partager sur Twitter
                                Staff 17 décembre 2018 à 13:29:15

                                Brancher le volet roulant sur un autre circuit électrique que le reste de tes appareils peut effectivement améliorer la situation.

                                Il existe aussi des filtre secteur pour atténuer le rayonnement des appareils.

                                Exemple: https://fr.rs-online.com/web/c/passifs/filtres-passifs/filtres-secteurs/

                                Mais c'est quand même assez étonnant qu'un moteur perturbe à ce point toute ton installation.

                                Aurais tu un schéma de câblage de ce volet roulant ainsi que les longueur de câble approximative ?

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  17 décembre 2018 à 17:30:19

                                  Bonjour Lorrio,

                                  je n'ai pas de schéma mais c'est assez simple à expliquer !

                                  Branchement inverseur unipolaire

                                  En gros je suis partie de ça, sauf que je passe par 2 relais pour la partie envoie de courant et sélection du sens de rotation.

                                  Là où sur le schéma tu as la partie avec le noir rouge et marron, j'ai mes 2 relais.

                                  Le premier s'ouvre ou se ferme pour envoyer ou non le courant sur le second relais (sur le commun) qui ensuite envoie sur le NC ou NO en fonction du sens de rotation souhaité ! Rien de plus et ça marche.

                                  Par contre j'ai de belles longueur de fils. Le moteur étant au niveau du centre plafond d'un peu plus de 3 mètres, d'une salle de 4 x 4 mètres, je dois avoir environ 4-5 mètres pour les fils terre - noir - marron - rouge.

                                  Les autres fils qui controlent le relais depuis l'arduino sont très courts par contre, logique il est à côté !

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Soucis électriques avec mes arduinos ?

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  • Editeur
                                  • Markdown