Un programmateur de PIC première partie : le matériel



Tous les passionnés d’électronique sont très demandeurs de programmateurs de PIC. Sur l’Internet, on trouve logiciels et schémas d’application à profusion, mais, finalement, il y a toujours quelque chose qui "cloche" ! Le schéma que nous vous proposons est celui dont vous rêviez : il est simple et fiable. Nous détaillons suffisamment notre description pour que tout un chacun comprenne bien ce qu’il fait.

Le programmateur de PIC que nous vous proposons ici de construire est en mesure de programmer les microcontrôleurs PIC 12F675, 16F628, 16F876 et 16F877.
Le tableau 1 donne la totalité, classée par nombre de broches, des PIC qu’il peut programmer : chacun représente l’évolution du précédent en termes de capacité de mémoire, nombre de ports, applications et nombre de registres internes (tous sont dotés de mémoire "flash" permettant la reprogrammation du micro : effacement et programmation se font à l’aide du programmateur).
Ce dernier, pour faire l’objet d’un article quelque peu didactique (à notre habitude !) n’en est pas moins un appareil de niveau professionnel. Le système se compose du programmateur EN1580 proprement dit, du bus EN1581, de la platine d’expérimentation EN1582 et, bien sûr, de l’alimentation EN1203.

Le schéma électrique du programmateur
Les tensions nécessaires sont une Vdd de 5 V pour le programmateur et une Vpp de 12 à 14 V pour la programmation : pour les produire, le transformateur T1 de l’alimentation EN1203 fournit 14 Vac, que redresse RS1 et que lisse C2 (la tension continue récupérée à ses bornes est de 18 V). TR3, R11 et DS1-DS2 (en série), forment un limiteur de courant protégeant le circuit contre les courts-circuits (si le seuil de consommation de 0,125 A est dépassé, la tension sur le collecteur de TR3 baisse automatiquement afi n de limiter le débit de courant et la lumière rouge de DL3 s’intensifi e).
Du collecteur de TR3, la tension continue de 18 V est acheminée vers IC2-IC3 (deux 78L05) pour être stabilisée à 5 V, mais la broche centrale M de IC2 est utilisée d’une manière particulière : en effet, pour obtenir la tension de programmation, nous avons appliqué la tension de sortie de IC3 à la broche M de IC2.
Comme cela ne suffit pas, nous avons ajouté 3,3 V en reliant à la broche M de IC2 la zener DZ1 en série avec R13 (ainsi, à la sortie U de IC2 nous prélevons 5 V plus 3,3 V plus le 5 V fourni par IC3, soit un total de 13,3 V). Vue la faible consommation, les deux régulateurs sont directement alimentés par la tension de sortie de TR3.
La fonction du programmateur est de transférer le programme dans la mémoire du microcontrôleur : il doit donc fournir les signaux servant à charger le programme dans l’EEPROM du PIC.
Le programmateur est relié au port parallèle de l’ordinateur (de bureau ou portable) : nous avons choisi ce port non seulement pour la vitesse de transmission des données mais surtout pour que le programmateur soit utilisable par tous, tous les portables n’étant plus dotés d’un port sériel RS232.
Les signaux du port parallèle (voir figure 2 CONN.0) passent à travers des "buffers" (tampons) "open-collector" contenus dans un TTL 7407 afin d’éviter de surcharger le port de l’ordinateur au moment de la programmation.
Ces signaux pilotent directement et en même temps TR1 et TR2 et imposent un niveau de tension de 5 V (caractéristique du TTL). Sur le CONN.0, relié au bus EN1581, on trouve dans l’ordre : Vdd – par cette broche passe la tension d’alimentation de 5 V et le type de microcontrôleur est paramétré.
SDA – ("Send Data") par cette broche passent les données que le programmateur échange avec le mémoire "flash" (selon le PIC utilisé cette broche est reliée à B7 ou C4).
GND – est la broche de masse commune à tous les circuits et à l’ordinateur afi n de rendre possible l’échange des données (avec les microcontrôleurs Microchip ces broches Vss).
SCK – par cette broche passe l’horloge de programmation et elle est utilisée, justement, pour effectuer la mémorisation des instructions dans la mémoire (selon le PIC cette broche est reliée à B6 ou C3).
Vpp – par cette broche passe la tension de programmation de 12 à 14 V (cette broche doit être reliée à la broche Vpp/ MCLR "Master CleaR" du PIC).
TR1 et TR2 fournissent les tensions des divers signaux en fonction de l’état logique des broches du port parallèle géré par le logiciel installé dans l’ordinateur. Quand le signal présent sur la broche 4 de CONN.0 est au niveau logique bas, il fait conduire TR1, lequel pilote le signal Vdd et fournit l’alimentation à la LED verte DL1 (son clignotement indique la présence de Vdd).
Les broches 5-6 de CONN.0 déterminent si la base de TR2 doit commuter ou non pour fournir l’alimentation de 13,3 V servant à l’écriture de la mémoire EEPROM. TR2 alimente aussi la LED rouge DL2 (elle clignote pour signaler que le PIC est en train de programmer).

Le schéma électrique du bus
Les liaisons entre le programmateur et la platine d’expérimentation sont visibles fi gure 4. Le PIC que vous voulez programmer doit être inséré dans le bus et la platine de test dans les connecteurs CONN.A, ensuite vous devez modifi er le logiciel et le transférer dans le microcontrôleur.
Les tensions de 5,6 V et 12,6 V fournies par l’alimentation EN1203 servent à alimenter justement les platines d’expérimentation que vous insérerez dans le CONN.A et les PIC sont alimentés directement par le programmateur à travers les broches Vdd et Vpp de CONN.1. DL1 s’allume fi xe quand S1 est en position E et clignote pendant la programmation.
CONN.A est prédisposé pour tous les signaux des ports A, B, C, D et E, dont la présence dépend de la taille du PIC. DS1 et DS2 protègent le circuit contre toute inversion accidentelle de polarité.
S1 est utilisé au moment de la programmation : CONN.1 doit alors être relié au programmateur et S1 être sur P.
Dans tous les autres cas, S1 doit être sur E (Expérimentation), c’est-à-dire fermé. Pour le synchronisme des opérations du programme et pour élaborer les temporisations, nous utilisons un quartz XTAL de 4 MHz (voir fi gure 4).
Nous avons en outre prévu un système de "reset" formé de R1, R2, C2, DS3 et P1, utilisé quand J1 est fermé. Durant la programmation, J1 doit être ouvert.

Le schéma électrique de la platine d’expérimentation
La platine proposée a été conçue pour exécuter les programmes mémorisés dans les microcontrôleurs à 18 broches, comme le PIC16F628, disposant des seuls ports A et B (les composants ont été choisis pour permettre des expérimentations diverses au moyen de la programmation).
Comme le montre le schéma électrique de la fi gure 5, à l’entrée non inverseuse de l’amplifi cateur opérationnel IC1-A est associé le potentiomètre R1 monté en diviseur de tension.
Si on insère J1 entre B et C (cavalier fermé), il est possible de détecter, avec un programme adéquat, le niveau de tension produit par R1 à la sortie de IC1-A, à travers la broche 3 du port A et de convertir ce niveau de tension d’analogique en numérique.
L’opérationnel IC1-B est utilisé, lui, pour détecter les signaux analogiques produits par des sources externes.
Comme les PIC contiennent des comparateurs, J1-J2 sont insérés de telle façon que, en excluant les deux amplifi cateurs opérationnels de l’entrée COMP, on puisse envoyer deux signaux pour les comparer ensuite avec le programme.
L’entrée "TIMER" peut être utilisée pour fournir la fréquence du "timer" TMR0 à l’extérieur et pour la récupérer de l’extérieur.
Sur la broche 0 du port A, en fonction de la position de J3, les poussoirs P1 et P2 peuvent être utilisés comme test pour d’éventuelles entrées. Sur la broche 2 de ce même port A, il est possible d’envoyer un signal modulé actionnant le buzzer pour lui faire émettre divers sons en fonction du code que vous aurez écrit dans le programme.
Enfi n nous avons inséré IC2, une porte bidirectionnelle à huit bits B0 à B7, que vous pourrez utiliser pour apprendre à gérer les états logiques d’un mot binaire, l’allumage d’un afficheur à sept segments ou la gestion du port parallèle de l’ordinateur.
Quand J4 est fermé, les broches de IC2 sont désactivées. Quand il est ouvert, les broches d’entrée de IC2 sont activées et peuvent transférer les données provenant du PIC programmé vers les sorties (voir les broches reliées aux LED).

La réalisation pratique du programmateur
Pour réaliser ce programmateur, il vous faut le circuit imprimé EN1580 : c’est un double face à trous métallisés dont la fi gure 7b-1 et 2 donne les dessins à l’échelle 1.
Si vous observez bien les fi gures 7a et 8 et la liste des composants, vous n’aurez aucune diffi culté à le monter (utilisez un petit fer à pointe fi ne et si possible à température régulée).
Accordez beaucoup d’attention aux soudures du CONN.0 et du CONN.1 (ni court-circuit entre pistes ou pastilles ni soudure froide collée).

La réalisation pratique du bus
Il vous faut là encore un circuit imprimé double face à trous métallisés EN1581 dont la fi gure 10b-1 et 2 donne les dessins à l’échelle 1. Grâce aux fi gures 10a et 9 et à la liste des composants, vous parviendrez facilement à vos fi ns, pour peu que vous preniez les mêmes précautions que précédemment pour les soudures des connecteurs et des supports.
Et puis réalisez l’adaptateur pour PIC à 8 ou 18 broches. La fi gure 13b-1 et 2 vous donne les dessins à l’échelle 1 du circuit imprimé double face à trous métallisés EN1581-B et les fi gures 13a et 14 vous permettent de le réaliser sans vous tromper (mêmes soins pour les soudures).

La réalisation pratique de la platine d’expérimentation
Dernier circuit imprimé à monter : le double face à trous métallisés EN1582 dont la fi gure 15b-1 et 2 donne les dessins à l’échelle 1. Avec les fi gures 15 et 16 et la liste des composants, vous aboutirez très vite, mais faites très attention aux soudures du connecteur et des supports.


TABLEAU 1

Figure 1 : Brochages vus de dessus des microcontrôleurs PIC à 8, 18, 28 et 40 broches.
Notre programmateur peut programmer tous les PIC référencés dans le tableau1.


Figure 2 : Schéma électrique du programmateur de PIC EN1580. Les signaux nécessaires pour programmer les PIC arrivent de l’ordinateur par le port parallèle et vont au bus (voir fi gure 4) à travers le connecteur à 10 pôles (à droite).
Note : toutes les résistances sont des 1/4 de W.


Figure 3 : Brochages du TTL 7407 vu de dessus, du régulateur MC78L05 et du PNP BC557 vus de dessous. Celui du PNP BD140 est vu de face (côté plastique).

Figure 4 : Schéma électrique du bus EN1581. Les tensions nécessaires pour programmer les PIC sont fournies par le programmateur à travers CONN.1.

Figure 5 : Schéma électrique de la platine d’expérimentation EN1582. Les entrées ADC-COMP-TIMER permettent d’exécuter différents tests de programmation.
Note : toutes les résistances sont des 1/4 de W.

Figure 6 : Brochages des LM358 et 74LS244 vus de dessus et du BC517 vu de dessous.

Figure 7a : Schéma d’implantation des composants du programmateur EN1580. Quand vous monterez le connecteur à 10 pôles, orientez son évidement en U vers le bas.

Figure 7b-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés du programmateur EN1580, côté soudures.

Figure 7b-2 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés du programmateur EN1580, côté composants.

Figure 8 : Photo d’un des prototypes de la platine du programmateur EN1580 avec son connecteur à 25 pôles mâle pour la liaison au port parallèle de l’ordinateur.

Figure 9 : Photo réduite d’un des prototypes de la platine de l’étage bus EN1581.

Figure 10a : Schéma d’implantation des composants de l’étage bus. Le connecteur mâle CONN.1 est monté en orientant son évidement de référence vers la droite. Les trois connecteurs femelles à 40 broches et les quatre à 4 broches CONN.A servent à tester la platine d’expérimentation EN1582 et les platines que nous présenterons par la suite.

Figure 10b-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés du bus, côté soudures.

Figure 10b-2 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés du bus, côté composants.

Figure 11 : Détail de montage de l’étage bus. Pour programmer un PIC à 40 broches, insérez-le dans les connecteurs barrettes noirs, repère-détrompeur vers la gauche.

Figure 12 : Pour programmer un PIC à 28 broches (voir tableau 1), insérez-le dans le support de la platine bus, repère-détrompeur en U vers la gauche.

Figure 13a : Réalisation pratique de l’adaptateur EN1581/B servant à programmer les PIC à 8 ou à 18 broches. Montez-y deux supports (avec repère-détrompeurs vers la gauche) puis enfoncez l’adaptateur dans les connecteurs pour PIC à 40 broches.

Figure 13b-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de l’adaptateur, côté soudures.

Figure 13b-2 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de l’adaptateur, côté composants.

Figure 14 : Photo d’un des prototypes de la platine de l’adaptateur EN1581/B, les deux supports nécessaires pour programmer les PIC à 8 et 18 broches montés (voir tableau 1 en début d’article).

Figure 15a : Schéma d’implantation des composants de la platine d’expérimentation EN1582. Les huit LED DL1 à DL8 sont soudées directement sur le circuit imprimé, anode vers A.

Figure 15b-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de la platine d’expérimentation, côté soudures.

Figure 15b-2 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de la platine d’expérimentation, côté composants.

Figure 16 : Photo d’un des prototypes de la platine d’expérimentation.

Liste des composants EN1580
R1...................4,7 kΩ
R2...................4,7 kΩ
R3...................4,7 kΩ
R4...................4,7 kΩ
R5...................4,7 kΩ
R6...................4,7 kΩ
R7...................470 Ω
R8...................4,7 kΩ
R9...................1,5 kΩ
R10..................1 kΩ
R11..................5,6 Ω
R12..................1 kΩ
R13..................3,3 kΩ
R14..................5,6 kΩ
C1...................100 nF polyester
C2...................1 000 μF électrolytique
C3...................100 μF électrolytique
C4...................10 μF électrolytique
C5...................10 μF électrolytique
RS1..................pont redres. 100 V 1 A
DS1..................diode 1N4148
DS2..................diode 1N4148
DZ1..................zener 3,3 V 1/2 W
DL1..................LED verte
DL2..................LED rouge
DL3..................LED rouge
TR1..................PNP BC557
TR2..................PNP BC557
TR3..................PNP BD140
IC1..................TTL 7407
IC2..................intégré MC78L05
IC3..................intégré MC78L05
CONN.0...............connect. mâle 90° DB25 pour ci
CONN.1...............connect. mâle 10 broches pour ci
Nota : Toutes les résistances sont des 1/4 W.


Liste des composants EN1581
R1...................10 kΩ
R2...................1 kΩ
R3...................470 Ω
C1...................100 μF électrolytique
C2...................4,7 μF électrolytique
C3...................100 nF polyester
C4...................22 pF céramique
C5...................22 pF céramique
XTAL ................quartz 4 MHz
DS1..................diode 1N4007
DS2..................diode 1N4007
DS3..................diode 1N4148
DL1 .................LED
J1...................cavalier
S1...................interrupteur
P1 ..................poussoir
CONN.1...............connect. mâle 10 broches pour ci
Nota : Toutes les résistances sont des 1/4 W.


Liste des composants EN1582
R1...................10 kΩ trimmer
R2...................10 kΩ
R3...................100kΩ
R4...................10 kΩ
R5...................100 kΩ
R6...................10 kΩ
R7...................10 kΩ
R8...................22 kΩ
R9...................22 kΩ
R10..................10 kΩ
R11-R18..............470 Ω
C1...................100 nF polyester
C2...................100 nF polyester
C3...................100 nF polyester
C4...................100 nF polyester
C5...................100 nF polyester
C6...................100 nF polyester
DL1-DL8..............LED
TR1..................NPN BC517 (darlington)
IC1..................intégré LM358
IC2..................TTL 74LS244
BUZZER...............buzzer 12 volt
J1...................cavalier
J2...................cavalier
J3...................cavalier
J4...................cavalier
P1...................poussoir
P2...................poussoir
Nota : Toutes les résistances sont des 1/4 W.

0 commentaires:

Enregistrer un commentaire

Related Posts Plugin for WordPress, Blogger...