Pages: [1]   Go Down
Author Topic: [Résolu] Contrôle de servomoteurs  (Read 2018 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour le monde,

D'abord il faut savoir que je débute en électronique, j'ai quelques notions de programmation en C++ ce qui j'espère me permettra de progresser rapidement.

Je veux construire un robot assez simple composé de 6 servomoteurs dont le contrôle est effectué par la reproduction de la position de 6 autres servomoteurs qui eux sont bougés manuellement (je sais pas si je suis clair...).

Quelqu'un peut me dire ce qu'il faut que j’achète comme matériel en faisant au plus simple et de préférence au moins cher comme microcontrolleur et si j'ai besoin d'un contrôleur de moteurs, etc...

Merci d'avance pour vos réponses smiley
« Last Edit: July 27, 2012, 05:01:31 pm by Zuran » Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Tout d'abord quelques remarques pour être bien sûr qu'on parle de la même chose smiley-wink

Un servomoteur = un moteur qui peut tourner de manière relativement précise dans la limite d'un angle ~60°(dépend du modèle).
J'ai bien vu des hacks permettant de se servir d'un servomoteur pour "lire" un angle mais ce n'est pas du tout son but premier !

A mon avis tu confond moteurs DC (ou moteurs bipolaires), servomoteurs et potentiomètres.
(Potentiomètre = un composants qui sort un tension proportionnelle à l'angle de son "curseur")

Quelques points reste à éclaircir :
- ton robot doit rouler (avec des roues ? chenille ? ... ?)? ou juste faire bouger les moteurs ?
- tu veut une rotation à 360° au niveau des moteurs ou non ?
- le positionnement des moteurs doit il être précis, relativement précis ou peu importe ?
- y a t'il un contexte d'application particulier ou c'est juste pour le fun ?
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'aurai du directement expliquer mon projet, en fait je veux faire deux bras articulés dans le genre des bras industriels qui servent notamment pour la fabrication des voitures mais en plus simple et plus léger smiley
Hop une image pour illustrer:


Je voudrai que lorsqu'on déplace un des deux bras en le forçant à la main, l'autre fasse le même mouvement en temps réel et cela peu importe lequel des deux bras l'on fait bouger à la main, donc ce que je pensais faire au début c'est construire deux bras identiques avec des servos (pas de problème pour les 60° max) et que le microcontrôleur récupère en permanence la position des servos qui ont bougés et l'envoi à l'autre bras pour que les mêmes articulations se mettent dans les mêmes positions. Désolé je peux pas faire plus clair smiley

D'après ce que tu me dit, il n'est pas possible de récupérer la position d'un servo sans le modifier, est-ce que je peux faire autrement ou est-ce qu'il faut que je le bidouille.

Logged

Haute Normandie
Offline Offline
Full Member
***
Karma: 1
Posts: 139
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut, il n'est pas si compliqué que cela de récupérer la position d'un servomoteur moyennant comme dit plus haut un petit hack.
Exemple : http://smartrobotics.wordpress.com/2011/11/22/transformer-un-servomoteur-en-capteur-de-position/

Cependant j'imagine que tu veux réaliser un genre de manche qui lorsqu'il sera actionné a la main permettra de commander le bras motorisé en fonction de la position du manche, cependant comme cela a été dit, ce n'est pas sa fonction première.

Ce que tu peux envisager cependant pour te servir de capteur de position ce sont des potentiomètres comme celui-ci :
 
Prends les en linéaire cela sera plus simple d'interpréter la position, tu appliques une tension sur celui-ci et en fonction de la tension que tu lis tu peu en déduire la position de celui-ci.

L'avantage de la grande tige de ces potentiomètres, c'est qu'en bricolant un peu tu va pouvoir t'en servir assez facilement dans les articulations de ton manche.
« Last Edit: July 26, 2012, 03:26:43 am by Blizzard27 » Logged

Rien ne sert de chercher à tout savoir, mieux vaut savoir où tout chercher

Near Paris in France
Offline Offline
Full Member
***
Karma: 0
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ton projet n'est pas possible sous cette forme. En effet on ne peut pas utiliser en commande un servomoteur asservi. Il faut d'abord le débrayer de l'asservissement. Tu dois prévoir un système de basculement des servos en mode lecture (ce qui nécessite une électronique appropriée).

Si tu essaies de tourner un servo il retournera obstinément à sa position de consigne.

Par contre il est tout à fait possible de connaître la position d'un servo sans le démonter. Il faut capter la fermeture du circuit moteur mais avec une intensité qui ne permette pas au moteur de tourner et envoyer des pulses de références qui permettront par mesure du temps de fermeture du circuit moteur de connaître indirectement la position du potar interne. Cela nécessite évidemment un dispositif de commutation électronique sur les 3 fils du servo et une détection (analogique) de courant.

JLB

Logged

la Reunion
Offline Offline
Jr. Member
**
Karma: 0
Posts: 74
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Je voudrai que lorsqu'on déplace un des deux bras en le forçant à la main, l'autre fasse le même mouvement en temps réel et cela peu importe lequel des deux bras l'on fait bouger à la main,
Salut Zuran,
est il possible dans ton projet qu'un bras soit "maitre" et l'autre "escalve" ou la réversibilité est obligatoire ? Si elle n'est pas obligatoire, mon avis est de contruire un bras avec des capteurs de position (potentiomètres par ex.), l'autre avec servomoteurs,et le programme qui va bien et hop le tour est joué. smiley-grin
Et si réversibilité obligatoire: comme les autres te l'on dis , le couple de resistance en position des servo risque de t'empêcher de bouger le bras, voir meme de la casse, en tous cas sa ne sera pas ergonomique.
Il te faudrait a se moment la, une commande pour désactiver l'alimentation du bras manipulé (un BP + led par ex.) qui te permette de "prendre la main" sur le bras de ton choix.Et meme là, sa risque de forcer un peu sur les servo a cause des engrenage de démultiplication qui n'aime pas trop qu'on les force.
Logged

Merci !!!!!

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci pour vos réponses.
Je pense que je vais vous écouter et faire un premier bras constitué à partir de servos et un second qui asservira le premier avec des potentiomètres, j'ai un peu lu quelques articles et si j'ai bien compris je peux brancher directement les potentiomètres sur une arduino uno mais il me faut une carte de contrôle des servos en plus ?
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

je peux brancher directement les potentiomètres sur une arduino uno mais il me faut une carte de contrôle des servos en plus ?
Tu n'as besoin de rien pour controler les potentiomètres ou les servo smiley-wink
Exemple avec 1 servo + 1 potentiomètre :
http://arduino.cc/it/Tutorial/Knob
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

D'accord, je peux brancher combien de servo au maximum ? si j'en branche trop cela ne risque t-il pas de griller l'arduino ?

Pour ce projet je n'ai besoin que de 6 servo Dagu RS001A qui étant tout petit ne doivent pas consommer beaucoup, mais pour un futur projet j'aurai certainement besoin de servo beaucoup plus gros (genre énorme...), j'imagine que je ne pourrai pas les brancher directement sur mon arduino et qu'il me faudra un contrôleur distinct ?

Encore merci pour vos réponses, ça fait plaisir de voir des gens prêt à aider les débutants, vous touchez des royalties ?  smiley-wink
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

D'accord, je peux brancher combien de servo au maximum ? si j'en branche trop cela ne risque t-il pas de griller l'arduino ?
12 avec une carte classique, 48 avec une carte mega :
http://arduino.cc/en/Reference/Servo

Aucun risque de griller l'arduino, par contre il faut une alimentation +5v solide smiley-wink
(C'est pas la broche +5v de l'arduino qui pourra fourni suffisamment de courant pour 12 servomoteurs, 2-3 ok, plus non)

Pour ce projet je n'ai besoin que de 6 servo Dagu RS001A qui étant tout petit ne doivent pas consommer beaucoup, mais pour un futur projet j'aurai certainement besoin de servo beaucoup plus gros (genre énorme...), j'imagine que je ne pourrai pas les brancher directement sur mon arduino et qu'il me faudra un contrôleur distinct ?
Pas besoin de contrôleur avec les servomoteurs, mais une alimentation +5v solide.
Les servomoteurs ont toute l'électronique de controle qui va bien avec eux, faut juste leur donner suffisamment de courant.

Encore merci pour vos réponses, ça fait plaisir de voir des gens prêt à aider les débutants, vous touchez des royalties ?  smiley-wink
C'est du 100% bénévoles, le plaisir de partager, on gagne pas un centime smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok merci, je vais de ce pas commencer à faire plein d'expériences smiley
Logged

Paris
Offline Offline
Sr. Member
****
Karma: 2
Posts: 366
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu peux aussi acheter des servo déjà modifiés, avec retour d'information :
Servomoteur standard S3003 avec Retour d'informations(easyrobotics.fr)

Dans ce cas il peuvent servir dans "les deux sens" ton bras peut bouger, et il peut aussi servir de "capteur de position".

Attention, il te faudra couper l'entrée du signal servo avant de bouger le servo à la main, sinon il va tenter de résister.

Il faut s'attendre à de longues phases de calibrage (notament mécanique) avec ce genre de système....
Logged

EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

Pages: [1]   Go Up
Jump to: