Pour réaliser ce premier programmateur, je suis parti du schéma de base de David TAIT supporté par PICPgm et du programmateur présenté sur le site kudelsko.
Je dispose déjà d’une alimentation 12.0V 14.0V fabriquée à partir d’une alimentation de PC H.S. récupérée et d’un CI 74LS06N. A la différence du 74LS07 utilisé dans le schéma de D. TAIT, le 74LS06 est inverseur. Ceci demandera une modification des paramètres de PICPgm pour qu’il reconnaisse automatiquement mon programmateur.

Schéma de base extrait de PICPgm

Schéma modifié
Pour réaliser le schéma, j’ai utilisé le logiciel libre Kicad. La tension de programmation est de 12.7 V. Elle est obtenue au moyen de la diode zener D1 de 12.0 V + la tension Vbe du transistor Q1 BC547. J’ai regroupé sur un connecteur ZIF (acquis sur Ebay à peu de frais) toutes les connexions pour la programmation d’autres PIC. Le PIC 16F84A doit être placé sur les broches 16 à 29 du support ZIF.

Réalisation du circuit
Le circuit a été monté sur une plaque d’ époxy cuivrée, simple face. Il a été réalisé au feutre et avec des transferts. Le connecteur Centronic avec sa nappe de fil, a été récupéré sur un ancien hub d’imprimante au rebut. Un câble d’imprimante relie la prise DB25 du PC au connecteur Centronic du programmateur.

Tests
Pour tester ce programmateur, j’ai utilisé le célèbre petit montage sur platine d’essai qui fait clignoter une diode. Vous en trouverez un exemple sur cet excellent tutoriel.

Pour faire reconnaître automatiquement le programmateur par PICPgm, il faut modifier le fichier qui décrit les interfaces hardware pgmifcfg.xml situé dans le répertoire racine de PICPgm. Insérer les lignes suivantes:

<PgmIf name="Tait Invert PIC Programmer" typ="HVP" connection="LPT">
    <PinCfg name="MCLR" pin="5" invert="1" />
    <PinCfg name="PGM" pin="4" invert="1" />
    <PinCfg name="CLK" pin="3" invert="1" />
    <PinCfg name="DOUT" pin="2" invert="1" />
    <PinCfg name="DIN" pin="10" invert="1" />
</PgmIf>

Ces lignes s’obtiennent simplement par un copier, coller des lignes qui décrivent le programmateur « TAIT classic » ci-dessous, puis en modifiant le titre de la balise <PgmIf name> et en modifiant  la propriété invert des balises <PinCfg> CLK, DOUT, DIN. Attention à ne pas modifier la description du « TAIT classic ».

<PgmIf name="Tait Classic PIC Programmer" typ="HVP" connection="LPT">
    <PinCfg name="MCLR" pin="4" invert="1" />
    <PinCfg name="PGM" pin="5" invert="1" />
    <PinCfg name="CLK" pin="3" invert="0" />
    <PinCfg name="DOUT" pin="2" invert="0" />
    <PinCfg name="DIN" pin="10" invert="0" />
</PgmIf>

Télécharger le fichier Kicad du schèma .

Liens
Mon premier projet PIC
Mon premier projet PIC – Programmateur sur port parallèle