Projet PIC : Différence entre versions
(→Schéma et board) |
(→Voici la carte :) |
||
Ligne 138 : | Ligne 138 : | ||
=== Voici la carte : === | === Voici la carte : === | ||
− | [[Fichier:Plaqueer.png|| | + | [[Fichier:Plaqueer.png||100px]] |
− | On peut y voir l'emplacement ou se connecte le microcontrôleur celui-ci est placé sur un support tulipe afin de pouvoir l'enlever facilement pour le programmer. Juste au dessus on remarque un emplacement pour placer notre connecteur. Nous avons fait le choix de mettre deux cosses poignard afin de brancher l'alimentation et la masse plus facilement. | + | On peut y voir l'emplacement ou se connecte le microcontrôleur en rouge foncé celui-ci est placé sur un support tulipe afin de pouvoir l'enlever facilement pour le programmer. Juste au dessus on remarque un emplacement en rouge pour placer notre connecteur. Nous avons fait le choix de mettre deux cosses poignard en bleu afin de brancher l'alimentation et la masse plus facilement. Nous pouvons aussi ajouter un interrupteur dans l'emplacement jaune |
== Évaluation des coûts == | == Évaluation des coûts == |
Version actuelle datée du 2 avril 2015 à 18:06
Sommaire
Présentation
Notre objectif est de réaliser une carte électronique capable de tester les connexions entres les ports d'un connecteur d'usage industriel destiné à charger des casques de pompiers.
Avant de commencer à travailler sur le projet nous avons débuter par prendre le langage PIC en main ainsi que le logiciel MPLABX. Nous avons fait plusieurs petit programme. Nous avons aussi réussi a utiliser un écran LCD.
Pour programmer les microcontrôleurs nous utilisons une carte de démonstration.
Ici la picdem2+. Elle est composé d'une horloge quartz, d'un écran LCD, d'un bippeur, de deux bouton poussoir et de quatre leds. Elle utilise un boîtier ICD3 pour faire le lien entre le logiciel sur l'ordinateur et la carte.
Description du projet
Cahier des charges
Le commanditaire Mr Tisseront, dirigeant de la société A R Systems, a réalisé des casques de pompiers communiquant par bluetooth. Seulement il y a eu quelques problèmes électriques concernant les ports du connecteur du chargeur des casques. Le but est de réaliser une carte avec un micro contrôleur pic16f628A contenant notre programme. Celui-ci test tour à tour des connexions et doit vérifier qu'elles ne communiquent pas ensemble. Si cela marche correctement une LED verte indiquant le bon fonctionnement s'allume et si il y'a une erreur une LED de couleur rouge indique une anomalie.
Voici le connecteur que nous utilisons :
Le choix du matériel et logiciel
Notre projet nécessite un microcontrôleur PIC. Avec les conseil de notre professeur nous avons choisi d'utiliser un microcontrôleur pic16f628A. Il est nécessaire de nous informer du bon fonctionnement ou non du matériel nous utiliserons donc 2 leds (1 rouge pour signaler une erreur et 1 verte pour avertir que la carte fonctionne et qu'il n'y ait aucun problème électrique), 1 bouton poussoir pour lancer le test, ainsi que des composant nécessaire a la fabrication d'une carte électronique
Qu'est ce que le PIC
Les "PIC" forment une famille de microcontrôleur de la firme "Microchip".
Microchip est un fabricant de composant semi-conducteur depuis 1989. Cette entreprise produit les PICs, des composant KEELOQ ainsi que des composant de radiofréquence...
Les PICs sont des microcontrôleur auquel des périphériques internes on été ajouté qui leurs permettent un fonctionnement autonome sur un montage électrique.
Ces microcontrôleur sont équipé de mémoire FLASH, de mémoire SRAM ainsi que de mémoire E2PROM. Ils sont aussi composé de port d'entrée et de sortie, d'une horloge et pour les modèles les plus récents de port USB ainsi qu'Ethernet.
Voici un PIC 16f628a :
MPLABX
MPLABX est un logiciel libre de développement utilisé pour programmer les microcontrôleurs PIC. Il utilise un éditeur ainsi qu'un assembleur. Il permet la programmation d'application embarqué. Ce logiciel est capable de compiler un programme en Assembleur ou en C.
MPLABX est la dernière version des logiciel MPLAB il permet de programmer des microcontrôleur en 8,16 et 32 bits.
Eagle
Cela fait maintenant plus d'un an que nous utilisons ce logiciel qui nous permet de créer des schéma électrique ainsi que des routages. Il permet aussi de créer ses propres composants.
Semestre 3 : L'étude
Étudions le fonctionnement de notre projet
Le principe de fonctionnement est le suivant :
Lorsqu'une personne appuie sur le bouton poussoir le programme envoi sur une patte un niveau logique 1 et vérifie que sur les autres pattes le niveau logique reçu est à 0. Puis il recommence cette action avec un autre pattes et ainsi de suite jusqu'à avoir testé les 6 bornes du connecteurs. Lorsque tout est correcte une LED verte s'allume pour indiquer le bon fonctionnement. Lorsqu'une anomalie est détectée une LED rouge s'allume.
Nous avons donc le diagramme de séquence suivant :
Étudions l'architecture de notre pic16f628a
Avant la réalisation du projet il est nécessaire d'étudier les caractéristique du microcontrôleur.
Le pic 16f628a est composé de 18 pattes dont deux ports (PORTA et PORTB). Sur ces 18 pattes 2 pattes sont utilisé pour l'alimentation et la masse. Nous utilisons 6 pattes sur le PORTA pour brancher notre connecteur.Les trois premiers bits du PORTB sont destiné au bouton poussoir et aux leds. Nous utiliserons un interrupteur sur la patte d'alimentation pour mettre en marche ou éteindre le circuit.
Voici l'architecture de notre microcontrôleur. On peut y voir les ports que nous allons utiliser.
L'Etude électrique
Nous pouvons a présent visualiser les composants nécessaire au projet.
- Un bouton poussoir
- Un microcontrôleur pic16f628a
- Deux leds ( verte et rouge )
- un interrupteur
- Des résistances
- Un connecteur
Il faut aussi travailler sur la consommation électrique pour que celle-ci soit la plus faible possible.
Voici les deux cas possible pour brancher les leds :
Grâce a ce schéma on peut voir que le premier cas est le meilleur. Ce montage nécessite de mettre un niveau logique 0 sur le port où est branché la led pour l'allumer.
Semestre 4 : Réalisation
Nous avons fait une carte qui doit être petite et pratique. Nous utilisons les connaissances acquise au cours de notre enseignement de Compatibilité électromagnétique pour réaliser une carte de bonne qualité. Nous devons donc éviter de créer des boucles sur la carte, diminuer les consommations électrique et diminuer le coût de la carte.
Nous avons aussi créer des composants en particulier le connecteur.
Répartition du temps :
Les ressources humaines :
- Nicolas : Réalisation et tests
- Ismail : Programmation et tests
Les ressources matériel :
- Alimentation 5 volts
- Kit Picdem 2+
- fils et grips fils
Schéma et board
Voici le schéma électrique:
Voici le Board :
Voici la carte :
On peut y voir l'emplacement ou se connecte le microcontrôleur en rouge foncé celui-ci est placé sur un support tulipe afin de pouvoir l'enlever facilement pour le programmer. Juste au dessus on remarque un emplacement en rouge pour placer notre connecteur. Nous avons fait le choix de mettre deux cosses poignard en bleu afin de brancher l'alimentation et la masse plus facilement. Nous pouvons aussi ajouter un interrupteur dans l'emplacement jaune
Évaluation des coûts
Nous avons évalué le coûts des composants de la carte :
Partie programmation
Première approche du logiciel
Les premières semaines ont permis de se familiariser avec l'environnement MPLAB X IDE.Nous avons utilisé un pic 18f4520 avec l'environnement ICD3 pour tester les fonctions d'un microcontrôleur PIC.Ce logiciel utilise un compilateur C spécifique à chaque famille de pic(10f,12f,16f,18f,etc..). Nous avons utilisé le compilateur HI-TECH qui est compatible avec les microcontrôleurs pic des familles 10,12 et 16.
Programme et description
Le but du programme est de tester chaque entrée du Port A et vérifier que chaque entrée soit libre pour qu'il n' y ait pas de court circuit entre chaque entrée. Lorsque l'utilisateur appuie sur le bouton poussoir, on commence par mettre une entrée à 1 puis on vérifie chacun des ports pour s'assurer qu'ils soient à 0. En même temps que le test, on effectue un masque pour forcer à 0 tous les bits non concernés dans le test qu'on réalise. Si le test est faux, la variable 'erreur' est décalée de 1 vers la gauche à chaque test. Dans ce cas, une led rouge s'allumera pour avertir l'utilisateur. Ensuite si tout les tests sont passés avec succès, on allume la led verte relié au port RB1 du connecteur.
Tests et modification
Une fois la carte soudée nous avons testé nos programmes afin de voir si elle fonctionnait correctement et sinon, essayer de l'améliorer.
Les problèmes rencontré
Au cours de nos différents tests nous avons été confronté a certains problèmes plus ou moins important.
Problème 1 : Les fusibles
Nous avons eu un problème qui a engendrer de nombreuses heures de travail. En effet notre carte n'est pas équipé d'un quartz. Nous avons donc utiliser le quartz interne du microcontrôleur. Selon les compilateurs le réglage des fusible pour l'utiliser se fait différemment. Pour ce problème Mr Moutou nous a aidé. Nous estimons une perte de temps d'environ 4 à 8 heures.
Problème 2 : Le board
- Nous avons été obliger de gratter plusieurs pistes de la carte car elles étaient reliée ensemble.
- Nous avions un interrupteur qui provoquait une chute de tension de 2.5 volts. Le microcontrôleur était sous alimenté et ne fonctionnait pas correctement.
- Nous avons malencontreusement utilisé la patte reset du microcontrôleur et il a été nécessaire de couper une piste et de la relier à une autre patte du pic.
- Nous avons ajouter une résistance entre la masse et la patte du microcontrôleur ou est connecter le bouton poussoir.
Conclusion
Ce projet nous a appris beaucoup de choses, notamment l'importance du travail en équipe, la répartition des tâches et la résolution d'un problème. De plus, avec un cahier des charges réel, il est plus facile de s'imprégner de la tâche à réaliser. Nous tenons à remercier Mr Moutou, l'ensemble des professeurs de GEII, ainsi qu' Alexandre du magasin, pour le bon déroulement de nos séances de projet.