Item:Servomoteur : Différence entre versions

 
(6 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 84 : Ligne 84 :
 
|16
 
|16
 
|}
 
|}
 
+
}}
 
===Un système asservi.===
 
===Un système asservi.===
 
Un servomoteur est un système motorisé capable d'atteindre des positions prédéterminées, puis de les maintenir.  
 
Un servomoteur est un système motorisé capable d'atteindre des positions prédéterminées, puis de les maintenir.  
Ligne 109 : Ligne 109 :
 
|-
 
|-
 
| valign="middle" bgcolor="#999999" align="center" |Création de l’objet
 
| valign="middle" bgcolor="#999999" align="center" |Création de l’objet
| valign="middle" align="left" |Servo myservo;
+
| valign="middle" align="left" |Servo monservo;
 
|-
 
|-
 
| valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Setup
 
| valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Setup
 
| valign="middle" bgcolor="#999999" align="center" |Démarrage de l’objet
 
| valign="middle" bgcolor="#999999" align="center" |Démarrage de l’objet
| valign="middle" align="left" |myservo.attach(broche du servo);
+
| valign="middle" align="left" |monservo.attach(broche du servo, min, max);
 
|-
 
|-
 
| valign="middle" height="28" bgcolor="#999999" align="center" |Dans le Loop
 
| valign="middle" height="28" bgcolor="#999999" align="center" |Dans le Loop
 
| valign="middle" bgcolor="#999999" align="center" |Utilisation
 
| valign="middle" bgcolor="#999999" align="center" |Utilisation
| valign="middle" align="left" |myservo.write(45);<br />
+
| valign="middle" align="left" |monservo.write(45);<br />
 
|}
 
|}
 
<br /><syntaxhighlight lang="arduino" line="1" start="1">
 
<br /><syntaxhighlight lang="arduino" line="1" start="1">
 
#include <Servo.h> //importation de la bibliothèque servo
 
#include <Servo.h> //importation de la bibliothèque servo
  
Servo myservo;  // Création de l'objet servo
+
Servo monservo;  // Création de l'objet monservo
  
 
void setup() {
 
void setup() {
   myservo.attach(D6); //Démarrage de l'objet et configuration de celui-ci sur la broche D6
+
   monservo.attach(12, 544, 2600); //Démarrage de l'objet et configuration de celui-ci sur la broche D6. Les valeurs 544 et 2600 permettent de ré"gler les problèmes d'ampleur de rotation du servo.
 +
  // La bibliothèque servo.h s'utilise comme ceci : monservo.attach(broche, min, max) Min et Max sont optionnels pour Arduino - on pourrait mettre simplement monservo.attach(broche) - mais avec le D1 mini, il y a parfois des soucis (certains servos ne tournent que de 0 à 90°)  :
 +
  // min : largeur d'impulsion, en microsecondes, correspondant à l'angle minimum (0 degré) du servo (valeur par défaut : 544).
 +
  // max : la largeur d'impulsion, en microsecondes, correspondant à l'angle maximum (180 degrés) du servo (par défaut 2400).
 +
 
 
}
 
}
  
 
void loop() {
 
void loop() {
   myservo.write(45); // Rotation du servo à la position 45°
+
   monservo.write(45); // Rotation du servo à la position 45°
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
= Autres Fonctions : =
 
citons par exemple :
 
<br />
 
{| class="wikitable"
 
|+
 
!FONCTION
 
!
 
!
 
!
 
|-
 
|
 
|
 
|
 
|
 
|-
 
|tbljkhghdjk
 
|
 
|
 
|
 
|-
 
|
 
|
 
|
 
|
 
|}
 
}}
 
 
{{Tuto Status
 
{{Tuto Status
 
|Complete=Published
 
|Complete=Published
 
}}
 
}}

Version actuelle datée du 24 janvier 2022 à 15:56


Item-Servomoteur servoSG92R.jpg

Servomoteur

Un servomoteur (couramment appelé "servo" du latin "servus" signifiant "esclave") est un moteur capable de maintenir une opposition à un effort statique et dont la position est vérifiée en continu et corrigée en fonction de la mesure.

1,5EUR (€)


Description longue

Du matériel de bidouille électronique courant

On utilise souvent le grand classique SG90 ou maintenant, le SG92R de TowerPro

Comparaison de servomoteurs

  • Les MG90S sont très difficiles à trouver. Il coûtes 2 à 3 fois plus chers (engrenages métalliques) et
  • C'est la version MG90D qui est la version "Upgrade" du MG90S.
  • Les SG92R, présentent l'avantage de combiner un prix modique, des engrenages en fibre de carbone et des propriétés mécaniques similaires. Cependant, les dimensions sont légèrement différentes.

Ils ont pour points commun d'avoir un cable de 25 cm et de recevoir les même accessoires (bras qui se fixent sur la tête du servo).

Des liens vers la doc officielle des servo :

Comparatif des propriétés :

Spécification MG90S MG90D SG92R SG90
Poid (g) 13 13,4 12 9
Couple (Kg) (4,8v) 2,1 1,8 2,5 1,8
Vitesse (sec/60deg) 0,1 0,1 0,1 0,1
A(mm) 32,5 32,5 34,5 34,5
B(mm) 22,6 22,8 22,8 22,8
C(mm) 28,5 28,4 26,7 26,7
D(mm) 12 12,4 12,6 12,6
E(mm) 31,5 32,1 32,5 32,5
F(mm) 19,8 18.5 16 16

Commentaires

Un système asservi.

Un servomoteur est un système motorisé capable d'atteindre des positions prédéterminées, puis de les maintenir.

La position est : dans le cas d’un moteur rotatif, une valeur d'angle et, dans le cas d’un moteur linéaire une distance.

On utilise des moteurs électriques (continu, asynchrone, brushless) aussi bien que des moteurs hydrauliques. Le démarrage et la conservation de la position prédéterminée sont commandés par un système de réglage. Pour un ajustement précis de la position, le moteur et son réglage sont équipés d'un système de mesure qui détermine la position courante (p. ex. l'angle de rotation parcouru relatif à une position de départ) du moteur. Cette mesure est effectuée sur un réglage rotatif, p. ex. un résolveur, un réglage incrémental ou un réglage absolu (réalisable p. ex. par un potentiomètre). Le système de réglage souvent électronique compare le signal à une valeur prescrite de la position de consigne. S’il y a une déviation, le moteur est commandé dans la direction qui garantit le plus petit chemin à effectuer pour arriver à la valeur de consigne. Cela a pour conséquence de faire diminuer l'écart. La procédure se répète aussi longtemps et, jusqu'à ce que la valeur courante se trouve incrémentiellement ou par l'intermédiaire d’une approximation dans les seuils de tolérance de la valeur consigne. Alternativement, la position du moteur peut être saisie aussi numériquement et comparée via un ordinateur approprié à une valeur prescrite.

Bibliothèque :

Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque Servo (présente dans le gestionnaire de bibliothèques arduino) plus d'infos pour Importer des bibliothèques dans l'interface Arduino


Item-Servomoteur Arduino-lib-servo.png

La bibliothèque est ici : https://github.com/arduino-libraries/Servo

Câblage :

Item-Servomoteur Arduino-servo-cablage.png

Code Minimal


Servo moteur
Avant le Setup Importation de la bibliothèque #include <Servo.h>
Création de l’objet Servo monservo;
Dans le Setup Démarrage de l’objet monservo.attach(broche du servo, min, max);
Dans le Loop Utilisation monservo.write(45);


 1 #include <Servo.h> //importation de la bibliothèque servo
 2 
 3 Servo monservo;  // Création de l'objet monservo
 4 
 5 void setup() {
 6   monservo.attach(12, 544, 2600); //Démarrage de l'objet et configuration de celui-ci sur la broche D6. Les valeurs 544 et 2600 permettent de ré"gler les problèmes d'ampleur de rotation du servo.
 7   // La bibliothèque servo.h s'utilise comme ceci : monservo.attach(broche, min, max) Min et Max sont optionnels pour Arduino - on pourrait mettre simplement monservo.attach(broche) - mais avec le D1 mini, il y a parfois des soucis (certains servos ne tournent que de 0 à 90°)  : 
 8   // min : largeur d'impulsion, en microsecondes, correspondant à l'angle minimum (0 degré) du servo (valeur par défaut : 544).
 9   // max : la largeur d'impulsion, en microsecondes, correspondant à l'angle maximum (180 degrés) du servo (par défaut 2400). 
10 
11 }
12 
13 void loop() {
14   monservo.write(45); // Rotation du servo à la position 45°
15 }

Published