« SE2a4 USB 2023/2024 E5 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
(12 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
= Manette =
= '''Mon projet''' =


PDF du schéma :
L'objectif est de concevoir un système permettant de gérer l'état des écrans d'une salle de travaux pratiques.


Le système est composé des éléments suivants :


[[Fichier:Schema.pdf|434x434px|gauche]]
* des cartes USB fixées sur les écrans et connectées en USB sur la station la plus proche ;
* des serveurs Web sur chaque station qui peuvent être accédés en utilisant un navigateur Web classique.


Le serveur Web d'une station, en plus de servir des pages Web, va gérer les cartes USB locales et écouter les requêtes UDP de gestion des écrans.


Je vais donc programmer à la fois le micro-contrôleur des cartes USB et le serveur Web.




<u><big>'''La carte :'''</big></u>




Ma carte va être architecturée autour d'un ATmega32u4 et comporter quelques LED commandées en plus de l'écosystème du microcontrôleur et de ce qui est nécessaire pour faire fonctionner servo-moteur et photo-récepteur.




Voici comment s'organise l'ATmega32u4 :


[[Fichier:ATmega.png|centré|vignette|501x501px]]




Dans un premier temps, j'ai utilisé Kicad afin de réaliser le schématic de mon PCB.


<u>PDF du schématic :</u>
[[Fichier:Schema.pdf|centré|600x600px]]
On y retrouve les différents blocs qui vont composer ma carte, tel que les connecteurs (ISP,USB), le servo-moteur, la photo-résistance, les LEDs, les boutons et le micro-contrôleur.


Ensuite, j'ai effectué le routage de ma carte en essayant d'optimiser le placement et routes de mes composants. Le micro-contrôleur prend une place centrale.


<u>Routage du PCB :</u>


Image du PCB :
[[Fichier:PCB.png|centré|500x500px]]




[[Fichier:PCB.png|437x437px|gauche]]
Ensuite, j'ai soudé mes composants en testant au fur et à mesure le bon fonctionnement afin de pouvoir corriger au cas où.


<u>Photo de la carte soudée :</u>


[[Fichier:Unnamed.jpg|vignette|centré|500x500px]]
Pour finir, j'ai attaqué la partie logicielle.


Pour finir, j'ai attaqué la partie logicielle.


Comme j'avais un AVR sans chargeur DFU/USB j'ai du l'installer.
avrdude -c stk500v1 -p atmega32u4 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m -U efuse:w:0xF7:m
Ensuite, j'ai flashé cette commande sur l'AVR :
avrdude -c stk500v1 -p atmega32u4 -P /dev/ttyACM0 -b 19200 -U flash:w:ATMega32U4-usbdevice_dfu-1_0_0.hex
Puis j'ai connecté ma carte en USB et vérifié qu'elle est bien en mode DFU/USB avec la commande <code>lsusb</code>.


 
[[Fichier:Screenshot 2024-05-23 10-51-36.png|centré|vignette|600x600px]]
 
 
 
 
 
 
 
 
 
 
 
Photo de la carte soudée :
 


Lien sur le GIT du projet KiCAD (archives.plil.fr) :
Lien sur le GIT du projet KiCAD (archives.plil.fr) :
Ligne 56 : Ligne 66 :
== Réalisation ==
== Réalisation ==
Lien sur le GIT du code (archives.plil.fr).
Lien sur le GIT du code (archives.plil.fr).
https://archives.plil.fr/hdonnege/Projet_Syst_Res_S8

Version actuelle datée du 28 mai 2024 à 20:06

Mon projet

L'objectif est de concevoir un système permettant de gérer l'état des écrans d'une salle de travaux pratiques.

Le système est composé des éléments suivants :

  • des cartes USB fixées sur les écrans et connectées en USB sur la station la plus proche ;
  • des serveurs Web sur chaque station qui peuvent être accédés en utilisant un navigateur Web classique.

Le serveur Web d'une station, en plus de servir des pages Web, va gérer les cartes USB locales et écouter les requêtes UDP de gestion des écrans.

Je vais donc programmer à la fois le micro-contrôleur des cartes USB et le serveur Web.


La carte :


Ma carte va être architecturée autour d'un ATmega32u4 et comporter quelques LED commandées en plus de l'écosystème du microcontrôleur et de ce qui est nécessaire pour faire fonctionner servo-moteur et photo-récepteur.


Voici comment s'organise l'ATmega32u4 :

ATmega.png


Dans un premier temps, j'ai utilisé Kicad afin de réaliser le schématic de mon PCB.

PDF du schématic :

Schema.pdf

On y retrouve les différents blocs qui vont composer ma carte, tel que les connecteurs (ISP,USB), le servo-moteur, la photo-résistance, les LEDs, les boutons et le micro-contrôleur.

Ensuite, j'ai effectué le routage de ma carte en essayant d'optimiser le placement et routes de mes composants. Le micro-contrôleur prend une place centrale.

Routage du PCB :

PCB.png


Ensuite, j'ai soudé mes composants en testant au fur et à mesure le bon fonctionnement afin de pouvoir corriger au cas où.

Photo de la carte soudée :

Unnamed.jpg

Pour finir, j'ai attaqué la partie logicielle.

Pour finir, j'ai attaqué la partie logicielle.

Comme j'avais un AVR sans chargeur DFU/USB j'ai du l'installer.

avrdude -c stk500v1 -p atmega32u4 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xFF:m -U efuse:w:0xF7:m

Ensuite, j'ai flashé cette commande sur l'AVR :

avrdude -c stk500v1 -p atmega32u4 -P /dev/ttyACM0 -b 19200 -U flash:w:ATMega32U4-usbdevice_dfu-1_0_0.hex

Puis j'ai connecté ma carte en USB et vérifié qu'elle est bien en mode DFU/USB avec la commande lsusb.

Screenshot 2024-05-23 10-51-36.png

Lien sur le GIT du projet KiCAD (archives.plil.fr) :

https://archives.plil.fr/hdonnege/Projet_Syst_Res_S8

Code

Choix de la partie à coder

Serveur UDP et thread de scan des contrôleurs d'écrans.

Serveur HTTP de pages statiques et des deux pages dynamiques.

Réalisation

Lien sur le GIT du code (archives.plil.fr).


https://archives.plil.fr/hdonnege/Projet_Syst_Res_S8