Partage
  • Partager sur Facebook
  • Partager sur Twitter

Servo moteur tremblement

    4 juillet 2020 à 19:21:35

    Bonjour, je suis en train de réaliser un projet de bras robot avec arduino uno qui comporte 5 servo moteur SG90 contrôlé par 5 potentiomètres de 10k ohms et alimenté l'arduino par sont port USB (sur un ordi par exemple) et le reste sur secteur en 5V jusqu'à 3A.

    Mon problème est que tout marche parfaitement sauf que les moteurs tremble énormément et ne sont pas stable.

    Comment faire en sorte que les moteurs arrête de trembler ?


    Et si vous avez également une idée pour tout alimenté directement sur secteur ou sur batterie, je suis preneur.

    Voici mon montage (le port jack est relié au secteur par le chargeur 5v 3A):

    Voici le code :

    #include <Servo.h>
    
    Servo servo1;
    Servo servo2;
    Servo servo3;
    Servo servo4;
    Servo servo5;
    
    int pot1 = A1;
    int pot2 = A2;
    int pot3 = A3;
    int pot4 = A4;
    int pot5 = A5;
    
    int valPot1;
    int valPot2;
    int valPot3;
    int valPot4;
    int valPot5;
    
    void setup() {
      servo1.attach(3);
      servo2.attach(5);
      servo3.attach(6);
      servo4.attach(9);
      servo5.attach(10);
    }
    
    void loop() {
      valPot1 = analogRead(pot1);
      valPot1 = map (valPot1, 0, 1023, 0, 180);
      servo1.write(valPot1);
      delay(15);
    
      valPot2 = analogRead(pot2);
      valPot2 = map (valPot2, 0, 1023, 0, 180);
      servo2.write(valPot2);
      delay(15);
    
      valPot3 = analogRead(pot3);
      valPot3 = map (valPot3, 0, 1023, 0, 180);
      servo3.write(valPot3);
      delay(15);
    
      valPot4 = analogRead(pot4);
      valPot4 = map (valPot4, 0, 1023, 0, 180);
      servo4.write(valPot4);
      delay(15);
    
      valPot5 = analogRead(pot5);
      valPot5 = map (valPot5, 0, 1023, 0, 180);
      servo5.write(valPot5);
      delay(15);
    }

    Merci d'avance pour votre aide !

    -
    Edité par zerodu35 4 juillet 2020 à 20:36:03

    • Partager sur Facebook
    • Partager sur Twitter
      5 juillet 2020 à 7:42:19

      Bonjour,

      Les potentiomètres sont alimentés par le 5V de puissance, s'il y a des fluctuations elles peuvent avoir un impact sur les valeurs lues des potentiomètres et donc changer la commande des moteur. Il faudrait prendre le 5V de l'Arduino pour alimenter les potentiomètres.

      • Partager sur Facebook
      • Partager sur Twitter
        6 juillet 2020 à 0:55:31

        Merci beaucoup pour votre aide !

        Cela semble beaucoup mieux, j'ai également ajouté 2 condensateur 220 micro farad l'un en parallèle des servo, et l'autre en parallèle des potentiomètre. (je ne comprend pas trop pourquoi cela aide, mais j'ai pu lire ça sur un forum en anglais).

        Il me reste encore un peu de vibration et j'ai l'impression que lorsque je touche certains éléments de mon montage, le courant devient instable.

        • Partager sur Facebook
        • Partager sur Twitter
          11 juillet 2020 à 18:07:46

          Aucune alimentation n'est parfaite et ne parviendra à sortir un beau 5V bien lisse en toute situation.

          Quand un moteur se met à tourner, il cré un fort appel de courant, ce qui fait chuter la tension le temps que l'alimentation réagisse en fournissant plus de puissance.

          Même si ce temps de réaction est très court, la tension va chuter pendant un bref instant, ce qui va perturber tes mesures et donc envoyer de mauvais ordres aux servo.

          Un condensateur agit comme une réserve d'énergie instantané qui va pouvoir servir à fournir le courant nécessaire au moteur le temps que l'alimentation réagisse.

          Avec un condensateur, la tension est donc plus stable, ce qui réduit les erreurs de mesures et autres effets indésirables.

          Quand au fait que l'ensemble devienne instable quand tu touches certaines partie, je dirais que tu as des problèmes de faux contact.

          • Partager sur Facebook
          • Partager sur Twitter

          Servo moteur tremblement

          × 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