Programator com cu alimentare separată. Programator Gromov. Microcontrolere pentru începători. Facem noi înșine un programator USBasp pentru microcontrolere AVR

Microcontrolerele sunt din ce în ce mai utilizate în circuitele electronice moderne. Ce pot să spun, dacă astăzi nu puteți găsi nici măcar o ghirlandă obișnuită de pom de Crăciun fără un microcontroler în interior - setează diverse programe de iluminare.

Prima dată am dat peste microcontrolere când construiam primul meu. Atunci s-a dovedit că un controler fără firmware este doar o bucată de plastic cu picioare.

Și pentru a încărca firmware-ul necesar la ATMEG, nu puteți face fără un programator. În continuare, ne vom uita la cele două circuite de programare cele mai simple și mai testate în timp.

Schema unu

Folosind acest programator puteți flash aproape orice controler AVR de la ATMEL, trebuie doar să verificați pinout-ul cipului.

Conectorul COM din diagramă este „mama”.

Pentru orice eventualitate, vă prezint aspectul plăcii de circuit imprimat pentru atmega8 (), deși un astfel de circuit primitiv este mai ușor de desenat manual. Placa trebuie oglindită înainte de imprimare.

Deschideți fișierul PCB folosind popularul program Sprint Layout (dacă nu îl aveți încă instalat, atunci este mai bine imediat).

După cum este clar din diagramă, pentru a asambla programatorul veți avea nevoie de un număr neglijabil de piese:

În loc de KT315, am conectat un tranzistor SMD BFR93A, pe care îl mai aveam după asamblare.

Și aici este întregul programator asamblat:

Am decis să iau curent (+5V) de la portul USB.

Dacă aveți un microcontroler nou (și nimeni nu a încercat să-l flash înainte), atunci nu trebuie să instalați cuarț cu condensatori însoțitori. Funcționarea fără rezonator cu cuarț este posibilă datorită faptului că piatra vine din fabrică cu un pic la generatorul încorporat și, în consecință, circuitul este tactat de la acesta.

Dacă microcircuitul dvs. este utilizat, atunci fără cuarț extern este posibil să nu pornească. Atunci este mai bine să setați cuarțul la 4 MHz, iar condensatorii sunt mai buni la 33 pF.

După cum puteți vedea, nu am instalat cuarț cu condensatoare, ci pentru orice eventualitate le-am oferit spațiu pe placă.

Cel mai bine este să încărcați firmware-ul folosind programul PonyProg (descărcare).

Firmware folosind PonyProg

Accesați meniul Configurare -> Calibrare -> Da. Ar trebui să apară fereastra „Calibrare OK”.

Acum conectăm microcontrolerul la priza programatorului și furnizăm 5 volți (puteți, de exemplu, de la o sursă de alimentare separată sau un port USB). Apoi faceți clic pe Command -> Read All.

După citire, apare fereastra „Citire cu succes”. Dacă totul este în regulă, atunci selectați fișierul cu firmware-ul necesar pentru a încărca: Fișier -> Deschideți fișierul dispozitivului. Faceți clic pe „Deschidere”.

Acum faceți clic pe Command -> Security and Configuration Bits și setați siguranțele după cum este necesar.

Asta e tot, MK este cusut și gata de utilizare!

Țineți cont de faptul că atunci când se flashează folosind alte programe (nu PonyProg), biții pot fi inversați! Apoi trebuie setate exact invers. Acest lucru poate fi determinat citind siguranțele și uitându-se la caseta de selectare „SPIEN”.

Schema doi

O altă versiune a programatorului, cu care puteți încărca firmware pe microcontrolerul ATMEG (așa-numitul programator Gennady Gromov). Circuitul este format din doar 10 părți:
Puteți lua orice diode cu impuls (de exemplu, KD510, KD522). Conectorul este "mama". Alimentarea la MK (+5V) trebuie să fie furnizată separat, de exemplu, de la același computer de la ieșirea USB.

Toate acestea pot fi asamblate prin montare montată direct pe conector, dar dacă ești un fier de lipit cool și știi ce este montarea SMD, o poți face frumos:

Algoritm de firmware folosind programatorul Gromov

Conectăm programatorul cu microcircuitul instalat la portul COM al computerului, apoi lansăm Uniprof, apoi furnizăm energie microcontrolerului. Și, în primul rând, verificăm dacă biții siguranței sunt lizibili.

Dacă totul este în regulă, selectați fișierul cu firmware-ul necesar și apăsați înregistrare.

Fiți extrem de atenți și atenți, deoarece dacă există o eroare la înregistrarea siguranțelor, atunci MK-ul fie va fi scos, fie va lipi circuitul medicului (și este complicat). Dacă schimbați bitul SPIEN cu cel opus, rezultatul va fi același (la medic).


Un alt simplu din punct de vedere al producției este programatorul COM. Dacă utilizați modul alternativ al portului COM Bitbang, nu este nevoie să convertiți interfața portului COM RS232 în SPI, care este necesar pentru programare. Tot ce rămâne este să aduceți nivelurile semnalului portului COM (-12V, +12V) la nivelurile necesare (0, +5V). Aceasta este ceea ce face
Circuit programator COM pentru microcontrolere AVR:

Acest circuit de programare este destul de comun și este cunoscut sub numele de programator Gromov. Numele a venit de la autorul programului, Gennady Gromov, care a propus o astfel de schemă.

Pentru a asambla programatorul Gromov avem nevoie de următoarele:

Diode KD522, KD510, 1N4148 sau altele asemenea. Puteți folosi orice rezistență pe care o găsiți. Puteți utiliza un cablu IDE ca cablu. La conectarea unei bucle, pentru o funcționare mai stabilă a programatorului, fiecare fir de „semnal” trebuie să alterneze cu un fir de „împământare”. Acest lucru va reduce nivelul de interferență indus în linii și, prin urmare, va crește lungimea firului de programare. Lungimea cablului trebuie să fie de 50 cm. De asemenea, aveți nevoie de un conector pentru conectarea la dispozitivul programabil.
Pentru programarea în circuit, Atmel recomandă următorii conectori standard:


Dacă intenționați să vă ocupați serios de microcontrolere, faceți conectorii standard. Pentru programarea unică a dispozitivului, recomand să folosiți programatorul (acești conectori sunt folosiți pentru a conecta butoanele și LED-urile carcasei computerului la placa de bază - asta am luat) și pinii tată PLS de pe placă. Acest lucru face posibilă simplificarea aspectului plăcii dispozitivului cât mai mult posibil, deoarece pinii pentru programator sunt instalați în imediata apropiere a picioarelor microcontrolerului. Picioarele MOSI, MISO, SCK ale microcontrolerelor AVR sunt întotdeauna amplasate împreună, astfel încât un conector triplu poate fi folosit pentru ele. Facem conexiuni separate pentru „sol” - GND și „resetare” - Resetare.

Asamblarea unui programator COM nu este dificilă:

Nu ofer în mod deliberat o placă de circuit imprimat pentru acest programator, deoarece circuitul este simplu și agitarea cu cablarea și gravarea plăcii pur și simplu nu se justifică.

Pentru ca programatorul nostru COM să funcționeze necesare, la care vom conecta programatorul pentru microcontroler.

— Deoarece modul Bitbang nu este standard pentru portul COM al computerului, sunt posibile defecțiuni (deși nu am experimentat asta). Acest lucru este valabil mai ales pentru laptopuri. Ca o soluție la această problemă, vă putem recomanda „jucați” cu setările portului COM (viteză, biți de date, opțiuni de control al fluxului, dimensiunile buffer-ului...).
— Este recomandabil să conectați mai întâi un conector separat pentru masă pentru a egaliza potențialele de masă ale dispozitivului programabil și ale computerului. Pentru cei care nu știu, dacă computerul este conectat la o priză obișnuită, fără un contact de împământare, atunci datorită particularităților filtrului de alimentare a computerului, există întotdeauna un potențial de 110V pe carcasa computerului.

Concluzie:

— Programatorul COM de la Gromov este simplu și de încredere. Nu am încetat să-l folosesc nici măcar după asamblarea unui programator USB (dacă vreun microcontroler încetează să fie programat de un programator USB, cu siguranță îl voi verifica din nou cu programatorul Gromov).
— Deoarece programatorul lui Gromov este asamblat pe elemente pasive, nu necesită putere. Mai mult decât atât, datorită puterii parazitare, microcontrolerul poate fi programat fără a conecta deloc o sursă de alimentare la el! Deși nu recomand programarea în acest fel, faptul în sine este interesant.
— Există un bonus frumos pentru utilizatorii Algorithm Builder! Acest programator poate fi folosit pentru depanare pe cip (software JTAG).

Prima întrebare pe care vrei să o pui direct este ce este exact "programator"? Cuvântul „programator” este format, destul de ciudat, din cuvântul „program”. Ce este un program? Dacă vă amintiți ce este corp program și de ce a fost nevoie (apropo, încă se vinde în chioșcuri), atunci devine clar că un program TV este program de timp aceleași emisiuni TV. Aceasta înseamnă că un program poate fi numit niște acțiuni sau evenimente care vor fi efectuate unul după altul în timp, când vrem sau nu. Prin urmare, programator- acesta este doar un fel de dispozitiv care ne permite înregistra sau citire program. Schimba programul poate fi realizat doar de unul singur programator;-)

CM

Pentru radioamatorii începători, trecerea de la asamblarea de dispozitive analogice simple, cum ar fi multivibratoare, la asamblarea dispozitivelor folosind microcontrolere, poate fi dificilă, deoarece nu este suficient să conectați și să lipiți dispozitivul pe o placă de circuit imprimat, de asemenea, trebuie să încărcați firmware-ul; în memoria microcontrolerului folosind programator. După cum sa scris deja în articolele anterioare, un microcontroler, până când nu „încărcăm” firmware-ul în el, este pur și simplu o bucată inutilă de siliciu. Și apoi un radioamator începător caută informații pe Internet despre asamblarea unui programator simplu, dar eficient, care să-l ajute să înceapă rapid în această sarcină dificilă.

Nu mă voi înșela dacă spun că 80% dintre începători, dacă au un port COM pe computer, asamblează . Această schemă, cu simplitatea și manevrarea ei pricepută, este o adevărată capodoperă). Într-adevăr, pentru a asambla un programator cu propriile mâini, conectat la un port USB și care conține un microcontroler AVR, care trebuie preprogramat, ai din nou nevoie de un programator. De unde poate obține un începător un programator, chiar și pentru un astfel de firmware unic? Se dovedește a fi un paradox de pui și ou), pentru a asambla un programator USB, trebuie mai întâi să programăm microcontrolerul programatorului))).

Deci, să ne uităm la ce anume este flasharea unui microcontroler (MK) folosind un programator și cum se face? Pentru a flash MK, avem nevoie de o combinație a programatorului în sine, un dispozitiv lipit pe o placă de circuit imprimat și un program numit coajă, lucrând cu acest dispozitiv.

Fiecare tip de programator necesită cel mai adesea propriile sale coajă. Pentru a asambla programatorul Gromov, nu este nevoie să programați microcontrolerul. Acest programator nu o are. Acest programator funcționează cu două shell-uri intermitente utilizate pe scară largă: PonyProgŞi Uniprof. Vom avea recenzii separate ale acestor programe. Acest programator se conectează la Port COM. Singurul obstacol în calea asamblarii acestuia poate fi absența fizică a acestui conector pe placa de bază a unității dumneavoastră de sistem. De ce unitatea de sistem? Deoarece laptopurile, precum și modelele moderne de plăci de bază produse în 2010–2011 și mai sus, au adesea o tensiune de alimentare redusă la contactele portului COM. Ce înseamnă acest lucru? Aceasta înseamnă că puteți asambla acest programator, dar nu va funcționa pentru dvs. Dar cu computerele fabricate în 2007–2008 și mai vechi, cu excepția laptopurilor, acest programator ar trebui să fie garantat că funcționează. Conectarea prin adaptoare USB-COM nu ajută în acest caz, deoarece în cel mai bun caz există o scădere puternică a vitezei și, în cel mai rău caz, programatorul refuză deloc să lucreze.

Să ne uităm la schema de circuit a programatorului:


Ce vedem în această diagramă? Conector port COM, denumit altfel DB9, 7 rezistențe de aceeași valoare cu o rezistență de 1 kOhm și o putere de 0,25 Watt și 3 diode de impuls. Diodele potrivite sunt fie interne, KD522, KD510, fie importate 1N4148.

Să ne uităm la cum arată aceste componente radio.

Fotografia de mai jos arată conectorul DB9:


După cum putem vedea, pinii (bornele) acestui conector sunt indicați prin numere pe acesta. Dacă există dificultăți în a determina ce pin corespunde cu care gaură a conectorului, vă recomand să introduceți un fir în orificiul pentru pin al conectorului, să treceți la modul de testare audio și să atingeți simultan firul cu sondele multimetrului pe rând la fiecare dintre pini de pe conector și verificarea corespondenței pinilor cu găurile. Acest lucru poate fi necesar dacă conectați conectorul cu fire la placă. Dacă conectorul va fi lipit direct în placă, atunci acești pași nu sunt necesari.

Cei care nu au un conector COM pe panoul conector al plăcii de bază situat în spatele computerului pot cumpăra console cu un astfel de conector. Dar trebuie să vă asigurați că producătorii au lipit controlerul portului COM la placa de bază și au asigurat conectarea cablului acestei benzi direct la placă. În caz contrar, această opțiune nu vă va ajuta. Ca alternativă, pot sugera achiziționarea unui controler de port COM situat pe o placă de expansiune specială, care este instalată în slotul PCI al computerului.


De asemenea, dacă doriți, dacă doriți ca cablul conectat la portul COM să fie deconectat de la programator, puteți deșuruba șuruburile de fixare, puteți scoate conectorul din suport și îl puteți fixa în corpul programatorului. Atenție însă și, după cumpărare, sună toate firele pentru a se potrivi cu numerele de la ambele capete ale cablului, deoarece cablurile care au aspect similar și au fire încrucișate sunt adesea la vânzare. Cablul pentru conectarea la acest conector trebuie să fie complet cablat, DB9F - DB9F, drept, nu încrucișat, conectorul nu va funcționa cu alte cabluri.


Dacă aveți probleme la achiziționarea acestui cablu, puteți lua un cablu încrucișat sau un cablu prelungitor 9M-9F, dar în acest caz poate fi necesar să tăiați conectorul de la celălalt capăt și să lipiți firele de-a lungul pinii conectorului direct la placa de programare. Apropo, aveam doar un astfel de cablu prelungitor și a trebuit să tai conectorul de la al doilea capăt. Nu cumpărați cabluri pentru telefoane intermitente prin portul COM, acestea nu sunt potrivite pentru scopurile noastre, deoarece cablajul este incomplet.

Luăm diode KD522, KD510 sau 1N4148. Așa arată dioda KD522

Atenție, dioda are o polaritate de comutare. Cu alte cuvinte, nu contează cum îl lipiți, îl puteți lipi înapoi, apoi programatorul nu va funcționa. După cum știți, o diodă are un catod și un anod. Catodul este marcat, în acest caz, cu un inel negru.

Ei bine, cred că nu vor fi probleme. Mergeți la un magazin de radio și spuneți vânzătorului: „Am nevoie de rezistențe de 1 kOhm 0,25 W”. Este recomandabil să luați rezistențe importate, deoarece MLT-urile autohtone au o abatere mai mare de la valoarea nominală.


Dacă cunoașteți metoda, atunci nu vă va fi dificil să asamblați un programator folosind această placă de circuit imprimat. Mai jos este o captură de ecran a plăcii din programul Sprint Layout:


Dacă nu ați stăpânit încă metoda LUT, atunci următoarea placă va fi mai potrivită pentru dvs., al cărei design poate fi desenat cu ușurință cu un marker PCB direct pe PCB. Puteți descărca ambele versiuni de plăci cu circuite imprimate din arhiva generală de la sfârșitul articolului. Nu uitați să curățați și să degresați placa înainte de a aplica designul. Știfturile pieselor de pe acesta nu sunt amplasate aproape și nici măcar începătorii nu vor avea probleme cu lipirea


Placa diferă de circuitul original prin prezența unui LED de indicație și a unui rezistor de limitare a curentului în circuitul LED. Toți pinii sunt etichetați pe tablă. În stânga sunt numerele pinii cablului portului COM care trebuie lipiți la placă, numerele de miez nesemnate pot fi izolate și nu lipite. În dreapta sunt pinii pentru conectarea la un microcontroler programabil.

Am asamblat acest programator acum cinci ani pe o placă făcută dintr-un marker. Iată cum arăta placa sa de circuit imprimat după cositorire în etapa de asamblare în carcasă:


Scuze pentru banda electrică albastră)), pe atunci, acum 5 ani, tubul termocontractabil era o noutate.

Conectorul cablului de programare de la celălalt capăt a fost tăiat, iar firele de cablu au fost lipite direct în placă. Cablul în sine a fost fixat cu o clemă metalică. Fotografia arată că cablul este gros, iar dacă nu ar fi securizat, contactul firelor de pe placa de programare s-ar putea rupe la îndoire


Pentru a se conecta la microcontrolerul instalat pentru intermitent pe o placă fără lipire, am folosit fire flexibile colorate. Conectat cu fire de aceeași culoare, luate din firele perechi răsucite. Acest lucru se face astfel încât pe de o parte firele să nu se rupă în timpul funcționării, iar pe de altă parte, să fie asigurată o conexiune ușoară la placa. Lungimea acestor fire ar trebui să fie de maximum 20 - 25 cm, pentru a evita erorile cauzate de interferențe în timpul programării. Nu folosiți fire obișnuite neecranate în locul unui cablu COM! Vei fi chinuit de erori la instalarea firmware-ului.

Microcontrolerul programabil necesită o sursă de alimentare externă de +5 Volți furnizată programatorului. În acest scop, puteți asambla un stabilizator pe un cip 7805, alimentat de o sursă de alimentare externă, sau o faceți mai simplu și utilizați un cablu și un încărcător cu ieșire USB, lipind firele cablului USB direct pe placa de circuit imprimat.

Pentru referință: alimentarea și împământarea conectorului USB merg de-a lungul marginilor. Iată pinout-ul conectorului USB:

Teoretic, dacă sunteți o persoană destul de atentă, puteți obține energie și de la portul USB al computerului dvs. conectând acest cablu la acesta, dar amintiți-vă că faceți acest lucru pe riscul și riscul dvs.! Este mai bine să găsești bani o dată și să cumperi un încărcător USB. Nu utilizați încărcătoare non-USB, nestabilizate pentru telefoane mobile și alte echipamente, riscați să deteriorați microcontrolerul;

Când este alimentat de la portul USB al computerului, dacă firele programatorului +5 volți (VCC) și masă (GND) sunt scurtcircuitate, riscați să ardeți podul de sud a plăcii de bază a computerului, repararea unei astfel de plăci de bază va fi nepractică; Am folosit ambele variante pentru alimentarea cu energie, atat prin stabilizator, cat si prin cablul de la incarcatorul USB. Încă o nuanță, după programarea microcontrolerului, pentru ca microcontrolerul să pornească, este necesară întreruperea circuitului RESET.

Acest lucru se poate face pur și simplu prin conectarea firului conectat la pinul RESET al programatorului. Și apoi programul încorporat în microcontroler va începe să se execute. Am decis să fac o soluție mai convenabilă și am instalat un comutator cu cheie de dimensiuni mici pentru a întrerupe circuitul RESET.


Cu alte cuvinte, atunci când este oprit, curentul nu mai curge în acest circuit și microcontrolerul începe să funcționeze. În loc de un comutator cu cheie, puteți folosi orice buton de dimensiuni mici cu încuietoare sau puteți instala un comutator. A cui imaginație îți poate spune ce ;-)

Cu siguranță ați observat deja că pe diagrama programatorului lui Gromov există câteva cuvinte necunoscute, și în special VCC, GND, MISO, MOSI, SCK și RESET. Să ne uităm la ce înseamnă aceste denumiri folosind microcontrolerul Attiny 2313 ca exemplu.


În acest caz, este prezentat un microcircuit foarte comun și ieftin: microcontrolerul AVR Tiny (aka Attiny) 2313. Picioarele microcircuitului, după cum putem vedea, au propriul număr. Numerotarea merge în sens invers acelor de ceasornic, de la cheia sub formă de punct situată în colțul din stânga sus al carcasei microcontrolerului. Mai jos este un exemplu despre cum funcționează numerotarea pe microcircuite într-un pachet DIP:



Suntem interesați în primul rând de cele șase picioare enumerate mai sus. Vom atinge pe scurt scopurile tuturor celorlalți la sfârșitul articolului.

Deci, să descifrăm:

VCC. Furnizăm tensiunea de alimentare la microcircuitul acestui picior. Standardul este de 5 volți. Este permisă o abatere în sus, până la 5,5 volți. Tensiunea peste 6 volți poate deteriora microcircuitul. O abatere mai mică este mai acceptabilă. Există versiuni de microcontrolere Tiny 2313V care pot funcționa chiar și de la două baterii AA sau baterii reîncărcabile, sau de la o tensiune de 2,4 Volți.

GND. Ei bine, acesta este „terenul” familiar și binecunoscut, este și „masă” și este, de asemenea, minusul puterii. Acest contact este comun tuturor dispozitivelor care sunt conectate între ele. Dacă conectați blocuri de dispozitiv între ele, terenurile lor ar trebui să fie combinate. În acest caz, masa microcontrolerului este combinată cu masa programatorului.

MISO. Abreviere pentru M aster - eu n – S dragoste - O ut. Această linie transmite date de la microcontroler la programator.

MOSI. Abreviere pentru M aster - O ut – S dragoste - eu n. Această linie transmite și date de la programator la microcontroler.

SCK. Un semnal de ceas este generat pe această linie.

RESET. Acest pin este folosit pentru a reseta microcontrolerul după ștergere cu un singur impuls. Dacă RESET este dezactivat prin setarea eronată a unei anumite siguranțe (vom vorbi despre setarea acesteia și a altor siguranțe în articolele următoare), nu vom putea șterge și reflash microcontrolerul prin interfața SPI.

Este suficient să conectăm acești 6 pini ai programatorului enumerați la cele 6 picioare ale microcontrolerului și putem flash-ul MK.

Să ne uităm la restul picioarelor MK:

Microcontrolerul Tiny2313 are 3 porturi: A (A0-A2, 3 picioare), B (B0-B7, 8 picioare) D (D0-D6, 7 picioare), în total sunt 18 porturi de intrare/ieșire folosite ca picioare. Fiecare dintre acești pini poate fi configurat separat ca intrare și ieșire. Nu sunt pini de porturi, ci doar masă (GND) și putere (VCC).

Scopul suplimentar al unor picioare MK este discutat mai jos:

OC1A Și OC1B. Picioare pentru generarea semnalului PWM (Pulse Width Modulation), temporizator 1.

OC0A și OC0B. Picioare pentru generarea unui semnal PWM, temporizator 0.

AIN0 și AIN1. Picioare pentru furnizarea unui semnal analogic la microcontroler.

XTAL1 și XTAL2. Picioare pentru conectarea unui rezonator de cuarț pentru a tasta de la acesta.

RXD și TXD. Linii de conectare MK prin interfața UART.

Sper că acest articol va fi util pasionaților de microcontrolere începători și vă va permite să construiți un programator care vă va încânta cu munca sa pentru o lungă perioadă de timp.

Usor de fabricat Programator COM. Dacă utilizați modul alternativ al portului COM Bitbang, nu este nevoie să convertiți interfața portului COM RS232 în SPI, care este necesar pentru programare. Tot ce rămâne este să aduceți nivelurile semnalului portului COM (-12V, +12V) la nivelurile necesare (0, +5V).

Circuit programator COM pentru microcontrolere AVR

Acest circuit de programare este destul de comun și este cunoscut ca Programator Gromov. Numele provine de la autorul programului Algorithm Builder Ghenadi Gromov, care a propus o astfel de schemă.

Circuitul este simplu, aveți nevoie doar de câteva piese pentru a-l asambla:

Diode KD522, KD510, 1N4148 sau altele asemenea. Puteți folosi orice rezistență pe care o găsiți. Puteți utiliza un cablu IDE ca cablu. La conectarea unei bucle, pentru o funcționare mai stabilă a programatorului, fiecare fir de „semnal” trebuie să alterneze cu un fir de „împământare”. Acest lucru va reduce nivelul de interferență indus în linii și, prin urmare, va crește lungimea firului de programare. Lungimea cablului trebuie să fie de 50 cm. De asemenea, aveți nevoie de un conector pentru conectarea la dispozitivul programabil.

Pentru programarea Atmel în circuit recomanda standard conectori:

Dacă intenționați să vă ocupați serios de microcontrolere, faceți conectorii standard. Pentru programarea unică a dispozitivului, puteți utiliza conectorii BLS mamă de pe programator (acești conectori conectează butoanele și LED-urile carcasei computerului la placa de bază) și pinii PLS masculin de pe placă.
Acest lucru face posibilă simplificarea aspectului plăcii dispozitivului cât mai mult posibil, deoarece pinii pentru programator sunt instalați în imediata apropiere a picioarelor microcontrolerului. Picioarele MOSI, MISO, SCK ale microcontrolerelor AVR sunt întotdeauna amplasate împreună, astfel încât un conector triplu poate fi folosit pentru ele. Facem conexiuni separate pentru „sol” - GND și „resetare” - Resetare.

Asamblarea programatorului Gromov în detaliu


Nu ofer în mod deliberat o placă de circuit imprimat pentru acest programator, deoarece circuitul este simplu și agitarea cu cablarea și gravarea plăcii pur și simplu nu se justifică.

Pentru ca programatorul COM al lui Gromov să funcționeze Aveți nevoie de un program pentru programare prin portul COM. Perfect pentru asta Programul UniProf, pe care îl puteți descărca de pe site-ul nostru în secțiunea software pentru radioamatori.
De asemenea, vom avea nevoie de o placă de dispozitiv la care vom conecta programatorul și vom testa firmware-ul pentru microcontroler.

Deoarece modul Bitbang nu este standard pentru portul COM al computerului, sunt posibile defecțiuni (deși nu am experimentat acest lucru). Acest lucru este valabil mai ales pentru laptopuri. Ca o soluție la această problemă, vă putem recomanda „jucați” cu setările portului COM (viteză, biți de date, opțiuni de control al fluxului, dimensiunile buffer-ului...).
– Este recomandabil să conectați mai întâi un conector separat pentru masă pentru a egaliza potențialele de masă ale dispozitivului programabil și ale computerului. Pentru cei care nu știu, dacă computerul este conectat la o priză obișnuită, fără un contact de împământare, atunci datorită particularităților filtrului de alimentare a computerului, există întotdeauna un potențial de 110V pe carcasa computerului.

Concluzie:



Oricine începe să stăpânească proiectarea dispozitivelor pe microcontrolere AVR și a cumpărat un microcontroler la un magazin de radio se confruntă cu întrebarea cum să-l flash. Există o selecție mare de programatori în magazine, conectat laUSBport, puteți comanda și un programator de la licitațiile online din China.

Dar în primul caz, va trebui să plătiți destul de mulți bani pentru programator, iar în al doilea, va trebui să așteptați o lună sau o lună și jumătate pentru ca acesta să fie livrat. Vă sugerez să asamblați singur programatorul, cu propriile mâini, mai ales că acolo nu este nimic complicat, doar câteva diode, rezistențe și un LED. Figura de mai jos arată schema sa de circuit :



Pentru a vă conecta la un computer, este mai bine să utilizați un cablu din fabrică pentru portul COM. Conectorul de la celălalt capăt al cablului este tăiat. Dacă, totuși, cineva va folosi pentru conectare nu un cablu, ci un conector COM cu fire lipite, atunci recomand ca lungimea firelor să nu fie mai mare de jumătate de metru. Faptul este că cablul din fabrică este ecranat și vor fi induse interferențe pe cablare.



Din același motiv, lungimea firelor care merg de la programator la microcontrolerul programabil nu ar trebui să fie mai mare de 10-15 cm. Am luat diode de impuls KD 522. Pinout-ul conectorului poate fi găsit cu ușurință pe Internet, sau puteți. pot folosi următoarea diagramă pentru conectare:


Ambele scheme, prima și a doua, sunt aceleași.

Programatorul poate lucra cu diferite shell-uri intermitente. De exemplu, cu PonyProg2000, UniProf și avrdude. Prefer UniProf. Are o interfață simplă, în limba rusă captura de ecran de mai jos arată fereastra care se deschide după lansarea programului:



La intermiterea firmware-ului microcontrolerului, siguranțele din UniProf sunt instalate în mod obișnuit, ca în fișa de date. În PonyProg2000, siguranțele sunt setate inversate. Pe placa de circuit imprimat a fost adăugată o indicație de pornire pe un LED conectat în serie cu o rezistență de limitare între plus și masă. Am reproiectat placa de circuit imprimat pentru a se potrivi nevoilor mele, astfel încât să pot desena o imagine cu un marker:



Postez cateva fotografii facute in timpul asamblarii programatorului:



Fotografie a plăcii din partea de lipit:



Deoarece cablul conectat la portul COM este destul de rigid, am decis să-l fixez cu o clemă metalică. De asemenea, am legat firele care ies din spatele programatorului pentru a le conecta la microcontroler cu o clemă de sârmă. Începătorii care învață cum să programeze microcontrolerele întâmpină uneori erori la setarea și aprinderea siguranțelor, drept urmare microcontrolerul se poate bloca și nu va fi aprins. În figura de mai jos, acele siguranțe care nu pot fi schimbate sunt evidențiate cu roșu, altfel microcontrolerul nu va mai putea fi flash cu acest programator în viitor.

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă s-ar grăbi undeva