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):
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).
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:
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).
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.
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:
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.
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:
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.
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 "Non"à IC 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 !!!