SE3Groupe2025-2
Programmation des systèmes embarqués
Programmeur.
Carte électronique
Carte réalisée en utilisant le logiciel KiCAD : Fichier:2025-PSE-2-Prog.zip.
Schéma électronique de la carte :
Résultat du routage :
Résultat du routage en 3D:
Photo de la carte soudée :
Vidéo très courte et en basse résolution de la carte en fonctionnement :
Programmation
Bilan
Séance du 03/03
Soudure presque terminée. LEDs et résistances associées manquantes, 1 bouton poussoir traversant manquant.
Séance du 10/03
- Problème : le programmateur n'est pas détecté en USB. Un erreur est détectée ce qui montre qu'il y a une connexion, mais n'apparaît pas dans
lsusb. - Programmable : La connexion en ISP en revanche fonctionne. On pourra donc programmer les leds et les boutons avec une UNO. Voir dans le futur si on peut fixer le problème de l'USB pour rendre le programmateur fonctionnel.
- ajout d'un premier
blink_led.c(brouillon) au git - TESTS : Le code
blinkfonctionne mais pas le codeboutons-> faut contact / pbs de soudure sur les pattes
11/03
LEDS et boutons fonctionnent -> programme pour connexion port série.
Eventuellement la vidéo brève du fonctionnement complet du programmateur : Média:2025-PSE-B2-PROG-final.mp4.
Premier système embarqué
Archive GIT
Notre archive GIT pour le projet KiCAD et pour les programmes : https://gitea.plil.fr/mterrier/2025_PSE_B2_mterrier_jramesh
Structure avec matériel (y compris production - gerber, bill of materials) / logiciel / documentation (e.g. documentation technique).
Description du système embarqué
Nous avons décider de réaliser BMO, un système comportant un écran affichant un visage minimaliste, munis d'un détécteur de mouvement et d'un buzzer.
Lorsque notre main s'approche de détécteur, le visage plisse les yeux (ou devient triste). Lorsque notre main s'écarte de celui ci, le visage réouvre les yeux (ou devient heureux).
Le système sera alimenté par une batterie, ou une alimentation USB en 5V.
Afin de valider l'utilisation du port USB, nous connecterons un ordinateur au système via USB et éffectuerons un transfert de données sonores (divers sons) qu'on ira stocker dans la flash.
On a ajouté 2 servos moteurs pour faire office de bras. On pourra s'en servir pour proposer plus d'interactions.
Historique des Scéances
S1 (17/02/26):
- Modification initiale du wikicode
- Brainstorming pour se décider sur un projet
S2 (03/03/26): Début de la schématique
- Encodeur: voir si on peut en utiliser un pour régler le son/luminosité écran.
- Connecteur ISP (le même que le programatteur)
- USB-A, condensateurs de découplage, condensateur VUSB.
- Chargeur Lipo (le même que celui du wiki donc à modifier selon notre schéma).
- haut parleur : 8 entrée DAC.
- Ecran : 11 entrée (8 affichage et 3 gestion).
- Cerveaux moteur optionnels si on a pas assez de ports
- Voir comment connecter la flash.
S3 (10/03/26):V1 schématique
Push de la V1 sur le git.
S4 24/03/26): corrections + modification chargeur LIPO
A FAIRE:
(29/03/26):Ajout du TPS61033-Q1
Carte électronique
Carte réalisée en utilisant le logiciel KiCAD : ma carte électronique.
Schéma électronique de la carte :
Résultat du routage :
Résultat du routage en 3D :
Photo de la carte soudée :
Vidéo très courte et en basse résolution de la carte en fonctionnement :
Média:2025-PSE-02-systeme-video.mp4
Détail de la schématique
Booster de tension
-
Pour alimenter la logique (écran LCD, capteurs) et surtout les servomoteurs depuis la batterie de 3.3V, le choix s'est porté sur le régulateur boost TPS61033-Q1. La broche FB est reliée directement à l'entrée (VIN) pour fixer la tension de sortie à 5.0V en interne, rendant inutile l'usage d'un pont diviseur. La broche EN est maintenue à VIN pour un fonctionnement continu , tandis que la broche MODE est à la masse (GND) pour activer le mode Auto PFM. Ce mode garantit un excellent rendement énergétique à faible charge, ce qui est crucial pour économiser la batterie lorsque les moteurs sont à l'arrêt.
Pour gérer la décharge lors de l'extinction, une résistance de 1kΩ (Rdummy) est placée sur la broche PG. Cela tire seulement 5mA (bien en deçà de la limite de 50mA imposée par le transistor à drain ouvert ) et assure une chute de tension propre et rapide en un quart de seconde.
Côté puissance, les servomoteurs SG90 imposent des pics de courant importants (estimés à 1.5A au total au démarrage). Pour éviter les chutes de tension critiques (brownouts), les capacités de filtrage ont été dimensionnées avec une marge de sécurité : 22µF en entrée et 47µF en sortie pour compenser la perte de capacité sous tension continue. Le cœur du convertisseur est une inductance de 0.47µH. En considérant un rendement (Échec de l’analyse (erreur de syntaxe): {\displaystyle η}
) de 90%, le rapport cyclique s'établit à Échec de l’analyse (erreur de syntaxe): {\displaystyle D=1−VOUTVIN×η}
, soit environ 40.6%. Le courant continu moyen demandé à la bobine se calcule via Échec de l’analyse (erreur de syntaxe): {\displaystyle IL(DC)=VIN×ηVOUT×IOUT}
, soit environ 2.53A. En y ajoutant la moitié de l'ondulation crête-à-crête Échec de l’analyse (erreur de syntaxe): {\displaystyle ΔIL(P−P)=L×fSWVIN×D}
, le courant de crête absolu atteint Échec de l’analyse (erreur de syntaxe): {\displaystyle IL(P)=IL(DC)+2ΔIL(P−P)}
, soit 3.12A. L'inductance choisie doit donc impérativement présenter un courant de saturation supérieur à 3.5A pour garantir la stabilité du système en pleine charge.
Bilan
J'indique où j'en suis arrivé à la fin des séances.
Eventuellement la vidéo brève du fonctionnement complet du programmateur : Média:2025-PSE-B2-systeme-final.mp4.
