» elektronik »Hjemmelavet programmør til PIC-controllere

Hjemmelavet programmerer til PIC-controllere

Hjemmelavet programmerer til PIC-controllere

Udviklingen af ​​elektronik foregår hurtigt, og mere og mere ofte er mikrokontrolleren hovedelementet i denne eller den anden enhed. Han udfører hovedparten af ​​arbejdet og frigør designeren fra behovet for at skabe sofistikerede kredsløb, hvorved størrelsen på kredsløbskortet reduceres til et minimum. Som alle ved, styres mikrokontrolleren af ​​et program, der er optaget i dens interne hukommelse. Og hvis en erfaren elektronisk programmør ikke har problemer med at bruge mikrokontrollere i deres enheder, kan en begyndende radioamatør, der prøver at skrive et program til en controller (især PIC), vise sig at være en stor skuffelse, og nogle gange et lille pyroteknisk show i form af en rygerchip.

Mærkeligt nok, men med al den store internet, har den meget lidt information om firmwaren Pic-controllere, og det materiale, der kan findes, er af meget tvivlsom kvalitet. Selvfølgelig kan du købe en fabriksprogrammør til en utilstrækkelig pris og sy så meget du vil, men hvad nu hvis personen ikke er engageret i masseproduktion. Til disse formål kan du sammensætte en enkel og ikke dyre at implementere hjemmelavet, Nævnt JDM-programmør i henhold til nedenstående diagram (figur nr. 1):


Figur №1 - diagram over programmereren

Straks medbringer jeg en liste over elementer for dem, der er for dovne til at kigge ind i diagrammet:

  • R1 - 10 kOhm
  • R2 - 10 kΩ (sammenflettet). Ved at justere modstanden for denne modstand, skal du opnå ca. 13V ved pin nr. 4 (VPP) under programmeringen. I mit tilfælde er modstanden 1,2 kOhm
  • R3 - 200 ohm
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (stabiliseringsspænding 5.1V)
  • VD7 - 1N4743A (stabiliseringsspænding 13V)
  • C1 - 100 nF (0,1 μF)
  • C2 - 470 μF x 16 V (elektrolytisk)
  • SUB-D9F - COM-portstik (MOM eller SOCKET)
  • DIP8-stik - afhænger af den controller, du bruger

Kredsløbet bruger et eksempel på tilslutning af så almindelige controllere som PIC12F675 og PIC12F629, men dette betyder overhovedet ikke firmwaret i andre serier PIC vil være umulig. For at skrive et program til en controller af en anden type er det nok at overføre programmeringsledningerne i overensstemmelse med figur 2, der er givet nedenfor.


Figur 2 - PIC-controller-sagsindstillinger med de nødvendige konklusioner

Som du måske gætter, bruges sagen i skemaet til min programmør DIP8. Med et stort ønske kan du oprette en universaladapter til hver type chip og derved få en universel programmerer. Men siden med PIC-controllere Jeg arbejder sjældent, det er nok for mig.

Selvom kredsløbet i sig selv er ganske enkelt og ikke medfører monteringsproblemer, men det kræver også respekt. Derfor ville det være rart at lave et printkort til det. Efter nogle manipulationer med programmet SprintLayout, tekstolit, bor og jern, sådan et tomt blev født her (foto nr. 3).


Foto nr. 3 - programmets kredsløb

Download PCB-kilde til programmet SprintLayout Du kan følge dette link:
pp_programmator.zip [17.67 Kb] (downloads: 984)
Hvis det ønskes, kan du ændre det til din type PIC-controller. For dem, der besluttede at forlade brættet uændret, sprede jeg udsigten fra siden af ​​delene for at lette installationen (figur 4).


Figur 4 - Kort på monteringssiden

Lidt mere troldmand med loddejern, og vi har en færdiglavet enhed, der kan blinke Pic-controller igennem COM-port din computer. Stadig varm og ikke vasket fra fluxen, resultatet af min indsats er vist på foto nr. 5.


Foto nr. 5 - komplet programmerer

Fra nu af er det første skridt mod firmware Pic-controllerkom til en ende. Den anden fase vil omfatte tilslutning af programmereren til computeren og arbejde med programmet IC Prog.
Desværre er det ikke alle moderne computere og laptops, der er i stand til at arbejde med denne programmør på grund af det banale fravær på dem COM-porte, og dem, der er installeret på bærbare computere, giver ikke den nødvendige programmering 12B. Så jeg besluttede at vende mig til min første PCder for længe siden støvet og ventede på sin fineste time (og stadig ventede).
Så tænd computeren og installer først programmet IC Prog. Du kan downloade det fra forfatterens websted eller på dette link:
icprog105d.zip [432.25 Kb] (downloads: 1167)
Vi forbinder programmereren til COM-port og kør det nyligt installerede program. For korrekt betjening er det nødvendigt at udføre en række manipulationer. Oprindeligt er det nødvendigt at vælge den type controller, som vi skal sy. Jeg har det PIC12F675. I skærmbillede nr. 6 fremhæves feltet til valg af controller med rødt.


Skærmbillede 6 - valg af mikrokontrollertype

Gå derefter til menuen "Indstillinger "->" Indstillinger", vælg fanen i det vindue, der vises I2C og marker afkrydsningsfelterne som vist på skærmbillede # 7.


Skærmbillede 7 - indstilling af kontroloptagelsesmetoden

I det samme vindue skal du gå til fanen "programmering"og vælg"Programmeringskontrol". Kontrol efter programmering kan forårsage en fejl, fordi firmwaren i nogle tilfælde installerer låsesikringer CP. For ikke at narre dig selv, er det bedre at deaktivere denne check. Kort sagt, følg skærmbillede nummer 8.


Skærmbillede nr. 8 - verifikationsopsætning

Vi fortsætter med at arbejde med dette vindue og går til "fælles". Her er det nødvendigt at indstille prioriteringen af ​​programmet og være sikker på at bruge det NT / 2000 / XP driver (skærmbillede nummer 9). I nogle tilfælde foreslår programmet muligvis installation af denne driver og kræver muligvis en genstart IC Prog.


Skærmbillede 9 - Generelle indstillinger

Så med dette vindue er arbejdet forbi. Lad os nu gå videre til indstillingerne for selve programmøren. Vælg i menuen "Indstillinger "->" Programmerindstillinger"eller bare trykke på tasten F3. Følgende vindue vises, vist på skærmbillede # 10.


Skærmbillede nr. 10 - vinduet med programmeringsindstillinger

Vælg først programtypen - Jdm-programmør. Dernæst indstiller vi radioknappen til brug af driveren vinduer. Det næste trin er at vælge COM-portsom din programmør er forbundet til. Hvis der er et, er der overhovedet ingen spørgsmål, og hvis der er mere end et, skal du kigge i enhedsadministratoren, der i øjeblikket bruges. Indgangs- / udgangsforsinkelsesglideren er designet til at kontrollere hastigheden på skrivning og læsning. Dette kan være nødvendigt på hurtige computere, og hvis der er problemer med firmwaren - skal denne parameter øges. I mit tilfælde forblev det som standard lig med 10 og alt fungerede fint.

På denne programindstilling IC Prog er forbi, og du kan gå videre til selve firmwareprocessen, men først læser vi dataene fra mikrokontrolleren og ser, hvad der er skrevet ind i den. For at gøre dette skal du på værktøjslinjen klikke på ikonet for mikrokredsløbet med en grøn pil som vist på skærmbillede nr. 11.


Skærmbillede 11 - Processen med at læse information fra mikrokontrolleren

Hvis mikrokontrolleren er ny og ikke er blevet blinket før, vil alle dens hukommelsesceller blive fyldt med værdier 3FFFundtagen den sidste. Det vil indeholde værdien af ​​kalibreringskonstanten. Dette er en meget vigtig og unik værdi for hver controller. Urets nøjagtighed afhænger af det, som vælges af fabrikanten ved at vælge og installere denne konstant. Skærmbillede nr. 12 viser hukommelsescellen, hvor konstanten gemmes, når man læser controlleren.


Skærmbillede 12 - værdien af ​​kalibreringskonstanten

Jeg gentager, at værdien er unik for hver mikrokredsløb og ikke behøver at falde sammen med det, der er vist på figuren. Mange af uerfarenhed overskriver dette konstant og efterfølgende Pic-controller begynder at arbejde forkert, hvis projektet bruger ur fra en intern generator. Jeg anbefaler dig at nedskrive denne konstante og sætte inskriptionen med dens værdi direkte på controlleren. På denne måde vil du undgå mange problemer i fremtiden. Så værdien nedskrives - vi går videre. Åbn firmwarefilen, som normalt har en udvidelse .hex. Nu i stedet for at skrive 3FFF, programmeringsbufferen indeholder koden til vores program (skærmbillede nr. 13).


Skærmbillede 13 - firmware downloadet til programmeringsbufferen

Jeg skrev ovenfor, at mange overskriver kalibreringskonstanten ved uagtsomhed. Hvornår sker dette? Dette sker, når firmwarefilen åbnes. Værdien af ​​konstanten ændres automatisk til 3FFF og hvis du starter programmeringsprocessen, er der ingen tilbagevenden. I skærmbillede nr. 14, den hukommelsescelle, hvor konstanten tidligere var 3450 (før åbning hex-fil).


Skærmbillede nr. 14 - automatisk ændring af kalibreringskonstanten

Nu skal du nøje følge trinnene nedenfor. Vi klikker på ikonet for mikrokredsløbet med lynet på værktøjslinjen og informerer derved programmet om, at vi vil starte firmwareprocessen. Programmet spørger, om vi er sikre på, at vi vil blinke denne enhed. Vi er enige og klik "JA". Derefter får vi advarslen vist på skærmbillede # 15.


Screenshot No. 15 - advarsel om uoverensstemmelser i urets konstante værdier

IC Prog fortæller os, at en værdi af kalibreringskonstanten (i mit tilfælde 3450), og nu en anden (3FFF) automatisk erstattet fra hex-fil. Det foreslås også at forlade standardværdien 3FFF. Det er vigtigt at klikke på "NO"For at IC Prog under programmeringen returnerede vi værdien 3450 eller hvad der vil være med dig. Klik generelt på "NO"og se følgende vindue (skærmbillede nr. 16).


Skærmbillede 16 - programmeringsproces

I denne periode anbefaler jeg dig ikke at trykke på noget eller indlæse computeren med andre opgaver. Da jeg tog et skærmbillede til denne artikel, da jeg klikker på knappen Print skærm der opstod en skrivefejl, og jeg måtte gøre det igen. Efter nogen tid IC Prog giver dig en besked om den vellykkede verifikation af den nyligt skrevne kode i din Pic-controller, så alle, der kunne lide denne artikel, vil jeg se denne efter lignende anstrengelser (skærmbillede nr. 17):


Skærmbillede nr. 17 - firmwaren var vellykket, du kan slappe af

Hvis du har spørgsmål, skal du læse artiklen omhyggeligt igen, og alt vil helt sikkert ordne sig - kontrolleres personligt. Held og lykke til alle og kreativ succes !!!
9.8
9.9
9.9

Tilføj en kommentar

    • smilesmilxaxaokdontknowyahoonea
      bossscratchnarrejaja-jaaggressivhemmelighed
      undskylddansdance2dance3benådninghjælpdrikkevarer
      stop-vennergodgoodgoodfløjtedånetunge
      røgklappecrayerklærerspottendedon-t_mentiondownloade
      hedeirefullaugh1mdamødemoskingnegativ
      not_ipopcornstraffelæseskræmmeforskrækkelsersøg
      hånethank_youdetteto_clueumnikakutenig
      dårligbeeeblack_eyeblum3blushpralekedsomhed
      censureretpleasantrysecret2truesejryusun_bespectacled
      SHOKRespektlolprevedvelkommenkrutoyya_za
      ya_dobryihjælperenne_huliganne_othodiFludforbudtæt
8 kommentar
Gæst Ivanov
Fantastisk tema. Templet er professionalisme, nøjagtigt, klart og præcist! Tak! Succes!
Gæst Helen
Drenge, fortæl mig det. Hvis programkoden kun læser nul og en kalibreringsfaktor ved slutningen af ​​læsning af firmwaren fra en kendt firmwarecontroller, betyder det så, at firmwaren er beskyttet mod læsning? mikrokontroller PIC16F630, forsøgte at overveje programmereren i henhold til skemaet "3 ledninger" gennem COM-porten. hjælp
Hej godt nytår til dig. fortæl mig det. du skrev 13 volt på 4. pin ved programmering. at måle spænding på 4. output i forhold til gnd? fortæl os mere om, hvordan du konfigurerer programmereren
Der er en ordning (mere alvorlig) på LPT AN589. Gjorde for længe siden
Se på internettet
Forfatteren
Desværre nej.
og tilfældigvis er der ingen ordning med lpt-port? tak.
Forfatteren
Tak for vurderingen. Jeg fik en ven til en programmør med et fjernkabel på cirka 1 meter. Flyvningen er normal - controllerne syr uden fejl. Kablet brugte et snoet parstrenget kabel.
Roman1984, Jeg satte dig på 9-10-10, men der er et spørgsmål: prøvede du at arbejde med programmereren, der blev fjernet fra COM-porten på kablet? Hvis det fungerer normalt i dette tilfælde, kan du lodde kablet i stedet for stikkets stik. Det er mere praktisk, når programmeringsmodulet er på bordet, og de dynamiske belastninger på pc'ens COM-port er mindre.
Når du udfører kablet, tilrådes det at placere programmereren, når det ikke er i brug, men kablet kan ikke fjernes fra pc-stikket i en kasse, såsom en sæbekasse, for at undgå utilsigtede kortslutninger.

Vi råder dig til at læse:

Giv den til smartphonen ...