Binome2022-11 : Différence entre versions

De Wiki de bureau d'études PeiP
(Fonctionnalité supplémentaire)
(Carte finale)
 
(51 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
= Introduction =
+
=<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 80%; background: #000080; vertical-align: top; width: 98%;"> Introduction </div>=
  
= Fonctionnalité supplémentaire =
+
Pour commencer, le but de ce BE est de découvrir la spécialité systèmes embarqués : pour cela nous avons dû choisir entre réaliser un clavier ou une clé usb avec une caractéristique de notre choix. Nous avons décider de réaliser une clé usb avec une webcam intégrée et des leds pour nous indiquer le fonctionnement de la webcam.
web cam intégrée /
 
plusieurs led pour indiquer si la cam capte les informations et repérer l'intensité de la lumière ce qui va nous permettre de savoir si elle est fonctionnelle /
 
envoyer l'image si cela fonctionne /
 
visionner l'image et la stocker
 
  
= Liste composants =
+
=<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 80%; background: #000080; vertical-align: top; width: 98%;"> Fonctionnalité supplémentaire </div>= 
  
= Lien d'accès au photos et vidéo additionnels =
+
Réalisation d'une webcam :
  
= Conclusion =
+
* plusieurs led pour indiquer si la cam capte les informations et repérer l'intensité de la lumière ce qui va nous permettre de savoir si elle est fonctionnelle ;
 +
* envoyer l'image si cela fonctionne (par port série par exemple ) ;
 +
* stocker l'image et la visionner avec un utilitaire sur le PC.
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 80%; background: #000080; vertical-align: top; width: 98%;"> Liste composants  </div>= 
 +
 
 +
 
 +
Pour la première carte :
 +
* boutons poussoirs EVQ-Q2F01W ;
 +
* LED CMS d'empreinte 0603 ;
 +
* Arducam OV2640 (voir https://www.ebay.fr/itm/225123490375, commandé) ;
 +
* connecteur AMPHENOL FCI F32R-1A7H1-11024 ;
 +
* ATMega328p CMS, horloge 16Mhz CMS empreinte 11x4mm.
 +
 
 +
Il existe une bibliothèque IDE Arduino pour Arducam : https://github.com/ArduCAM/Arduino.
 +
 
 +
Ne pas oublier le connecteur ISP (2x3 broches, espacement 2,54mm) pour programmer l'ATMega328p et le connecteur USB (https://www.sparkfun.com/products/587) pour alimenter la carte.
 +
 
 +
Vous pouvez commencer à concevoir le schéma du premier circuit.
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 80%; background: #000080; vertical-align: top; width: 98%;"> Différentes étapes du projet avec lien d'accès au photos et vidéo additionnel  </div>= 
 +
 
 +
=== Carte intermédiaire ===
 +
 
 +
Lors des premières séances nous avons pu réaliser la liste de nos composants ainsi que créer le schéma de notre première carte.
 +
 
 +
[[Fichier:photo_shema.png|thumb|350px|center]]
 +
 
 +
Puis nous avons commencé à souder les composants sur la carte intermédiaire.
 +
 
 +
[[Fichier:Circuit imprimé1.jpg|thumb|350px|center]]
 +
 
 +
On a réaliser le meilleur pcb possible de la carte avec le moins de fils possibles en bottom.
 +
 
 +
[[Fichier:photo_pcb_carte1.png|thumb|350px|center]]
 +
 
 +
Nous avons utilisé un code pour faire fonctionner les leds et avons dû changer 2 leds qui été dans le mauvais sens. Le code est disponible dans la bibliothèque arducam (lien dans la liste des composants).
 +
 
 +
[[Fichier:2022-B11_LedsOK.jpg|thumb|350px|center]]
 +
 
 +
[[Fichier:camera.jpg|thumb|250px|left]]
 +
[[Fichier:photo_carte1_ok.png|thumb|250px|right]]
 +
 
 +
Le code permettant d'accéder à la caméra ne marchait pas car il utilise des ports séries donc nous avons soudé 4 fils en plus ( 1 fil sur le GND, le VCC, 1 sur la patte 31 TX et 1 sur la patte 30 RX ) pour pouvoir connecter un câble rasberry sur l'ordinateur et utiliser les codes de la librairie arduino utilisant un port série. La caméra est bien détecté mais on ne peut pas y accéder et prendre une photo car la librairie pour les ports séries n'était pas installé et une fois installé nous avons réussi à prendre des photos.
 +
 
 +
<div style="clear: both;"></div>
 +
 
 +
=== Carte finale ===
 +
 
 +
Le 07/04 nous commençons la carte finale, 1 semaine avant les vacances de Pâques.
 +
 
 +
Nous avons commencé par ajouter un second micro-contrôleur: l'atmega16-U2 afin de ne plus avoir du câble rasberry et de permettre une liaison par port série. Des leds sont connectées à cet atmega comme pour le premier atmega dans le but de vérifier s'ils fonctionnent tous les deux. Nous avons également connecté un deuxième ISP pour cet atmega (qui n'était pas nécessaire) et des bornes RX et TX de sorte à ce que le RX de l'atmega 328P-AU soit connecter au TX de l'atmega16-U2 et que le TX de l'atmega 328P-AU soit connecté au RX de l'atmega16-U2. Enfin, nous avons aussi mis un crystal sur l'atmega16-U2.
 +
 
 +
[[Fichier:shema_carte_finale.png|thumb|500px|center]]
 +
 
 +
Ensuite, nous avons réalisé le routage de notre carte finale avant les vacances afin que la carte puisse être imprimée pour la rentrée. Nous n'avons pas rencontré de difficultés particulières lors du routage. Nous avons choisi de faire deux zones sur le pcb: une zone pour chaque atmega afin de nous simplifier le routage de cette carte.
 +
 
 +
[[Fichier:pcb_carte_finale.png|thumb|500px|center]]
 +
 
 +
Nous avons pu également visualiser notre pcb finale à l'aide de gerber viewer pour mieux regarder les différentes faces de ce dernier.
 +
 
 +
[[Fichier:gerberview_carte_finale.png|thumb|500px|center]]
 +
 
 +
Lors de la dernière semaine de BE nous avons profiter des séances facultatives pour souder les composants sur notre carte finale.
 +
 
 +
[[Fichier:carte_finale1.jpg|thumb|400px|left]]
 +
[[Fichier:carte_finale2.jpg|thumb|400px|right]]
 +
 
 +
Concernant la programmation, nous avons d'abord écrit un code test pour leds et nous nous sommes rendu compte que ce test ne fonctionnait pas. Cela était dû au fait que les deux atmega n'ont pas le même nom pour le programmateur alors qu'ils fonctionnent de la même façon. Nous avons donc modifier le code du programmateur en ajoutant "-F" devant certaines indications afin de demander au programmateur de ne pas prendre en compte le nom de l'atmega. Cette solution s'est avérée efficace pour le test des leds et le fonctionnement des micro-contrôlleurs. Cependant, lors du programme pour accéder à la caméra et prendre des photos, nous avons été bloquer à cause des indications que nous avions faites précedement lors du test des leds. Nous n'avons pas eu le temps de résoudre ce problème et notre carte finale fonctionne mais le code n'étant pas finalisé elle ne nous permet pas d'accéder à la caméra alors que nous avions réussi pour la première carte.
 +
 
 +
<div style="clear: both;"></div>
 +
[[Fichier:test_code_dfu.png|thumb|500px|center]]
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 80%; background: #000080; vertical-align: top; width: 98%;"> Rendus  </div>= 
 +
 
 +
[[media:PEIP_B11.zip]] : dossier contenant l'intégralité des fichiers de la 1ère carte
 +
 
 +
=<div class="mcwiki-header" style="border-radius: 15px; padding: 15px; font-weight: bold; color: #FFFFFF; text-align: center; font-size: 80%; background: #000080; vertical-align: top; width: 98%;"> Conclusion </div>=
 +
 
 +
Pour conclure, lors de ce bureau d'études nous avons appris à utiliser plusieurs logiciels important dans la spécialité SE comme kicad ou arduino. Nous avons appris le fonctionnement d'un atmega et les bases du soudage. Dans un premier temps, nous avons réaliser une première carte test afin de prendre la main avec les différents logiciels, composants et étapes du projet. La première carte nous a permis de prendre connaissance des difficultés auxquelles nous pourrions être confrontées. La réalisation de cette première carte nous a pris une majorité du temps accordé au BE et nous avions pu réaliser une première carte clé usb avec webcam intégrée qui fonctionne et que nous avons pu essayé. Dans un second temps, nous sommes passé à la réalisation de la carte finale qui est une version améliorée de la première carte. Nous avons réussi les étapes du schéma, de la réalisation du pcb et le soudage des différents composants mais la partie codage nous a posé différents problèmes que nous n'avons pas pu résoudre par manque de temps et c'est pourquoi notre projet n'a pu être finaliser. Il ne nous manque que le code permettant d'accéder à la caméra et de prendre des photos: ce code ne fonctionnant pas suite à un problème de "nom" des composants.

Version actuelle datée du 17 mai 2023 à 15:40

Introduction

Pour commencer, le but de ce BE est de découvrir la spécialité systèmes embarqués : pour cela nous avons dû choisir entre réaliser un clavier ou une clé usb avec une caractéristique de notre choix. Nous avons décider de réaliser une clé usb avec une webcam intégrée et des leds pour nous indiquer le fonctionnement de la webcam.

Fonctionnalité supplémentaire

Réalisation d'une webcam :

  • plusieurs led pour indiquer si la cam capte les informations et repérer l'intensité de la lumière ce qui va nous permettre de savoir si elle est fonctionnelle ;
  • envoyer l'image si cela fonctionne (par port série par exemple ) ;
  • stocker l'image et la visionner avec un utilitaire sur le PC.

Liste composants

Pour la première carte :

  • boutons poussoirs EVQ-Q2F01W ;
  • LED CMS d'empreinte 0603 ;
  • Arducam OV2640 (voir https://www.ebay.fr/itm/225123490375, commandé) ;
  • connecteur AMPHENOL FCI F32R-1A7H1-11024 ;
  • ATMega328p CMS, horloge 16Mhz CMS empreinte 11x4mm.

Il existe une bibliothèque IDE Arduino pour Arducam : https://github.com/ArduCAM/Arduino.

Ne pas oublier le connecteur ISP (2x3 broches, espacement 2,54mm) pour programmer l'ATMega328p et le connecteur USB (https://www.sparkfun.com/products/587) pour alimenter la carte.

Vous pouvez commencer à concevoir le schéma du premier circuit.

Différentes étapes du projet avec lien d'accès au photos et vidéo additionnel

Carte intermédiaire

Lors des premières séances nous avons pu réaliser la liste de nos composants ainsi que créer le schéma de notre première carte.

Photo shema.png

Puis nous avons commencé à souder les composants sur la carte intermédiaire.

2022 B10 Circuit imprime1.jpg

On a réaliser le meilleur pcb possible de la carte avec le moins de fils possibles en bottom.

Photo pcb carte1.png

Nous avons utilisé un code pour faire fonctionner les leds et avons dû changer 2 leds qui été dans le mauvais sens. Le code est disponible dans la bibliothèque arducam (lien dans la liste des composants).

2022-B11 LedsOK.jpg
Camera.jpg
Photo carte1 ok.png

Le code permettant d'accéder à la caméra ne marchait pas car il utilise des ports séries donc nous avons soudé 4 fils en plus ( 1 fil sur le GND, le VCC, 1 sur la patte 31 TX et 1 sur la patte 30 RX ) pour pouvoir connecter un câble rasberry sur l'ordinateur et utiliser les codes de la librairie arduino utilisant un port série. La caméra est bien détecté mais on ne peut pas y accéder et prendre une photo car la librairie pour les ports séries n'était pas installé et une fois installé nous avons réussi à prendre des photos.

Carte finale

Le 07/04 nous commençons la carte finale, 1 semaine avant les vacances de Pâques.

Nous avons commencé par ajouter un second micro-contrôleur: l'atmega16-U2 afin de ne plus avoir du câble rasberry et de permettre une liaison par port série. Des leds sont connectées à cet atmega comme pour le premier atmega dans le but de vérifier s'ils fonctionnent tous les deux. Nous avons également connecté un deuxième ISP pour cet atmega (qui n'était pas nécessaire) et des bornes RX et TX de sorte à ce que le RX de l'atmega 328P-AU soit connecter au TX de l'atmega16-U2 et que le TX de l'atmega 328P-AU soit connecté au RX de l'atmega16-U2. Enfin, nous avons aussi mis un crystal sur l'atmega16-U2.

Shema carte finale.png

Ensuite, nous avons réalisé le routage de notre carte finale avant les vacances afin que la carte puisse être imprimée pour la rentrée. Nous n'avons pas rencontré de difficultés particulières lors du routage. Nous avons choisi de faire deux zones sur le pcb: une zone pour chaque atmega afin de nous simplifier le routage de cette carte.

Pcb carte finale.png

Nous avons pu également visualiser notre pcb finale à l'aide de gerber viewer pour mieux regarder les différentes faces de ce dernier.

Gerberview carte finale.png

Lors de la dernière semaine de BE nous avons profiter des séances facultatives pour souder les composants sur notre carte finale.

Carte finale1.jpg
Carte finale2.jpg

Concernant la programmation, nous avons d'abord écrit un code test pour leds et nous nous sommes rendu compte que ce test ne fonctionnait pas. Cela était dû au fait que les deux atmega n'ont pas le même nom pour le programmateur alors qu'ils fonctionnent de la même façon. Nous avons donc modifier le code du programmateur en ajoutant "-F" devant certaines indications afin de demander au programmateur de ne pas prendre en compte le nom de l'atmega. Cette solution s'est avérée efficace pour le test des leds et le fonctionnement des micro-contrôlleurs. Cependant, lors du programme pour accéder à la caméra et prendre des photos, nous avons été bloquer à cause des indications que nous avions faites précedement lors du test des leds. Nous n'avons pas eu le temps de résoudre ce problème et notre carte finale fonctionne mais le code n'étant pas finalisé elle ne nous permet pas d'accéder à la caméra alors que nous avions réussi pour la première carte.

Test code dfu.png

Rendus

media:PEIP_B11.zip : dossier contenant l'intégralité des fichiers de la 1ère carte

Conclusion

Pour conclure, lors de ce bureau d'études nous avons appris à utiliser plusieurs logiciels important dans la spécialité SE comme kicad ou arduino. Nous avons appris le fonctionnement d'un atmega et les bases du soudage. Dans un premier temps, nous avons réaliser une première carte test afin de prendre la main avec les différents logiciels, composants et étapes du projet. La première carte nous a permis de prendre connaissance des difficultés auxquelles nous pourrions être confrontées. La réalisation de cette première carte nous a pris une majorité du temps accordé au BE et nous avions pu réaliser une première carte clé usb avec webcam intégrée qui fonctionne et que nous avons pu essayé. Dans un second temps, nous sommes passé à la réalisation de la carte finale qui est une version améliorée de la première carte. Nous avons réussi les étapes du schéma, de la réalisation du pcb et le soudage des différents composants mais la partie codage nous a posé différents problèmes que nous n'avons pas pu résoudre par manque de temps et c'est pourquoi notre projet n'a pu être finaliser. Il ne nous manque que le code permettant d'accéder à la caméra et de prendre des photos: ce code ne fonctionnant pas suite à un problème de "nom" des composants.