Bras robot 3 axes TERL

Rôle : Développement de l’alimentation et réalisation des schémas

Contexte : Projet d’ingénierie réalisé à l’ESME dans le cadre du module de mécatronique appliquée.

Dans le cadre du projet de fin d’année du 2ᵐᵉ cycle d’ingénierie, j’ai contribué à la conception d’un bras robotisé multi-axes avec trois missions principales :

Objectifs du projet
  • Concevoir un bras robotisé multi-axes capable d’effectuer des mouvements précis et coordonnés, afin d’exécuter des tâches de manipulation telles que la prise, le déplacement et le dépôt d’objets, en autonomie partielle ou totale.
    Le projet visait à intégrer plusieurs domaines de la mécatronique (électronique, mécanique et programmation embarquée) pour créer un système complet et fonctionnel, du schéma de commande jusqu’à la structure physique du bras.

Mon travail
  • Alimentation électrique : Choix des blocs d’alimentation adaptés (tension, courant, protections), intégration des convertisseurs DC-DC, gestion des protections (fusibles, disjoncteurs, filtre EMI) pour garantir stabilité et sécurité.
  • Schémas / Documentation technique : Conception des schémas électriques (alimentation, régulation, capteurs), création des diagrammes mécatroniques (liaisons entre moteurs, capteurs, contrôleurs), rédaction des légendes et des spécifications.
  • Intégration et test : Validation de l’alimentation en charge, vérification de la tolérance aux perturbations, test de la communication avec la carte de pilotage du bras, ajustement des schémas après retours terrain.
  •  

Choix des composants

Le choix des composants a été guidé par un équilibre entre performance, fiabilité et simplicité d’intégration :

  • Servomoteurs : offrent un couple élevé à grande vitesse (≈10 kg·cm), idéaux pour les articulations.

  • Moteur pas à pas NEMA 17 : garantit un positionnement angulaire précis et stable.

  • Accéléromètre MPU-6050 : permet d’analyser la vitesse et l’accélération du bras pour ajuster les mouvements.

Optimisation du schéma de câblage

J’ai conçu et optimisé le schéma d’alimentation et de commande en m’appuyant sur une logique de signaux PWM.
Les moteurs sont pilotés par trois broches principales (RB11, RB13, RB15) associées à trois sorties PWM indépendantes.
Cette architecture a permis d’obtenir :

  • Un contrôle précis de la position angulaire,

  • Une régulation de la vitesse et de l’accélération,

  • Une alimentation stable pour éviter les chutes de tension pendant les pics de couple.

Lien avec la programmation

J’ai calculé la période du signal PWM à partir de la fréquence d’oscillateur (7,37 MHz) afin d’obtenir une plage de largeur d’impulsion comprise entre 500 µs et 2500 µs.
Cette étape a permis d’adapter la commande à la réponse mécanique du servomoteur.
La formule utilisée :

PTPER = (PWM / TCY) – 1

PTPER = 7,37 × x – 1, pour x ∈ [500 µs ; 2500 µs]

Présentation du code

Le code a été développé en langage C sous MPLAB X IDE.

Fonction InitApp(void)

Cette fonction initialise les broches de sortie, configure le module PWM et définit les cycles de travail.
Elle permet de synchroniser les trois servomoteurs selon les pins RB11, RB13, RB15.

Fonction convert_deg()

Convertit un angle en durée d’impulsion, assurant une correspondance exacte entre la consigne logicielle et la position physique du moteur.

Fonctions motor1() et motor3()

Elles assurent le contrôle individuel ou simultané des moteurs.
motor3() synchronise les trois servomoteurs avec des angles définis, tandis que motor1() ajuste finement un seul moteur.

Fonction main(void)

Le programme principal exécute une boucle infinie (while(1)) pour enchaîner plusieurs positions programmées avec un délai de 2 s entre chaque mouvement.
Ce fonctionnement permet d’observer la coordination des moteurs et de tester les séquences de mouvement.

Résultat

Le bras robotisé exécute des mouvements cohérents, précis et synchronisés entre plusieurs axes.
Le projet a permis de consolider mes compétences en électronique embarquée, automatisation et programmation bas-niveau C.

Me contacter

Travaillons ensemble 🤝

Vous recherchez un profil technique, curieux et rigoureux pour renforcer votre équipe ou collaborer sur un projet d’ingénierie ? Contactez-moi pour échanger sur vos besoins en développement, mécatronique ou automatisation.

À propos

Ingénieur en mécatronique et passionné de technologies numériques, je développe aussi des projets web et cultive ma passion pour le sport

Contact

Ouvert aux opportunités professionnelles et collaborations.