IMA4 2021/2022 EC3 : Différence entre versions

De Wiki d'activités IMA
(Travail réalisé)
 
(12 révisions intermédiaires par le même utilisateur non affichées)
Ligne 35 : Ligne 35 :
 
* Une première qui aura pour objectif le design du schematic et du routage de la carte électronique venant remplacer l'ancienne carte du BigTrack
 
* Une première qui aura pour objectif le design du schematic et du routage de la carte électronique venant remplacer l'ancienne carte du BigTrack
 
* Une seconde qui aura pour but d'implanter le code qui répondra au cahier des charges
 
* Une seconde qui aura pour but d'implanter le code qui répondra au cahier des charges
 +
 +
 +
= Implantation =
 +
[[Fichier:BigTrak.jpeg|thumb|170px|right|BigTrak de 1979]]
 +
La conception de cette carte a pour ambition de venir fournir une alternative moderne aux cartes originales du BigTrak de 1979 et du BigTrak Zeon de 2010. La nouvelle carte peut s'adapter facilement aux deux modèles grâce aux différentes alimentations disponible : 3V, 6V et 9V pour la version de 1979 et un jumper est disponible pour lier le 4,5V et le 5V pour la version de 2010.
 +
 +
De même, nous pouvons retrouver les différentes I/O des deux versions :
 +
* 1979 : lampe, HP, moteurs, 1 odomètre, clavier, IN/OUT jack
 +
* 2010 : LED "laser", HP, moteurs, 2 odomètres, clavier, OUT infrarouge
 +
 +
Trois connections supplémentaires pour des sonars ont été ajoutées.
 +
 +
 +
  
 
= Travail réalisé =
 
= Travail réalisé =
 +
 +
==Schematic==
 +
 +
[[Fichier:Schematic maj.png|thumb|right|Schematic BigTrak]]
 +
 
Le schematic de la carte se découpe en plusieurs fonctions distinctes :
 
Le schematic de la carte se découpe en plusieurs fonctions distinctes :
* Une partie gérant les différentes alimentations
+
* Une partie gérant les différentes alimentations (4,5V, 5V, 6V et 9V)
 
* Un FT232 assurant la conversion USB/Série
 
* Un FT232 assurant la conversion USB/Série
* Un Atmega328 pour traiter la partie algorithmique
+
* Un Atmega328 pour l'implémentation du code et le traitement de la partie algorithmique
 
* Un TB6612 afin de contrôler les deux moteurs
 
* Un TB6612 afin de contrôler les deux moteurs
 
* Les différentes sorties répondant au cahier des charges
 
* Les différentes sorties répondant au cahier des charges
* Un sélecteur de sonner et de commande calvier
+
* Un sélecteur de sonar et de commande clavier
 +
 
 +
 
 +
===Détails de conception===
 +
 
 +
Quelques optimisations ont pu être faite :
 +
* Alimentation du module FT232 uniquement par lors de la liaison USB avec un périphérique externe afin d'éviter une alimentation permanente venant des piles du BigTrak dans le but d'optimiser la durée de vie des piles.
 +
* Utilisation d'inverseurs pour commander les Ain et Bin avec une seule sortie et ainsi économiser des I/O du uC.
 +
* Présence d'un multiplexeur pour sélectionner un sonar et une colonne du clavier (3 lignes pour sélectionner 3 sonars et 4 colonnes).
 +
* Présence de photodiodes sur les deux ADC (ADC6 et ADC7) qui n'ont pas de fonctionnalité d'E/S pour économiser les E/S.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
==Routage PCB ==
 +
 
 +
Deux routages ont été fait pour ce schéma :
 +
 
 +
[[Fichier:Routage_BigTrak_Redon.png|300px|thumb|left|PCB M.Redon (enseignant)]] [[Fichier:MAJ PCB.png|320px|thumb|center|PCB M.Postollec (étudiant)]]
 +
 
 +
 
 +
 
 +
 
 +
==Mise en marche de la carte==
 +
 
 +
La démarche à suivre pour la mise en oeuvre de la carte fut la suivante :
 +
 
 +
* Implémentation de l'ATmega 328p et test de l'intégration du bootloader via l'ISP en utilisant la clock 8MHz interne : [http://riton-duino.blogspot.com/2019/07/montage-et-chargement-dun-atmega328p.html]
 +
* Implémentation du FTDI FT232 pour la conversion USB/série afin d'implémenter du code en se passant de l'ISP. Une erreur fut repérée, inversion de Rx et Tx : màj du schematic et du routage
 +
* Implémentation du module du moteur
 +
 
 +
[[Fichier:ATmega328p LP2022.JPG|320px|top]].                        [[Fichier:FT232 LP2022.JPG|320px|top]].                        [[Fichier:TB6612 LP 2022.JPG|320px|top]]
 +
 
 +
Voici l'étape à la quelle j'ai pu arriver suite à ces deux mois de projet. Pour résumer, le travail qu'a été fait se résume à :
 +
* Design du schematic selon un cahier des charges
 +
* Routage de la carte
 +
* Implémentation des différents éléments avec test de ces derniers
  
[[Fichier:Exemple.jpg]]
+
[[Fichier:EC LP 2022.JPG|320px|thumb|center|Carte BigTrak 2022]]
 +
MàJ du projet KiCad (V. 1.1) :
 +
* Correction de la liaison Rx/Tx
 +
* Ajout d'un jumper pour alimenter la totalité du 5V par USB lorsque la carte est branchée à un PC (J10)
 +
* Revue des pistes et des angles inférieurs ou égaux à 90°
  
 
= Documents Rendus =
 
= Documents Rendus =
 +
*Projet KiCad : [[Média:EC system 1.0.zip]]
 +
*Projet KiCad enseignant : [[Média:EC system enseignant.zip]]
 +
*MàJ projet KiCad : [[Média:EC system 1.1.zip]]

Version actuelle datée du 15 mai 2022 à 18:40

Objectif

Il vous est demandé de concevoir, réaliser et programmer une carte de contrôle de remplacement pour un jouet des années 1980 : le BigTrak.

Vous commencerez par la conception de la carte. Pour cela vous pouvez vous appuyer sur :

  • la carte de contrôle des robots réalisés en bureau d'études PeiP [1] ;
  • en remplaçant le FTDI et l'ATMega328p par un ATMega16u2 comme dans les clefs USB réalisées en bureau d'études PeiP : [2].

Votre carte de contrôle doit gérer :

  • les moteurs du BigTrak, via un contrôleur de moteur, voir la carte contrôleur PeiP ;
  • la LED et la photodiode de l'encodeur sur les moteurs ;
  • le haut-parleur ;
  • la lampe de "tir" ;
  • l'entrée et la sortie pour les extensions.

Par la suite il convient de réaliser et de tester la carte de contrôle.

Enfin vous aurez à écrire deux programmes. Un programme pour la carte de contrôle et un programme pour télécharger, par USB, les actions à faire exécuter par le BigTrak.

Le programme de contrôle doit utiliser la LUFA. La carte de contrôle doit apparaître comme un périphérique USB avec une interface de type interruption pour le transfert des actions que le BigTrak doit réaliser. Les actions à reproduire sont :

  • tir (avec un nombre de coups à préciser) ;
  • avancer ou reculer (d'un nombre de tours de roues à préciser) ;
  • tourner à droite ou à gauche (d'un nombre de degrés à préciser) ;
  • déclencher la commande de l'accessoire (OUT) ;
  • sauter l'instruction suivante si l'accessoire est actif (IN).

Les actions sont stockées en mémoire et après un petit temps d'attendre le programme de contrôle réalise ces actions puis se met en veille.

Le programme de téléchargement permet à un utilisateur de taper une liste d'action puis transfère cette liste à la carte de contrôle. Ce programme utilise la libusb.

Planning Prévisionnel

Le projet se décompose en deux étapes distinctes :

  • Une première qui aura pour objectif le design du schematic et du routage de la carte électronique venant remplacer l'ancienne carte du BigTrack
  • Une seconde qui aura pour but d'implanter le code qui répondra au cahier des charges


Implantation

BigTrak de 1979

La conception de cette carte a pour ambition de venir fournir une alternative moderne aux cartes originales du BigTrak de 1979 et du BigTrak Zeon de 2010. La nouvelle carte peut s'adapter facilement aux deux modèles grâce aux différentes alimentations disponible : 3V, 6V et 9V pour la version de 1979 et un jumper est disponible pour lier le 4,5V et le 5V pour la version de 2010.

De même, nous pouvons retrouver les différentes I/O des deux versions :

  • 1979 : lampe, HP, moteurs, 1 odomètre, clavier, IN/OUT jack
  • 2010 : LED "laser", HP, moteurs, 2 odomètres, clavier, OUT infrarouge

Trois connections supplémentaires pour des sonars ont été ajoutées.



Travail réalisé

Schematic

Schematic BigTrak

Le schematic de la carte se découpe en plusieurs fonctions distinctes :

  • Une partie gérant les différentes alimentations (4,5V, 5V, 6V et 9V)
  • Un FT232 assurant la conversion USB/Série
  • Un Atmega328 pour l'implémentation du code et le traitement de la partie algorithmique
  • Un TB6612 afin de contrôler les deux moteurs
  • Les différentes sorties répondant au cahier des charges
  • Un sélecteur de sonar et de commande clavier


Détails de conception

Quelques optimisations ont pu être faite :

  • Alimentation du module FT232 uniquement par lors de la liaison USB avec un périphérique externe afin d'éviter une alimentation permanente venant des piles du BigTrak dans le but d'optimiser la durée de vie des piles.
  • Utilisation d'inverseurs pour commander les Ain et Bin avec une seule sortie et ainsi économiser des I/O du uC.
  • Présence d'un multiplexeur pour sélectionner un sonar et une colonne du clavier (3 lignes pour sélectionner 3 sonars et 4 colonnes).
  • Présence de photodiodes sur les deux ADC (ADC6 et ADC7) qui n'ont pas de fonctionnalité d'E/S pour économiser les E/S.



Routage PCB

Deux routages ont été fait pour ce schéma :

PCB M.Redon (enseignant)
PCB M.Postollec (étudiant)



Mise en marche de la carte

La démarche à suivre pour la mise en oeuvre de la carte fut la suivante :

  • Implémentation de l'ATmega 328p et test de l'intégration du bootloader via l'ISP en utilisant la clock 8MHz interne : [3]
  • Implémentation du FTDI FT232 pour la conversion USB/série afin d'implémenter du code en se passant de l'ISP. Une erreur fut repérée, inversion de Rx et Tx : màj du schematic et du routage
  • Implémentation du module du moteur

ATmega328p LP2022.JPG. FT232 LP2022.JPG. TB6612 LP 2022.JPG

Voici l'étape à la quelle j'ai pu arriver suite à ces deux mois de projet. Pour résumer, le travail qu'a été fait se résume à :

  • Design du schematic selon un cahier des charges
  • Routage de la carte
  • Implémentation des différents éléments avec test de ces derniers
Carte BigTrak 2022

MàJ du projet KiCad (V. 1.1) :

  • Correction de la liaison Rx/Tx
  • Ajout d'un jumper pour alimenter la totalité du 5V par USB lorsque la carte est branchée à un PC (J10)
  • Revue des pistes et des angles inférieurs ou égaux à 90°

Documents Rendus