Projet PIC : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Voici la carte :)
 
(36 révisions intermédiaires par le même utilisateur non affichées)
Ligne 23 : Ligne 23 :
 
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.
 
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.
 
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 :
 +
 +
 +
[[Fichier:Connecteur pic.jpg|200px]]
 +
 +
 +
  
 
====  Le choix du matériel et logiciel ====
 
====  Le choix du matériel et logiciel ====
Ligne 53 : Ligne 61 :
 
Il permet aussi de créer ses propres composants.
 
Il permet aussi de créer ses propres composants.
  
= L'étude =
+
= Semestre 3 : L'étude =
  
 
=== Étudions le fonctionnement de notre projet ===  
 
=== Étudions le fonctionnement de notre projet ===  
Ligne 98 : Ligne 106 :
 
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.
 
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: =
+
Semestre 4 : Réalisation =
  
 
Nous avons fait une carte qui doit être petite et pratique.
 
Nous avons fait une carte qui doit être petite et pratique.
Ligne 105 : Ligne 113 :
 
Nous avons aussi créer des composants en particulier le connecteur.
 
Nous avons aussi créer des composants en particulier le connecteur.
  
Voici le schéma électrique:
+
== Répartition du temps : ==
 +
 
 +
[[Fichier:Gantpic.png|800px]]
 +
 
 +
=== 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: ===
  
 
[[Fichier:Schpic.png|400px]]
 
[[Fichier:Schpic.png|400px]]
  
 +
=== Voici le Board : ===
  
 +
[[Fichier:Brdpic.png||400px]]
  
Voici le Board :
+
=== Voici la carte : ===
  
[[Fichier:Brdpic.png||400px]]
+
[[Fichier:Plaqueer.png||100px]]
 +
 
 +
 
 +
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 évaluer le coûts des composants de la carte :
+
Nous avons évalué le coûts des composants de la carte :
  
 
[[Fichier:Coutpic.png|400px]]
 
[[Fichier:Coutpic.png|400px]]
  
 
=Partie programmation=
 
=Partie programmation=
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.
+
 
 +
===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.  
 
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).
+
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.
 
Ensuite si tout les tests sont passés avec succès, on allume la led verte relié au port RB1 du connecteur.
[[Fichier:Prog15.png||800px]]
 
  
=Conclusion =
+
[[Fichier:Programme_v1.png|600px]]
 +
 
 +
= 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.  
 
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.  
 
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.
 
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.

Version actuelle datée du 2 avril 2015 à 18:06


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.


Pdmplus2.jpg

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 :


Connecteur pic.jpg



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 :

Pic16f628a.png

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 :

Séquencepic.png

É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.

Architectureetport.png

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 :

Consoled.png

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 :

Gantpic.png

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:

Schpic.png

Voici le Board :

Brdpic.png

Voici la carte :

Plaqueer.png


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 :

Coutpic.png

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.

Programme v1.png

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.