Partage
  • Partager sur Facebook
  • Partager sur Twitter

Radiocommande + arduino

    9 juillet 2013 à 2:20:03

    Bonjour à tous et toutes,

    J ai une petite question.Je programme depuis quelque temps maintenant maintenant (réalisation de sous marin RC a base d'arduino notament) et la j'ai une intérogation.

    Une question surement toute bete, mais je me demandai comment peut on controler sont arduino avec une radiocommance de type modélisme ?

    Je vois beaucoup de projet qui pilote des drone a base d'arduino avec une radiocommande ? Quelle est le matériel nécessaire ? 

    Merci 

    • Partager sur Facebook
    • Partager sur Twitter
      9 juillet 2013 à 8:18:53

      Il te faut une télécommande et son récepteur, tout simplement.

      Ensuite, il te faut brancher correctement le récepteur sur l'arduino.

      Chaque voie du récepteur se compose de 3 fils :

      - noir : GND

      - rouge : 5V

      - blanc : commande

      Si ton arduino est déjà alimenté en 5V, tu n'as donc besoin que d'un GND (commun à toutes les voies) puis le fil blanc de chaque voie.

      La commande est un signal numérique de fréquence constante.

      La période est de 20ms.

      Au début de ces 20ms, le signal est à 5V durant 0ms (commande à 0%) à 2ms (commande à 100%) puis retourne à 0V.

      Exemple :

      - chaque 0 représente une tension GND durant 1ms

      - chaque 1 représente une tension 5V durant 1ms

      Exemple de commande à 0% :

      000000000000000000000000000000000000000000000000000000000000

      Exemple de commande à 50% :

      100000000000000000001000000000000000000010000000000000000000

      Exemple de commande à 100% :

      110000000000000000001100000000000000000011000000000000000000

      Bref, tu branches ça sur ton arduino sur une pin sous interruption double front.

      Lors du passage à 1 (front montant), tu lances un timer (ou réccupère le temps avec la fonction micro).

      Lors du passage à 0 (front descendant), tu arrêtes le timer (ou réccupère le temps avec la fonction micro).

      Ensuite, tu divise ce temps par 2ms et tu as ta commande entre 0 et 1 ;)

      • Partager sur Facebook
      • Partager sur Twitter
        9 juillet 2013 à 14:23:35

        "Au début de ces 20ms, le signal est à 5V durant 0ms (commande à 0%) à 2ms (commande à 100%) puis retourne à 0V."


        C'est pas plutot "20ms (commande à 100%) puis retourne à 0V." ???

        • Partager sur Facebook
        • Partager sur Twitter
          9 juillet 2013 à 16:42:19

          Non non, c'est assez spécial la commande des servo ...

          C'est bien une période de 20ms avec un passage à 5V assez bref.

          Par contre, je me suis trompé dans le 0% : ce n'est pas 0ms mais 1ms.

          -----

          Pour résumer :

          Le signal a une periode de 20ms.

          Pendant ces 20ms, le signal est à 5V pendant une durée variant de 1ms (commande à 0%) à 2ms (commande à 100%).

          Le reste du temps (soit une durée comprise entre 18ms (commande à 100%) et 19ms (commande à 0%)), le signal est à 0V (GND).

          Une image, c'est toujours mieux :

          • Partager sur Facebook
          • Partager sur Twitter
            9 juillet 2013 à 16:48:24

            Ha ok je comprends mieux.

            Merci pour ton aide rapide et simple

            • Partager sur Facebook
            • Partager sur Twitter
              9 juillet 2013 à 18:36:13

              Ceci dit, dans la pratique, ton signal pourra varier de 0.5 à 2.5ms, mais la fréquence sera toujours de 20Hz. En fait, il n'y a pas vraiment de norme à ce niveau et tu pourra te retrouver avec un servo qui lit un signal de 1ms à 2ms comme de 0.8ms à 2.2ms, il faudra tester ta radiocommande pour déterminer ces limites.
              • Partager sur Facebook
              • Partager sur Twitter
              Envoyé depuis ma chaise.
                9 juillet 2013 à 19:00:45

                Ou régler correctement la télécommande ;)

                Sur toutes les télécommandes, on retrouve un potentiomètre de trim qui permet d'ajouter la valeur 50%.

                Sur les bonnes télécommandes, on retrouve un autre potentiomètre qui permet d'ajuster l'écart max.

                -----

                Enfin bon, c'est vrai que faire un calibrage coté software, c'est assez simple :

                1. Le micro attend 2 secondes puis mesure la valeur la valeur moyenne (pendant ces 2 secondes, tu ne touches pas à la télécommande)

                2. Le micro attend 2 secondes puis mesure la valeur max (pendant ces 2 secondes, tu mets la télécommande au max)

                3. Le micro attend 2 secondes puis mesure la valeur min (pendant ces 2 secondes, tu mets la télécommande au min)

                Après, tu peux faire de petites animations LED pour t'y retrouver du genre :

                - la led clignote à une vitesse moyenne => il faut mettre la télécommande au neutre

                - la led clignote à grande vitesse => il faut mettre la télécommande au max

                - la led clignote à faible vitesse => il faut mettre la télécommande au min

                Ce calibrage, tu n'as pas à le faire à chaque fois.

                Il te suffit de sauvegarder les valeur moy, max et min en EEPROM après l'étalonnage.

                • Partager sur Facebook
                • Partager sur Twitter
                  9 juillet 2013 à 19:22:55

                  Ok je crois que je vais faire ca.

                  Je viens de commander une radiocommade / recepteur 6 voies.

                  Question je suis au USA pendant 6semaine et j'ai donc commander sur le site hobbiking ? Vous connaissez ?

                  Connaissez vous d'autre site basé au USA pour l'electronique ??

                  Merci 

                  • Partager sur Facebook
                  • Partager sur Twitter
                    9 juillet 2013 à 19:25:41

                    Je te conseillerais aussi de te renseigner sur les interruptions pour détecter le signal, c'est ce qu'il y a de plus rapide et efficace.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Envoyé depuis ma chaise.
                      9 juillet 2013 à 20:52:06

                      hobbiking, j'ai déjà commandé chez eux :)

                      J'espère que tu as pris ton adresse aux USA et pas ton adresse en France.

                      Parce les frais de douane, ça pique ><

                      J'avais commandé pour 100€ environ, sur le colis, ils ont marqué "jouet enfant 2.5$".

                      Les douaniers n'ont même pas ouvert, ils ont simplement appliqué le tarf en vigueur.

                      Soit : TVA 20% sur 2.5$ soit même pas 0.5€ auquel s'ajoute 21€ de frais de dossier ...

                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 juillet 2013 à 21:02:02

                        Yep j'ai mis mon adresse au Etats Unis.

                        C'est pas trop cher chez eux ca va.

                        En effet ca pique 20 euros de dossier

                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 novembre 2013 à 14:37:51

                          bonjour

                          je suis en terminale SI et je construit un quadcopter j'aurai besoin juste d'un exemple de programme si possible

                          mon problème étant de contrôler 4 moteurs avec un port d'un recepteur FM pour plus d'info 

                          -
                          Edité par jloupm 7 novembre 2013 à 14:40:05

                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 novembre 2013 à 14:38:32

                            http://quadcopter-maupertuis.hol.es/fluxbb-1.5.4/index.php 

                            pour plus d'info 

                            si vous voulez me joindre l-ourson@hotmail.fr

                            -
                            Edité par jloupm 7 novembre 2013 à 14:39:44

                            • Partager sur Facebook
                            • Partager sur Twitter
                              7 novembre 2013 à 15:03:50

                              jloupm a écrit:

                              bonjour

                              je suis en terminale SI et je construit un quadcopter j'aurai besoin juste d'un exemple de programme si possible

                              mon problème étant de contrôler 4 moteurs avec un port d'un recepteur FM pour plus d'info 

                              Primo, quand on a une nouvelle question on ouvre un nouveau sujet. Secundo, tu crois vraiment que la réalisation d'un quadricopter se résume à un programme ? La mécanique est prête, fonctionne ? L'électronique aussi ? Et enfin, as tu essayé quelque chose avant de demander un truc tout fait (qui ne marchera évidemment pas)

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Retrouvez moi sur mon blog et ma chaine Youtube !

                                7 novembre 2013 à 15:34:26

                                Je demandais juste un peu d'aide.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  7 novembre 2013 à 15:42:38

                                  jloupm a écrit:

                                  Je demandais juste un peu d'aide.

                                  Bon j'ai ptet été un peu brutale dans ma réponse mais voici en plus gentil le fond de ma pensée :

                                  • Un forum c'est comme une discussion IRL, si tu viens t'incruster dans un groupe qui papote d'un sujet pour y amener ton propre sujet, c'est normal que ca soit pas apprécié
                                  • Ici on aime bien donner de l'aide, on aime bien partager les connaissances (donc en donnant les infos publiquement sur le forum, pas par email) mais on aime pas travailler pour les autres. Du coup "avez-vous un programme de quadricopter" n'auras pas de réponse...
                                    • Car on connait pas la plateforme (et que du coup ca rime à rien, si je te donne un programme pour un PIC alors que tu bosses sur Arduino t'iras pas très loin)
                                    • Car on est pas la pour donner les choses toutes faites, on est la pour t'aiguiller
                                    • Car si tu veux un programme tout fait, demande à google, il sera ravi de répondre à ce genre de questions :)
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Retrouvez moi sur mon blog et ma chaine Youtube !

                                    7 novembre 2013 à 19:50:32

                                    lorrio a écrit:

                                    Il te faut une télécommande et son récepteur, tout simplement.

                                    Ensuite, il te faut brancher correctement le récepteur sur l'arduino.

                                    Chaque voie du récepteur se compose de 3 fils :

                                    - noir : GND

                                    - rouge : 5V

                                    - blanc : commande

                                    Si ton arduino est déjà alimenté en 5V, tu n'as donc besoin que d'un GND (commun à toutes les voies) puis le fil blanc de chaque voie.

                                    La commande est un signal numérique de fréquence constante.

                                    La période est de 20ms.

                                    Au début de ces 20ms, le signal est à 5V durant 0ms (commande à 0%) à 2ms (commande à 100%) puis retourne à 0V.

                                    Exemple :

                                    - chaque 0 représente une tension GND durant 1ms

                                    - chaque 1 représente une tension 5V durant 1ms

                                    Exemple de commande à 0% :

                                    000000000000000000000000000000000000000000000000000000000000

                                    Exemple de commande à 50% :

                                    100000000000000000001000000000000000000010000000000000000000

                                    Exemple de commande à 100% :

                                    110000000000000000001100000000000000000011000000000000000000

                                    Bref, tu branches ça sur ton arduino sur une pin sous interruption double front.

                                    Lors du passage à 1 (front montant), tu lances un timer (ou réccupère le temps avec la fonction micro).

                                    Lors du passage à 0 (front descendant), tu arrêtes le timer (ou réccupère le temps avec la fonction micro).

                                    Ensuite, tu divise ce temps par 2ms et tu as ta commande entre 0 et 1 ;)

                                    pourrai tu expliciter le code un petit peu pour m’éclaircir 

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      8 novembre 2013 à 10:32:47

                                      jloupm a écrit:

                                      pourrai tu expliciter le code un petit peu pour m’éclaircir 

                                      Ce que j'ai écrit précédemment n'est pas une portion de code mais juste une description du phénomène physique permettant de transférer un ordre du récepteur vers les servo et/ou les variateurs.

                                      Le récepteur transforme le signal radio qu'il reçoit en un signal électrique PWM dont la largeur des impulsions est proportionnelle à la commande radio reçu.

                                      Ta carte arduino doit donc être capable de recevoir ce type de signal (pour récupérer les ordres de la télécommande) mais aussi d'en générer (pour contrôler les variateurs des moteurs).

                                      Pour la réception, tu devras donc utiliser un module TIMER de ton arduino afin de mesurer le temps d'une largeur d'impulsion.

                                      Quand à la génération, tu devras utiliser un module PWM de ton arduino.

                                      Ce genre de chose ayant déjà été faite et refaite de nombreuses fois, tu dois pouvoir trouver des librairies existantes.

                                      Par exemple, pour la génération du signal, tu as la lib Servo : http://arduino.cc/en/reference/servo

                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Radiocommande + 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