-
Notifications
You must be signed in to change notification settings - Fork 1
Elec
Lien du schéma modifiable
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) :
- Kicad
- Passer sur une Nucléo 32 pins, par ex https://www.st.com/en/evaluation-tools/nucleo-g431kb.html
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)
- 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
- 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