» Électronique »Programmeur maison pour contrôleurs PIC

Programmateur maison pour contrôleurs PIC

Programmateur maison pour contrôleurs PIC

Le développement de l'électronique se déroule rapidement, et de plus en plus souvent l'élément principal d'un appareil est un microcontrôleur. Il exécute le travail principal et libère le concepteur de la nécessité de créer des solutions de circuits sophistiqués, réduisant ainsi la taille de la carte de circuit imprimé au minimum. Comme chacun le sait, le microcontrôleur est contrôlé par un programme enregistré dans sa mémoire interne. Et si un programmeur électronique expérimenté n'a pas de problèmes à utiliser des microcontrôleurs dans ses appareils, alors pour un radio-amateur débutant qui essaie d'écrire un programme sur un contrôleur (en particulier PIC) peut se révéler être une grosse déception, et parfois un petit spectacle pyrotechnique sous la forme d'une puce fumante.

Curieusement, mais avec toute la grandeur d'Internet, il a très peu d'informations sur le firmware Contrôleurs de pic, et le matériel que l'on peut trouver est de qualité très douteuse. Bien sûr, vous pouvez acheter un programmeur d'usine à un prix insuffisant et coudre autant que vous le souhaitez, mais que faire si la personne n'est pas engagée dans la production de masse. À ces fins, vous pouvez mettre en place un simple et peu coûteux à mettre en œuvre fait maisonappelé Programmeur JDM selon le schéma ci-dessous (figure n ° 1):


Figure №1 - schéma du programmeur

Immédiatement, j'apporte une liste d'éléments pour ceux qui sont trop paresseux pour scruter le diagramme:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (tronqué). En ajustant la résistance de cette résistance, vous devez atteindre environ 13 V à la broche n ° 4 (VPP) pendant la programmation. Dans mon cas, la résistance est de 1,2 kOhm
  • R3 - 200 ohms
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (tension de stabilisation 5,1 V)
  • VD7 - 1N4743A (tension de stabilisation 13V)
  • C1 - 100 nF (0,1 μF)
  • C2 - 470 μF x 16 V (électrolytique)
  • SUB-D9F - Connecteur de port COM (MOM ou SOCKET)
  • Prise DIP8 - dépend du contrôleur que vous utilisez

Le circuit utilise un exemple de connexion de contrôleurs communs tels que PIC12F675 et PIC12F629, mais cela ne signifie pas du tout que le firmware des autres séries Pic sera impossible. Pour écrire un programme sur un contrôleur d'un type différent, il suffit de transférer les fils du programmateur conformément à la figure 2, qui est donnée ci-dessous.


Figure n ° 2 - Options de cas de contrôleur PIC avec les conclusions nécessaires

Comme vous pouvez le deviner, le boîtier est utilisé dans le schéma de mon programmeur Dip8. Avec un grand désir, vous pouvez faire un adaptateur universel pour chaque type de puce, obtenant ainsi un programmeur universel. Mais depuis avec Contrôleurs PIC Je travaille rarement, ça me suffit.

Bien que le circuit lui-même soit assez simple et ne pose pas de difficultés de montage, il nécessite également du respect. Par conséquent, ce serait bien de faire une carte de circuit imprimé pour cela. Après quelques manipulations avec le programme Sprintlayout, textolite, foret et fer, un tel flan est né ici (photo n ° 3).


Photo n ° 3 - carte de circuit imprimé du programmateur

Télécharger la source PCB pour le programme Sprintlayout Vous pouvez suivre ce lien:
pp_programmator.zip [17,67 Ko] (téléchargements: 984)
Si vous le souhaitez, vous pouvez le changer pour votre type de contrôleur PIC. Pour ceux qui ont décidé de laisser la planche inchangée, j'ai écarté la vue du côté des pièces pour faciliter l'installation (figure 4).


Figure 4 - Carte côté montage

Un peu plus de sorcellerie avec un fer à souder et nous avons un appareil prêt à l'emploi qui peut flasher Contrôleur de pic à travers Port COM votre ordinateur. Toujours chaud et non lavé du flux, le résultat de mes efforts est montré sur la photo n ° 5.


Photo n ° 5 - programmeur complet

Désormais, la première étape vers le firmware Contrôleur de pica pris fin. La deuxième étape comprendra la connexion du programmateur à l'ordinateur et l'utilisation du programme IC Prog.
Malheureusement, tous les ordinateurs et ordinateurs portables modernes ne peuvent pas fonctionner avec ce programmeur en raison de leur absence banale Ports COM, et ceux qui sont installés sur les ordinateurs portables ne donnent pas la programmation nécessaire 12V. J'ai donc décidé de me tourner vers mon premier PCqui depuis longtemps époussetait et attendait sa plus belle heure (et attendait toujours).
Alors allumez l'ordinateur et installez d'abord le programme IC Prog. Vous pouvez le télécharger sur le site de l'auteur ou sur ce lien:
icprog105d.zip [432,25 Ko] (téléchargements: 1167)
Nous connectons le programmeur à Port COM et exécutez l'application nouvellement installée. Pour un fonctionnement correct, il est nécessaire d'effectuer une série de manipulations. Dans un premier temps, il faut choisir le type de contrôleur que nous allons coudre. Je l'ai PIC12F675. Dans la capture d'écran n ° 6, le champ de sélection du contrôleur est surligné en rouge.


Capture d'écran 6 - sélection du type de microcontrôleur

Ensuite, allez dans le menu "Paramètres "->" Options", dans la fenêtre qui apparaît, sélectionnez l'onglet I2C et cochez les cases comme indiqué dans la capture d'écran # 7.


Capture d'écran 7 - définition de la méthode d'enregistrement du contrôleur

Dans la même fenêtre, allez dans l'onglet "Programmation"et sélectionnez"Vérification de la programmation". La vérification après la programmation peut provoquer une erreur, car dans certains cas, le micrologiciel installe des verrous de verrouillage SR. Afin de ne pas vous tromper, il est préférable de désactiver cette vérification. En bref, suivez la capture d'écran numéro 8.


Capture d'écran n ° 8 - configuration de vérification

Nous continuons de travailler avec cette fenêtre et accédons au "Général". Ici, il est nécessaire de définir la priorité du programme et assurez-vous d'utiliser NT / 2000 / XP pilote (capture d'écran numéro 9). Dans certains cas, le programme peut suggérer l'installation de ce pilote et peut nécessiter un redémarrage IC Prog.


Capture d'écran 9 - Paramètres généraux

Donc, avec cette fenêtre, le travail est terminé. Passons maintenant aux paramètres du programmeur lui-même. Choisissez dans le menu "Paramètres "->" Paramètres du programmeur"ou appuyez simplement sur la touche F3. La fenêtre suivante apparaît, illustrée dans la capture d'écran # 10.


Capture d'écran n ° 10 - fenêtre des paramètres du programmateur

Tout d'abord, sélectionnez le type de programmeur - Programmeur JDM. Ensuite, nous définissons le bouton radio pour utiliser le pilote Windows. L'étape suivante consiste à choisir Port COMauquel votre programmeur est connecté. S'il en est un, il n'y a aucune question, et s'il y en a plusieurs, regardez dans le gestionnaire de périphériques qui est actuellement utilisé. Le curseur de retard d'entrée / sortie est conçu pour contrôler la vitesse d'écriture et de lecture. Cela peut être nécessaire sur les ordinateurs rapides et s'il y a des problèmes avec le firmware - ce paramètre doit être augmenté. Dans mon cas, il est resté par défaut égal à 10 et tout a bien fonctionné.

Sur ce paramètre de programme IC Prog est terminée et vous pouvez procéder au processus du firmware lui-même, mais d'abord nous lisons les données du microcontrôleur et voyons ce qui y est écrit. Pour ce faire, dans la barre d'outils, cliquez sur l'icône du microcircuit avec une flèche verte, comme illustré dans la capture d'écran n ° 11.


Capture d'écran 11 - Le processus de lecture des informations du microcontrôleur

Si le microcontrôleur est nouveau et n'a pas été flashé auparavant, toutes ses cellules de mémoire seront remplies de valeurs 3FFFsauf le tout dernier. Il contiendra la valeur de la constante d'étalonnage. Il s'agit d'une valeur très importante et unique pour chaque contrôleur. La précision de l'horloge en dépend, qui est sélectionnée par le fabricant en sélectionnant et en installant cette constante. La capture d'écran n ° 12 montre la cellule mémoire dans laquelle la constante sera stockée lors de la lecture du contrôleur.


Capture d'écran 12 - valeur de la constante d'étalonnage

Je répète que la valeur est unique pour chaque microcircuit et ne doit pas nécessairement coïncider avec ce qui est illustré sur la figure. Beaucoup par inexpérience écrasent cette constante et par la suite Contrôleur de pic commence à fonctionner de manière incorrecte si le projet utilise la synchronisation à partir d'un générateur interne. Je vous conseille d'écrire cette constante et de coller l'inscription avec sa valeur directement sur le contrôleur. De cette façon, vous éviterez beaucoup de problèmes à l'avenir. Donc, la valeur est écrite - nous continuons. Ouvrez le fichier du firmware, qui a généralement une extension .hex. Maintenant au lieu d'écrire 3FFF, le tampon de programmation contient le code de notre programme (capture d'écran n ° 13).


Capture d'écran 13 - firmware téléchargé dans le tampon de programmation

J'ai écrit ci-dessus que beaucoup écrasent la constante d'étalonnage par négligence. Quand cela se produit-il? Cela se produit lorsque le fichier du firmware est ouvert. La valeur de la constante passe automatiquement à 3FFF et si vous démarrez le processus de programmation, il n'y a pas de retour en arrière. Dans la capture d'écran n ° 14, cette cellule de mémoire où la constante était précédemment 3450 (avant ouverture fichier hex).


Capture d'écran n ° 14 - changement automatique de la constante d'étalonnage

Vous devez maintenant suivre attentivement les étapes ci-dessous. Nous cliquons sur l'icône du microcircuit avec la foudre sur la barre d'outils, informant ainsi le programme que nous voulons lancer le processus du firmware. Le programme vous demandera si nous sommes sûrs que nous voulons flasher cet appareil. Nous acceptons et cliquez sur "OUI". Après cela, nous obtenons l'avertissement montré dans la capture d'écran # 15.


Capture d'écran n ° 15 - avertissement concernant un écart dans les valeurs de la constante d'horloge

IC Prog nous indique qu'une valeur de la constante d'étalonnage (dans mon cas 3450), et maintenant un autre (3FFF) automatiquement substitué à partir de fichier hex. Il est également proposé de laisser la valeur par défaut 3FFF. Il est important de cliquer sur "NonIC Prog lors de la programmation nous a retourné la valeur 3450 ou ce qui vous accompagnera. En général, cliquez sur "Non"et observez la fenêtre suivante (capture d'écran n ° 16).


Capture d'écran 16 - processus de programmation

Pendant cette période, je vous déconseille d'appuyer sur quoi que ce soit ou de charger l'ordinateur avec d'autres tâches. Quand j'ai pris une capture d'écran pour cet article, quand je clique sur le bouton Écran d'impression une erreur d'écriture s'est produite et j'ai dû tout recommencer. Après un certain temps IC Prog vous donnera un message sur la vérification réussie du code nouvellement écrit dans votre Contrôleur de pic, donc tous ceux qui ont aimé cet article, je veux le voir après des efforts similaires (capture d'écran n ° 17):


Capture d'écran n ° 17 - le firmware a réussi, vous pouvez vous détendre

Si dans le processus, vous avez des questions, relisez attentivement l'article à nouveau et tout fonctionnera sûrement - vérifié personnellement. Bonne chance à tous et succès créatif !!!
9.8
9.9
9.9

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer
8 commentaires
Invité Ivanov
Grand thème. Le temple est le professionnalisme, avec précision, clarté et concision! Merci! Succès!
Helen
Les garçons, dites-moi s'il vous plaît. Si lors de la lecture du micrologiciel à partir d'un contrôleur de micrologiciel connu, le code de programme ne contient que des zéros et un facteur d'étalonnage à la fin, cela signifie-t-il que le micrologiciel est protégé contre la lecture? microcontrôleur PIC16F630, a essayé de considérer le programmeur selon le schéma "3 câblage" via le port COM. aider
bonjour. bonne année à toi. dites-moi s'il vous plaît. vous avez écrit 13 volts sur la 4ème broche lors de la programmation. mesurer la tension sur la 4ème sortie par rapport à gnd? nous en dire plus sur la façon dont vous configurez le programmeur
Il existe un schéma (plus sérieux) sur le LPT AN589. Il y a longtemps
Regardez sur internet
L'auteur
Malheureusement non.
et par hasard il n'y a pas de schéma avec port lpt? merci
L'auteur
Merci pour la note. J'ai fait un ami un programmeur avec un câble distant d'environ 1 mètre. Le vol est normal - les contrôleurs cousent sans faute. Le câble utilisait un câble toronné à paire torsadée.
Roman1984, Je vous mets le 9-10-10, mais il y a une question: avez-vous essayé de travailler avec le programmeur qui a été retiré du port COM sur le câble? Si cela fonctionne normalement dans ce cas, vous pouvez souder le câble au lieu du connecteur sur la carte. C'est plus pratique lorsque le module de programmation est sur la table et que les charges dynamiques sur le port COM du PC sont moindres.
Lors de la réalisation du câble, il est conseillé de placer le programmateur lorsqu'il n'est pas utilisé, mais le câble ne peut pas être retiré du connecteur PC dans une boîte, telle qu'une boîte à savon, pour éviter les courts-circuits accidentels.

Nous vous conseillons de lire:

Donnez-le au smartphone ...