Schema et realisation d'un programmateur de PIC universel

Le programmateur que je vous propose de réaliser peut programmer tous les circuits PIC acceptant la programmation série en circuit ou ICSP c'est à dire tous les PIC 12Cxxx, 16Cxxx et 16Fxxx existants et à venir. Les seuls circuits qu'il ne puisse pas programmer sont les vieux 16C54, 16C56 et 16C57 à programmation parallèle, qui sont en voie de disparition. Il se connecte sur le port parallèle de tout compatible PC fonctionnant au moins sous Windows 95 encore que des versions DOS de son logiciel de commande existent sur Internet. Il nécessite une alimentation, qui peut être continue ou alternative, comprise entre 12 et 30 volts, et qui n'a pas besoin d'être stabilisée. Un bloc secteur "prise de courant " ou n'importe quelle alimentation de laboratoire peut donc convenir d'autant que le débit nécessaire est inférieur  à 100 mA. Compte tenu des performances de son logiciel de commande, il peut lire, vérifier, programmer et comparer les PIC sans aucune restriction, de même qu'il sait lire et programmer leurs " fusibles " de configuration. Il sait aussi effacer les circuits munis de mémoire de type EEPROM et permet l'accès à  la mémoire de données des circuits dotés d'une telle mémoire lorsqu'elle est en technologie EEPROM également. Autant dire qu'il est vraiment complet.


Schéma du programmateur de PIC universel

Mon programmateur se connecte sur le port parallèle du PC et son schéma complet est visible sur la figure ci-dessous.
Les signaux d'un port parallèle étant aux normes TTL et étant " maltraités " par leur voyage sur des câbles de liaison, ils sont remis en forme par les inverseurs contenus dans IC1. Comme ce circuit dispose de sorties à collecteurs ouverts il permet une commande facile des trois transistors T1, T2 et T3. T1 et T2 permettent l'application de la haute tension de programmation VPP aux pattes adéquates du support universel du programmateur. T3 commande la tension d'alimentation normale VDD, appliquée également au support universel. 

 
Ceci permet de n'alimenter le circuit à programmer que lorsque c'est vraiment nécessaire et d'éviter ainsi tout problème lors son insertion ou de son extraction du support de programmation. Deux LED rouges, D1 et D2, indiquent la présence des tensions sur le support. D3 quant à elle s'allume tout simplement lorsque le programmateur est sous tension afin de signaler le bon fonctionnement de l'alimentation.
Les données à programmer transitent par IC1a tandis qu'elles passent par IC1b lors d'une relecture du circuit. L'horloge de programmation passe par IC1c. Le support destiné à recevoir les circuits à programmer est un modèle 40 pattes un peu spécial de façon à pouvoir recevoir les PIC en boîtiers : 8, 18, 20, 28 et 40 pattes. Le câblage des différentes alimentations, de la ligne de données et de la ligne d'horloge est réalisé conformément aux brochages des différents circuits.
L'alimentation du programmateur est simple mais très tolérante. Deux tensions stabilisées sont nécessaires : 5 volts pour VDD et 13 volts pour la tension de programmation VPP. IC2 qui est un 78L05 se charge du 5 volts tandis que IC3, qui est un 78L08, produit le 13 volts car il n'est pas référencé à la masse mais à la sortie de IC2 et produit ainsi 5 + 8 soit 13 volts ! Afin d'accepter n'importe quelle source externe, les régulateurs sont précédés d'un filtrage généreux et d'un pont redresseur. On peut appliquer sur J1 toute tension alternative comprise entre 12 et 20 volts ou comprise entre 16 et 30 volts. Le débit nécessaire n'est que de 100 mA environ.

Réalisation du programmateur de PIC universel

L'approvisionnement des composants ne pose aucun problème mais lisez ce texte en entier avant d'acheter car deux options sont possibles au niveau du support de programmation.

circuit imprimé


Nomenclature des composants

Semi-conducteurs
IC1 : 7406 ou 74LS06
IC2 : 78L05
IC3 : 78L08
PT1 : pont moulé 100 volts 1 ampère
D1, D2 : LED rouge de 5 mm
D3 : LED verte de 5 mm
T1, T2, T3 : BC 557, 558, 559
Résistances 1/2 ou 1/4 de watt 5 %
R1, R2, R3, R4, R5, R6 : 4,7 kohms( (jaune, violet, rouge)
R7 : 680 ohms (bleu, gris, marron)
R8 : 1 kohm (marron, noir, rouge)
R9, R10, R11 : 10 kohms (marron, noir, orange)
Divers
J1 : jack mâle 2,1 mm pour circuit imprimé
J2 : connecteur Centronics femelle coudé à 90° pour circuit imprimé
Support de CI : 1 x 14 pattes
Support de programmation, option économique : 1 x 8 pattes, 1 x 20 pattes, 2 x bandes à souder 40 pattes, tout en contacts tulipes.
Support de programmation, option " pro " : 1 support 3M (Textool) référence 240-6182-00-0605
Condensateurs
C1 : 470 µF 35 volts chimique radial
C2, C3 : 100 nF mylar
C4 : 330 pF céramique
 

Le montage des composants est à faire dans l'ordre classique : supports de composants, composants passifs, en faisant attention au sens des chimiques, puis composants actifs. Pour le support de programmation, je vous propose deux solutions :
  • La plus économique consiste à monter, comme sur la photo visible sur ce site, plusieurs supports tulipes imbriqués les uns dans les autres. Ils peuvent ainsi recevoir tous les types de boîtiers de PIC mais ne supportent pas d'insertions et d'extractions de circuits répétées et fréquentes.
     
  • La plus efficace consiste à utiliser un support à force d'insertion nulle. Mais attention, il ne faut pas utiliser un support ZIF à 40 pattes standard car ils ne peuvent pas recevoir les circuits DIL en boîtier 8, 18 et 20 pattes parce qu'ils sont trop " étroits " par rapport aux boîtiers à 28 et 40 pattes. Il faut utiliser un support ZIF de la marque 3M, référence 240-6182-00-0605 ou un équivalent exact. Ce support coûte hélas à lui seul aussi cher que tous les autres composants du programmateur.
Si vous utilisez ce support ZIF, soudez-le sur l'emplacement à 40 pattes prévu à cet effet. Dans le cas contraire, soudez un support tulipe 20 pattes en partie centrale basse de l'emplacement à  40 pattes ; un support tulipe 8 pattes dans la partie centrale haute de ce même emplacement et deux bandes à souder à contacts tulipes de 20 pattes chacune de part et d'autre de ces deux supports.

Logiciel du programmateur de PIC universel

Compte tenu du schéma que j'ai utilisé, quasiment tous les logiciels disponibles sur Internet pour les programmateurs de PIC sur port parallèle sont utilisables. Je vous conseille l'excellent "IC-Prog" de Bonny Gijzen que vous pouvez télécharger en cliquant sur ce lien.
Raccordez votre programmateur à la place de votre imprimante grâce à la prise Centronics dont il est muni et décompressez le fichier dans le répertoire de votre choix. Lancez alors l'exécution du programme ainsi obtenu qui installera le programmateur sur votre PC. Choisissez la langue française lorsque cela vous est proposé et paramétrez ensuite le logiciel conformément à mon schéma en utilisant la recopie d'écran ci-dessous à savoir :
  • Programmateur  = ProPic 2 Programmer.
  • Port = Celui sur lequel vous aurez connecté le montage.
  • Interface = Direct I/O
  • Inversion de : Data Out, Data In et Clock
Il ne vous reste plus qu'à utiliser le programme dont le mode d'emploi se passe de commentaire puisque tous les menus sont en Français.
Mais ATTENTION !!! n'utilisez pas les indications de position de composants sur le support 40 pattes fournies par le programmateur. Servez-vous exclusivement de la figure ci-dessous.

  

3 commentaires:

  1. cherche logiciel compatible a ce programmateur

    RépondreSupprimer
  2. slt .les programmateurs pic peuvent ils servir a programmer les eprom.nand et eeprom

    RépondreSupprimer
  3. cherche logiciel compatible a ce programmateur

    RépondreSupprimer