« SE3Groupe2025-2 » : différence entre les versions

De projets-se.plil.fr
Aller à la navigation Aller à la recherche
Ligne 150 : Ligne 150 :


== Bilan ==
== 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]].
Eventuellement la vidéo brève du fonctionnement complet du programmateur : [[Média:2025-PSE-B2-systeme-final.mp4]].

Version du 29 mars 2026 à 21:14

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 :

Schéma électronique

Résultat du routage :

Routage

Résultat du routage en 3D:

3d

Photo de la carte soudée :

Front
Back


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 blink fonctionne mais pas le code boutons -> 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

  • Correction de la V1, et ajout des connecteurs pour le chargement de la batterie/ choix de l'alimentation / connecteur batterie
  • Routage : début, du placement des composants.
  • A FAIRE:

  • Demander les composants physique tel que le buzzer et le cerveau moteur
  • On a enlevé des pins sur l'AVR qui étaient pris inutilement par la batterie LIPO => voir si on ne peut pas rajouter un cerveau moteur et des boutons à la place.
  • Tension : Analyser les composants qui nécéssitent 5V de tension pour ajouter un booster de tension pour garder le 5V en batterie (3,3V). Inversement mettre un régulateur de tension sur les composants fonctionnant en 3,3V, lors de l'alimentation en 5v. Convertisseur : TPS61033-Q1
  • (29/03/26):Ajout du TPS61033-Q1

  • Ajout du booster de tension TPS61033-Q1 pour l'écran et le buzzer.
  • Ajout d'un régulateur de tension pour la flash.
  • Ajout de la section "Détail schématique" et première explication du boost de tension.
  • Carte électronique

    Carte réalisée en utilisant le logiciel KiCAD : ma carte électronique.

    Schéma électronique de la carte :

    Mon schéma électronique

    Résultat du routage :

    Mon 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, capteur ultra son, Haut parleur) 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 (η), soit environ 40.6%. Le courant continu moyen demandé à la bobine se calcule via , soit environ 2.53A. En y ajoutant la moitié de l'ondulation crête-à-crête , le courant de crête absolu atteint , 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. C'est pour cela qu'on a choisi comme conseillé dans la datasheet l'inductance XGL4020-471MEC qui peut avoir un courant de saturation allant jusqu'à 6,1A.

    Régulateur de tension

        Pour alimenter la mémoire flash AT45DB641E, qui requiert une tension de fonctionnement < 3,6V, le choix s'est porté sur le convertisseur LTC3531-3.3. Contrairement à un régulateur linéaire (LDO) qui dissiperait l'excédent de tension sous forme de chaleur, ce composant est un régulateur de type Buck-Boost synchrone. Cette topologie permet de maintenir une sortie de 3,3V parfaitement stable, que la tension d'entrée provienne du 5V ou directement de la batterie.
        Le dimensionnement des composants périphériques s'appuie sur les recommandations strictes du constructeur. L'inductance de puissance a été fixée à une valeur standard de 10 µH. Cette valeur est optimisée par le fabricant pour limiter l'ondulation du courant et maximiser le rendement énergétique à faible charge (la mémoire flash consommant au maximum ~25 mA lors des cycles d'écriture/effacement).
        En entrée, un condensateur CIN = 4.7 µF est chargé d'absorber le bruit haute fréquence et les appels de courant transitoires liés au hachage interne du régulateur. En sortie, un condensateur COUT = 10 µF est implanté au plus près de la broche VCC de la mémoire. Le respect de ces valeurs (L = 10 µH, CIN = 4.7 µF, COUT = 10 µF) garantit que les appels de courant soudains de la puce SPI ne provoqueront aucune chute de tension hors des tolérances logiques.

    Bilan

    Eventuellement la vidéo brève du fonctionnement complet du programmateur : Média:2025-PSE-B2-systeme-final.mp4.