Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arduino communication baud rate 115200

    29 octobre 2018 à 14:14:08

    Bonjour à tous

    Je n'arrive pas à envoyer une trame correct de caracteres (max 30 )  à la vitesse de 115200 BAUD de mes cartes arduino mega 2560 ou uno  vers le PC windows 10.

    Il y a une trame de bonnes sur 6.

    alors qu'il n'y a aucun probleme à 9600.

    Je ne peux pas changer la vitesse de  sur le Pc

    Ci- joint le programme

    Serial.begin(11520);     // ouvre le port série, fixe le débit à 115200 bauds

    void loop() {

      Serial.println("{\"Command\": \"set\", \"Method\": \"Frequency\", \"Value\": 123456789}");

      delay (1000);

    }

    Merci de votre aide

    Yves

    • Partager sur Facebook
    • Partager sur Twitter
      29 octobre 2018 à 15:00:24

      Bonjour,

      Mauvais forum

      Le sujet est déplacé de la section HTML / CSS vers la section Électronique

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        29 octobre 2018 à 18:53:20

        S'il y a 50 m de câble entre l'arduino et le PC, c'est normal.

        PS: pour 115200 bauds, il faudrait mettre 115200 en paramètre de serial.begin, non?

        -
        Edité par zoup 29 octobre 2018 à 18:55:01

        • Partager sur Facebook
        • Partager sur Twitter
          30 octobre 2018 à 8:47:30

          le cable fait 20 cm

          la com est : Serial.begin(115200);     // ouvre le port série, fixe le débit à 115200 bauds

          le PC  affiche  :  {"Command": "set", "Method": "Frequency", "Value": 123456789}   super c'est la bonne trame

          ou 

          {"Commano": "set", "Methoa": "Freqmency", "Value": 12345678c}     erreur trame

          ou

          {"Command": "set", "Method": "Freqmency", "Value": 123456789}       erreur trame

          ou

          ...

          Il y a toujours le bon nombre de caracteres mais pas toujours les bons

          bref j'ai une trame de bonne toutes les 6 a 8 trames envoyées

          • Partager sur Facebook
          • Partager sur Twitter
            30 octobre 2018 à 12:06:36

            Ok, 20 cm ça ne devrait pas poser de problèmes donc.

            De quoi est fait ce câble, car côté PC il est à des niveaux RS232 (+/- 10V) alors que côté arduino, c'est du TTL (0/5V)

            • Partager sur Facebook
            • Partager sur Twitter
              30 octobre 2018 à 13:12:30

              J'utilise la config. de base de l'ARDUINO   

              le cable usb fourni et le serial monitor 

              • Partager sur Facebook
              • Partager sur Twitter
                30 octobre 2018 à 20:50:15

                Apparemment, vu que le quartz de l'arduino est un 16 MHz, il est impossible de générer exactement 115200 bauds. c'est pour cela qu'on utilise souvent des quartz de 2,4576 MHz ou ses multiples. 

                Cela provoque un écart de quelques % entre fréquence de l'horloge d'émission et celle de réception et c'est suffisant pour désynchroniser la réception lorsqu'on est à la limite.

                • Partager sur Facebook
                • Partager sur Twitter
                  5 novembre 2018 à 9:39:14

                  ok 

                  mais si je change le quartz tous les timing et delais sont changés

                  où indique-t-on au soft le changement

                  • Partager sur Facebook
                  • Partager sur Twitter
                    5 novembre 2018 à 16:19:20

                    Je ne pense pas que tu puisse changer la fréquence du quartz. Il faudrait juste ralentir le débit de la transmission pour que les erreurs disparaissent.

                    Si tu as moyen de connecter un oscilloscope, tu pourrais mesurer le débit binaire pour voir si le problème vient bien de là.

                    Autre possibilité, au lieu d'envoyer des trames brutes sans contrôle d'intégrité, tu pourrais utiliser un protocole de transmission plus robuste incluant un checksum ou mieux, un CRC, afin de demander à renvoyer la trame en cas d'erreur de transmission.

                    -
                    Edité par zoup 5 novembre 2018 à 16:19:47

                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 novembre 2018 à 19:49:50

                      Comme les arduinos sont souvent utilisés à 115200 bauds sans corruption de données de cette échelle, il faudrait plutôt commencer à chercher un défaut matériel ou une mauvaise utilisation.

                      • Est-ce qu'il y a quelque chose connecté sur les broches 0 ou 1 de l'arduino ? Elles servent exclusivement au port série quand celui-ci est utilisé. 
                      • Les broches en dessous de la carte sont-elles en contact avec une surface qui ne serait pas totalement isolante ? 
                      • Y-a-t-il un hub entre le PC et la carte qui pourrait être défectueux ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 novembre 2018 à 8:38:05

                        J'ai le meme défauts avec deux PC différents ,3 Arduino et deux cables usb 

                        Il n'y a aucun shield ni cablage sur les Arduino 

                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 novembre 2018 à 23:34:56

                          Ce sont des arduinos officiels avec une puce atmega16u2 ou 32u2 comme passerelle USB/série ou des clones avec une puce ch340 ? 

                          Est-ce que le téléversement du programme fonctionne à chaque fois ? Comme le téléversement utilise aussi le port série à 115200 bauds, ce serait bizarre qu'il n'y ai pas d'erreur de temps en temps.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 novembre 2018 à 8:59:36

                            Il y a une ardiono officiel mega 2560 avec un Atmel 16u2

                            et une copy sainsmart mega 2560 avec un Atmel 8u2

                            je n'ai rencontrée aucun probleme de téléversement

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Arduino communication baud rate 115200

                            × 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