Site ELEC344/ELEC381

Partie interactive du site pédagogique ELEC344/ELEC381 de Télécom ParisTech (occurrence 2010).

Catégories

Les PCB de Pâques

Non, ils ne sont pas enc chocolat mais ils sont arrivés aujourd’hui (pour nous en tout cas et pour plusieurs autres groupes aussi je crois). Cette après-midi, nous avons d’ailleurs (entre autres) aidé Alexis à souder les composants

Voici une petite photo du joujou :


Ce soir, j’ai converti tout ce que j’avais fit sur l’IMU sur cette carte et ça c’est fait plutôt sans douleur puisqu’il suffisait de changer les affectations des pins (et encore, le Bluetooth etait branché au même endroit et il y avait juste une permutation entre les ports SPI pour l’accéléromètre et le magnétomètre). Modulo le magnéto-résistor vertical, non encore soudé sur la carte pour des raisons de fragilité,  on a donc  pour le moment les mêmes fonctionnalités que sur la carte IMU.

Pour ce qui est du Wahba, le résultat n’est toujours pas très probant mais Fernando m’a parlé d’un algorithme qui pourrait mieux nous aider que le TRIAD. Pourtant les valeurs de base semblent bonnes puisqu’avec le magnétometre seul, je détecte bien le lacet et avec l’accéléromètre seul je détecte bien le roulis/tangage. C’est la combinaison des deux (avec les noeuds au cerveau qui viennent avec, dès qu’on pense ordre des rotations dans l’espace) qui n’est pas au point.

Le fait de se voir tous les quatres après les vacances de Pâques a été aussi l’occasion de mettre tout le monde à jour, de fixer les tâches de chacun et de préparer la soutenance de demain.

STM32 un jour, STM32 toujours

Voici un petit bilan de la journée d’hier et de cette après-midi…

  • Lundi : j’ai essentiellement travaillé sur le LCD (initialisation, affichage sur une ligne, affichage sur deux lignes) ; la plupart des problèmes rencontrés étaient dus à des erreurs bêtes du type un ’3′ au lieu d’un ’2′, oubli d’activation d’une horloge… J’ai également apporté quelques légères modifications aux PCB des modules maîtres de GLiP (modification des schémas d’alimentation et du placement-routage)
  • Mardi : j’ai continué à travaillé sur le LCD (backlight en PWM) ; la gestion des interruptions est sur la bonne voie puisque j’arrive à allumer une LED par interruption en appuyant sur un bouton ; d’ici à gérer l’intensité du backlight du LCD, il n’y a qu’un pas… ou plusieurs !

PCB, LCD et python

Bilan de la journée :

Tout d’abord, concernant les PCBs pour GLiP, j’ai mis en place les plans de masse pour les PCBs des modules maîtres (XBee et Ethernet) normalement on les a terminés : la diode a été changée et les nouvelles capacités mises en places.

Puis je me suis attaqué à la carte de TP : le LCD fonctionne mais j’ai encore un petit soucis : certains caractères mis côte à côte font n’importe quoi ! Donc je suis en phase de débogage !

Enfin toujours sur GLiP j’ai repris l’intégration des délais et normalement je vais pusher sous peu une version qui permet de visualiser une animation avec les délais contenus dans le gif original.

Voilà pour la journée :) Et au dodo rapidement pour récupérer du WEED !

Gif2glip et PCB

Un petit post pour donner les avancées de ces derniers jours !

Niveau gif2glip, le problème avec l’encodage du masque est résolu et tout fonctionne, de plus les délais entre les images sont tirés du gif et encodés eux aussi. Il reste juste à configurer le module d’affichage pour qu’il prenne en compte les délais.

Après nous avons avancé et quasiment terminé les PCB des modules maîtres (ie: XBee et Ethernet). On attend le retour d’Alexis pour créer les plans de masse.

Récapitulatifs des derniers jours …

Ce weekend, j’ai repris le design de la carte pour homogénéiser un peu les composants  que les autres membres du groupe avait connectés. J’ai également commencé le placement et j’en ai fait une première version. J’attends confirmation de savoir si je suis sur la bonne voie pour le placement avant de commencer le routage.

En ce qui concerne le TP, j’ai réussi aujourd’hui à piloter le LCD, j’arrive à lui faire écrire quelque chose sur la première ligne. Comme l’a dit Fabien, ça va devenir plus compliqué à réaliser quand deux tâches voudront ecrire sur le LCD en meme temps sachant que c’est théoriquement possible si elles n’ecrivent pas au même endroit. Il va falloir utiliser les sémaphores (ou au moins un mutex) pour protéger la ressource ‘écrire sur le LCD’.

PuLSE, routage de la carte mère

Après quelques jours de boulot, voici la version finale du routage. Comme on peut le voir c’est une usine à gaz qui tient sur 10cm*7cm. Je ne pense pas qu’on puisse « facilement » faire un routage plus compact :)

si quelqu’un peut m’expliquer commennt faire pour afficher moins de texte sur les composants, je suis preneur. Le routage a été effectué en plusieurs grandes étapes :
- placement relatif des composants, essai de pistes pour relier correctement le lecteur de carte SD au processeur (c’est assez chiant)
- routage progressif et en même temps rapprochement des composants (normalement on voit ce que j’ai placé en dernier :) )
- plans de masse et d’alim
- prise en compte des contraintes de routage pour le connecteur ethernet. Ces normes sont les suivantes :
* il y a 4 pistes critiques : TPout+/-, TPin+/-. La largeur de ces pistes doit être de 0.13mm minimum, entre deux pistes différentielles, l’écart doit etre aussi 0.13mm, entre une paire différentielle et toute autre piste, il doit être de 0.5mm.
* il faut un plan de masse le moins criblé de vias possible sous les composants qui mitraillent des ondes magnétiques (pour nous les composants magnétiques sont dans le port RJ45)
* il est bien de mettre des capacités de découplage de 22pF sur chaque piste différentielle (en plus des capacités de 100nF entre). Ces capacités doivent etre placées le plus près possible des composants magnétiques
* l’impédence entre 2 pistes différentielles est de 100 ohms (+/- 1%) . Pour les leds elle est aussi de 100 ohms
* il faut que le quartz soit à moins de 12mm du controleur (de mémoire). On peut mettre une résistance de 1Mohms en parallèle du quartz.
* les capacités de découplage sur l’alim se placent près du controleur (de l’ordre de 10mm)
* il faut une distance entre les composants magnétiques et le controleur d’au moins 25mm. Je n’ai pas respecté cette contrainte parce que le port RJ45 qui contient les composants magnétiques est blindé.

voici les liens qui donnent ces contraintes :
lien 1
lien 2

Au final le résultat est ci dessous. Sur le temps passé dessus je dirais une vingtaine d’heures en tout (c’est pas très efficace mais bon…)

pcb_PuLSEv2

Wheely : placement final de la carte logique

Grâce aux conseils d’Alexis j’ai pu améliorer le placement des composants de la carte logique. J’en arrive à cette version quasi finale, qui me permet de maintenant passer au routage à proprement parler :

Mhhhh, ça va faire un beau plat de nouilles tout ça !

GLiP et schémas

Aujourd’hui j’ai essayé de faire les schémas des deux modules maîtres, je les ai mis sur le dépot. Puisque cela revenait à moins cher, on a décidé de prendre des STM32F105 pour ces modules et d’utiliser un contrôleur éthernet (le STM32F107 avait un contrôleur intégré).

Suite à la soutenance

Cet après-midi, nous trois nous sommes rencontrés pour discuter la suite du projet.

Alexandre à commencé a faire la recherche des algorithmes pour faire des calculs du mouvement des vertèbre.

Moi et Flávia, nous avons dessoudé quelques cartes du serpent de 2009 pour pouvoir faire des tests de tension d’entrée du moteur. On n’était pas sur si on pouvait mettre 3,3V ou 5V (les références n’étaient pas assez claires pour nous). On a trouvé que le servo marche bien à une entrée de 3,3V. Effectivement, c’est une entrée ttl, c’est-à-dire qu’elle accepte entre 2,2 et 5V pour le niveau haut.

En sachant cela, on a vu que si on utilise le servo en mode série, on peut mesurer le courant sans avoir besoin d’un circuit extra pour le faire. On doit juste bien relier les fils TX et RX de façon à avoir un seul fil de sortie vers le moteur.

Ensuite, j’ai mis à jour le brochage et le schéma.

GLiP et TP

Aujourd’hui, je me suis attelée au brochage des STM32 des modules maîtres : un avec le module XBee et l’autre avec éthernet.

Un problème s’est posé avec le module Ethernet : il n’est pas possible d’utiliser les 5 UARTS du STM32, mais seulement 3. Nous en avons besoin de 4 (pour les IrDA). Florent suggère que nous implémentions une UART logicielle.

Sinon, j’ai presque fini le routage du PCB du TP !