» electronică »Programator de casă pentru controloare PIC

Programator de casă pentru controloare PIC

Programator de casă pentru controloare PIC

Dezvoltarea electronică se desfășoară rapid și tot mai des microcontrolerul este elementul principal al acestui dispozitiv. El execută lucrarea principală și îl eliberează pe proiectant de nevoia de a crea soluții sofisticate de circuite, reducând astfel dimensiunea plăcii de circuite imprimate la minimum. După cum știe toată lumea, microcontrolerul este controlat de un program înregistrat în memoria sa internă. Și dacă un programator electronic cu experiență nu are probleme să folosească microcontrolerele pe dispozitivele lor, atunci pentru un radioamator începător care încearcă să scrie un program către un controler (în special PIC) se poate dovedi o mare dezamăgire și uneori un mic spectacol pirotehnic sub forma unui cip de fumat.

Ciudat, dar cu toată măreția Internetului, are foarte puține informații despre firmware Controlere pic, iar materialul care poate fi găsit este de o calitate foarte dubioasă. Desigur, puteți cumpăra un programator din fabrică la un preț inadecvat și să coaseți cât doriți, dar ce se întâmplă dacă persoana nu este angajată în producția de masă. În aceste scopuri, puteți pune la dispoziție un sistem simplu și nu costisitor de implementat home-made, Se face referire la Programator JDM conform diagramei de mai jos (figura nr. 1):


Figura №1 - diagrama programatorului

Imediat aduc o listă de elemente pentru cei care sunt prea lene să privească în diagrama:

  • R1 - 10 kOhm
  • R2 - 10 kΩ (întrețesute). Prin reglarea rezistenței acestui rezistor, trebuie să realizați aproximativ 13V la pinul nr. 4 (VPP) în timpul programării. În cazul meu, rezistența este de 1,2 kOhm
  • R3 - 200 ohmi
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (tensiune de stabilizare 5.1V)
  • VD7 - 1N4743A (tensiune de stabilizare 13V)
  • C1 - 100 nF (0,1 μF)
  • C2 - 470 μF x 16 V (electrolitic)
  • SUB-D9F - Conector port COM (MOM sau SOCKET)
  • Priza DIP8 - depinde de controlerul pe care îl utilizați

Circuitul folosește un exemplu de conectare a controlerelor comune PIC12F675 și PIC12F629, dar acest lucru nu înseamnă deloc faptul că firmware-ul altor serii PIC va fi imposibil. Pentru a scrie un program către un controler de alt tip, este suficient să transferați firele programatorului în conformitate cu figura 2, care este prezentată mai jos.


Figura nr. 2 - Opțiunile carcasei controlerului PIC cu concluziile necesare

După cum s-ar putea ghici, cazul este folosit în schema programatorului meu DIP8. Cu o mare dorință, puteți face un adaptor universal pentru fiecare tip de cip, obținând astfel un programator universal. Dar de când cu Controlere PIC Lucrez rar, asta este suficient pentru mine.

Deși circuitul în sine este destul de simplu și nu provoacă dificultăți în asamblare, dar necesită și respect. Prin urmare, ar fi bine să faceți o placă de circuit imprimat pentru aceasta. După câteva manipulări cu programul SprintLayout, textolit, burghiu și fier, s-a născut aici un astfel de gol (foto nr. 3).


Foto nr. 3 - placă de circuit programator

Descărcați sursa PCB pentru program SprintLayout Puteți urma acest link:
pp_programmator.zip [17.67 Kb] (descărcări: 984)
Dacă doriți, puteți să-l schimbați la tipul dvs. de controler PIC. Pentru cei care au decis să lase placa neschimbată, am extins vederea din partea părților pentru a facilita instalarea (figura 4).


Figura 4 - Placă pe partea de montaj

Mai puțin vrăjitorie cu fier de lipit și avem un dispozitiv gata pregătit care poate clipi Controler pic prin Port COM computerul tău. Încă este cald și nu este spălat din flux, rezultatul eforturilor mele este prezentat în fotografia nr. 5.


Foto nr. 5 - programator complet

De acum înainte, primul pas către firmware Controler pica ajuns la final. A doua etapă va include conectarea programatorului la computer și lucrul cu programul IC Prog.
Din păcate, nu toate computerele și laptopurile moderne pot lucra cu acest programator din cauza absenței banale a acestora Porturi COM, iar cele instalate pe laptopuri nu oferă programarea necesară 12B. Așa că am decis să apelez la primul meu PCcare demult a făcut praf și a așteptat ceasul său cel mai fin (și încă a așteptat).
Așa că porniți computerul și instalați mai întâi programul IC Prog. Îl puteți descărca de pe site-ul autorului sau la acest link:
icprog105d.zip [432,25 Kb] (descărcări: 1167)
Conectăm programatorul la Port COM și rulați aplicația recent instalată. Pentru o funcționare corectă, este necesar să se efectueze o serie de manipulări. Inițial, este necesar să alegem tipul de control pe care urmează să-l coase. Am PIC12F675. În ecranul nr. 6, câmpul pentru selectarea controlerului este evidențiat în roșu.


Screenshot 6 - selectarea tipului de microcontroler

În continuare, accesați meniul "Setări "->" Opțiuni", în fereastra care apare, selectați fila I2C și bifați casetele așa cum se arată în imaginea de ecran nr. 7.


Screenshot 7 - setarea metodei de înregistrare a controlerului

În aceeași fereastră, accesați fila "programare„și selectați”Verificare programareVerificarea după programare poate provoca o eroare, deoarece în unele cazuri, firmware-ul instalează blocări de blocare CP. Pentru a nu vă păcăli, este mai bine să dezactivați această verificare. Pe scurt, urmați numărul 8 de captură de ecran.


Captura de ecran nr. 8 - configurare verificare

Continuăm să lucrăm cu această fereastră și mergem la „comunAici este necesar să setați prioritatea programului și să fiți siguri că folosiți NT / 2000 / XP driver (numărul de captură 9). În unele cazuri, programul poate sugera instalarea acestui driver și poate necesita o repornire IC Prog.


Screenshot 9 - Setări generale

Prin urmare, cu această fereastră lucrarea s-a încheiat. Acum să trecem la setările programatorului în sine. Alegeți în meniu "Setări "->" Setări programator"sau doar apăsați tasta F3. Apare următoarea fereastră, afișată în ecranul de ecran nr. 10.


Screenshot No. 10 - Fereastra setărilor programatorului

În primul rând, selectați tipul de programator - Programator Jdm. În continuare, setăm butonul radio pentru utilizarea driverului ferestre. Următorul pas este să alegeți Port COMla care este conectat programatorul dvs. Dacă există una, nu există întrebări deloc și, dacă există mai multe, căutați în managerul de dispozitive care este utilizat în prezent. Glisorul cu întârziere de intrare / ieșire este conceput pentru a controla viteza de scriere și citire. Acest lucru poate fi necesar pe computere rapide și dacă există probleme cu firmware-ul - acest parametru trebuie crescut. În cazul meu, aceasta a rămas implicit egală cu 10 și totul a funcționat bine.

La această setare a programului IC Prog sa terminat și puteți continua procesul de firmware în sine, dar mai întâi citim datele de la microcontroler și vedem ce este scris în acesta. Pentru a face acest lucru, faceți clic pe pictograma microcircuitului cu o săgeată verde, așa cum se arată în captura de ecran nr. 11.


Screenshot 11 - Procesul de citire a informațiilor de la microcontroler

Dacă microcontrolerul este nou și nu a mai fost aprins, atunci toate celulele sale de memorie vor fi umplute cu valori 3FFFcu excepția ultimului. Va conține valoarea constantei de calibrare. Aceasta este o valoare foarte importantă și unică pentru fiecare controler. Precizia ceasului depinde de aceasta, care este selectată de producător prin selectarea și instalarea acestei constante. Imaginea nr. 12 arată celula de memorie în care constanta va fi stocată la citirea controlerului.


Screenshot 12 - valoarea constantei de calibrare

Repet că valoarea este unică pentru fiecare microcircuit și nu trebuie să coincidă cu ceea ce se arată în figură. Mulți prin inexperiență rescriu această constantă și ulterior Controler pic începe să funcționeze incorect dacă proiectul folosește ceasul dintr-un generator intern. Vă sfătuiesc să scrieți această constantă și să lipiți inscripția cu valoarea ei direct pe controler. Astfel veți evita o mulțime de probleme în viitor. Deci, valoarea este notată - mergem mai departe. Deschideți fișierul de firmware, care are de obicei o extensie Hex. Acum în loc să scrii 3FFF, bufferul de programare conține codul programului nostru (captură de ecran nr. 13).


Screenshot 13 - firmware descărcat în memoria tampon de programare

Am scris mai sus că mulți rescriu constanța de calibrare prin neglijență. Când se întâmplă asta? Acest lucru se întâmplă atunci când fișierul de firmware este deschis. Valoarea constantei se modifică automat la 3FFF și dacă începeți procesul de programare, atunci nu există nicio întoarcere. În ecranul nr. 14, acea celulă de memorie în care constanta era anterior 3450 (înainte de deschidere fișier hex).


Ecranul nr. 14 - schimbarea automată a constantei de calibrare

Acum trebuie să urmați cu atenție pașii de mai jos. Facem clic pe pictograma microcircuitului cu fulgere pe bara de instrumente, informând astfel programul că dorim să inițiem procesul de firmware. Programul va întreba dacă suntem siguri că dorim să aprindem acest dispozitiv. Suntem de acord și facem clic pe „DA"După aceea, vom primi avertismentul afișat în imaginea de ecran nr. 15.


Ecranul nr. 15 - avertisment despre discrepanța valorilor constantei ceasului

IC Prog ne spune că o valoare a constantei de calibrare (în cazul meu 3450), iar acum un alt (3FFF) înlocuit automat din fișier hex. De asemenea, se propune să lăsați valoarea implicită 3FFF. Este important să faceți clic pe „NU„Pentru a IC Prog in timpul programarii ne-a returnat valoarea 3450 sau ce va fi cu tine. În general, faceți clic pe „NU"și observați următoarea fereastră (captura de ecran nr. 16).


Screenshot 16 - procesul de programare

În această perioadă, vă sfătuiesc să nu apăsați nimic și să nu încărcați computerul cu alte sarcini. Când am făcut o captură de ecran pentru acest articol, când dau clic pe buton Ecran de imprimare a apărut o eroare de scriere și a trebuit să o fac din nou. După ceva timp IC Prog vă va oferi un mesaj despre verificarea cu succes a codului nou scris din dvs. Controler pic, așa că toată lumea care a plăcut acest articol, vreau să văd acest lucru după eforturi similare (captura de ecran nr. 17):


Screenshot No. 17 - firmware-ul a avut succes, vă puteți relaxa

Dacă aveți întrebări, citiți cu atenție articolul din nou și cu siguranță totul va funcționa - verificați personal. Mult noroc tuturor și succes creativ !!!
9.8
9.9
9.9

Adaugă un comentariu

    • zâmbetzâmbetexaxabinedontknowYahooNea
      șefzgârieturăpăcălidada-daagresivsecret
      scuzedansdance2dance3iertareajutorbăuturi
      oprireprietenibungoodgoodfluiersincopălimbă
      fumaplauzeCrayvestimbatjocoritorDon-t_mentiondescărcare
      căldurămânioslaugh1mdaîntâlniremoskingnegativ
      not_ifloricele de porumbpedepsicititsperiasperiecăutare
      batjocurăthank_youacestto_clueUmnikacutconveni
      răubeeeblack_eyeblum3roșilăudăroșenieplictiseală
      cenzuratpleasantrysecret2amenințavictorieyusun_bespectacled
      ShokRespektlolprevedbun venitKrutoyya_za
      ya_dobryiajutorne_huliganne_othodifludinterdicțieînchide
8 comentariu
Invitat Ivanov
Tema grozavă. Templul este profesionalism, corect, clar și concis! Multumesc! Succes!
Invitată Helen
Spune-mi te rog. Dacă atunci când citiți firmware-ul de la un controlor cu sclipire deliberată, codul programului conține doar ZERO și un factor de calibrare la sfârșit, asta înseamnă că firmware-ul este protejat de citire? microcontroler PIC16F630, a încercat să ia în considerare programatorul conform schemei "3 cablaje" prin portul COM. ajutor
Alo an nou fericit pentru tine. te rog, spune-mi. ai scris 13 volți pe al patrulea pin la programare. pentru a măsura tensiunea la a 4-a ieșire în raport cu gnd? spuneți-ne mai multe despre modul în care configurați programatorul
Există o schemă (mai gravă) pe LPT AN589. Am făcut-o cu mult timp în urmă
Uită-te pe internet
Autorul
Din păcate, nu.
și din întâmplare nu există o schemă cu portul lpt? vă mulțumesc.
Autorul
Mulțumim pentru evaluare. I-am făcut unui prieten un programator cu un cablu de la distanță de aproximativ 1 metru. Zborul este normal - controlerele coase fără greș. Cablul a folosit un cablu cu perete răsucit.
Roman1984, V-am pus pe 9-10-10, dar există o întrebare: ați încercat să lucrați cu programatorul care a fost eliminat din portul COM de pe cablu? Dacă funcționează normal în acest caz, puteți lipa cablul în loc de conectorul de pe placă. Este mai convenabil atunci când modulul programator este pe masă, iar încărcările dinamice pe portul COM al PC-ului sunt mai mici.
Atunci când efectuați cablul, este recomandat să plasați programatorul atunci când nu este folosit, dar cablul nu poate fi scos din conectorul PC-ului într-o cutie, cum ar fi o cutie de săpun, pentru a evita scurtcircuite accidentale.

Vă sfătuim să citiți:

Înmânează-l pentru smartphone ...