Différences entre versions de « P2E-Servo-FR »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 74 : Ligne 74 :
 
{{ambox|text=La tension 5V provient de la connexion USB.}}
 
{{ambox|text=La tension 5V provient de la connexion USB.}}
  
=== Code ===
+
=== Code simple ===
  
Les codes
+
Bien que la plupart des servo-moteurs hobbyistes disposent d'une amplitude angulaire proche de 180°, cet exemple se limitera volontairement à une amplitude de 90°.
 +
 
 +
Le script ci-dessous place l'angle du servo à 0° puis 45° puis 90° avant de revenir à 0°.
 +
Cette
  
  
 
<syntaxhighlight lang="python" line highlight="2,4,6">
 
<syntaxhighlight lang="python" line highlight="2,4,6">
from machine import Pin
+
from machine import Pin, Servo
  
 
</syntaxhighlight>
 
</syntaxhighlight>

Version du 30 janvier 2025 à 17:54

Le servo-moteur

Qu'est-ce qu'un Servo-Moteur ?

Un servo-moteur est un dispositif typiquement utilisé en modélisme pour, par exemple, contrôler la direction d'une voiture télécommandée, l'orientation d'un avion.

Servomoteur2.jpg

Sur un servo-moteur, l'angle de rotation de l'axe reste sur une position fixe. L'angle de l'axe peut être positionné entre 0 et 90° (modélisme) ou 0 et 180°C (hobbyiste) en fonction du signal communiqué au servo-moteur (la demande du microcontroleur).

Servo-inside.png

Un servo-moteur comprend :

  • Un moteur électrique (continu), généralement assez petit.
  • Des engrenages réducteur en sortie du ce moteur (pour avoir moins de vitesse et plus de couple ou de force).
  • Un capteur type "potentiomètre" raccordé sur la sortie.
    Il s'agit donc d'une résistance qui varie en fonction de l'angle, ce qui permet de mesurer l'angle de rotation sur l'axe de sortie.
  • Un asservissement électronique pour contrôler la position/rotation, de cet axe de sortie pour le maintenir à la bonne position.

Contrôler un servo-moteur

Le servo-moteur s'alimente avec une tension de 5V (6V max) et utilise un signal PWM particulier pour communiquer l'angle de rotation au moteur.

Le temps d'impulsion du signal permet de déterminer la position du servo-moteur:

  • 1.25 ms = 0 degré
  • 1.50 ms = 90 degrés
  • 1.75 ms = 180 degrés

ServoImpluseAngle.jpg
Source: Area RC-Bot

Raccordement d'un servo-moteur

Puisque l'interface de commande est assez simple, un servo-moteur se raccorde avec seulement 3 fils (la masse, +5v et la commande d'impulsion). Les raccordements les plus standardisés sont:

Noir, Rouge, Blanc :

  • Noir: Raccordé à la Masse,
  • Rouge: Alimentation moteur et logique de commande. Raccordé à VCC 5v,
  • Blanc: Commande de la position du servo-moteur.

Marron, Rouge, Jaune :

Couleurs du standard Graupner.

Servograupner.png

  • Marrons: Raccordé à la Masse,
  • Rouge: Alimentation moteur et logique de commande. Raccordé à VCC 5v,
  • Jaune: Commande de la position du servo-moteur.

Les autres cas :

La plupart des servo-moteur ont 3 conducteurs avec des couleurs noir, rouge et blanc OU brun, rouge et orange/jaune/etc:

Servo-autre-raccord.jpg

  • brun ou noir = MASSE/GND (borne négative de l'alimentation)
  • Rouge = alimentation servo (Vservo, borne positive de l'alimentation)
  • Orange, jaune, blanc ou bleu = Commande de position du servo

Cas pratique

Cet exemple se déroulera en deux temps:

  1. Positionnement sur une position arbitraire pour démontrer le fonctionnement d'un servo-moteur.
  2. Positionnement en fonction de la position d'un potentiomètre, très utile pour déterminer l'amplitude d'un servo-moteur.

Branchement

P2E-servo-wiring-2.png

Afin d'éviter tout incident de polarisation, il est préférable de brancher:

  • le +5V en premier. Celui-ci se connecte au centre du connecteur.
  • la masse (GND) en second
  • le signal en dernier (sur GP22).

Code simple

Bien que la plupart des servo-moteurs hobbyistes disposent d'une amplitude angulaire proche de 180°, cet exemple se limitera volontairement à une amplitude de 90°.

Le script ci-dessous place l'angle du servo à 0° puis 45° puis 90° avant de revenir à 0°. Cette


1 from machine import Pin, Servo

Voici quelques explications utiles:

  • Ligne 2: per

Un problème?

Pas de son ?

  1. Est ce que le code est en cours d'exécution ?
    1. OUI:

Le défi

1. Sur