« SE3Binome2023-8 » : différence entre les versions

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


- Allumer toutes les LEDs ( pour savoir si on doit aller passer chez le garagiste )
- Allumer toutes les LEDs ( pour savoir si on doit aller passer chez le garagiste )
[[Fichier:Capture d'écran 2024-06-12 224905.png|gauche|vignette|Fonction d'initialisation des registres]]
Tous d'abord, nous avons dû  initialiser nos registres, en mettant un 1 pour les Outputs et un 0 pour les Inputs, pour les Inputs on doit rajouter une résistance  pour éviter un état de haut impédance en envoyant un 1 avec PORTx.
==Programmation via libusb==
==Programmation via libusb==

Version du 12 juin 2024 à 20:59

Préambule

Ce projet consiste à réaliser une voiture autonome propulsée par deux moteurs pilotés par un Atmega16u4 et un TB6612FNG.

Objectifs

La voiture doit respecter certains critères qui sont:

  • Posséder des LEDs en guise de clignotants.
  • Pouvoir être alimentée par port USB.
  • Pouvoir être alimenté par une batterie.
  • Avoir un mode autonome où elle exécute un programme qui la fait avancer et tourner.
  • Avoir un mode où elle est commandé par un PC.
  • Les deux modes doivent être des programmes différents qu'on téléverse selon le mode qu'on veut.

Étapes

Les différentes tâches à accomplir sont :

  • Concevoir un PCB
  • Braser les composants
  • Programmer la carte en DFU
  • Programmer la carte avec la libusb

Concevoir un PCB

KICAD

Le PCB a été conçu sur Kicad. Les schématiques qui étaient déjà fourni sont: les connecteurs USB, ISP, moteurs; l'Atmega et le chargeur. On les ai complété pour qu'ils soient connectés, rajouté les LEDs et le connecteur pour changer de mode d'alimentation.

Schématique du PCB
Fichier SVG de la couche en arrière plan
Capture d'écran du PCB
Fichier SVG de la couche en premier plan

Fichier du PCB

Le projet peut être retrouvé ici: Fichier:Kicad Voiture.zip

Brasure des composants

Pendant la brasure

La brasure s'est passée sans gros soucis, on est arrivé au bout de la brasure sans avoir à changer de PCB.

On peut toutes fois mentionner le fait d'avoir mis une résistance juste devant le connecteur batterie, ce qui réduisait la tension de délivrer, qui obstrué le connecteur. On a été contraint de souder le connecteur à l'arrière du PCB.

De même, l'empreinte de la diode D1 a été mal choisie, on a donc décidé de raccorder les deux bornes avec de l'étain en faisant attention dans le futur à ne pas brancher l'USB et la batterie en même temps.

De plus, les résistances R13 et R14 gêné le bon fonctionnement de la batterie et du chargeur Lipo, par exemple le résistance R13 réduisait la tension délivré par la batterie, qui devenait trop faible pour alimenter la carte. Pour y remédier, nous avons donc brasé des résistances de 0 ohm.

Le Label Chargement était aussi inutile et même cause de court-circuit, nous avons donc dû couper la piste.

Après la brasure

Après avoir brasé le PCB bloc par bloc en vérifiant si chaque blocs fonctionnent correctement avant de passer au suivant, on a brasé tous les composants, sauf les capacités de découplage C10 et C11, et tout fonctionne.

Photo du PCB brasé

Programmer la carte

La programmation de la carte est composée de 2 parties, la partie programmation en DFU et programmation partie la libusb.

Programmation en DFU

Pour cette partie, nous allons créer un programme qui fait 5 actions :

- Avancer

- Reculer et mettre les feux arrière ( car nous respectons les autres usagers de la route )

- Tourner à droite et mettre les clignotants ( car nous avons encore tous nos points sur nos permis de conduire )

- Tourner à gauche et mettre les clignotants ( car nous respectons le code de la route )

- Allumer toutes les LEDs ( pour savoir si on doit aller passer chez le garagiste )

Fonction d'initialisation des registres


Tous d'abord, nous avons dû initialiser nos registres, en mettant un 1 pour les Outputs et un 0 pour les Inputs, pour les Inputs on doit rajouter une résistance pour éviter un état de haut impédance en envoyant un 1 avec PORTx.





Programmation via libusb