PIC®LAB

Prototype dont l'inversion DATA et CLK a été corrigée par un CMS 0 ohm sur la plaquette de liaison. Correction faite sur le dessin du CI présenté plus loin.

     Pourquoi choisir MICROCHIP plutôt qu'AVR ou autres ?

     Ce sont souvent les premières réalisations à base de microprocesseurs qui orientent le choix. D'abord on se contente de les programmer grâce au fichier HEX fourni par l'auteur, puis vient l'envie d'écrire des programmes pour ses propres réalisations.

     C'est ce cheminement, dont le but n'est pas encore atteint, que nous allons décrire ici. De simples idées que chacun pourra mettre à profit pour son compte.

     La première opération est de réaliser un programmateur. Le choix est large mais le résultat n'est pas toujours au rendez-vous.

     Pour rester dans la philosophie "amateur", nous allons chercher d'abord les solutions les plus simples.
     Elles passent par l'utilisation des ports parallèle (LPT) et série (RS232) des PC.
     D'aucun auront remarqué que ces ports ont disparu de nos ordinateurs, en particulier des portables, au profit de l'USB. Par contre un vieil ordinateur de bureau (se méfier de certains portables dont les tensions sur le port série sont plus faibles) fera l'affaire. Oubliez également les convertisseurs USB-RS232, ça ne convient pas dans cette application particulière.

     Devant ces contraintes, le plus simple est de s'orienter vers un programmateur utilisant le port USB. En dehors d'être présent sur tous les ordinateurs, il fournit en plus une tension de 5 Volts convenant parfaitement à l'alimentation du PIC à programmer et à fortiori pour les PIC en 3,3 V. Mais, me direz-vous, il faut aussi du 12 V pour le VPP. Qu'à cela ne tienne, un petit convertisseur élévateur fera l'affaire.

     Comme il n'est pas question de réinventer la roue, cette réalisation est un clone du PICkit2 de MICROCHIP. Par bonheur, cette société donne à la communauté les plans de son programmateur et également le firmware à intégrer dans le microcontrôleur, cœur de ce montage.

     Le PICkit2 (qui n'est plus vendu par MICROCHIP depuis la sortie du PICkit3, puis du 4) est un montage compact, entièrement composé de CMS. Comme il est très difficile de faire une copie à cette échelle, nous avons repris le montage original en ne gardant en CMS 1206 que les résistances et les condensateurs et en remplaçant les transistors par des équivalents classiques.

 

SCHÉMA DU PROGRAMMATEUR

     C'est la copie conforme de celui de MICROCHIP à l'exception des EEPROMs dont l'accès se fera, si nécessaire, par un connecteur prévu sur la carte. Celle-ci est en double face à trous non métallisés, donc il est nécessaire de faire quelques soudures côté composants.


Côté composants, cuivre par transparence


Face côté composants

 

     Il est aussi possible de faire plus simple tout en gardant la possibilité de programmer certains PIC qui fonctionnent en 3,3 volts. Le schéma est le suivant :

     Le circuit imprimé en double face :

 

     Le tout fixé sur une plaque d'aluminium :

 

SUPPORT  UNIVERSEL  DE  PROGRAMMATION

     Associé à ce programmateur, un support universel permet de programmer tous les PIC (sauf peut-être certains des plus récents). Il fait appel à un support TEXTOOL 40 broches à force d'insertion nulle.
     Ce type de support est en principe assez coûteux (env. 25 euros) mais on le trouve à moins de 1 euro port compris par 5 pièces sur eBay. Venant de Chine et estampillés 3M, il s'agit très probablement d'une contrefaçon !



  

 

RÉALISATION

     Le firmware à flasher dans le PIC 18F2550 (PK2V023200.HEX) se trouve sur le site de MICROCHIP ainsi que le logiciel (v2.61) à installer sur le PC. Un "User Guide" très complet est également disponible. Il n'y a pas de driver à installer, à l'ouverture du logiciel, le programmateur est reconnu. En cas de problème, il y a un outil de diagnostique (dans Tools/Troubleshoot...) et un outil de calibration (Tools/Calibrate Vdd & Set Unit ID) avec lequel on pourra même personnaliser son logiciel !


 

LA PLATINE D'ESSAI

      Convaincu qu'il faut bien se résoudre à se mettre un jour à la programmation des PIC, nous débutons par une petite platine qui va permettre, avec un microcontrôleur de moyenne gamme et très courant, de faire des petits programmes de gestion des entrées analogiques et digitales et de la communication avec l'extérieur.

     Nous avons jeté notre dévolu sur :

Pour la partie 'Hard" :

     - Un 18F2520 qui a remplacé le 16F876A de la première version. En effet celui-ci est moins performant et semble obsolète d'après MIROCHIP. Ces deux circuits sont compatibles broche à broche. Le 2550, au brochage identique, n'a pas de port RC3 (inutilisé dans notre application). 
     - Un programmateur dédié, version très épurée et minimale du PICkit2 décrit précédemment.

Pour la partie "Soft", au choix :

     - L'interpréteur-compilateur-éditeur gratuit JAL (Just Another Language) en open source et qui dispose d'une bonne bibliothèque pour gérer les LCD, I2C, RS232, PWM, etc. C'est du simili-Pascal.
     - Le mikroBasic de MIKROELEKTRONIKA, en version d'essai limitée par la taille du fichier HEX mais pas par les fonctions disponibles et permettant déjà de faire des programmes intéressants

 

     DESCRIPTIONS & SCHÉMAS

    LE PROGRAMMATEUR :

    C'est la version "superLite" du PICkit2, juste ce qu'il faut pour programmer le PIC 16F2520 de la platine PICLAB.

     Ci-dessous, le schéma et le circuit imprimé côté composants (côté soudures par transparence) :

 

     LA PLATINE D'ESSAI PICLAB :

     Pour rendre ce montage "universel", il dispose d'un afficheur 2 lignes de 16 caractères, de 2 boutons poussoirs pour les tests digitaux, deux potentiomètres pour l'analogique, deux LEDs et un convertisseur TTL/CMOS - RS232 pour les tests de communication. Un connecteur ICSP pour la programmation et un connecteur pour le port non utilisé, complètent le circuit.
     On a également prévu un interrupteur S1 qui peut éviter au programmateur d'alimenter le montage pendant la programmation.

     Ci-dessous, le schéma et le circuit imprimé côté composants :


Vue côté composants


Implantation des commandes
 

     L'interrupteur S1 sert à isoler ou à alimenter le montage par le programmateur. Dans notre cas, c'est le programmateur qui alimente PICLAB, l'intensité consommée étant compatible avec les possibilités d'un port USB (500 mA max.).

     Voilà, maintenant il n'y a plus qu'à...

 RETOUR ACCUEIL