» elektronik »Hemlagad programmerare för PIC-kontroller

Hemgjord programmerare för PIC-kontroller

Hemgjord programmerare för PIC-kontroller

Utvecklingen av elektronik fortsätter snabbt och mer och mer ofta är mikrokontrollern huvudelementet i den här eller den enheten. Han utför huvudarbetet och befriar designern från behovet av att skapa sofistikerade kretslösningar och reducerar därmed storleken på det tryckta kretskortet till ett minimum. Som alla vet styrs mikrokontrollern av ett program inspelat i dess interna minne. Och om en erfaren elektronisk programmerare inte har problem med att använda mikrokontroller i sina enheter, kan för en nybörjare radioamatör som försöker skriva ett program till en controller (särskilt PIC) visa sig vara en stor besvikelse, och ibland en liten pyroteknisk show i form av ett rökningschip.

Konstigt nog, men med all storhet på Internet har den väldigt lite information om firmware Pic-styrenheter, och materialet som kan hittas är av mycket tvivelaktig kvalitet. Naturligtvis kan du köpa en fabriksprogrammerare till ett otillräckligt pris och sy så mycket du vill, men vad händer om personen inte är engagerad i massproduktion. För dessa ändamål kan du sätta ihop en enkel och inte dyr att implementera hemgjorda, Hänvisas till JDM-programmerare enligt diagrammet nedan (figur nr 1):


Bild №1 - diagram över programmeraren

Omedelbart tar jag med en lista över element för dem som är för lata för att kika in i diagrammet:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (trunkerad). Genom att justera motståndet för detta motstånd måste du uppnå cirka 13V vid stift nr 4 (VPP) under programmering. I mitt fall är motståndet 1,2 kOhm
  • R3 - 200 ohm
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (stabiliseringsspänning 5.1V)
  • VD7 - 1N4743A (stabiliseringsspänning 13V)
  • C1 - 100 nF (0,1 μF)
  • C2 - 470 μF x 16 V (elektrolytisk)
  • SUB-D9F - COM-portkontakt (MOM eller SOCKET)
  • DIP8-uttag - beror på styrenheten du använder

Kretsen använder ett exempel på att ansluta sådana vanliga styrenheter som PIC12F675 och PIC12F629, men detta betyder inte alls firmwaret i andra serier PIC kommer att vara omöjligt. För att skriva ett program till en controller av en annan typ räcker det att överföra programmeringsledningarna i enlighet med figur 2, som ges nedan.


Bild nr. 2 - Val av PIC-kontrollerare med nödvändiga slutsatser

Som ni kanske gissar används fallet i schemat för min programmerare DIP8. Med stor önskan kan du skapa en universaladapter för varje typ av chip och därmed få en universell programmerare. Men sedan med PIC-styrenheter Jag arbetar sällan, det räcker för mig.

Även om själva kretsen är ganska enkel och inte orsakar monteringssvårigheter, men den kräver också respekt. Därför skulle det vara trevligt att skapa ett tryckt kretskort för det. Efter några manipulationer med programmet SprintLayout, textolit, borr och järn, ett sådant ämne föddes här (foto nr 3).


Foto nr 3 - kretskort för programmerare

Ladda ner PCB-källa för programmet SprintLayout Du kan följa den här länken:
pp_programmator.zip [17.67 Kb] (nedladdningar: 984)
Om så önskas kan du ändra den till din typ av PIC-styrenhet. För de som bestämde sig för att lämna brädet oförändrat spridde jag utsikten från sidan av delarna för att underlätta installationen (figur 4).


Bild 4 - Kort på monteringssidan

Lite mer trolldom med lödkolv och vi har en färdig enhet som kan blinka Pic-styrenhet genom COM-port din dator. Fortfarande varmt och inte tvättat från flödet, resultatet av mina ansträngningar visas på foto nr 5.


Foto nr 5 - komplett programmerare

Från och med nu, det första steget mot firmware Pic-styrenhetkom till slut. Det andra steget kommer att inkludera att ansluta programmeraren till datorn och arbeta med programmet IC Prog.
Tyvärr kan inte alla moderna datorer och bärbara datorer arbeta med den här programmeraren på grund av den banala frånvaron på dem COM-portar, och de som installeras på bärbara datorer ger inte den nödvändiga programmeringen 12B. Så jag bestämde mig för att gå till mitt första PCsom för länge sedan dammade och väntade på sin finaste timme (och fortfarande väntade).
Så slå på datorn och installera först programmet IC Prog. Du kan ladda ner den från författarens webbplats eller på denna länk:
icprog105d.zip [432.25 Kb] (nedladdningar: 1167)
Vi ansluter programmeraren till COM-port och kör det nyinstallerade programmet. För korrekt användning är det nödvändigt att utföra en serie manipulationer. Till att börja med är det nödvändigt att välja vilken typ av styrenhet vi ska sy. Jag har det PIC12F675. I skärmdump nr 6 markeras fältet för att välja styrenhet med rött.


Skärmdump 6 - val av mikrokontroller

Gå sedan till menyn "Inställningar "->" Alternativ", i fönstret som visas, välj fliken I2C och markera rutorna som visas på skärmdump nr 7.


Skärmdump 7 - inställning av kontrollerins inspelningsmetod

I samma fönster, gå till fliken "programmering"och välj"Programmeringskontroll". Kontrollera efter programmering kan orsaka fel, eftersom firmware i vissa fall installerar låslås CP. För att inte lura dig själv är det bättre att inaktivera den här kontrollen. Kort sagt, följ skärmdump nummer 8.


Skärmdump nr 8 - verifieringsinställning

Vi fortsätter att arbeta med det här fönstret och går till "gemensamt". Här är det nödvändigt att ställa in prioritet för programmet och se till att använda det NT / 2000 / XP drivrutin (skärmdump nummer 9). I vissa fall kan programmet föreslå installation av denna drivrutin och kan kräva en omstart IC Prog.


Skärmdump 9 - Allmänna inställningar

Så med detta fönster är arbetet över. Låt oss nu gå vidare till inställningarna för programmeraren själv. Välj i menyn "Inställningar "->" Programmeringsinställningar"eller bara trycka på knappen F3. Följande fönster visas, visas på skärmdump nr 10.


Skärmdump nr 10 - fönstret för programmeringsinställningar

Först och främst väljer du typen av programmerare - Jdm programmerare. Därefter ställer vi in ​​radioknappen för att använda drivrutinen Windows. Nästa steg är att välja COM-portsom din programmerare är ansluten till. Om det är en, finns det inga frågor alls, och om det finns fler än en, titta i enhetshanteraren som för närvarande används. Skjutreglaget för ingång / utgång är konstruerat för att styra skriv- och läshastigheten. Detta kan behövas på snabba datorer och om det finns problem med firmware - måste denna parameter ökas. I mitt fall förblev det som standard lika med 10 och allt fungerade bra.

På denna programinställning IC Prog är över och du kan gå vidare med själva firmwareprocessen, men först läser vi data från mikrokontrollern och ser vad som skrivs in i den. För att göra detta, klicka på ikonen för mikrokretsen med en grön pil på verktygsfältet, som visas på skärmdump nr 11.


Skärmdump 11 - Processen att läsa information från mikrokontrollern

Om mikrokontrollern är ny och inte har blinkat tidigare, kommer alla dess minneceller att fyllas med värden 3FFFutom den allra sista. Det kommer att innehålla värdet på kalibreringskonstanten. Detta är ett mycket viktigt och unikt värde för varje styrenhet. Klockans noggrannhet beror på den, som väljs av tillverkaren genom att välja och installera denna konstant. Skärmdump nr 12 visar minnecellen där konstanten kommer att lagras vid läsning av styrenheten.


Skärmdump 12 - värdet på kalibreringskonstanten

Jag upprepar att värdet är unikt för varje mikrokrets och inte behöver sammanfalla med vad som visas i figuren. Många av erfarenhet skriver över denna konstant och därefter Pic-styrenhet börjar fungera fel om projektet använder klockning från en intern generator. Jag råder dig att skriva ner denna konstant och fästa inskriptionen med dess värde direkt på styrenheten. På detta sätt kommer du att undvika mycket problem i framtiden. Så värdet skrivs ned - vi fortsätter. Öppna firmwarefilen, som vanligtvis har en förlängning .hex. Nu istället för att skriva 3FFF, programmeringsbufferten innehåller koden för vårt program (skärmdump 13).


Skärmdump 13 - firmware nedladdad till programmeringsbufferten

Jag skrev ovan att många skriver över kalibreringskonstanten av vårdslöshet. När händer detta? Detta händer när firmwarefilen öppnas. Värdet på konstanten ändras automatiskt till 3FFF och om du startar programmeringsprocessen är det ingen återvändning. I skärmdump nr 14, den minnecellen där konstanten tidigare var 3450 (innan du öppnar hex-fil).


Skärmdump nr 14 - automatisk ändring av kalibreringskonstanten

Nu måste du följa stegen nedan noggrant. Vi klickar på ikonen för mikrokretsen med blixt i verktygsfältet och informerar därmed programmet om att vi vill initiera firmwareprocessen. Programmet frågar om vi är säkra på att vi vill blixta den här enheten. Vi accepterar och klickar på "JA". Därefter får vi varningen som visas i skärmdump # 15.


Skärmdump nr 15 - varning om avvikelse i klockkonstantens värden

IC Prog berättar för oss att ett värde på kalibreringskonstanten (i mitt fall 3450) och nu en annan (3FFF) ersätts automatiskt från hex-fil. Det föreslås också att lämna standardvärdet 3FFF. Det är viktigt att klicka på "NEJ"att IC Prog under programmering gav vi värdet 3450 eller vad som kommer att vara med dig. Klicka i allmänhet på "NEJ"och observera följande fönster (skärmdump 16).


Skärmdump 16 - programmeringsprocess

Under denna period rekommenderar jag att du inte trycker på något eller laddar datorn med andra uppgifter. När jag tog en skärmdump för den här artikeln, när jag klickade på knappen Skriv ut skärmen ett skrivfel inträffade och jag var tvungen att göra det igen. Efter en tid IC Prog ger dig ett meddelande om den framgångsrika verifieringen av den nyligen skrivna koden i din Pic-styrenhet, så alla som gillade den här artikeln, jag vill se den efter liknande ansträngningar (skärmdump nr 17):


Skärmdump nr 17 - firmware var framgångsrik, du kan koppla av

Om du har några frågor i processen, läs artikeln noggrant igen och allt kommer säkert att fungera - kontrolleras personligen. Lycka till alla och kreativ framgång !!!
9.8
9.9
9.9

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga
8 kommentar
Gäst Ivanov
Bra tema. Templet är professionalism, exakt, tydligt och tydligt! Tack! Framgång!
Gäst Helen
Pojkar, berätta snälla. Om programkoden endast innehåller NULL och en kalibreringsfaktor vid slutet av läsningen av en känd firmwarecontroller, betyder det att firmware är skyddad från läsning? mikrokontroller PIC16F630, försökte överväga programmeraren enligt schemat "3 ledningar" genom COM-porten. Hjälp
Hallå gott nytt år till dig. snälla berätta. du skrev 13 volt på fjärde stiftet när du programmerade. att mäta spänning på fjärde utgången i förhållande till gnd? berätta mer om hur du ställer in programmeraren
Det finns ett system (mer allvarligt) på LPT AN589. Gick för länge sedan
Titta på internet
Författaren
Tyvärr, nej.
och av en slump finns det inget schema med lpt-port? tack.
Författaren
Tack för betygsättningen. Jag gjorde en vän till en programmerare med en fjärrkabel på cirka 1 meter. Flygningen är normal - styrenheterna syr utan att misslyckas. Kabeln använde en tvinnad parsträngad kabel.
Roman1984, Jag satte dig 9-10-10, men det finns en fråga: försökte du arbeta med programmeraren som togs bort från COM-porten på kabeln? Om det fungerar normalt i detta fall kan du löd kabeln istället för kontakten på kortet. Det är bekvämare när programmeringsmodulen finns på bordet och de dynamiska belastningarna på PC: s COM-port är mindre.
När du utför kabeln bör du placera programmeraren när den inte används, men kabeln kan inte tas bort från PC-kontakten i en låda, t.ex. en tvålbox, för att undvika oavsiktliga kortslutningar.

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...