Partage
  • Partager sur Facebook
  • Partager sur Twitter

Electronique, servomoteurs

Aide pour mon PPE

Sujet résolu
    17 mars 2011 à 18:16:09

    Bonjour à tous,
    Je souhaiterais un renseignement que j'ai du mal à trouver sur le net.
    Je dois commander 2 servomoteurs par l'intermédiaire d'un PIC 16F628. Mais je n'ai pas très bien compris le principe de commande de ces servomoteurs, est-ce qu'un signal avec un temps à l'état haut de 2ms va faire tourner le servomoteurs à sa position maximale à droite ou bien ce signal va juste faire tourner l'axe du servomoteur de tant et tant de degrés par rapport à la position ou il se trouve déjà.
    Par exemple : l'axe est à -23° et j'envoie un signal de 2ms à l'état haut sur une période de 20ms donc un rapport cyclique de 0,1. Je ne sais pas si à la fin l'axe du servomoteur sera à 45°(si on prend un servomoteur pouvant aller de -45 à 45) ou bien s'il sera à -23+45 = 22° ?
    Personnellement je préfèrerais que ce soit la 2ème solution qui est bien plus simple à réaliser. :lol:
    De plus si c'est cette 2ème solution j'ai vu que donc une impulsion de 27us va le faire tourner de 1°, est-ce vrai ? Et en faisant mes calculs je trouve que au minimum mon timer mettrait 128us à lever son drapeau donc ce serait pas possible de faire degré par degré.
    Merci d'avance pour vos réponses.
    • Partager sur Facebook
    • Partager sur Twitter
      17 mars 2011 à 23:45:12

      Salut,

      À un rapport cyclique est associé un angle. Donc parmi les deux solutions que tu évoques, c'est la première qui est vraie.
      Par contre, je te conseille de ne pas te baser uniquement sur la théorie et sur les données constructeurs pour établir ta relation entre l'angle et le rapport cyclique.
      Il est préférable de faire des expérimentations : tu détermines ainsi le rapport cyclique pour les positions mini et maxi du servo, et grâce à une interpolation linéaire tu obtient la loi entrée/sortie.

      Cordialement.
      • Partager sur Facebook
      • Partager sur Twitter
        18 mars 2011 à 20:13:49

        Merci pour cette réponse.
        Oui j'avais vu sur différents site que les 1ms = minimum et 2ms = maximum ne sont pas forcément ceux la. Comme tu dis je ferais par expérimentation.
        Je te tiens au courant si j'ai encore des soucis ! ;)
        • Partager sur Facebook
        • Partager sur Twitter
          30 mars 2011 à 11:53:23

          Attention, virtuellement un servomoteur se cogne complétement du rapport cyclique, puisqu'il ne fonctionne pas en modulation de largeur d'impulsion, mais en modulation de durée d'impulsion. en théorie, la fréquence est sans importance, on pourrais envoyer une impulsion tout les 10 secondes, en pratique, seul certains servomoteurs numérique n'ont pas besoin d'avoir la consigne en boucle, on envois donc une fréquence de minimum 400hz donc la partie positive a une durée variable, en général entre 1 et 2ms.
          la réponse est supposée être linéaire dans cette plage.
          • Partager sur Facebook
          • Partager sur Twitter
            30 mars 2011 à 18:00:21

            Merci pour vos réponses, j'ai réussi à faire tout ce que je voulais !
            Sujet résolu ;)
            • Partager sur Facebook
            • Partager sur Twitter

            Electronique, servomoteurs

            × 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