» elektronikk »Hjemmelaget programmerer for PIC-kontrollere

Hjemmelaget programmerer for PIC-kontrollere

Hjemmelaget programmerer for PIC-kontrollere

Utviklingen av elektronikk skjer raskt, og stadig oftere er hovedelementet i en enhet en mikrokontroller. Han utfører hovedarbeidet og frigjør designeren fra behovet for å lage sofistikerte kretsløsninger, og reduserer dermed størrelsen på kretskortet til et minimum. Som alle vet, kontrolleres mikrokontrolleren av et program som er spilt inn i det interne minnet. Og hvis en erfaren elektronisk programmerer ikke har problemer med å bruke mikrokontrollere i enhetene sine, så for en nybegynner radioamatør som prøver å skrive et program til en kontroller (spesielt PIC) kan vise seg å være en stor skuffelse, og noen ganger et lite pyroteknisk show i form av en røykebrikke.

Merkelig nok, men med all den store internett, har den veldig lite informasjon om firmware Pic-kontrollere, og materialet som er funnet er av veldig tvilsom kvalitet. Selvfølgelig kan du kjøpe en fabrikkprogrammerer til en utilstrekkelig pris og sy så mye du vil, men hva om personen ikke driver med masseproduksjon. For disse formålene kan du sette sammen en enkel og ikke dyr å implementere hjemmelaget, Referert til JDM-programmerer i henhold til diagrammet nedenfor (figur nr. 1):


Figur №1 - diagram over programmereren

Umiddelbart tar jeg med en liste over elementer for de som er for late til å kikke seg inn i diagrammet:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (avkortet). Ved å justere motstanden til denne motstanden, må du oppnå omtrent 13V ved pinne nr. 4 (VPP) under programmering. I mitt tilfelle er motstanden 1,2 kOhm
  • R3 - 200 ohm
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (stabiliseringsspenning 5.1V)
  • VD7 - 1N4743A (stabiliseringsspenning 13V)
  • C1 - 100 nF (0,1 μF)
  • C2 - 470 μF x 16 V (elektrolytisk)
  • SUB-D9F - COM-portkontakt (MOM eller SOCKET)
  • DIP8-stikkontakt - avhenger av kontrolleren du bruker

Kretsen bruker et eksempel på å koble slike vanlige kontrollere som PIC12F675 og PIC12F629, men dette betyr overhode ikke firmware fra andre serier PIC vil være umulig. For å skrive et program til en kontroller av en annen type, er det nok å overføre programmerertrådene i samsvar med figur 2, som er gitt nedenfor.


Figur nr. 2 - PIC-kontroller saksalternativer med nødvendige konklusjoner

Som du kanskje gjetter, blir saken brukt i skjemaet til programmereren min DIP8. Med et stort ønske kan du lage en universal adapter for hver type chip, og dermed få en universell programmerer. Men siden med PIC-kontrollere Jeg jobber sjelden, det er nok for meg.

Selv om selve kretsløpet er ganske enkelt og ikke forårsaker monteringsproblemer, men det krever også respekt. Derfor ville det være fint å lage et trykt kretskort til det. Etter noen manipulasjoner med programmet SprintLayout, tekstolit, bor og jern, en slik blank ble født her (foto nr. 3).


Foto nr. 3 - kretskort for programmerer

Last ned PCB-kilde for programmet SprintLayout Du kan følge denne lenken:
pp_programmator.zip [17.67 Kb] (nedlastinger: 984)
Hvis ønskelig, kan du endre den til din type PIC-kontroller. For de som bestemte seg for å forlate brettet uendret, spredte jeg utsikten fra siden av delene for å lette installasjonen (figur 4).


Figur 4 - Brett på monteringssiden

Litt mer trolldom med loddejern, og vi har et ferdiglagd apparat som kan blinke Pic-kontroller gjennom COM-port datamaskinen din. Fortsatt varmt og ikke vasket fra fluksen, er resultatet av min innsats vist på foto nr. 5.


Foto nr. 5 - komplett programmerer

Fra nå av er det første skrittet mot firmware Pic-kontrollerkom til en slutt. Det andre trinnet vil omfatte å koble programmereren til datamaskinen og jobbe med programmet IC Prog.
Dessverre er det ikke alle moderne datamaskiner og bærbare datamaskiner som er i stand til å samarbeide med denne programmereren på grunn av det banale fraværet på dem COM-porter, og de som er installert på bærbare datamaskiner gir ikke nødvendig programmering 12B. Så jeg bestemte meg for å gå til mitt første PCsom for lengst støvet og ventet på sin fineste time (og fortsatt ventet).
Så slå på datamaskinen og installer først programmet IC Prog. Du kan laste ned det fra forfatterens nettsted eller på denne lenken:
icprog105d.zip [432.25 Kb] (nedlastinger: 1167)
Vi kobler programmereren til COM-port og kjør det nylig installerte programmet. For korrekt bruk er det nødvendig å utføre en serie manipulasjoner. Til å begynne med er det nødvendig å velge typen kontroller som vi skal sy. Jeg har det PIC12F675. På skjermbilde nr. 6 er feltet for valg av kontroller markert med rødt.


Skjermbilde 6 - valg av mikrokontrollertype

Gå deretter til menyen "Innstillinger "->" Alternativer", i vinduet som vises, velg kategorien I2C og merk av i boksene som vist på skjermbilde # 7.


Skjermbilde 7 - innstilling av kontrollerens innspillingsmetode

I det samme vinduet, gå til fanen "programmering"og velg"Programmeringssjekk". Kontroller etter programmering kan føre til en feil, fordi firmware i noen tilfeller installerer låsesperre CP. For ikke å lure deg selv, er det bedre å deaktivere denne sjekken. Kort sagt, følg skjermdump nummer 8.


Skjermbilde nr. 8 - verifiseringsoppsett

Vi fortsetter å jobbe med dette vinduet og går til "felles". Her er det nødvendig å sette prioritet til programmet og være sikker på å bruke det NT / 2000 / XP driver (skjermbilde nummer 9). I noen tilfeller kan programmet foreslå installasjon av denne driveren og kan kreve en omstart IC Prog.


Skjermbilde 9 - Generelle innstillinger

Så med dette vinduet er arbeidet over. La oss nå gå videre til innstillingene til selve programmereren. Velg i menyen "Innstillinger "->" Programmerinnstillinger"eller bare trykk på tasten F3. Følgende vindu vises, vist på skjermbilde # 10.


Skjermbilde nr. 10 - vinduet programmererinnstillinger

Først av alt, velg type programmerer - Jdm programmerer. Deretter setter vi alternativknappen for bruk av driveren Windows. Neste trinn er å velge COM-portsom programmereren din er koblet til. Hvis det er et, er det ingen spørsmål i det hele tatt, og hvis det er mer enn ett, kan du se i enhetsbehandleren som for tiden brukes. Inngangs- / utgangsforsinkelseskontrolleren er designet for å kontrollere hastigheten på skriving og lese. Dette kan være nødvendig på raske datamaskiner, og hvis det er problemer med fastvaren - må denne parameteren økes. I mitt tilfelle forble det som standard lik 10 og alt fungerte fint.

På denne programinnstillingen IC Prog er over, og du kan gå videre til selve firmware-prosessen, men først leser vi dataene fra mikrokontrolleren og ser hva som er skrevet inn i den. For å gjøre dette, på verktøylinjen, klikk på ikonet til mikrokretsen med en grønn pil, som vist på skjermbilde nr. 11.


Skjermbilde 11 - Prosessen med å lese informasjon fra mikrokontrolleren

Hvis mikrokontrolleren er ny og ikke har blitt blinket før, vil alle minnecellene bli fylt med verdier 3FFFbortsett fra den aller siste. Den vil inneholde verdien av kalibreringskonstanten. Dette er en veldig viktig og unik verdi for hver kontroller. Klokkens nøyaktighet avhenger av det, som velges av produsenten ved å velge og installere denne konstanten. Skjermdump nr. 12 viser minnecellen der konstanten vil bli lagret når du leser kontrolleren.


Skjermbilde 12 - verdien av kalibreringskonstanten

Jeg gjentar at verdien er unik for hver mikrokrets og ikke trenger å være sammenfallende med det som er vist på figuren. Mange av uerfarenhet overskriver dette konstant og deretter Pic-kontroller begynner å fungere feil hvis prosjektet bruker klokke fra en intern generator. Jeg anbefaler deg å skrive ned denne konstanten og feste inskripsjonen med dens verdi direkte på kontrolleren. På denne måten vil du unngå mye trøbbel i fremtiden. Så verdien er skrevet ned - vi går videre. Åpne firmwarefilen, som vanligvis har en utvidelse hex. Nå i stedet for å skrive 3FFF, programmeringsbufferen inneholder koden til programmet vårt (skjermbilde nr. 13).


Skjermbilde 13 - firmware lastet ned til programmeringsbufferen

Jeg skrev over at mange overskriver kalibreringskonstanten ved uaktsomhet. Når skjer dette? Dette skjer når firmwarefilen åpnes. Verdien på konstanten endres automatisk til 3FFF og hvis du starter programmeringsprosessen, er det ingen tilbakevending. På skjermbilde nr. 14, den minnecellen der konstanten tidligere var 3450 (før åpning sekskantet fil).


Skjermbilde nr. 14 - automatisk endring av kalibreringskonstanten

Nå må du nøye følge trinnene nedenfor. Vi klikker på ikonet til mikrokretsen med lyn på verktøylinjen, og informerer derved programmet om at vi vil starte firmwareprosessen. Programmet vil spørre om vi er sikre på at vi vil blinke denne enheten. Vi er enige og klikker "JA". Etter dette får vi advarselen vist på skjermbilde # 15.


Skjermbilde nr. 15 - advarsel om avvik i verdiene på klokkonstanten

IC Prog forteller oss at en verdi av kalibreringskonstanten (i mitt tilfelle 3450), og nå en annen (3FFF) automatisk erstattet fra sekskantet fil. Det foreslås også å forlate standardverdien 3FFF. Det er viktig å klikke på "NOIC Prog under programmering returnerte verdien 3450 eller hva som vil være med deg. Klikk generelt på "NO"og observer følgende vindu (skjermbilde nr. 16).


Skjermbilde 16 - programmeringsprosess

I løpet av denne perioden anbefaler jeg deg å ikke trykke på noe eller laste datamaskinen med andre oppgaver. Da jeg tok et skjermbilde for denne artikkelen, da jeg klikker på knappen Skriv ut skjerm det oppsto en skrivefeil, og jeg måtte gjøre det på nytt. Etter litt tid IC Prog vil gi deg en melding om vellykket bekreftelse av den nylig skrevne koden i din Pic-kontroller, så alle som likte denne artikkelen, jeg vil se denne etter lignende innsats (skjermbilde nr. 17):


Skjermbilde nr. 17 - firmware var vellykket, du kan slappe av

Hvis du har spørsmål, les artikkelen nøye på nytt, og alt vil sikkert ordne seg - sjekket personlig. Lykke til alle og kreativ suksess !!!
9.8
9.9
9.9

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær
8 kommentar
Gjest Ivanov
Flott tema. Templet er profesjonalitet, nøyaktig, tydelig og konsis! Takk! Suksess!
Gjesten Helen
Gutter, si meg. Hvis programkoden bare inneholder ZEROer og en kalibreringsfaktor på slutten når du leser fastvaren fra en bevisst blinket kontroller, betyr det at firmwaren er beskyttet mot lesing? mikrokontroller PIC16F630, prøvde å vurdere programmereren i henhold til skjemaet "3 ledninger" gjennom COM-porten. hjelp
Hallo godt nytt år til deg. fortell meg. du skrev 13 volt på den fjerde pin når du programmerte. å måle spenning på 4. utgang i forhold til gnd? fortell oss mer om hvordan du konfigurerer programmereren
Det er en ordning (mer alvorlig) på LPT AN589. Gjorde for lenge siden
Se på internett
Forfatteren
Dessverre, nei.
og ved en tilfeldighet er det ingen ordning med lpt-port? takk.
Forfatteren
Takk for vurderingen. Jeg gjorde en venn til en programmerer med en fjernkabel på omtrent 1 meter. Flyturen er normal - kontrollerne syr uten feil. Kabelen brukte en vridd par strandet kabel.
Roman1984, Jeg la deg på 9-10-10, men det er et spørsmål: prøvde du å samarbeide med programmereren som ble fjernet fra COM-porten på kabelen? Hvis det fungerer normalt i dette tilfellet, kan du lodde kabelen i stedet for kontakten på brettet. Det er mer praktisk når programmeringsmodulen er på bordet, og den dynamiske belastningen på PC COM-porten er mindre.
Når du tar ut kabelen, anbefales det å plassere programmereren når den ikke er i bruk, men kabelen kan ikke fjernes fra PC-kontakten i en boks, for eksempel en såpekasse, for å unngå utilsiktet kortslutning.

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...