Servo-quoi ? lequel prendre ?

Portrait de Zorro_X

Hello,

En reference à la vidéo de commande des servo-moteurs avec un Arduino j'ai une petite question :

Je suis allé chercher des servomoteurs à acheter et je tombe sur deux sortes : analogique VS numérique. Ceux qui se pilotent avec la PWM sont analogiques ou numériques ?

Merci d'avance pour la réponse,

Z

Portrait de Alex

Salut,

Les deux sont commandés par une PWM mais une version Digital est commandé par une PWM dont la fréquence est beaucoup élevée, conclusion:

Analog

+ Faible consommation

+ Prix

Digital

+ Couple

+ Précision

+ Réactivité

+ Résolution

On parle de version Digital car elle contient un µC dédié à la communication avec un circuit d'amplification.

Analog write d'Arduino est à 490Hz par défaut, il faut prendre cette valeur en compte lorsque tu choisis un Servo Digital. Sinon tu peux toujours créer manuellement ta PWM.

Portrait de Zorro_X

Je cherche justement un servo avec du couple et rapide, si je comprends bien du coup ceux qui sont > 200N.cm doivent être certainement des digitaux... :/
Du coup, que ce soit avec Arduino ou RsP il vaut mieux quand même prendre un analogique si on veut utiliser la PWM fournie pour le commander ?

Portrait de Alex

Exactement! Par contre, je ne recommande pas un Raspberry Pi pour ce genre d'application.

Portrait de Zorro_X

Mon projet requiert une grosse partie soft (moi je fais du C++, pas du python). Pour faire du prototypage un RsP me permet de coder "à l'aise" sans toutes les restrictions de mémoire qu'impose un Arduino... reste la solution de coupler l'arduino au RsP (faire un truc un peu comme le Yun, mais "à la main"), mais ca risque d'être un peu - trop - cher...
Enfin, j'envisage d'autres éventualités que le servo, notamment une courroie crantée couplée à un reducteur + des capteurs de course... je dois encore y reflechir... L'intérêt du servo résidait surtout dans sa vitesse, son couple et sa "simplicité" de mise en place... :/
Merci en tout cas pour les infos et les conseils ! :)

Portrait de Alex

Pour faire tourner un servomoteur, je doute sincèrement que la taille de la mémoire soit un soucis.

Je n'ai d'ailleurs jamais saturé la mémoire d'une carte Arduino.

Faire du C++ ou du Python, me parait là encore une solution extrême pour une application aussi simple.

Portrait de Zorro_X

oui, c'est sur que pour "juste le faire tourner" il n'y a pas de quoi saturer la mémoire d'un Arduino !
Mais mon appli GSM par exemple pour le contrôleur de brûleur occupe 95% coté code & constantes : faire un interpreteur de commandes AT c'est coûteux en mémoire...
Concernant le servo, il s'agit d'une application qui va non seulement le piloter mais aussi gérer une conexion avec un "cloud" sur internet + un échange de données. Sans compter qu'elle ne doit piloter pas seulement un servo, mais aussi deux moteurs & des capteurs...
Sans l'aspect "connecté" de l'affaire il est clair que sur l'Arduino ca aurait suffi largement, mais ce n'est que 30% de l'appli environ...

Portrait de Alex

D'accord, je comprends mieux maintenant. Mais peut-être qu'un Arduino Due est plus adapté, un Pi me semble toujours pas forcément adapté. Il faut faire les calculs mais j'ai déjà simulé un téléphone avec un shield GSM et une carte UNO, et cela fonctionnait sans soucis.

Portrait de Zorro_X

fair un "soft de test" avec un delay(1000) entre deux commandes ca va vite... mais faire un interpreteur de commandes AT qui attend les acquitements (réponses) de la carte/shield GSM, où tu peux "empiler" les commandes sans attendre qu'elles soient terminées, etc, c'est autre chose... même la librairie fournie par Arduino pour faire du GSM avec le shield - trop cher - qu'ils fournissent prend pas mal de place...

Resterait la possibilité du M0/Pro, j'en ai un justement, mais les librairies OS pour faire de la com réseau avec linux (BSD) sont tellement plus pratiques que les "trucs" fournis avec arduino que c'est plutôt ce "confort du standard" qui m'attire dans les RsP...