Répondre à la discussion
Affichage des résultats 1 à 30 sur 30

Projet servo-moteurs et Arduino



  1. #1
    La1erSCestcool

    Projet servo-moteurs et Arduino


    ------

    Bonjours j'aimerais réaliser un projet utilisant 4 servo-moteurs mais je ne sais pas quel Arduino choisir (je suis intéresser par le nano )pour les contrôler et aussi savoir si des servo-moteurs types 9g(ou cms-2 micro servo de carson https://www.mg-modellbau.de/Servos/C...peech&speech=1) était contrôlable au degré près (ex.126°)et aussi quelle étais leur amplitude (en °).

    -----

  2. Publicité
  3. #2
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    Bonsoir

    Toutes les cartes Arduino, et plus généralement toutes les cartes à micro-contrôleur cadencées à plusieurs MHz et disposant de 4 sorties libres, sont capables de produire 4 commandes de servo avec une résolution meilleure qu'un degré.

    Toutefois, cela ne signifie absolument pas que le positionnement desdits servos sera précis au degré près.


    Concernant l'amplitude des servos, il faudrait se référer aux véritables documentations techniques des constructeurs.

    Quand les vendeurs fournissent cette information dans leur documentation commerciale, ils trichent bien souvent en indiquant le débattement angulaire maximum sans tenir compte des marges de sécurité nécessaires.

    En effet, un servo à réducteur plastique qui arrive en butée du fait de l'incertitude sur la position 0° risque d'endommager ou de détruire des dents de ses rouages, et de ne plus pouvoir fonctionner correctement par la suite. De ce fait, lorsqu'un servo présente un débattement mécanique maximum de ±90°, le constructeur spécifie généralement une amplitude plus faible, par exemple de ±60°.

    NB : bizarrement, le servo CMS-2 ne semble pas figurer au catalogue de chez Carson.

  4. #3
    freepicbasic

    Re : Projet servo-moteurs et Arduino

    Le choix de l’Arduino dépend du besoin en taille mémoire et physique et de la puissance.

    Pour les servos ou autres moteurs, il faut prévoir une régulation à part , ne pas pendre le 5V de l'Arduino.

    La lib standard de Arduino donne une précision de 180 pas, s'agit il de degrés ? Pas sur ...
    Le débattement possible est généralement >180° , Mais Il est préférable de se limiter à 180° , pour éviter d'être en buté.
    Mécaniquement une bielle dans l'alignement du bras ne peut pas faire 180° à cause de l'axe, dans ce cas il faudra mettre une entretoise avec un axe comme sur une roue de locomotive à vapeur.
    http://www.net-loisirs.com/attache-r...-mm-p1359.html
    (A chaque mise sous tension, parfois certains servos bougent légèrement, il est préférable de ne pas les laisser en bout de course sans commande , a force d'allumages successifs ils atteindront la buté.)

    Les servos effectivement ne sont spécialement précis, si on à besoin de précision, les moteurs pas à pas sont préférables.
    A+, pat

  5. #4
    jiherve

    Re : Projet servo-moteurs et Arduino

    Bonjour,
    nota : avec des servos classiques c'est à dire acceptant un pulse comprit entre 1 et 2ms, un neutre à 1,5ms,rotation 180° et une PWM 8bits sur le µc alors le nombre de pas sera au max de 128 et la résolution sera > 1°.(2 ms = 255 ,1ms = 127 , 180/128 > 1 CQFD)
    Donc pour faire mieux que le degré il faut soit avoir une rotation < 120° soit utiliser des timers en mode > 8bits or il n'y en n'a qu'un dans l'Arduino à base de 328P j'espère donc que la librairie est astucieuse et sait le "multiplexer" entre différentes sorties.
    JR
    l'électronique c'est pas du vaudou!

  6. A voir en vidéo sur Futura
  7. #5
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    La bibliothèque standard d'Arduino (Servo) fournit deux méthodes d'initialisation (attach) et deux méthodes d'écriture (write et writeMicroseconds) permettant de produire les impulsions de commande souhaitées.

    La méthode d'initialisation par défaut fixe l'amplitude de la largeur des impulsions entre 544µs et 2500µs. La méthode d'initialisation alternative permet à l'utilisateur de fixer ces deux valeurs.

    La méthode d'écriture par défaut interprète les valeurs inférieures à 544 comme des angles exprimés en degrés (compris entre 0° et 180°) et les valeurs supérieures ou égales à 544 comme des largeurs d'impulsion exprimées en microsecondes. Les angles correspondent à des largeurs d'impulsion comprises entre le minimum et le maximum fixés par la méthode d'initialisation (soit par défaut 0°=544µs et 180°=2500µs).

    Les angles effectivement réalisés par le servo dépendent bien entendu du fonctionnement de celui-ci (notamment des réglages de son asservissement et des tolérances de fabrication), ce qui justifie que la bibliothèque Servo laisse à l'utilisateur la possibilité d'adapter la relation entre la valeur angulaire et la largeur d'impulsion de commande.


    Concernant les servos « 9g » (ainsi nommés parce que leur poids serait de 9 grammes), on trouve dans le commerce de nombreux modèles des caractéristiques techniques à peu près similaires (Tower Pro SG90, Tower Pro SG92R, Hextronik HXT900, KS AS210, Fitec FS90, Turnigy TG9e, etc.).

    Il semble que la majorité des modèles des différentes marques soient en réalité produits par Tower Pro (du moins, c'est ce que les étiquettes présentes à l'intérieur des boîtiers suggèrent).

    Les Tower Pro SG90 en ma possession présentent un débattement mécanique maximum très légèrement supérieur à 180°. Toutefois, une commande de ±90° apparaît comme très risquée compte tenu de la trop faible marge que cela représente (à cause de cela, j'ai déjà cassé une dent sur un pignon, rendant le servo inutilisable).

    Pour ma part, je n'ai trouvé aucune documentation constructeur spécifiant l'amplitude angulaire réalisable, et à l'exception d'une documentation de Fitec (actuellement Feetech) qui donne un débattement garanti de 120°, les vendeurs ne précisent rien non plus, sauf quelques-uns peu scrupuleux qui indiquent le débattement maximum de 180°.

  8. #6
    freepicbasic

    Re : Projet servo-moteurs et Arduino

    Adafruit a utilisé le pca9685 16 servos sur un I2C.
    Avec des timers adaptés hardware plus précis qu'un µc avec 1 seul timer;
    https://cdn-learn.adafruit.com/downl...rvo-driver.pdf
    On peut donc considérer les signaux comme bien précis !

    Pourtant dans le pdf ils précisent APPROXIMATIVEMENT 180 ° LOL
    et juste en dessous;
    Les servos de série ne sont pas tous exactement semblables
    A+, pat

  9. Publicité
  10. #7
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    Citation Envoyé par jiherve Voir le message
    nota : avec des servos classiques c'est à dire acceptant un pulse comprit entre 1 et 2ms, un neutre à 1,5ms,rotation 180° et une PWM 8bits sur le µc alors le nombre de pas sera au max de 128 et la résolution sera > 1°.(2 ms = 255 ,1ms = 127 , 180/128 > 1 CQFD)
    Donc pour faire mieux que le degré il faut soit avoir une rotation < 120° soit utiliser des timers en mode > 8bits or il n'y en n'a qu'un dans l'Arduino à base de 328P j'espère donc que la librairie est astucieuse et sait le "multiplexer" entre différentes sorties.
    La bibliothèque Servo n'utilise pas les sorties PWM classiques. À la place, sur l'ATmega328P elle utilise le timer 16 bits (TC1) cadencé à 1 ou 2 MHz (pré-diviseur réglé sur 1/8 et horloge système à 8MHz ou 16MHz selon le modèle de carte) afin de piloter logiciellement 12 sorties sur interruption.

    La largeur des impulsions est réglable entre 544µs et 2500µs par pas d'une microseconde. Dans le cas où des impulsions de 1500µs±500µs correspondraient à un débattement de ±90° (ce qu'on trouve généralement dans les documentations DIY), la résolution serait de 0,18° (soit 10 minutes et 48 secondes d'arc).

  11. #8
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    Citation Envoyé par freepicbasic Voir le message
    On peut donc considérer les signaux comme bien précis !
    Même pour les servos analogiques PWM, les signaux de commande pourraient être aussi précis qu'on le souhaite ... mais le problème se situe plutôt du côté du servo, particulièrement dans la précision du circuit qui interprète la consigne et de celui qui mesure la position mécanique pour le système d'asservissement.

    S'agissant de produits très bon marché, la base de temps utilisée par le circuit est loin d'être aussi stable et précise que celle d'un quartz, et le potentiomètre n'est pas non plus parfait.

    Or, pour atteindre une précision de 1°, il faudrait que le servo présente une erreur relative globale inférieure à 1% environ, ce qui semble parfaitement illusoire.

  12. #9
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    Merci beaucoup pour toutes vos réponses je vais donc partir sur un arduino nano et les servo que j'ai chez moi ( les cm 2 de Carson ils sont vieux c'est peut-être pour ça qu'il ne figure pas au catalogue de Carson) cependant je ne voie pas comment alimenter les servo sans passer par l'arduino et aussi pourquoi je ne peut pas le faire ?

  13. #10
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    La consommation de courant des servos va largement dépasser le maximum que peut fournir l'alimentation d'une carte Arduino.

    D'après les mesures pratiquées par les utilisateurs, il apparaît que, sur un seul servo, le courant peut atteindre 750 mA au démarrage et environ 250 mA en régime stabilisé dans des conditions nominales. Valeurs à multiplier par 4 pour quatre servos.

    À titre de comparaison, l'Arduino Nano est censé ne pas consommer plus de 500 mA sur sa prise USB, et son régulateur 5V est limité à 800mA (500mA sur les anciens modèles équipés d'un µA75M05) sans compter la limite imposée par sa dissipation thermique (par exemple, avec 9V sur l'entrée VIN, le courant moyen ne devrait pas dépasser les 230 mA environ).

    Tout dépassement provoquera un effondrement de la tension et une réinitialisation intempestive de la carte. Dans le pire des cas, le matériel pourrait être endommagé.


    Pour alimenter les servos, il conviendrait donc d'utiliser une alimentation séparée plus puissante (compter 5V/3A si les servos sont susceptibles de démarrer en même temps), et dont on reliera l'une des bornes au pôle correspondant de l'alimentation 5V de la carte Arduino (i.e. bornes GND reliées ensemble, ou bien bornes 5V reliées ensemble, mais pas les deux).

  14. #11
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    À sa change tout car je voulais alimenter mes servo et mon Arduino avec une batterie compacte mais je n'en trouverais jamais une assez puissante et petite (le tout doit rendre dans une boîte de 5 cm*5 cm*5 cm)pour mon projet

  15. #12
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    Les batteries d'accus représentent en général une source d'énergie suffisamment puissante pour produire le niveau de courant nécessaire. Après, on peut se débrouiller pour générer à partir d'une même batterie deux alimentations suffisamment indépendantes pour ne pas que la partie servos perturbe le fonctionnement de la partie micro-contrôleur.

    Quel modèle de batterie envisageais-tu d'utiliser au départ ?

    Quels éléments de conception t'ont-ils conduit à choisir une carte Arduino Nano (plutôt qu'une carte Pro Mini 3,3V/8MHz, par exemple) ?
    Dernière modification par PA5CAL ; 22/09/2018 à 17h55.

  16. Publicité
  17. #13
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    Mon projet est de faire une montre en braille elle doit donc répondre à des contraintes de taille je me suis donc fixer une limite de 5*5*5cm j'avais pensé l'alimenter avec une batterie externe (type 2200 Mah) et j'ai choisi le nano car je ne pensai pas que le pro mini pouvait gérer 4 servo

  18. #14
    DAUDET78

    Re : Projet servo-moteurs et Arduino

    Citation Envoyé par La1erSCestcool Voir le message
    Mon projet est de faire une montre en braille
    Et les servos servent à quoi ?
    J'aime pas le Grec

  19. #15
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    il fera tourner des cylindres où il y aura des chiffres en braille de 0 à 9 tous les 20° pour afficher l'heure ( c'est pour ça que j'ai besoin de 4 servo)

  20. #16
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    Citation Envoyé par La1erSCestcool Voir le message
    j'ai choisi le nano car je ne pensai pas que le pro mini pouvait gérer 4 servo
    L'Arduino Nano contient exactement le même micro-contrôleur que l'Arduino Pro Mini. Les principales différences résident dans le fait qu'il intègre une interface USB-série qui lui permet d'être directement branché à un PC pour être programmé et pour échanger des commandes et des données et qu'il produit une alimentation auxiliaire de 3,3V.

    L'Arduino Pro Mini nécessite une interface USB-série extérieure pour être programmé, mais il est en principe utilisé lorsque l'application n'a pas besoin de communiquer via l'USB. Sa consommation électrique en fonctionnement est plus faible (compter 12mA en moyenne contre 18,5mA pour le Nano) et sa mise en veille est bien plus efficace (compter 0,6mA contre 8,5mA pour le Nano). On peut également supprimer son régulateur et son témoin d'alimentation en coupant un strap (sur les cartes officielles, du moins) afin de réduire encore plus la consommation en veille (jusqu'à quelques microampères) et d'autoriser une alimentation directe du microcontrôleur par une source extérieure (une pile ou un accu, par exemple).

    L'Arduino Pro Mini est également disponible en version 3,3V/8MHz (horloge plus lente à 8MHz et tension de fonctionnement plus faible à 3,3V) qui consomme encore moins de courant en fonctionnement et supporte une tension d'alimentation directe plus faible (l'horloge à 8MHz impose un minimum de 2,4V, contre 3,78V pour 16MHz).

  21. #17
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    Citation Envoyé par La1erSCestcool Voir le message
    Mon projet est de faire une montre en braille
    Citation Envoyé par La1erSCestcool Voir le message
    il fera tourner des cylindres où il y aura des chiffres en braille de 0 à 9 tous les 20° pour afficher l'heure
    D'une part, une montre se doit d'être assez précise. Or, la plupart des Arduinos (notamment le Nano et le Pro Mini) ont une horloge cadencée par un simple résonateur céramique, dont la précision attendue est de seulement 0,5%, ce qui correspond à une dérive pouvant atteindre 7 minutes par jour. Pour régler ce problème, on pourrait utiliser un circuit RTC de précision, de type DS3231 par exemple.

    D'autre part, une montre fonctionnant sur une alimentation autonome est censée présenter un autonomie importante. Sa consommation électrique doit donc être réduite au minimum. Or, celle des servos apparaît comme incompatible avec cet objectif.

    On peut comprendre que le choix de ces servos puisse reposer sur leur compacité, leur simplicité de mise en œuvre et leur faible coût, mais à moins que les cylindres soient particulièrement lourds et mal équilibrés ou freinés par le montage mécanique, je ne pense pas que le projet justifie une motorisation aussi puissante. Même si l'on peut se débrouiller pour ne pas démarrer les quatre servos en même temps, leur consommation de courant en fonctionnement reste énorme au regard du travail qu'il est vraiment nécessaire de fournir, et leur consommation à l'arrêt est également problématique.
    Dernière modification par PA5CAL ; 23/09/2018 à 10h53.

  22. #18
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    Sinon j'avais pensé à un moteur de petit hélicoptère télécommander qui ferait tourner une/un "gear reduction" (je ne connais pas l'équivalent français https/www.youtubecom/watch? v=D I3 PJIYtuY et qui entraineraient mon cylindre bien sûr le moteur tourne très vite mais si je trouve en combien de seconde d'allumage il fait tourner mon cylindre je pense que ça ne devrait pas consommer trop. et pour un 1er prototype je pense que 7 minutes de décalage sur 24 h est négligeables.

  23. Publicité
  24. #19
    naru2to

    Re : Projet servo-moteurs et Arduino

    Bonjour,
    il existe des tout petits moteurs pas-à-pas que l'on trouve par exemple dans les objectifs d'appareil photo numérique, ou mise au point de tête laser de lecteur/graveur.
    Heureusement pas besoin de chercher la référence, on les trouve sur ebay pour quelques euros :
    exemple 1
    exemple 2
    exemple 3

  25. #20
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    merci beaucoup sa a l'aire vraiment parfait reste plus qu'a voire la consommation
    edit : je viens de trouver sa https://www.ebay.fr/itm/5Pcs-Moteur-...wAAOSww7RbQY-g
    il se contrôle comme des servo ou non ?
    Dernière modification par La1erSCestcool ; 24/09/2018 à 18h07.

  26. #21
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    Non, ce sont des moteurs pas-à-pas. D'après la photo, il semble s'agir de modèle bipolaires à 4 fils, qui doivent être pilotés chacun par une paire de deux ponts en H.

    Le hic, c'est qu'il n'y a aucune information concernant les caractéristiques essentielles (tension, courant, couple, ...).

  27. #22
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    Donc inutilisable avec un arduino pro mini ?
    celui la a une fiche produit détailler

    https://www.ebay.fr/itm/Mini-moteur-....c100506.m3226

    https://www.ebay.fr/itm/2-Pcs-2-phas...AAAOSwxalbVYgd
    Dernière modification par La1erSCestcool ; 24/09/2018 à 21h07.

  28. #23
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    Je n'est vraiment aucune idée de comment les utiliser si vous avez des articles ou video parlent ou utilisant de si petit moteur pas a pas je suis preneur

  29. #24
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    j'ai trouver sa https://www.youtube.com/watch?v=j2F3jv8YaSM ( regarder a 6.30 7 min )

  30. Publicité
  31. #25
    PA5CAL

    Re : Projet servo-moteurs et Arduino

    Citation Envoyé par La1erSCestcool Voir le message
    Donc inutilisable avec un arduino pro mini ?
    Pilotable avec n'importe quel Arduino, à condition d'employer l'interface de puissance adéquate. En l'occurrence, l'utilisation de ponts en H est obligatoire si le courant maximum appelé par ce type de moteur dépasse les 20 mA.

    Par ailleurs, le projet Arduino fournit une bibliothèque et toute les explications nécessaires pour piloter des moteurs pas-à-pas.

    Tes deux liens vers ebay retournent une erreur 404 (page non trouvée).

  32. #26
    freepicbasic

    Re : Projet servo-moteurs et Arduino

    l'exemple stepper se trouve dans les exemples de base
    faire "file", "example", "stepper"
    choisir !
    A+, pat

  33. #27
    naru2to

    Re : Projet servo-moteurs et Arduino

    Bonjour,
    Effectivement les petits moteurs ne se pilotent pas comme des servos, il faut donner une séquence sur les deux bobines, ça se fait très facilement avec des E/S et l'interface de puissance.
    Concernant les liens ebay du #22 chez moi ils fonctionnent, c'est des moteurs similaires à ceux que j'ai donné en #19, il y a juste la quantité et le cout qui changent, de toute façon on en trouve à la pelle ^^

    Il y a juste deux détails auxquels je n'ai pas pensé :
    - Je ne sais pas combien de pas ce type de moteur a, je suppose que c'est pour entrainer un cylindre avec 10 symboles (0 à 9), il faut être sûr que le nombre de pas est un multiple de 10 pour simplifier les choses
    - C'est du braille, donc il va y avoir contact, il ne faut pas qu'en venant lire le symbole il se déplace, donc le couple est peut être un peu faible (l'idée serait de ne pas laisser le moteur alimenté en permanence, d'abord parce que la batterie va se vider plus vite, et ensuite parce qu'ils ne sont pas faits pour être alimentés trop longtemps)

  34. #28
    freepicbasic

    Re : Projet servo-moteurs et Arduino

    pensez aussi au contact de début de course, sinon on ne sais pas dans quelle position se trouve l'axe.
    A+, pat

  35. #29
    naru2to

    Re : Projet servo-moteurs et Arduino

    +1, ça peut se faire avec un petit capteur optique et une "roue codeuse" sur l'axe (en l'occurrence il n'y a besoin que d'une seule fente pour connaître la position d'origine)

  36. #30
    La1erSCestcool

    Re : Projet servo-moteurs et Arduino

    Citation Envoyé par naru2to Voir le message
    Bonjour,
    Effectivement les petits moteurs ne se pilotent pas comme des servos, il faut donner une séquence sur les deux bobines, ça se fait très facilement avec des E/S et l'interface de puissance.
    Concernant les liens ebay du #22 chez moi ils fonctionnent, c'est des moteurs similaires à ceux que j'ai donné en #19, il y a juste la quantité et le cout qui changent, de toute façon on en trouve à la pelle ^^

    Il y a juste deux détails auxquels je n'ai pas pensé :
    - Je ne sais pas combien de pas ce type de moteur a, je suppose que c'est pour entrainer un cylindre avec 10 symboles (0 à 9), il faut être sûr que le nombre de pas est un multiple de 10 pour simplifier les choses
    - C'est du braille, donc il va y avoir contact, il ne faut pas qu'en venant lire le symbole il se déplace, donc le couple est peut être un peu faible (l'idée serait de ne pas laisser le moteur alimenté en permanence, d'abord parce que la batterie va se vider plus vite, et ensuite parce qu'ils ne sont pas faits pour être alimentés trop longtemps)
    j'ai regarder des video qui utilise c'est moteur et il trouve le nombre de pas par tour a taton et je trouverais bien un système pour bloquer les cylindre le moment venus . Merci a tous pour votre aide je vais maintenant attendre les moteur l'arduino et commencer la modélisation 3D de la montre je vous tient au courant ici.

Discussions similaires

  1. [Autre] Problème d'alimentation servo moteurs
    Par bernardTo dans le forum Électronique
    Réponses: 7
    Dernier message: 09/07/2018, 18h18
  2. [Outils/Fab/Comp] Servo Moteurs - Capteurs - Carte Arduino
    Par jff63 dans le forum Électronique
    Réponses: 5
    Dernier message: 08/02/2017, 17h19
  3. Projet 2 moteurs cc 1 joystick arduino rev3
    Par Tranber72 dans le forum Électronique
    Réponses: 45
    Dernier message: 11/12/2014, 19h20
  4. Moteurs pas à pas ou servo
    Par Jipipi dans le forum Électronique
    Réponses: 2
    Dernier message: 27/12/2006, 14h31
  5. Servo moteurs, principes, PIC16f877, rotation de 360°
    Par Flitz dans le forum Électronique
    Réponses: 9
    Dernier message: 23/06/2005, 18h34
Découvrez nos comparatifs produits sur l'informatique et les technologies.