Servomoteurs

Mais le servo moteur ne peut être que commandé, il ne peut pas renvoyer d'information???

Pourquoi?

Ensuite, pour les fils, je dois faire comment?

Dis moi si tu utilises un potentiomètre ?
Ton programme ne fera fonctionner ton servo moteur que grâce à une tension connecté sur la broche zéro de l'ARDUINO, qui a mon avis est donnée par un potentiomètre.
Vas voir sur cette adresse, c'est assez bien expliqué :

Oui j'utilise une résistance variable, comme le programme sur le site, je crois.
Du coup comment connecter mes trois fils sur l'arduino vu qu'ils sont regroupés comme sur la phot?

Sur un servo à 3 fils, l'information va de la carte (commande) vers le servo (récepteur).
Il n'y a pas de retour d'information de position, l'angle de commande est supposé atteint.

Le connecteur peut être démonté pour séparer les 3 fils.

Ok donc, il faut que je démonde les trois fils et que je les connecte comme ça:

fils jaune sur <=> Pin de commande PWM Arduino (nommée "broche_servo" dans l'exemple d'Artouste)
fils noir sur <=> GND Arduino
fils rouge sur <=> 5V Arduino

Mais est-ce qu'avec ce code je serais obligé de démonter le connecteur?

// Controlling a servo position using a potentiometer (variable resistor) 
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> 

#include <Servo.h> 
 
Servo myservo;  // create servo object to control a servo 
 
int potpin = 0;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin 
 
void setup() 
{ 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
} 
 
void loop() 
{ 
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023) 
  val = map(val, 0, 1023, 0, 179);     // scale it to use it with the servo (value between 0 and 180) 
  myservo.write(val);                  // sets the servo position according to the scaled value 
  delay(15);                           // waits for the servo to get there 
}

Le mieux serait d'utiliser un connecteur mâle, sur lequel tu souderais des fils, ca éviterait de détruire ton connecteur de servo

C'est à dire un connecteur mâle?
Même avec l'autre code?

des connecteur de ce type là. Ils sont sécable et peuvent se connecter directement sur l'ARDUINO et dans le connecteur du servomoteur. Ca demande peu de bricolage quand même

Ok merci, je vai regarder

  • Une barrette de pins à couper.

  • Ou quelques fils avec connecteur Dupont mâle/mâle à chaque extrémité qui facilitent bien les montages.

  • Ou un bout de fil électrique dont tu étames au fer à souder les 2 bouts pour rigidifier les connexions.

Merci à tous

En parlant de connecteur Dupont, vous savez où on peut en acheter non câblé?
Ca fait pas partie de ce topic je sais mais c'était en passant.
Je suis enseignant je fait utiliser par les élèves, mais ça plie très vite et je dois les changer et je voudrais pouvoir fabriquer mes propres câbles.

Je ne sais pas mais pour acheterais le matériel je vous dirais

Bonsoir,

Le câble type téléphone en rayon bricolage: Les fils rigides , au bon diamètre, de plusieurs couleurs rendent ce service a petit prix SANS CONNECTEUR

Ah oui, j'ai trop l'habitude des distributeurs d'électronique, j'ai même pas pensé au magasin de bricolage.

Merci

Bonjour les gens.... :slight_smile:

j'ai une question concernant les servomoteurs, et notamment si Arduino, peut creer une servomoteur.

je m'explique, je souhaite creer de toute pièce un servomoteur:
j'ai donc un moteur
un potentiomètre,
une carte Arduino

je souhaite avec tous ca créer un servo commandé par un testeur de servos.( signal PWM)

j'ai chercher sur le net, mais pas trouver de codes, juste des codes pour controler des servos du commerce mais pas comment en creer un.
si quelqu'un sait si c'est possible ou si ca existe je suis preneur.
merci
christophe

Bonjour,
En fait, un servomoteur est composé d'un moteur CC, d'un potentiomètre, d'engrenage (qui lie le moteur au potentiomètre) et d'une carte (miniature) électronique qui permet une pseudo régulation ou asservissement (comme on voudra) entre le signal PWM (commandant le servo) et la reception du signal du potentiomètre qui donne la position du servo. Il s'agit en fait, si je ne me trompe d'une soustraction qui engendrera la tension de commande du moteur.
Si tu élimine la carte électronique, ton ARDUINO la remplacera. Ce qui revient à un fonctionnement normal de moteur CC avec capteur de position (le potentiomètre).
Je ne vois pas trop l'interret, mais je penses que tu trouvera ça dans des site sur la robotique.

Bonjour, voici ce que je ferais :

  • Faire un montage RC entre l'entrée PWM de ton servo et une broche analogique
  • Monter le potar sur une autre broche analogique*
  • Monter ton moteur avec un jeu de roues dentées afin de démultiplier la vitesse de ton moteur*
  • Monter le potar au niveau du moteur (après la démultiplication)*
  • Mettre ce programme :
int doit = /*entree via RC*/;
int est = /*entree potar*/;
int Mplus = /*sortie moteur > */;
int Mmoins = /*sortie moteur < */;

void setup() {
  pinMode(doit, INPUT);
  pinMode(est, INPUT);
  pinMode(Mplus, OUTPUT);
  pinMode(Mmoins, OUTPUT);
}

void loop() {
  while(analogRead(doit) > analogRead(est)) {
    digitalWrite(Mmoins, HIGH);
  }
  digitalWrite(Mmoins, LOW);
  while(analogRead(doit) < analogRead(est)) {
    digitalWrite(Mplus, HIGH);
  }
  digitalWrite(Mplus, LOW);
}

Montage moteur :

Mplus  => ----- + --R-- + 
                M       |
Mmoins => ----- + --R-- + ----- GND

Je pense que ça marchera avec une sortie PWM, mais je ne garantis rien avec la librairie servo...

Si tu veux faire Arduino_Commande + Arduino_Servo, à condition d'avoir assez de broches, tu peux adapter ce programme et tout mettre sur la même.
Ton Arduino_Servo peut imiter trois servos à la fois :
6 broches analogiques = 3 * (PWM in + potar in),
11 broches digitales = 3 * (Mplus + Mmoins) + 5 broches libres.

En plus du programme de numero_744, il va te falloir évaluer l'angle de rotation de ton potentiomètre. Tout les potentiomètres en monotour n'ont pas 360° de rotation sur un tour complet. Pour un servo moteur il y a deux buttées, une sur la position 0° et une sur la position 180°. Les buttées devront certainement dans ton cas être logiciel. Pour la conversion analogique du coup il faudra que tu mesure au préalable (voltmetre et rapporteur) la tension délivrée par le potentiomètre en fonction de son angle, si tu veux quelque chose de précis. Si tu utilise un potentiomètre multitour, c'est une autre histoire.
L'autre problème est si tu veux créer un servo commandé par un testeur de servos.( signal PWM) et si cela correspond bien à la PWM de commande du testeur décoder le signal de commande du testeur