(Page créée avec « {{Item |Main_Picture=Item-micro-servo___rotation_continue_micro-servo-a-rotation-continue-fs90r.jpg |Description=Ce petit moteur peut être alimenté directement depuis un... ») |
|||
| (3 révisions intermédiaires par un autre utilisateur non affichées) | |||
| Ligne 5 : | Ligne 5 : | ||
|Cost=5 | |Cost=5 | ||
|Currency=EUR (€) | |Currency=EUR (€) | ||
| − | |ItemLongDescription=Il existe deux types de servomoteurs : | + | |ItemLongDescription=Il existe deux types de servomoteurs : |
| − | * "'''classiques'''", qui permettent de se positionner à un angle entre 0 et 180° | + | * "'''classiques'''", qui permettent de se positionner à un angle entre 0 et 180°, |
| − | * "'''à rotation continue'''", tel que celui-ci, où l'angle est remplacé par une vitesse. | + | * et "'''à rotation continue'''", tel que celui-ci, où l'angle est remplacé par une vitesse (et un sens de rotation). |
| − | Ces servomoteurs ont trois connexions : 2 pour l'alimentation (GND et 5V), et la troisième est utilisée pour définir l'angle ou la vitesse de rotation, qui va dépendre du signal reçu. Celui-ci est de type PWM (Pulse-Width Modulation = modulation de largeur d'impulsion). Cela signifie qu'on utilise simplement une des sorties numériques ('pins') du microcontrôleur, où l'on va alterner les 0 et les 1. C'est la durée pendant laquelle on reste en position 1, qui donnera la valeur considérée par le servomoteur : | + | Ces servomoteurs ont trois connexions : 2 pour l'alimentation (GND et 5V), et la troisième est utilisée pour définir l'angle ou la vitesse de rotation, qui va dépendre du signal reçu. Celui-ci est de type PWM (Pulse-Width Modulation = modulation de largeur d'impulsion). Cela signifie qu'on utilise simplement une des sorties numériques ('pins') du microcontrôleur, où l'on va alterner les 0 et les 1. C'est la durée pendant laquelle on reste en position 1, qui donnera la valeur considérée par le servomoteur :<br />{{#annotatedImageLight:Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|0=1094px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=(image Signal PWM servomoteur)|align=center|src=https://www.wikidebrouillard.org/images/4/4f/Item-micro-servo_a_rotation_continue_Signal_servomoteur.jpg|href=./Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|resource=./Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|caption=Signal PWM servomoteur|size=1094px}} |
| − | <br />{{#annotatedImageLight:Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|0=1094px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=(image Signal PWM servomoteur)|align=center|src=https://www.wikidebrouillard.org/images/4/4f/Item-micro-servo_a_rotation_continue_Signal_servomoteur.jpg|href=./Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|resource=./Fichier:Item-micro-servo a rotation continue Signal servomoteur.jpg|caption=Signal PWM servomoteur|size=1094px}} | ||
| Ligne 17 : | Ligne 16 : | ||
| − | '''MAIS PAS DE PANIQUE ! :-)''' .. | + | '''MAIS PAS DE PANIQUE ! :-)''' ... |
| + | La bibliothèque "Servo.h" du logiciel Arduino, facilite grandement l'utilisation d'un servomoteur. | ||
| − | ' | + | Une fois déclaré, l'activation du servomoteur se fait via |
| + | [nom du servo].write(A/V); | ||
| − | + | où A/V est une valeur entre 0 et 180, et qui donne l'angle (servo classique), ou la vitesse (servo à rotation continue). | |
| − | |||
| − | + | '''Caractéristiques techniques :'''<br /> | |
| − | (...) | + | *Dimensions : 23,2 x 12,5 x 22 mm |
| + | *Poids : 9 g | ||
| + | *Vitesse de fonctionnement : 110 RPM (4,8 V) / 130 RPM (6 V) | ||
| + | *Couple : 1,3 kg.cm/18,09 oz.in (4,8 V) / 1,5 kg.cm/20,86 oz.in (6 V) | ||
| + | *Tension de fonctionnement : 4,8 à 6 V | ||
| + | *Système de contrôle : Analogique | ||
| + | *Direction : CCW (sens inverse de l'aiguille d'une montre) | ||
| + | *Amplitude : 360° | ||
| + | *Impulsion requise : 900 us à 2 100 us | ||
| + | *Type de roulement : Aucun | ||
| + | *Type de roue dentée : Plastique | ||
| + | *Type de moteur : Métal | ||
| + | *Longueur du fil : 20 cm | ||
| − | + | == Code Minimal == | |
| − | |||
| − | + | Le servomoteur à rotation continu se pilote en fonction de la valeur de l'angle qu'on lui donne, comme ceci : | |
| + | * à 90 il est immobile. | ||
| + | * entre 0 et 90 il tourne dans un sens | ||
| + | * entre 90 et 180 il tourne dans l'autre sens. | ||
| − | |||
| − | |||
| − | + | {| class="wikitable" cellspacing="0" border="0" | |
| − | + | | height="17" bgcolor="#999999" align="left" | | |
| − | + | | valign="middle" bgcolor="#999999" align="center" | | |
| − | + | | bgcolor="#999999" align="center" |Servo moteur | |
| − | + | |- | |
| − | + | | rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center" |Avant le Setup | |
| − | + | | valign="middle" bgcolor="#999999" align="center" |Importation de la bibliothèque | |
| − | + | | valign="middle" align="left" |#include <Servo.h> | |
| − | + | |- | |
| − | + | | valign="middle" bgcolor="#999999" align="center" |Création de l’objet | |
| − | + | | valign="middle" align="left" |Servo monservo; | |
| − | + | |- | |
| − | + | | valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Setup | |
| + | | valign="middle" bgcolor="#999999" align="center" |Démarrage de l’objet | ||
| + | | valign="middle" align="left" |monservo.attach(broche du servo); | ||
| + | |- | ||
| + | | valign="middle" height="28" bgcolor="#999999" align="center" |Dans le Loop | ||
| + | | valign="middle" bgcolor="#999999" align="center" |Utilisation | ||
| + | | valign="middle" align="left" |monservo.write(180);<br /> | ||
| + | |}<br /><syntaxhighlight lang="arduino" line="1"> | ||
| + | #include <Servo.h> //importation de la bibliothèque servo | ||
| + | |||
| + | Servo monservo; // Création de l'objet monservo | ||
| + | |||
| + | void setup() { | ||
| + | monservo.attach(12); //Démarrage de l'objet | ||
| + | |||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | monservo.write(180); // En avant toute ! | ||
| + | delay(1000); // pendant une seconde | ||
| + | monservo.write(0); // En arrière toute ! | ||
| + | delay(1000); // pendant une seconde | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | Pour les servomoteur ordinaires, voir [[Item:Servomoteur]] | ||
}} | }} | ||
{{Tuto Status | {{Tuto Status | ||
| − | |Complete= | + | |Complete=Published |
}} | }} | ||
Ce petit moteur peut être alimenté directement depuis un microcontrôleur de type Arduino ou D1 mini, à l'aide de la bibliothèque "servo.h".
Il existe deux types de servomoteurs :
(les graphiques ne sont pas à l'échelle, la durée du "1" va de 2ms à 10 ms sur un cycle de 20 ms)
MAIS PAS DE PANIQUE ! :-) ...
La bibliothèque "Servo.h" du logiciel Arduino, facilite grandement l'utilisation d'un servomoteur.
Une fois déclaré, l'activation du servomoteur se fait via
[nom du servo].write(A/V);
où A/V est une valeur entre 0 et 180, et qui donne l'angle (servo classique), ou la vitesse (servo à rotation continue).
Caractéristiques techniques :
Le servomoteur à rotation continu se pilote en fonction de la valeur de l'angle qu'on lui donne, comme ceci :
| 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); |
| Dans le Loop | Utilisation | monservo.write(180); |
#include <Servo.h> //importation de la bibliothèque servo
Servo monservo; // Création de l'objet monservo
void setup() {
monservo.attach(12); //Démarrage de l'objet
}
void loop() {
monservo.write(180); // En avant toute !
delay(1000); // pendant une seconde
monservo.write(0); // En arrière toute !
delay(1000); // pendant une seconde
}
Pour les servomoteur ordinaires, voir Item:Servomoteur
Item-micro-servo___rotation_continue_micro-servo-a-rotation-continue-fs90r.jpg Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #