» Elektronica »Zelfgemaakte programmeur voor PIC-controllers

Zelfgemaakte programmeur voor PIC-controllers

Zelfgemaakte programmeur voor PIC-controllers

De ontwikkeling van elektronica gaat razendsnel en steeds vaker is een microcontroller het belangrijkste element van een apparaat. Hij voert het hoofdwerk uit en bevrijdt de ontwerper van de noodzaak om geavanceerde circuitoplossingen te creëren, waardoor de afmetingen van de printplaat tot een minimum worden beperkt. Zoals iedereen weet, wordt de microcontroller bestuurd door een programma dat is opgenomen in het interne geheugen. En als een ervaren elektronische programmeur geen problemen heeft met het gebruik van microcontrollers in hun apparaten, dan kan het voor een beginnende radioamateur die een programma probeert te schrijven naar een controller (vooral PIC) een grote teleurstelling blijken te zijn, en soms een kleine pyrotechnische show in de vorm van een rookchip.

Vreemd genoeg, maar met alle grootsheid van internet heeft het heel weinig informatie over de firmware Pic-controllers, en het materiaal dat gevonden kan worden is van zeer twijfelachtige kwaliteit. Natuurlijk kunt u voor een lage prijs een fabrieksprogrammeur kopen en naaien zoveel u wilt, maar wat als de persoon niet bezig is met massaproductie. Voor deze doeleinden kunt u een eenvoudige en niet dure implementatie samenstellen zelfgemaaktgebeld JDM programmeur volgens onderstaand schema (figuur nr.1):


Figuur №1 - diagram van de programmeur

Onmiddellijk breng ik een lijst met elementen voor degenen die te lui zijn om in het diagram te kijken:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (ingekort). Door de weerstand van deze weerstand aan te passen, moet je tijdens het programmeren ongeveer 13V bereiken op pin nr. 4 (VPP). In mijn geval is de weerstand 1,2 kOhm
  • R3 - 200 ohm
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (stabilisatiespanning 5.1V)
  • VD7 - 1N4743A (stabilisatiespanning 13V)
  • C1 - 100 nF (0,1 μF)
  • C2 - 470 μF x 16 V (elektrolytisch)
  • SUB-D9F - COM-poortconnector (MOM of SOCKET)
  • DIP8-aansluiting - hangt af van de controller die u gebruikt

Het circuit gebruikt een voorbeeld van het aansluiten van dergelijke algemene controllers als PIC12F675 en PIC12F629, maar dit betekent helemaal niet dat de firmware van andere series Pic zal onmogelijk zijn. Om een ​​programma naar een controller van een ander type te schrijven, volstaat het om de programmeerdraden over te dragen in overeenstemming met figuur 2, die hieronder wordt gegeven.


Figuur nr. 2 - PIC-controller case-opties met de nodige conclusies

Zoals je zou kunnen raden, wordt de case gebruikt in het schema van mijn programmeur Dip 8. Met een groot verlangen kunt u voor elk type chip een universele adapter maken, waardoor u een universele programmeur krijgt. Maar sinds met PIC-controllers Ik werk zelden, dat is genoeg voor mij.

Hoewel het circuit zelf vrij eenvoudig is en geen montageproblemen veroorzaakt, vereist het ook respect. Het zou daarom leuk zijn om er een printplaat van te maken. Na wat manipulaties met het programma Sprintlayout, textoliet, boor en ijzer, hier werd zo'n plano geboren (foto nr. 3).


Foto nr. 3 - printplaat van programmeur

Download PCB-bron voor het programma Sprintlayout U kunt deze link volgen:
pp_programmator.zip [17.67 Kb] (downloads: 984)
Indien gewenst kunt u deze wijzigen naar uw type PIC-controller. Voor degenen die besloten hebben om het bord ongewijzigd te laten, spreid ik het zicht vanaf de zijkant van de onderdelen om de installatie te vergemakkelijken (Figuur 4).


Figuur 4 - Bord aan de montagezijde

Iets meer hekserij met een soldeerbout en we hebben een kant-en-klaar apparaat dat kan flitsen Pic-controller door COM-poort uw computer. Nog steeds warm en niet gewassen van de stroom, wordt het resultaat van mijn inspanningen weergegeven in foto nr. 5.


Foto nr. 5 - complete programmeur

Vanaf nu de eerste stap naar firmware Pic-controllerkwam tot een einde. De tweede fase omvat het aansluiten van de programmeur op de computer en het werken met het programma IC Prog.
Helaas kunnen niet alle moderne computers en laptops met deze programmeur werken vanwege de banale afwezigheid ervan COM-poortenen degenen die op laptops zijn geïnstalleerd, geven niet de nodige programmering uit 12V. Dus besloot ik om naar mijn eerste te gaan PCdie lang geleden stofde en wachtte op zijn beste uur (en nog steeds wachtte).
Zet dus de computer aan en installeer eerst het programma IC Prog. Je kunt het downloaden van de site van de auteur of op deze link:
icprog105d.zip [432.25 Kb] (downloads: 1167)
We verbinden de programmeur COM-poort en voer de nieuw geïnstalleerde applicatie uit. Voor een juiste werking zijn een aantal manipulaties nodig. In eerste instantie is het noodzakelijk om het type controller te kiezen dat we gaan naaien. Ik heb het PIC12F675. In screenshot # 6 is het veld voor het selecteren van de controller rood gemarkeerd.


Schermafbeelding 6 - Selectie van microcontroller-type

Ga vervolgens naar het menu "Instellingen "->" Opties", selecteer in het venster dat verschijnt het tabblad I2C en vink de vakjes aan zoals getoond in screenshot # 7.


Screenshot 7 - de opnamemethode van de controller instellen

Ga in hetzelfde venster naar het tabblad "Programmeren"en selecteer"Programmeercontrole". Controle na het programmeren kan een fout veroorzaken, omdat in sommige gevallen de firmware vergrendelingen installeert SR. Om jezelf niet voor de gek te houden, is het beter om deze controle uit te schakelen. Kortom, volg het screenshot nummer 8.


Screenshot nr. 8 - verificatie-instellingen

We blijven werken met dit venster en gaan naar de "Algemeen". Hier is het noodzakelijk om de prioriteit van het programma in te stellen en zeker te gebruiken NT / 2000 / XP driver (screenshot nummer 9). In sommige gevallen kan het programma de installatie van dit stuurprogramma voorstellen en moet het mogelijk opnieuw worden opgestart IC Prog.


Screenshot 9 - Algemene instellingen

Met dit venster is het werk dus voorbij. Laten we nu verder gaan met de instellingen van de programmeur zelf. Kies in het menu "Instellingen "->" Programmeurinstellingen'of druk gewoon op de toets F3. Het volgende venster verschijnt, weergegeven in screenshot # 10.


Schermafbeelding nr. 10 - instellingenvenster van programmeur

Selecteer eerst het type programmeur - JDM programmeur. Vervolgens hebben we het keuzerondje ingesteld voor het gebruik van de driver Windows. De volgende stap is kiezen COM-poortwaarmee uw programmeur is verbonden. Als het er een is, zijn er helemaal geen vragen en als er meer dan één zijn, kijk dan in de apparaatbeheerder die momenteel wordt gebruikt. De invoer / uitvoervertragingsschuif is ontworpen om de schrijf- en leessnelheid te regelen. Dit kan nodig zijn op snelle computers en als er problemen zijn met de firmware, moet deze parameter worden verhoogd. In mijn geval bleef het standaard gelijk aan 10 en alles werkte prima.

Op deze programma-instelling IC Prog is voorbij en u kunt doorgaan met het proces van de firmware zelf, maar eerst lezen we de gegevens van de microcontroller en kijken wat erin is geschreven. Klik hiervoor op de werkbalk op het pictogram van de microschakeling met een groene pijl, zoals weergegeven in screenshot nr. 11.


Screenshot 11 - Het proces van het lezen van informatie van de microcontroller

Als de microcontroller nieuw is en nog niet eerder is geflitst, worden alle geheugencellen gevuld met waarden 3FFFbehalve de allerlaatste. Het bevat de waarde van de kalibratieconstante. Dit is een zeer belangrijke en unieke waarde voor elke controller. De nauwkeurigheid van de klok hangt ervan af, die door de fabrikant is geselecteerd door deze constante te selecteren en te installeren. De schermafbeelding nr. 12 toont de geheugencel waarin de constante wordt opgeslagen bij het lezen van de controller.


Screenshot 12 - waarde van de kalibratieconstante

Ik herhaal dat de waarde uniek is voor elke microschakeling en niet hoeft samen te vallen met wat in de figuur wordt getoond. Velen door onervarenheid overschrijven deze constante en vervolgens Pic-controller begint niet goed te werken als het project klokken van een interne generator gebruikt. Ik raad je aan om deze constante op te schrijven en de inscriptie met de waarde direct op de controller te plakken. Zo voorkomt u in de toekomst veel problemen. Dus de waarde wordt opgeschreven - we gaan verder. Open het firmwarebestand, dat meestal een extensie heeft .hex. Nu in plaats van te schrijven 3FFF, de programmeerbuffer bevat de code van ons programma (screenshot nr.13).


Screenshot 13 - firmware gedownload naar de programmeerbuffer

Ik schreef hierboven dat velen de kalibratieconstante door nalatigheid overschrijven. Wanneer gebeurt dit? Dit gebeurt wanneer het firmwarebestand wordt geopend. De waarde van de constante verandert automatisch in 3FFF en als je het programmeerproces start, is er geen weg meer terug. In screenshot nr. 14, die geheugencel waar de constante eerder was 3450 (voor opening hex-bestand).


Screenshot No. 14 - automatische verandering van kalibratieconstante

Nu moet je de onderstaande stappen zorgvuldig volgen. We klikken op het pictogram van de microcircuit met bliksem op de werkbalk, waardoor het programma wordt geïnformeerd dat we het firmware-proces willen starten. Het programma zal vragen of we zeker weten dat we dit apparaat willen flashen. We gaan akkoord en klikken op "JA". Daarna krijgen we de waarschuwing die wordt weergegeven in screenshot # 15.


Screenshot No. 15 - waarschuwing voor discrepantie in de waarden van de klokconstante

IC Prog vertelt ons dat één waarde van de kalibratieconstante (in mijn geval 3450), en nu nog een (3FFF) automatisch vervangen door hex-bestand. Er wordt ook voorgesteld om de standaardwaarde te laten staan 3FFF. Het is belangrijk om op 'Nee"aan IC Prog tijdens het programmeren gaf ons de waarde terug 3450 of wat er met je zal zijn. Klik in het algemeen op "Nee"en bekijk het volgende venster (screenshot nr. 16).


Screenshot 16 - programmeerproces

Tijdens deze periode raad ik je aan om nergens op te drukken of de computer met andere taken te laden. Toen ik een screenshot nam voor dit artikel, klik ik op de knop Afdrukscherm er deed zich een schrijffout voor en ik moest het helemaal opnieuw doen. Na een tijdje IC Prog geeft u een bericht over de succesvolle verificatie van de nieuw geschreven code in uw Pic-controller, dus iedereen die dit artikel leuk vond, ik wil dit zien na soortgelijke inspanningen (screenshot nr.17):


Screenshot nr. 17 - de firmware is succesvol, u kunt ontspannen

Als je tijdens het proces nog vragen hebt, lees het artikel dan zorgvuldig opnieuw en alles zal zeker lukken - persoonlijk gecontroleerd. Veel succes voor iedereen en creatief succes !!!
9.8
9.9
9.9

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
8 opmerkingen
Gast Ivanov
Geweldig thema. De tempel is professionaliteit, nauwkeurig, duidelijk en beknopt! Bedankt! Succes!
Gast Helen
Jongens, vertel het me alsjeblieft. Als de programmacode bij het lezen van de firmware van een opzettelijk geflitste controller alleen NUL's en een kalibratiefactor bevat, betekent dit dan dat de firmware is beschermd tegen lezen? microcontroller PIC16F630, probeerde de programmeur te beschouwen volgens het schema "3 bedrading" via de COM-poort. hulp
hallo. gelukkig nieuwjaar voor jou. vertel het me alsjeblieft. je schreef 13 volt op de 4e pin tijdens het programmeren. om spanning op de 4e uitgang te meten ten opzichte van GND? vertel ons meer over hoe u de programmeur instelt
Er is een (serieuzer) schema op de LPT AN589. Lang geleden gedaan
Kijk op internet
De auteur
Helaas niet.
en toevallig is er geen regeling met lpt-poort? bedankt
De auteur
Bedankt voor de beoordeling. Ik heb een vriend een programmeur gemaakt met een afstandsbedieningskabel van ongeveer 1 meter. De vlucht is normaal - de controllers naaien zonder fouten. De kabel gebruikte een twisted-pair gestrande kabel.
Roman1984, Ik heb je op 9-10-10 gezet, maar er is een vraag: heb je geprobeerd te werken met de programmeur die uit de COM-poort op de kabel was verwijderd? Als het in dit geval normaal werkt, kunt u de kabel solderen in plaats van de connector op het bord. Het is handiger als de programmeermodule op tafel ligt en de dynamische belastingen op de COM-poort van de pc minder zijn.
Bij het uitvoeren van de kabel is het raadzaam om de programmeur te plaatsen wanneer deze niet in gebruik is, maar de kabel kan niet worden verwijderd van de pc-connector in een doos, zoals een zeepkist, om onbedoelde kortsluiting te voorkomen.

We raden je aan om te lezen:

Geef het voor de smartphone ...