« SE3Trinome2022-8 » : différence entre les versions
(Avancement wiki (Info + Finition carte électronique)) |
|||
Ligne 39 : | Ligne 39 : | ||
Nous avions fini la carte électronique, sa réalisation a pris la majeure partie de notre temps lors des séances. Il fallait donc ensuite réalisé un programme permettant de faire fonctionner et avancer la voiture. | Nous avions fini la carte électronique, sa réalisation a pris la majeure partie de notre temps lors des séances. Il fallait donc ensuite réalisé un programme permettant de faire fonctionner et avancer la voiture. | ||
Fichier ZIP de notre carte électronique : | Fichier ZIP de notre carte électronique : [[Fichier:Voiture CCP.zip|vignette|Voiture fichiers de routage et schéma PCB]] | ||
== Programme de la voiture : == | == Programme de la voiture : == | ||
Ligne 50 : | Ligne 50 : | ||
Nous pouvons aussi faire fonctionner la voiture en envoyant le programme informatique dans la voiture. Cependant, de cette manière, la voiture ne pourra pas être controllé et fera un trajet voulu. | Nous pouvons aussi faire fonctionner la voiture en envoyant le programme informatique dans la voiture. Cependant, de cette manière, la voiture ne pourra pas être controllé et fera un trajet voulu. | ||
La communication Bluetooth étant un de nos objectif fixé, nous avons dû réaliser une application afin de pouvoir utiliser la voiture à distance. | La communication Bluetooth étant un de nos objectif fixé, nous avons dû réaliser une application afin de pouvoir utiliser la voiture à distance. | ||
== Application Bluetooth : == | == Application Bluetooth : == |
Version du 9 mai 2023 à 12:00
Projet SE3 : Premier Système
CAZIN Némo, CEGARRA Antoine, PALIFERRO Adrien
Objectifs fixés :
L'objectif principal de ce projet était de réaliser la commande d'une voiture au format 1:43 capable d'avancer et reculer à l'aie d'un programme informatique. Avant de commencer le projet, nous nous sommes fixé plusieurs petits objectif afin de mener au mieux le projet.
La voiture devait tout d'abord avancer, reculer, tourner à gauche et à droite. Des LEDs devait être allumées lorsque la voiture effectue un déplacement.
Pour la commande de la voiture, nous voulions qu'elle soit commandée grâce à une commande Bluetooth et pilotée depuis un smartphone. Une application devait alors être faites pour gérer les déplacements. MIT App Inventor permet de gérer des communications Bluetooth et est simple d'utilisation.
Afin de pouvoir implémenter toutes ses fonctionnalités, nous devions réaliser une carte électronique gérée par un microcontrôleur ATMega16u2. D'autres module devaient être ajoutés pour la bonne réalisation de nos objectifs fixés.
La carte électronique :
La réalisation de la carte électronique a débutée par la création du schéma électrique sur KICAD. Nous avons implémenté ce que nous aviosn déjà prévu (Chargeur, moteurs, microcontrolleur...), cependant, pour certaines fonctionnalités, des composants n'étaient pas disponibles dans les librairies Sparkfun disponibles.
Nous avons donc créé les schémas de ces composants, c'est-à-dire le module Bluetooth FP-BM70BLE01FC2 ainsi que le driver du moteur DRV8210DRL grâce aux informations de leurs datasheet disponible sur internet :
- Datasheet du module Bluetooth : https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/BM70_71-Bluetooth-Low-Energy-BLE-Module-DS60001372L.pdf
- Datasheet du driver du moteur : https://www.ti.com/lit/ds/slvsfy8b/slvsfy8b.pdf?ts=1683016270840&ref_url=https%253A%252F%252Fwww.google.com%252F
Au final, nous obtenons au final ce schéma correspondant :
Après avoir fait le schéma de la voiture, nous avons dû faire le routage de la carte électronique. La première chose à faire à été de prendre les côtes de la voiture afin que la carte électronique se mette bien en place dessus. De plus nous avons dû prendre les mesures des côtes du moteur continu, celui-ci va être soudé au centre de la carte et est imposant, il fallait donc prévoir la place nécessaire que le composant prendrait.
Ensuite, nous avons dû réaliser les empreintes du module Bluetooth ainsi que du driver du moteur. Les mesures figurant sur leurs datasheet respectives, nous avons réussi simplement à les reproduire. Le plus compliqué a été de repérer les pâtes des composants que nous devions utiliser. Par exemple, sur le module Bluetooth, certaines entrées n'ont pas été utilisées. Nous avons aussi utiliser et adapter les empreintes des moteurs continus et pas à pas fournis par notre professeur M.Redon.
Après cela, nous avons commencer le routage. Nous avons commencer par router la carte le plus possible sur une seule face jusqu'à ce que ne l'on puisse plus. Sinon nous utilisions des via afin de router sur l'autre face. Cependant, nous avons dû recommencer une seconde fois le routage car le premier ne nous convenait pas. Nous avons aussi demander de l'aide au professeur M.Boé afin de réaliser les plans de masse.
Voici une image du routage final de la carte électronique :
Le routage fini, nous avons passé commande afin de recevoir notre carte électronique et voici celle-ci avec aucune soudure :
Enfin, la carte étant vierge, nous devions commencer la soudure des composants. Cette partie a été très compliqué à mettre en oeuvre, car dans le groupe, aucun de nous n'avait fait de soudure dans sa vie. Nous avons donc dû apprendre à ce moment comment faire, d'où les premières soudures un peu compliquées.
Voici une photo de notre carte avec les composants soudées :
Nous avions fini la carte électronique, sa réalisation a pris la majeure partie de notre temps lors des séances. Il fallait donc ensuite réalisé un programme permettant de faire fonctionner et avancer la voiture.
Fichier ZIP de notre carte électronique : Fichier:Voiture CCP.zip
Programme de la voiture :
Le programme informatique était nécessaire pour le bon fonctionnement de la voiture, cependant comme le temps commençait à manquer, nous avons codé son programme en dehors des cours de projet.
Nous avons donc structurer notre code en plusieurs afin de le simplifier. Les premières fonctions permettent d'initialiser les entrées et les sorties du microcontrôlleur afin de bien récupérer et envoyer les bonnes informations. De plus, dans ces fonctions, nous remettons les moteurs et les leds à LOW afin d'avoir une sécurité et qu'ils ne démarrent pas à l'initialisation. Ensuite, nous retrouvons les fonctions de déplacements. Ces fonctions gèrent les moteurs lorsqu'il faut avancer, reculer, tourner à droite etc...
De plus, on retrouve une fonction permettant de récuper les informations envoyés depuis la communication Bluetooth afin de faire fonctionner la voiture à distance. Une seconde fonction permet de traiter ces informations et de faire déplacer la voiture celon l'information reçue.
Nous pouvons aussi faire fonctionner la voiture en envoyant le programme informatique dans la voiture. Cependant, de cette manière, la voiture ne pourra pas être controllé et fera un trajet voulu.
La communication Bluetooth étant un de nos objectif fixé, nous avons dû réaliser une application afin de pouvoir utiliser la voiture à distance.
Application Bluetooth :
Nous nous étions fixé comme objectif que la voiture devait être contrôlée grâce à une application Bluetooth. Nous avons alors décidé de réaliser cette application grâce au site MIT App Inventor, ce site est simple d'utilisation et permet de gérer des communications Bluetooth facilement. De plus, le temps a était investi surtout dans la carte électronique donc apprendre et programmer par nous même dans un langage de programmation nouveau aurait été compliqué pour nous.
Nous avons décider que les informations envoyées par communication Bluetooth serait sous forme hexadécimale. Le programme informatique du côté de l'ATMega16u2 recevra et traitera alors les informations reçues.
L'application devait avoir un aspect simple d'utilisation et sobre afin de faciliter l'expérience de l'utilisateur. L'application amènerait l'utilisateur sur une page permettant de choisir à quelle appareil Bluetooth se connecter. Un statut indiquant si le smartphone est connecté ou non à l'appareil est aussi présent. L'élément le plus important de la page est le bloc de déplacement, composé de 4 boutons représentant des flèches directionnelles afin de piloter la voiture.
Lorsque nous avions terminé l'application pour piloter grâce à des flèches directionnelles, nous nous sommes rendu compte que nous pourrions réaliser aussi un pilotage par gyroscope. En effet, les informations transmises pour les déplacements reste les mêmes donc du côté du programme informatique, rien ne change. Nous avons deux moyens de piloter la voiture : une par appuis sur des flèches directionnelles, et une seconde par inclinaisons du smartphone.
Voilà des captures d'écran montrant l'aspect et les fonctionnalités de l'application :
Pour réaliser cette application, il faut du code en interne, voici les codes que nous avons utilisé :
Notes :
Séance 28/02
Réalisation du PCB : Alim et chargeur à finir (faire gaffe aux deux nomenclatures)
Séance 14/03
Finition du schéma (alim, chargeur, led, port Série, Bluetooth àfinir), début routage
https://docs.rs-online.com/f3fa/0900766b81623cc8.pdf*
Séance 21/03
Schéma fini, manque des footprints à faire pour 3 composants --> routage
Séance 11/04
Routage terminé, retouche à faire (plan de masse etc..)
Séance 2/05
Réception de la carte
Rédaction du wiki et soudure