Acasă / Atelier / Microcontroler / Programatoare / Programator microcontrolere PIC şi memorii I²C

Programator microcontrolere PIC şi memorii I²C

Azi, majoritatea aplicaţiilor din electronică sunt realizate cu microcontrolere şi/sau alte dispozitive programabile. Electronica a devenit un mixt între hard şi soft, acesta fiind şi viitorul!Utilizarea componentelor programabile de către producători vine ca o urmare firească a avantajelor economice pe care microcontrolerele le oferă. Astfel, dezvoltarea unei aplicaţii laborioase se face în timp mai scurt, partea hardware este mai simplă, service-ul mai rapid.

Programarea fizica a memoriei microcontrolerelor reprezintă o simplă etapă din tot lanţul de dezvoltarea a unei aplicaţii şi se face cu ajutorul unui programator. Microcontrolerele din seria PIC sunt produse de Microchip şi sunt des utilizate în aplicaţii din cele mai variate, fiind preferate de mulţi dezvoltatori de aplicaţii. Sunt relativ ieftine în comparaţie cu alte tipuri de procesoare, uşor de programat, printr-un set redus de instrucţiuni, au consum mic, se pot realiza aplicaţii rapide, fiind proiectate într-o arhitectură RISC, beneficiază de suport informativ foarte bogat şi mediatizat din partea producătorului etc. Programatorul prezentat ca aplicaţie practică facilitează programarea celor mai uzuale microcontrolere produse de Microchip. în plus, se pot programa memoriia la fel de uzuale, cum sunt cele din seria I²C – 24Cxx.
În aplicaţii comerciale şi industriale alimentarea microcontrolerelor PIC se face cu tensiune joasă, 2…6Vcc.

Descriere aplicatiei
Partea hardware a programatorului este prezentată în figura 1. Ea se conectează la PC prin portul serial, prin intermediul conectorului DB9 – P1. Circuitul ULN2803 are rol de buffer pentru date. Transfereul de date este semnalizat de dioda LED2. Se vor face în continuare câteva referiri la modul de programare a microcontrolerelor PIC. Acestea se alimentează cu tensiune redusa de 5Vcc, la pinii Vdd (plusul sursei), respectiv Vss (potenţialul masei). Pentru ştergerea vechiului conţinut, respectiv înscrierea noului conţinut în memone, se utilizează o  tensiune de programare mai mare decât cea de alimentare, respectiv de 12V, aplicată la pinul /MCLR – Vpp. În stare de funcţionare normală acest pin realizează funcţia de reset. Producătorul garantează 1000000 de cicluri ştergere/scriere şi o menţinere a informaţiei în memorie pe o perioadă de cel puţin 40 ani. Datele de scris sunt introduse în memoria microcontrolerului (în starea de programare) prin portul RB7 – Data l/O, sincroniazat de semnalul de ceas la pinul RB6 – CLK.

Tensiunea de programare de 12V este obţinută din sursa 78L12, iar tensiunea de alimentare de la sursa 78L05. Prezenţa tensiunii de alimentare este semnalizată de dioda LED1. De fapt, tensiunea de programare de 12V este mai mare cu 0,6V ca urmare a utilizării diodei D5, respectiv 12,6Vcc.

Alimentarea montajului trebuie să se facă de la o sursă de tensiune continuă de 15…18V la conectorul JP1 (un terminal bloc cu două porturi).
În tabelul ce însoţeşte schema se prezintă în figura 1 corespondenţa pinilor de programare între aceasta şi capsulele microcontrolerelor (memoriilor I²C).
În figurile 2a…2g se prezintă asignarea pinilor la capsule.

Descriere constructivă
Desenul cablajului imprimat este prezentat în figura 3. Pentru realizarea cablajului s-a preferat soluţia “aerisită”, utilizând mai multe ştrapuri. “Compartizarea” conduce la creşterea densităţii “on-board” şi reprezintă exact inversul principiului de proiectare “aerisit”. Desenul de amplasare a componentelor pe cablaj este prezentat în figura 4. Pentru microcontrolere se vor utiliza socluri PDIP. Toate rezistoarele sunt de 0,25W0 Se utilizează un conector DB9 tata. Alimentarea se face pe la terminalul bloc cu două căi. Sunt de preferat LED-uri de 3mm.


Partea software
Interfaţa software a aplicaţiei este programul IC-Prog realizat de Bonny Gijzen.

Programul poate fi descărcat de pe Internet de la adresa www.ic-prog.com. Bineînţeles, acesta nu este singurul site web de unde poate fi descărcat.
IC-Prog este un program care permite transferul fişierelor compilate, în format “hex”, din calculator în memoria microcontrolerelor PIC sau într-o memorie tip EEPROM.


Configurarea
După instalarea în calculator, programul trebuie configurat. Din meniul principal se alege “Settings”, apoi “Hardware”. Pentru un programator pe port serial se selectează “JDM Programmer”, respectiv portul Com utilizat.

Programarea
Se alege tipul de componentă care se doreşte a se programa. Din meniul principal se alege “Settings” şi apoi “Device”, de unde se selectează tipul de componentă.

Se deschide meniul “File” pentru a selecta (“OpenFile”) fişierul “.hex” ce se doreşte a fi înscris în memorie. Acesta este afişat în fereastra “de sus” a interfeţei grafice.
Urmează sa se alega următoarele opţiuni, după cum urmează:
– CP – Code Protect – dacă nu se doreşte a se citi ulterior conţinutul memoriei (asigură copyright-ul); rescrierea este permisă,
– WDT – Watchdog Timer – verifică dacă programul ce urmează a fi înscris nu “intră” într-o buclă infinită de program,
– PWRT – Power Up Timer – opţiunea asigură un “soft start” al rmcrocontrolerului.

Urmează alegerea oscilatorului, care se face în funcţie de tipul de oscilator utilizat în aplicaţia finală: LP – low power crystal pentru frecvenţa de lucru cuprinsa între 32KHz şi 200KHz, XT – dacă aplicaţia utilizează un cuarţ cu frecvenţa între 455KHz şi 4MHz, HS – pentru cuarţ de 8… 10MHz sau RC – pentru oscilator cu grup RC, în aplicaţii unde nu se crere precizie mare de timp. În majoritatea cazurilor se alege modul XT, cuarţul de 4MHz fiind cel mai uzitat. Pentru programarea propriu-zisă se alege meniul “Command” şi apoi “Program All”. După programare, urmează operaţia finală verificarea, din acelaşi submeniu alegându-se “Verify”.

Sursa: http://miculelectronist.blogspot.com/2011/04/programator-microcontrolere-pic-si.html

Despre Ciprian

Am dezvoltat o pasiune pentru acest domeniu de cand eram foarte mic, cred ca aveam 6-7 ani, din cate imi amintesc, am invatat sa citesc din revistele Tehnium, cam astea erau preferatele mele la varsta respectiva. In plus, aveam o atractie pentru informatica fapt ce a dus la inscrierea mea la un liceu de informatica, iar pentru a continua cu pasiunea mea m-am inscris apoi la facultatea de electrotehnica...

13 Comentarii

  1. cum se pot pune atasamente (pdf de exemplu),pt. ca am cablajul in format pdf la acest programator ,poate intereseaza pe cineva

  2. http://s-o.webnode.cz/vu-metr/ as putea sa programez pic16f88 cu placa asta ?

  3. Buna nel65 as fi interesat sa fac acest montaj,poti sa-mi trimiti pdf-ul pe email? Ce gama de microcontrolere pot programa cu el?

    email: tibi_arx@yahoo.com

  4. Salutare.In loc de ULN2803 se poate pune ULN2003?Multumesc anticipat

    • Întrucît se folosesc doar două canale din ULN2803, se poate folosi ULN2003 fără probleme. La fel de bine se pot folosi două tranzistoare NPN BC337(338, 237, 238, etc), ULN2803(ULN2003) nefiind altceva decît o arie de 8(7) tranzistoare Darlington. Dar pentru ce face el acolo nu ai nevoie de darlington, cîte un singur tranzistor pe canal fiind suficient.

  5. Se poate pune ULN2003 din cate vad sunt aproape identici, unu are 8 blocuri iar celalalt doar 7.

  6. anghelescu catalin

    doresc sa cumpar un programator pic ,nu pentru memorii f.mari;pret accesibil

  7. Fiind pasionat de electronica,pentru realizarea de montaje este necesar sa ai piese si cablaje corespunzatoare schemei dorite.De aceea, am cautat sa cumpar cablaje efectuate dupa o schema data. Rezultatul cautarii este pozitiv. Deci cine doreste cablaje, sa ma contacteze la emailul lev_hyp@yahoo.com

  8. Am realizat acest proiect si nu funcioneaza,cred ca este gresit, de exemplu pinii 5,8,28 si 40 de la toate pic-urile sunt conectati intre ei si nu duc nicaieri si mai sunt si alte neclaritati. Daca gresesc cumva imi cer scuze si va rog sa ma corectati.

  9. Salutare.Am realizat acest programator dar nu pot programa cu el nici in ruptul capului.Precizez ca am folosit mai multe softuri de programare cu rezultat zero.IC Prog,win Pic 800 si altele.Erori peste erori si nimic mai mult.Sunt incepator si sunt cam dezamagit de aceasta experienta.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *