« Item:Micro-servo à rotation continue » : différence entre les versions

Philby (discussion | contributions)
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... »
 
Antonydbzh (discussion | contributions)
Aucun résumé des modifications
 
(3 versions 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 ! :-)''' ... 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, dans ce cas 0 signifie marche arrière rapide, 90 moteur à l'arrêt, et 180 marche avant rapide, avec toutes les possibilités de vitesses, en arrière ou en avant, entre ces intervalles).
'''MAIS PAS DE PANIQUE ! :-)''' ...  


La bibliothèque "Servo.h" du logiciel Arduino, facilite grandement l'utilisation d'un servomoteur.


'''Exemple de programmation :'''
Une fois déclaré, l'activation du servomoteur se fait via


[nom du servo].write(A/V);


<nowiki>#</nowiki>include "Servo.h"                // Déclaration de la bibliothèque
où A/V est une valeur entre 0 et 180, et qui donne l'angle (servo classique), ou la vitesse (servo à rotation continue).


(...)


Servo monServo;                    // Déclaration de mon servomoteur
'''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


monServo.attach(D7);        // Initialisation de mon servomoteur, en indiquant que son fil de commande est connecté au pin D7 du microcontrôleur
== Code Minimal ==


(...)


monServo.write(180);        // Marche avant toute !
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.


'''Caractéristiques techniques :'''
<br />


* Dimensions : 23,2 x 12,5 x 22 mm
{| class="wikitable" cellspacing="0" border="0"
* Poids : 9 g
| height="17" bgcolor="#999999" align="left" |
* Vitesse de fonctionnement : 110 RPM (4,8 V) / 130 RPM (6 V)
| valign="middle" bgcolor="#999999" align="center" |
* Couple : 1,3 kg.cm/18,09 oz.in (4,8 V) / 1,5 kg.cm/20,86 oz.in (6 V)
| bgcolor="#999999" align="center" |Servo moteur
* Tension de fonctionnement : 4,8 à 6 V
|-
* Système de contrôle : Analogique
| rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center" |Avant le Setup
* Direction : CCW (sens inverse de l'aiguille d'une montre)
| valign="middle" bgcolor="#999999" align="center" |Importation de la bibliothèque
* Amplitude : 360°
| valign="middle" align="left" |#include <Servo.h>
* Impulsion requise : 900 us à 2 100 us
|-
* Type de roulement : Aucun
| valign="middle" bgcolor="#999999" align="center" |Création de l’objet
* Type de roue dentée : Plastique
| valign="middle" align="left" |Servo monservo;
* Type de moteur : Métal
|-
* Longueur du fil : 20 cm
| 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=Draft
|Complete=Published
}}
}}

Dernière version du 23 janvier 2022 à 08:57


Micro-servo à rotation continue

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".

5EUR (€)


Description longue

Il existe deux types de servomoteurs :

  • "classiques", qui permettent de se positionner à un angle entre 0 et 180°,
  • 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 :
(image Signal PWM servomoteur)
Signal PWM servomoteur


(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 :

  • 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.


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

Commentaires

Published