Projet PIC
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.
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.
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.
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.
Voici le schéma électrique:
Voici le Board :
Nous avons évaluer 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 réalisé un programme réalisant un chenillard avec les leds de la carte. 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. Comme on peut le voir dans le programme, par exemple on teste tout d'abord la première entrée (0x01), nous avons donc testé si l'entrée était différente de (0xFE), ce qui revient au même. Si l'entrée est libre, alors on teste la suivante, ici (0x02). Ensuite si tout les tests sont passés avec succès, on allume la led verte relié au port RB1 du connecteur.
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.