1 Programmateur de PIC Le programmateur proposé se connecte sur le port parallèle d’un PC. Son support à force d’insertion nulle de 18 ou 20 broches le prédispose à la programmation de microcontrôleurs tels que les PIC16C71, PIC16C711, PIC16C84, PIC16F84, etc. Moyennant un adaptateur DIP, la programmation de la majorité des microcontrôleurs PIC est alors possible. Avec cet adaptateur DIP, vous pourrez aussi bien programmer un PIC12C508 de 8 broches, qu’un PIC16C923 de 64 broches. Le logiciel retenu pour piloter ce programmateur est une version shareware évolutive, dont l’auteur Bojan Dobaj propose d’ailleurs une version Freeware limitée au PIC16x84. Le schéma Sur le schéma de principe du programmateur, figure 1, vous pouvez découvrir un boîtier 18 broches caractérisant le PIC à programmer du chapitre 7 et un connecteur 25 broches correspondant port parallèle d’un PC. Cinq inverseurs à collecteur ouvert d’un 74LS05, qui en contient six, sont utilisés pour l’échange de données entre le programmateur et le PC. Figure 10.7 – Le schéma de principe Deux de ces cinq inverseurs sont associés à un transistor PNP pour commuter la tension d’alimentation +5V et la tension de programmation +13V du PIC. Un dernier inverseur détecte à la fois la présence des tensions +5V et +13V appliquées au PIC. En effet, le +5V est appliqué à l’entrée de l’inverseur dont la sortie est dans ce cas saturée. Dès lors, si la tension Vpp de 13V est également présente, la DEL rouge D2 est allumée. En cas d’anomalie de l’une des deux tensions pendant une phase de programmation, la DEL rouge sera éteinte. La double alimentation +5V et +13V du programmateur est obtenue à partir de la tension continue délivrée au choix, par un adaptateur secteur ou par un petit transformateur. La diode D1 protège le montage contre les inversions de polarité du bloc secteur et la diode électroluminescente D2 indique que le montage est sous tension. Lorsque le transformateur est implanté sur la carte, la tension alternative secondaire est redressée par les deux diodes D5 et D7, si l’enroulement secondaire est double et par le pont de diodes D4 à D7, si cet enroulement est unique. Un régulateur de tension L200 a été retenu, car sa tension de sortie est réglable et son courant de sortie peut être limité, ce qui protège le microcontrôleur contre les erreurs d’insertion. Un second régulateur délivre la tension d’alimentation de 5V. C’est un classique régulateur de tension fixe de 100mA en boîtier TO92. Ce régulateur est placé en série avec le régulateur L200, afin de bénéficier de la limitation de courant du L200, plus précise et plus faible que celle d’un 78L05 dont la limitation intervient pour une valeur de sécurité interne pouvant dépasser 250mA ! La tension de sortie du L200 est fonction du diviseur de tension, R1/R2/Aj1, placé en parallèle sur sa sortie. Les 13V sont précisément obtenus par le réglage de la résistance ajustable Aj1. La résistance R3 calibre à environ 100mA la limitation de courant. La réalisation La figure 2 donne le tracé des pistes du circuit imprimé et la figure 3 montre l’implantation des composants. Avant de souder le connecteur DB25, fixez-le correctement contre le circuit imprimé. Il en est de même pour le régulateur de tension L200. Selon la source, Un support à force d’insertion nulle est préférable pour accueillir le PIC. Il existe des modèles économiques soit à contacts en «V», soit avec une vis de serrage pour la fermeture des contacts. Les supports de 20 broches sont souvent plus répandus que les supports 18 broches, car leur brochage est similaire. Pour un usage intensif de microcontrôleurs 18 broches, tels que les PIC16F64 ou PIC16C71, il suffit alors de condamner une rangée à l’extrémité supérieure. Dans ce cas, vous la recouvrirez d’un ruban adhésif, car une étourderie est si vite arrivée ! L’utilisation d’un bloc secteur est très intéressante pour son isolement galvanique global, mais beaucoup de ces adaptateurs délivrent une tension de sortie maximale de 15V, 2 surtout si votre secteur est tout juste de 220V. Si vous optez pour cette option, vérifiez que la tension continue présente sur le bornier du programmateur est supérieure ou égale à 17V. De ce fait, l’utilisation d’un transformateur peut être préférée, mais vous devrez alors isoler soigneusement la partie secteur par une mise en coffret du montage. Le support à insertion nulle est alors surélevé avec un support à wrapper. Attention, tous les contacts tulipes n’acceptent pas tous les contacts, souvent larges et robustes, des supports à insertion nulle. Certaines marques conviennent en forçant un peu, d’autres pas du tout, même en forçant beaucoup ! Vous devrez alors pianoter, par exemple en intercalant un simple support ou en soudant le support à insertion nulle sur le support à wrapper. Pensez également à élever les DEL. Vous pouvez également souder les composants côté soudures, à l’exception des DEL, du connecteur DB25 et du support à insertion nulle (les soudures du transformateur seront alors renforcées par un point de colle, type mastic silicone). Le circuit imprimé pourra alors être utilisé en guise de façade et sera dimensionné en conséquence. Cette technique est très intéressante avec des boîtiers de type TEKO P2 ou P3 et MMP 20 ou 30. Dès la mise sous tension, les deux diodes électroluminescentes rouge et verte doivent être allumées. La DEL rouge s’éteindra, lors de la connexion du programmateur au port parallèle d’un PC. La longueur du câble de liaison au PC ne dépassera pas 1,8m. Le logiciel shareware ou freeware « P16PRO » est disponible sur divers sites Internet, dont " http://www.bigfoot.com /~bojan.dobaj/". Ci-dessous, figure une liste de PIC gérés par ce logiciel. Outre les mise à jour de l’auteur, un fichier DEVICE.INI est prévu pour que chacun puisse mettre à jour la liste initiale à partir des paramètres du PIC à ajouter. PIC12C508 PIC16C554 PIC16C61 PIC16CR62 PIC16C64A PIC16C65A PIC16C620 PIC16C710 PIC16C72 PIC16C74 PIC12C509 PIC16C556 PIC16C62 PIC16C63 PIC16CR64 PIC16C66 PIC16C621 PIC16C71 PIC16C73 PIC16C74A PIC14000 PIC16C558 PIC16C62A PIC16C64 PIC16C65 PIC16C67 PIC16C622 PIC16C711 PIC16C73A PIC16C76 PIC16C77 PIC16C84 PIC16F87x PIC16F83 PIC16F84 PIC16C923 PIC16CR83 PIC16CR84 PIC16C924 PIC16C642 PIC16C662 PIC16C715 Le programmateur proposé a été essentiellement conçu pour la programmation des PIC 18 broches de cette liste. Toutefois, un adaptateur connecté au support 18 broches rend possible la programmation de la majorité des microcontrôleurs PIC de 8 à 64 broches de cette liste. Par exemple, pour une adaptation DIP 18-8 points, cet adaptateur peut être un simple raccordement filaire entre un support 8 broches externes et le support 18 broches du programmateur. Le tableau 1 donne la correspondance entre les différents boîtiers DIP, pour les broches concernées par la programmation. Pour un usage fréquent de divers PIC, les différents supports à force d’insertion nulle seront alignés sur une carte qui sera connectée au programmateur par un câble en nappe, équipé d’un connecteur DIP à sertir de 18 points. Néanmoins, il est recommandé de consulter la documentation Microchip du microcontrôleur, afin de vérifier le brochage des lignes de programmation (Vdd, Vss, Vpp, serial programming clock and data). Une dernière précision concerne la tension de programmation Vpp de 13V. En effet, le logiciel a été conçu pour commander cette tension, soit avec le signal broche 5 de la DB25 du port parallèle, comme c’est le cas de notre programmateur, soit avec le signal broche 6 prévu pour les boîtiers DIP 28, 40 et 64 des programmateurs élaborés. Le choix entre ces deux signaux s’effectue dans le fichier DEVICE.INI : dans la colonne VPP, un « 1 » indique la broche 5 comme signal de commande de la tension Vpp et un « 2 » désigne la broche 6. Si vous utilisez le programmateur proposé avec un adaptateur DIP, pensez à remplacer les « 2 » par des « 1 » dans la colonne Vpp, pour toutes les références. Hervé CADINOT, le 4 avril 1999. 3 Tableau 1 : Correspondance des broches entre les principaux boîtiers DIP +5V 0V +13V Clock Data DIP 18 DIP 8 14 1 5 8 4 4 12 6 13 7 DIP 20 DIP 28 PIC1400 DIP 40 DIP 64 15 20 9 11, 32 20, 60 6 8, 19 20 12, 31 6, 21 5 1 14 1 1 13 27 12 39 61 14 28 11 40 62 Nomenclature Résistances : Semi-conducteurs : R1, R5 = 680Ω (bleu, gris, marron) R2, R12 = 2,7kΩ (rouge, violet, rouge) R3 = 4,7Ω (jaune, violet, or) R4 = 1,8kΩ - 0,5W (marron, gris, rouge) R6 = 4,7kΩ (jaune, violet, rouge) R7, R8, R9, R10, R11 = 10kΩ (marron, noir, orange) Aj1 = 100Ω à 470Ω D1 = 1N4001…4007 D2 = DEL verte D3 = DEL rouge D4 à D7 = 1N4001…4007 T1, T2 = BC328, BC327 CI1 = régulateur L200 CI2 = régulateur 78L05 CI3 = 74LS05 Condensateurs : C1 = 100µF / 35V C2 = 10µF / 50V C3, C4, C5, C6 = 100nF C7 = 470pF C8 = 100 à 220µF / 35V Divers : K1 = embase DB25 mâle 1 support à insertion nulle 18 ou 20 broches 1 bornier deux plots à souder 1 adaptateur secteur 300mA, 21V (17V min. voir texte) ou 1 transformateur 220V/15V-2,2 VA