Hassirou Ba¶
Ba, Hassirou, master 1 en systémes électronique, stage du 03/01/2022 au 25/03/2022
------------------------------------------------
11/03/2022
Comment alimenter le microcontrôleur en faisant attention à ne pas dépasser certaine tension ?
Dans cette partie on va s’intéresser à la partie très importante qui est celle de savoir les tensions à ne pas dépasser pour alimenter le microcontrôleur.
En effet, d’après le test qu'on a eu à faire lors du prototypage de notre circuit,nous avons étudié minutieusement la limites de tension à ne pas dépasser ou tension de seuil.
D’après les test : Lorsque on dépasse une tension plus ou moins 20 V, on a constaté que certains composants comme le régulateur et la RTC ds3231 commence à chauffer. Quand on remarque que l'un de ces composant se chauffe on doit automatiquement diminué l’alimentation sinon ça risque d'atteindre les autres composants et donc le dysfonctionnement du circuit qui va s'en suivre.
Avec une tension 5V on arrive à alimenter le microcontrôleur.
------------------------------------------------
08/03/2022
Petit Tutoriel pour le logiciel Kicad :
1. Créer un projet
KiCad manipule plusieurs types de fichiers, selon la tâche à effectuer (typiquement les schémas électroniques et les implantations physiques de composants). Tous ces fichiers sont regroupés dans un répertoire de projet.
La première étape, quand on veut concevoir un circuit, et donc de créer un projet: Fichier/Nouveau projet/Nouveau projet, et nous l'appelerons tuto-dm.
Dans le répertoire, il crée automatiquement 3 fichiers: tuto-dm.pro, tuto-dm.sch et tuto-dm.kicad_pcb.
2. Créer le schéma électronique
Pour ce tuto, nous allons créer un circuit imprimé contenant un atmega128 (DIP), un driver de moteur pas à pas Pololu A4988, et disons une LED et sa résistance. Le but de ce tutoriel n'est pas de réaliser un projet fonctionnel, mais d'apprendre les bases de la conception dans KiCad.
On va donc maintenant rentrer dans le dur, et créer notre schéma. Pour cela, dans KiCad, double-cliquons sur tuto-dm.sch
Nous avons droit à un bel écran de dessin technique, avec un cartouche en bas (spéciale dédicace aux cours de techno du collège).
Deux barres d'outils : à gauche, des options d'affichage (j'ai envie de dire: rien à péter pour l'instant); à droite, ce qui va nous intéresser: la barre d'outils de dessin.
Parmi les outils, trois vont nous intéresser:
le triangle avec les signes + et - (oui, c'est un ampli op! Bonne réponse de l'amiral) permet de placer des composants sur le schéma.
le symbole de masse nous permet de placer des symboles de type "power", c'est à dire tout ce qui est relatif à l'alimentation.
le segment vert permet de placer des fils, autrement dit de relier les composants entre eux.
Petite note sur le déplacement dans la vue:
Clic milieu + déplacement de la souris: panning
Molette : zoom
3. Placement des composants
Cliquons sur l'icône "placer un composant", puis quelque part sur le dessin. Une fenêtre s'ouvre, pour nous demander quel composant insérer.
Dans le champ de filtre, nous allons taper ATMEGA328, et sélectionner le premier de la liste (ATMEGA328-AU) en double-cliquant dessus. On peut positionner le microcontrôleur avec la souris, et cliquer pour valider.
Plaçons maintenant notre led et sa résistance. KiCad est encore en mode "placer un composant", donc il suffit de cliquer quelque part sur le schéma pour rouvrir la fenêtre de sélection de composant.
Dans le filtre, tapons R, et double-cliquons sur le 1er résultat :R [Resistor]. Avant de positionner la résistance, on peut la faire pivoter en appuyant sur la touche R du clavier (Rotate). Mettons-la à l'horizontale, et plaçons la à côté de la pin PB1 de l'ATMEGA328.
Même topo pour placer la LED (LED_GENERIC), et nous allons la positionner à côté de la résistance. Si vous avez déjà placé un composant et que son sens n'est pas bon, pas de problème! Il suffit de positionner le curseur de la souris au-dessus (pas besoin de cliquer) et d'appuyer sur la touche R du clavier jusqu'à obtenir l'orientation correcte.
Normalement on devrait en être là:
Placement des alimentations
Pour KiCad, une alimentation est un composant spécial, accessible avec le bouton image
On va commencer par placer les masses à côté de la led, et l'ATMEGA328. Cliquer sur [], et chercher GND dans la liste. Placer les différentes masses, et répéter l'opération pour le 5V sur l'ATMEGA328.
------------------------------------------------
07/03/2022
Dans cette partie, on va essayer de mettre ici tous les documents techniques ou datasheet de tous les composants qu'on a eu à utiliser pour le bon fonctionnement du système.
Pour le transistor MOSFET à canal N, voici le lien qui va nous conduire au document technique : https://datasheetspdf.com/pdf-file/637975/InternationalRectifier/F9540N/1
Ce qu'on peut retenir de ce datasheet, le composant a une tension seuil minimum égale moins - 2v max - 4 ce qui veut dire que il faut qu'on une tension supérieures ou égales à ces valeurs pour que le transistor soit passant sinon dans le cas ou on a une tension qui en dessous de ces valeurs alors il sera bloquant donc le courant ne va pas passer si ces conditions ne sont pas respectées.
Le transistor a une tension grille source égale à plus ou moins 20V avec une résistance drain source de 0,117 ohm.
Concernant le datasheet du transistor MOSFET à canal N qu'on a utiliser on va également décrire ses caractéristiques électriques de fonctionnement.
Voici le lien le lien qui nous permet nous amener vers le datasheet de ce composant qui joue un rôle primordial dans le circuit: https://datasheetspdf.com/pdf-file/696723/UnisonicTechnologies/16N50/1
Tension seuil du transistor= 2V et 4v
Tension drain source Vds
Tension grille source Vgs=50 V
Resistance Rds= 0.38 ohm
Voici le lien de la fiche technique du composant du regulateur : file:///tmp/l78.pdf
Pour la carte de Raed time clock ds3231 rtc ds3231 : https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
Pour le microcontroleur, on a choisi de travailler à l'issue de ce projet le micocontroleur communément appelé ESP-wroom-s2 car L'ESP32-WROOM-32 est un module MCU Wi-Fi+BT+BLE puissant et générique qui cible une grande variété d'applications, allant des réseaux de capteurs à faible puissance aux tâches les plus exigeantes, telles que l'encodage vocal, le streaming musical et le décodage MP3 etc.
voici le lien qui nous permet d'accord à la fiche technique de ce UC : https://circuits4you.com/2018/12/31/esp32-devkit-esp32-wroom-gpio-pinout/
En effet, L'intégration de Bluetooth, Bluetooth LE et Wi-Fi garantit qu'un large éventail d'applications peut être ciblé, et que le module est à l'épreuve du temps : l'utilisation du Wi-Fi permet une grande portée physique et une connexion directe à Internet via un routeur Wi-Fi, tandis que l'utilisation du Bluetooth permet à l'utilisateur de se connecter commodément au téléphone ou de diffuser des balises à faible énergie pour sa détection. Le courant de veille de la puce ESP32 est inférieur à 5 μA, ce qui la rend adaptée aux applications alimentées par batterie et aux applications électroniques portables. L'ESP32 prend en charge un débit de données allant jusqu'à 150 Mbps, et une puissance de sortie de 20,5 dBm au niveau de l'antenne pour garantir la plus grande portée physique possible. En tant que telle, la puce offre des spécifications de pointe et les meilleures performances en matière d'intégration électronique, de portée, de consommation d'énergie et de connectivité. Le système d'exploitation choisi pour ESP32 est freeRTOS avec LwIP ; TLS 1.2 avec accélération matérielle est également intégré. Les mises à niveau sécurisées (cryptées) par voie hertzienne (OTA) sont également prises en charge, de sorte que les développeurs peuvent continuellement mettre à niveau leurs produits, même après leur lancement.
Sachant maintenant que le UC est équipé de wifi et de Bluetooth on peut l'utiliser pour y connecter nos capteurs de température et d'humidité. Une fois qu'on a toutes les données de ces capteurs; on va directement via wifi du Fablabl vers le site officiel de Fablab.
------------------------------------------------
04/03/2022
Dans cette partie de la fin de fabrication de la carte électronique chimiquement, nous avons pu faire la carte malgré plusieurs essai en vain lors du passage de la carte en typon.
voici ce que ressemble la carte en vue de dessus :
l'image ci contre represente la vue de dessous de la carte :
Par la suite nous allons passer au test de continuité de conductivité. Aprés avoir bien lavé les pistes qui presentaient quelques debris de cuivre, laissé ces debris sur la piste entraine des coourts cuicuits et donc le dyfonnctionnement total des diferentes pistes au niveau de la carte.
Par suite, nous allons passer au test de continuité. On a constaté que l'ensemble des pistes marche bien, ce qui veut dire que il y a pas de cuivre sur les pistes
la phase suivante consiste donc à passer à la soudure des composants.
Voici ce que ressemble la carte aprés avoir soudé qu'on a connecté direcrement au microcontroleur pour voir ça fonctionne ou pas.
On a remarqué que ça fonctionne bien. voici l'ensemble du systéme :
---------------------------------------------------------------------------------------------------------------------------------
01/03/2022
Dans cette partie, nous allons décruire les differentes étapes pour la gravure de la carte qu'on vient sur le logiciel Kicad.
Aprés avoir fait le pcb sur kicad, nous aurons besoin deux logiciel à savoir le bcnc et le Flacam
Depuis kicad
Nous allons fabriquer le circuit imprimé dessiné sous KiCAD
Voici les étapes qui vont nous mener à un circuit opérationnel:
Export du circuit au format Gerber (isolation, perçage et découpe)
Importation des fichiers Gerber dans FlatCAM
Traitement dans FlatCAM (miroir, manipulation de géométrie et export en G-Code)
Ouverture des fichiers G-Code dans bCNC, mise à zéro, mise à niveau automatique.(ça c'est pour plus tard)
Usinage
Le format Gerber est le standard utilisé dans la production de circuits imprimés. Il contient la description des pistes, des textes, des perçages, et toutes les informations nécessaires à la fabrication du circuit.
Pour notre projet, nous allons exporter 3 fichier Gerber:
Contour des pistes
Perçages
Contour du circuit (pour la découpe)
Ok donc là, FlatCAM affiche nos fichiers Gerber. Nous allons maintenant les manipuler pour pouvoir générer du G-Code (oui, c'est le but, faut pas l'oublier)
La première chose à faire, c'est de tout retourner, car le circuit sera gravé par en-dessous. FlatCAM a une fonction pour ça, qui s'appelle mirror. Alors nous allons déjà renommer les 3 fichiers dans FlatCAM, et vous comprendrez pourquoi.
Double-cliquons sur le 1er fichier, et changeons son nom par quelque chose de plus court, comme cuivre par exemple. Pareil pour les deux autres (decoupe, percage).
Il suffit maintenant de refaire le point 2.1, en ajustant le diamètre d'outil, la profondeur, et en cochant éventuellement la case Multi Depth pour faire plusieurs passes de découpe (dans ce cas, indiquer la profondeur de chaque passe juste en-dessous).
Ouf! On a enfin fini!
Nous avons donc maintenant nos trois fichiers G-Code (gravure, perçage et découpe), et il n'y a plus qu'à les envoyer dans la machine avec bCNC
voici ce que ressemble le logiciel bcnc :
14/02/2022
------------------------------------------------
Installation de Flatcam
Pour graver la carte il va falloir installer préalablement le logiciel communément nommé Flatcam
En effet nous n'avons pas pu installer Flatcam à partir des instructions du site officiel : http://flatcam.org/download
les instructions sont anciennes et les dépendances trop datées pour notre debian bullseye mais nous avons trouvé un autre dépot git avec une version plus récente : https://github.com/MRemy2/FlatCam
hélas ça a marché.
voici ce que ressemble le logiciel :
10/02/2022
------------------------------------------------
Voici le schématic qu'on a tracé sous le logiciel kicad :
voici le circuit à imprimé c'est à dire le PCB :
voici comment va ressembler va ressembler la carte en vue de dessus :
voici l'affichage en vue de dessous :
on va donc la graver
------------------------------------------------
02/02/2022
Aprés avoir tout testé tout ce qui est prototypage c'est à dire
-réussir à faire une alimentation zéro ampére,
-faire une autoalimetation de l'esp 32 c'est à dire l'ESP32 s'allume lorsqu'il est en mode réveil et s'éteint lorsque il est en mode sleep. Ceci est rendu possible grace à la programmation de L'esp sur Vscode. on a testé lorsque l'esp est en mode Sleep on ne consomme pas de courant, idemp aussi pour le régulateur.
On va donc tracer le circuit qu'on a réussi de tester sous le Kicad gratuit.
01/02/2022
------------------------------------------------
1e Partie : A l'issue de cette journée, Nous allons mettre en place un régulateur capable de transformer une tension 12 V en 5 V qui va alimenter le microcontroleur. Aprés avoir placé le régulateur juste aprés la sortie du drain du transistor Pmos, nous allons mettre en série un amperemetre pour controller le courant, c'est à dire vérifier si le régulateur consomme du courant ou non lorsque l'ESP32 est entré en mode Sleep.
Ainsi nous avons testé la consommation du courant, lorsque on bascule l'alimentation en ON, par la suite on allume le mircocontroleur, on constate que le multimetre affiche un courant de 5 mA. voici l'image qui montre qu'on a bel et bien un courant de 5 mA :
L'image suivante montre que lorsque le microcontroleur est en mode sleep, nous remarquons que le régulateur ne consomme pas de courant. Ceci répond bien aux exigences du cahier de charge.
Probléme rencontré : attention à ne pas dépasser une tension 20 V lorsque on alimente le régulateur, car il surchauffe et ceci peut induire des brulure et donc nuire les autre coomposants.
Il faut l'alimenter une tension max 15 V.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2e partie : Nous avons rencontré des problémes pour avoir les trames de données des capteurs de temperature et de pression.
Parmi ces problémes on peut citer :
--les pins de certains microcontroleurs ne matchent pas quant on branche les files de connexion des capteurs. Par exemple une fois qu'on branche la broche numéro 4 de la carte microcontroleur esp32 Wroom s2, ça empeche donc le téléversement du programme vscode sur la carte esp wroom 32.
--Idém aussi pour la carte esp32 wroom 32, quand on coonecte la sortie data du capteur de temperature au niveau de la broche communément nommé CMD, ça empeche également le televersement du programme.
------------------------------------------------
28/01/2022
Dans cette partie nous allons tester le capteur de temperature avec notre carte alimentation qu'on vient de réaliser.
Nous avons rencontré un probléme au niveau du programme, on arrive pas à avoir les données de temperature sur le grafana
------------------------------------------------
26/01/2022
On avait rencontré un probléme pour retrouver le temps d'extinction et de rallumage dans le programme qu'on a réalisé dans le vscode.
On est arrivé à rallonger le temps de chaque fonction.
La deuxieme partie consiste à intéger un régulateur dans le circuit qui permettra à transformer par exemple 12 V en 5v puisque notre microcontroleur ne supporte que 5V pour convertir ceci en 3.3V.
On va placer ce composant juste aprés la partie alimentation.
-------------------------------------------
26/01/2022
nous avons poursuivi le test de la partie précédente.
Aprés avoir essayé plusieurs manup, nous avons constaté, la sortie SQW de la RTC ds3231 joue un role trés important dans l'extinction et le rallumage du microcontroleur de maniere autonome.
Lorsqu'on la sortie SQW a une tension supérieure ou égale à la tension seuil du transistor Pmos, elle va saturer le transistor et par la suite le microcontroleur va s'éteindre pendant un temps donné, qu'on a fixé sur le programme réalisé sous le Vscode. Lorsque le SQW se comporte comme un gnd c'est à dire en abence de tension alors le transitor devient passant et donc le microcontroleur va s'allumer en fonction du temps de l'alarme interne de la RTC.
nous somme presque arrivés vers les objects. la prochaine étape sera de verifier si ceci répond aux normes électroniques avant de passer au logiciel Kicad pour faire la carte.
-------------------------------------------
25/01/2022
Résultat des differents tests obtenus :
Parmi les test qu'on a eu à faire, aprés avoir testé le circuit precedent, nous avons mis lA rtc à la place du bouton poussoir.
Par la suite, on televerse le programme du reveil du microcontroleur.
Nous avons remarqué que aprés avoir televersé le programme, on arrive à alimenter le ESP32 et à l'atteindre. Le probléme qu'on a rencontré est que le temps de l'allummage du ESP32
passe rapidement, c'est à dire l'allumage ne prend meme pas 5s. Le temps de l'extinction prend environ 1 min. Ceci ne repond pas aux exigence du cahier de charge. Nous allons donc trouver un moyen de desactiver l'alimentation du microcotroleur et le rallumer.
-------------------------------------------
21/01/2022
Dans cette partie, on va entammer le test de l'auto-alimentation du micr-controleur. Voici le circuit qu'on va tester :
voici le montage qu'on a essayé de tester sur le labdec :
Ces deux images montre le montage du circuit qu'on a vu le 17/01/2022. On a juste introduit la RTC à la sortie de Vout de L'ESP32 qui correspond au Vcc du microcontroleur alimenté en 3.3 V.
On a bien réussi à alimenter le micro-controleur sans le cable USB de l'ordinateur.
Le probléme qu'on a rencontré lors de ce test c'est que la tension de la sortie SQW de la RTC ne permet pas d'alimenter le transistor Nmos, car en sortie de SQW on a une tension de 1.8 V or le transistor qu'on dispose, cette tension ne permet au transmettre dont sa grille est reliée au SQW de la RTC de bien commuter car il a une tension seuil égale à 2V minIMUM et 4 MaxIMUM. Il faut que la tension Vgs soit supérieure ou égale à la tension qui sort de la sortie SQW du DS3231 pour que le transistor Nmos soit passant. Solution envisagée : On doit donc changer de composant ou bien deplacer la RTC dans un autre endroit du circuit.
-------------------------------------------
18/01/2022
Dans cette partie, on va tirer au clair si la bascule jk fonctionne de maniere permanente suite à l'activation de l'alarme.
Comme nous pouvons voir l'image ci-dessus, nous allons introduire au test une led, c'est à dire tester avec le micrcontroleur esp32 des composants tels que la RTC DS3231, la bascule JK, et une led.
L'objectif de cette partie est de tester l'alarme s'il marhce bien ou pas. La derniere fois nous avons testé cela avec un oscilloscope. cette fois ci on va tester avec une led.
Nous avons constaté qu'on a bien réussi le test et que la bascule Jk joue bien le role de la bascule T en reliant biensur j et K par un fil et qu'on va alimenter ceci une tension de 3.3 v du ESP32.
résultat du test : la led s'allume à chaque fois que l'alarme est activé. l'activation de l'alarme est fixée dans le programme qu'on a réalisé toutes les 60 secondes.
Ainsi la led s'allume pendant 1 min et s'eteigne au meme temps de l'allumage de la led.
17/01/2022¶
Dans cette partie, nous allons faire un test du circuit qu'on appelle soft latching power switch.
voci l'image du circuit qu'on a testé :
En effet on a ici une alimentation pzr battérie à droit et à gauche on a un microcontroleur.
On dispose d'un transistor P-Mosfet cannal noté Q1 qui va laisser le courant I pour alimenter le microcontroleur.
Le transistor Mosfet-P se voit relier de sa grille un bouton Bp pour juste tester le fonctionnement. On va le remplacer par un autre composant qui va foonctionner en permanence.
Le principe est : si on appuie sur le bouton poussoir on voit apparaitre ici un Vgs qui va etre égale à -Vin donc appuie sur SW cela implique que Vgs=Vin.
Ainsi la batterie est suffisamment chargée, Vgs=Vin<=Vgsth du Mosfet Q1 ça va pemrettre celui ci de se saturer et donc il sera bloquant.
Le condensateur C1 son role ici est de stocker l'energie au moment de l'appuie sur le bouton pour laisser du temps au micrcontroleur de venir ensuite valider son alimentation, on réalise donc en quelque sorte un auto-maintien.
Le microcontroleur va venir imposer son Vout relié à un Vcc, s"il est suffisant, nous permet d'avoir un Vgs=Vcc>=Vgsth2. D'ou le transistor Q2 va se saturer et donc le courant va circuler dans le sens voir figure de R1 jusqu'à Q2 sans passer par le transistor Q1.
En résumé ce circuit proposé dans cette vidéo : https://www.youtube.com/watch?v=r3ggKO34lIM
Elle montre comment le uC effectue l'auto-maintien de son alimentation en utilisant un circuit simple basé sur un N-MOSFET pour l'auto-maintien et un P-MOSFET pour la ligne d'alimentation c'est à dire c'est une auto-alimentation du micro-controleur par l'intermédiare de la sortie Vout qui va permettre de valiider l'auto-alimentation du micrp-controleur.
La phase suivante sera donc de tester ce circuit et verifier si ça repond aux exigences du cahier de charge.
10/01/2022¶
---------------
Dans cette partie, nous allons utiliser la carte t18_3.0 qui va remplacer la carte esp32 Wroom s2, car elle est equipée d'une alimentation externe grace à une pile. On peut utiliser une pile pour alimenter la carte qui va fonctionner en permanence sans brancher le cable USB depuis le PC.
Pour ce faire, on va souder les pattes de la carte avant de faire le test. une fois le soudage est fait, on va refaire le meme test du hardware qu'on a fait précédemment, on va juste remplacer la carte micrcontroleur esp32-s2 par la carte microcontroleur equipée des piles. voici l'image de la carte aprés le soudage :
07/01/2022¶
---------------
pour la troisiéme phase de ce test, nous allons utiliser cette fois la carte de la bascule Jk pour obtenir la bascule T en reliant les deux bornes j et K pour obtenir la fonction de la bascule T. Aprés avoir établi toutes les liaison des trois composants entre eux, nous avons visualisé le signal de la sorti Q du composant de la bascule JK au niveau de l'écran de l'oscilloscope. Nous avons bien réussi à avoir un signal continu 3.3 quand l'alarme est activé. une fois que l'alarme est désactivé on observe un signal 0. et ceci s'éffectue en boucle. Cela montre que bien le composant répond aux exigence du cahier de charge.
-------------------------------------------
- activités du jour....
Pour le 04/01/2022, On a réalisé le hardware et établi toutes les liaisons.
Par la suite, nous sommes entrain de trouver un bon programme pour les deux alarmes de la carte DS3231.
On a utilisé l'oscilloscope pour visualiser le signal en sortie et ceci nous aidera à identifier le timing des alarmes
Pour mon premier jour à Fablab, le 03/01/2022, les taches que j'ai eu à faire en premier lieu c'est le test pour le reveil de la DS3231 sur un labdec.
On a donc essayer de programmer en utilisant deux états tels que pour le premier état on le met ON, pour l'état suivant c'est Attente ou sleep
- activités du jour....