Conception d’un robot SCARA modulaire


1. Genèse du projet

Après la fabrication de ma CNC personnelle, il me restait plusieurs composants mécaniques et électroniques :

  • Moteurs NEMA17
  • Drivers TMC
  • Courroies GT2
  • Poulies
  • Vis trapézoïdale T8
  • Alimentation
  • Carte de contrôle Arduino

Plutôt que de laisser ce matériel inutilisé, j’ai décidé de concevoir un robot SCARA.

L’objectif n’était pas de reproduire un modèle existant, mais de développer une architecture adaptée à mes contraintes mécaniques réelles et à une approche logicielle modulaire rigoureuse.


2. Architecture cinématique globale

Le robot est un SCARA de type :

R – R – R – P

avec :

  • J1 : rotation de base (theta1)

  • Z : translation verticale

  • J2 : rotation bras intermédiaire (theta2)

  • J3 : rotation outil (phi)

La chaîne cinématique réelle est la suivante :

Base
├── Rz(theta1)
├── Tz(z)

L1

Rz(theta2)

L2

Rz(phi)

Important :

  • L’axe Z agit avant J2 et J3.

  • La translation verticale est indépendante du plan XY.

  • Le plan XY est uniquement déterminé par theta1, theta2 et phi.


3. Analyse mécanique détaillée des axes

3.1 Joint 1 – Base (theta1)

Transmission mécanique :

  • Moteur NEMA17
  • 200 pas par tour
  • Pas de microstepping
  • Poulie moteur : 20 dents
  • Poulie intermédiaire : 85 dents
  • Réducteur planétaire :

    • Couronne fixe : 56 dents
    • Soleil : 28 dents

Rapport planétaire (couronne fixe) :

R_planet = 1 + (56 / 28) = 3

Rapport courroie :

R_belt = 85 / 20 = 4.25

Rapport total :

R_total = 3 × 4.25 = 12.75

Nombre de pas par tour en sortie :

Steps_output = 200 × 12.75 = 2550 pas par tour

Résolution angulaire :

Steps_per_degree = 2550 / 360 ≈ 7.08 pas par degré

Soit environ 0.14 degré par pas moteur.


Philosophie de homing J1

  1. Approche lente du fin de course
  2. Détection mécanique absolue
  3. Recul de 2 degrés pour libérer le contact
  4. Définition d’un balayage utile de 180 degrés
  5. Positionnement au centre de la zone utile
  6. Déclaration de ce point comme zéro logique

Résultat :

Zone utile = -90 degrés à +90 degrés
Le capteur est hors zone de travail
Le zéro logique est centré


3.2 Joint 2 – Bras intermédiaire (theta2)

Transmission :

  • Poulie moteur : 20 dents

  • Poulie sortie : 67 dents

Rapport :

R = 67 / 20 = 3.35

Nombre de pas par tour :

Steps_output = 200 × 3.35 = 670 pas

Résolution :

Steps_per_degree = 670 / 360 ≈ 1.86 pas par degré


3.3 Joint 3 – Rotation outil (phi)

Transmission :

  • Poulie moteur : 20 dents

  • Poulie sortie : 64 dents

Rapport :

R = 64 / 20 = 3.2

Nombre de pas par tour :

Steps_output = 200 × 3.2 = 640 pas

Résolution :

Steps_per_degree = 640 / 360 ≈ 1.78 pas par degré

L’orientation finale de l’outil dépend de :

phi_total = theta1 + theta2 + phi


3.4 Axe Z – Translation verticale

Caractéristiques mécaniques :

  • Vis trapézoïdale T8

  • Pas réel : 8 mm par tour

  • Longueur totale : 246 mm

  • Offset mécanique occupé : 85 mm

Course utile réelle :

246 − 85 = 161 mm

Résolution linéaire :

Steps_per_mm = 200 / 8 = 25 pas par mm

Soit 0.04 mm par pas moteur.

Après homing :

  • L’axe remonte de 80.5 mm

  • Ce point est défini comme zéro logique


4. Cinématique directe

Position XY :

x = L1 cos(theta1 + theta2)
+ L2 cos(theta1 + theta2 + phi)

y = L1 sin(theta1 + theta2)
+ L2 sin(theta1 + theta2 + phi)

Position Z :

z = z


5. Architecture logicielle

Chaque axe est encapsulé dans un module indépendant :

  • Joint1.h / Joint1.cpp

  • Joint2.h / Joint2.cpp

  • Joint3.h / Joint3.cpp

  • AxisZ.h / AxisZ.cpp

Modules complémentaires :

  • Limits

  • ServoTool

  • SerialCommand


6. Philosophie logicielle
  • Le fin de course est la limite absolue mécanique

  • Le zéro logique est défini au centre du balayage utile

  • Aucun mouvement n’est autorisé avant homing complet

  • STOP interrompt l’exécution sans détruire l’état

  • MOVE manuel a priorité sur une séquence

  • Les séquences sont programmables avec :

    • WAIT variable

    • LOOP optionnel

    • STOP sécurisé


7. Conclusion

Ce robot SCARA n’est pas une copie d’un modèle existant.

Il s’agit d’une architecture optimisée pour :

  • Un matériel réellement disponible

  • Une cohérence mécanique mesurée

  • Une modularité logicielle rigoureuse

  • Une gestion d’état sécurisée

  • Une approche pédagogique et expérimentale

Tags :
Retour aux projets