Skip to content
Victor edited this page Oct 1, 2023 · 12 revisions

Architecture

schema_robot drawio Lien du schéma modifiable

PCBs maison

Le robot comporte deux carte elec maison.

Contrôle deux moteurs DC, avec lecture du courant, et opto-isolation. Compatible Arduino Leonardo, Arduino Mega, et STM32F303RE

Réalisée sur Eagle PCB.

Pilotée par un STM32F303RE (firmware ici) Communication : grâce à rosserial STM32, la carte est vue comme un node ROS. Cf generate_stm32

État : V2, fiable, une seule reprise : une pull (down?) sur "brake", pour éviter que le robot ne se déplace si le microcontrôleur n'est pas bien initialisé/alimenté.

Plan pour une nouvelle version (pour le deuxième robot, et peut être les PMI) :

Contrôle:

  • des servomoteurs (avec DC/DC)
  • 4 transistors de puissance (pour l'instant utilisés pour des pompes à vide/électrovannes)
  • deux capteurs de pression différentiels
  • un LCD via I2C

Réalisée avec KiCad 6

Pilotée par un arduino Mega (firmware ici) Communication : grâce à rosserial, la carte est vue comme un node ROS. Cf generate_arduino

État : V1, pas mal bidouillée/retouchée pour la rendre fonctionnelle. V2 souhaitée.

  • Le contrôle des DC/DC via PMOS ne marche pas (ils sont toujours alimentés).
  • L'I2C n'est pas très fiable : il arrive que l'écran glitch. Potentiellement dû à la piste 5V trop étroite et sans condensateur ?
  • Besoin d'ajouter des condensateurs sur les alim de servo
  • Ajouter des voies de servomoteurs (certaines ont été mobilisées comme emplacement de condensateur)

V2

  • Plus de servos (12 servos au lieu de 8)
  • Découpler les servos au plus proche (condensateur)
  • Coupure des servos via un transistor entre la masse du servo et la masse commune (principe validé sur les servos utilisés)
  • Plus de pompes à vide (4 au lieu de 2)
  • Refactoring du schéma
  • Format Arduino Mega au lieu du Arduino Uno
  • Compatibilité STM32 si possible
  • I2C pour le LCD à shielder/isoler/découpler
  • Connecteur 12V à corriger (mettre en bord de carte)
  • Corriger l'empreinte des zener
  • Ajouter de quoi contrôler un bandeau de LEDs 12V WS2815

2024 en tant qu'évolution mineure

  • Coupure des servos via un transistor entre la masse du servo et la masse commune (principe validé sur les servos utilisés)
  • Ajout de 2 drivers de stepper
  • Connecteur 12V à corriger (mettre en bord de carte)
  • Ajouter de quoi contrôler un bandeau de LEDs 12V WS2815
  • Corriger l'empreinte des zener (si je retrouve ce que ça veut dire)
  • Format Arduino Mega au lieu du Arduino Uno