GRBL-Servo : Calibration servo

Ajustez les impulsions PWM pour contrôler votre servo

GRBL-Servo : Calibration servo

Ajustez les impulsions PWM pour contrôler votre servo

Durée :
Difficulté :

Dans ce tutoriel, vous allez ajuster les réglages de GRBL-Servo afin d’adapter le signal envoyé à votre servomoteur.

Après avoir flashé GRBL, la position du servo est normalement contrôlable depuis UGS via des commandes GCODE.

Mais dans notre cas, le servomoteur vibre, chauffe ou reste bloqué en butée au lieu de bouger entre ses deux positions.

Ce comportement indique généralement que les paramètres d’impulsion (PWM) ne correspondent pas à la plage réelle de votre servomoteur. Nous allons donc ajuster ces réglages pour qu’il fonctionne correctement.


Prérequis

Pour comprendre le contexte et les sujets abordés dans ce tutoriel, consultez d'abord la page suivante :

Comprendre GRBL-Servo

La librairie GRBL originale est conçue pour contrôler une fraiseuse à commande numérique.
Une commande GCODE est donc dédiée au contrôle de la fraiseuse (broche ou spindle) :

M3 S1000

  • M3 → démarre la broche
  • S1000 → définit la vitesse de rotation (par exemple ici 1000 tr/min)

GRBL-Servo détourne l’usage de cette commande, en la réassignant au contrôle d’un servomoteur.

M3 S0 → Le servo va en position

M3 S255 → Le servo va en position 180°

L’origine du problème

Dans la configuration par défaut de GRBL-Servo, les durées d’impulsion PWM sont définies pour un modèle de servomoteur différent.
L’information envoyée par le microcontrôleur au servo est mal interprétée par ce dernier et produit un comportement indésirable.

La solution

Pour corriger ce réglage, il faut modifier les fichiers de configuration dans la librairie GRBL-Servo :

Passez cette étape si la librairie est déjà installée

Installer GRBL-Servo

Après avoir téléchargé la librairie depuis la source github, décompressez et ouvrez le .zip, puis cherchez le dossier grbl, copiez-le dans votre dossier libraries (Documents\Arduino\libraries).

Ouvrir spindle_control.c

Dans le dossier grbl, trouvez et ouvrez le fichier spindle_control.c dans un éditeur de texte.

Éditer les valeurs

Localisez les lignes suivantes :

#define RC_SERVO_SHORT 7
#define RC_SERVO_LONG 17

Conformément à la documentation fournie par le fabricant, les servos FS5103B ont une plage de durées d’impulsion de 600→2400 μsec.

Remplacez donc par :

#define RC_SERVO_SHORT 9 // Correspond à 600 µs
#define RC_SERVO_LONG 34 // Correspond à 2400 µs

Uploader GRBL-Servo

Ouvrez Arduino IDE.
Ouvrez le fichier d’upload de GRBL-Servo File → Examples → grbl → grblUpload.
Cliquez finalement sur alt text pour uploader le firmware sur votre Arduino !

Bien joué ! Votre servo devrait maintenant fonctionner normalement !


Pour aller plus loin

Trouvez d'autres tutoriels en lien avec le projet