Professional Documents
Culture Documents
n cazul ATmega 324, registrele sunt pe 8 bii. Majoritatea biilor un anumit rol,
documentat n datasheet, i pot fi folosii n urmtoarele scopuri:
general, read-only. Exemplu: bitul RXCn din registrul UCSRnA este setat atunci cnd
exist date de citit n bufferul de primire date pentru USARTn (unde n este 0 sau 1).
bii de date: folosii pentru a oferi microcontrollerului date pentru a fi prelucrate
sau pentru a prelua date de la acesta. Exemplu: grupul de 8 bii RXBn[7:0] sunt
folosii pentru a primi date de la USARTn, iar grupul TXBn[7:0] sunt folosii pentru a
scrie date n bufferul destinat transmisiei peUSARTn (unde n este 0 sau 1).
bii rezervai: n prezent nu sunt folosii de ctre microcontroller.
O operaie pe bii este o operaie care afecteaz unul sau mai muli bi i dintr-un cmp
de bii sau din reprezentarea binar a unui numr. Deoarece aceste ac iuni sunt
suportate direct de ctre microcontroller, ele sunt cu mult mai eficiente dect opera iile
de mprire, nmulire i chiar dect adunare.
Operaii pe bytes
Operaie
Scriere bit pe 1
Scriere bit pe 0
Toggle bit
Selectare bit
Shiftare dreapta
Form
Byte |= (1 << Bit_index)
Shiftarea la dreapta mut fiecare bit al operandului spre dreapta cu un numr de pozi ii.
Operandul din dreapta reprezint numrul de bii cu care se face shiftarea operandului
din stnga. Dac este nevoie, se adaug zerouri la stnga numrului pentru a i
menine dimensiunea.
Exemple:
Shiftarea la dreapta poate fi folosit pentru a mpr i un numr binar la 2 (sau puteri
ale lui 2) ntr-o singur operaie. Exemplu: 1010 >> 1 = 0101, unde:
Exemple:
Shiftarea la stnga poate fi folosit pentru a nmuli un numr cu 2 (sau puteri ale lui 2)
ntr-o singur operaie. Exemplu: 0011 << 1 = 0110, unde:
Exemplu:
Mascare bii pe 0 (tergere multipl)
Exemplu:
Verificare status bit
Exemplu:
Toggle valoare bii
Exemplu:
Confundarea operatorilor ! i ~.
! transform ceva fals (=0) n adevrat i vice-versa.
~ transform toate zerourile n 1 i vice-versa.
Exemplu: !1100 = 0; ~1100 = 0011
Confundarea operatorilor & i &&.
& efectueaz operaia de intersecie a doi bii.
&& returneaz starea de adevr a expresiei, evaluat cu tabelul de
adevr AND, n care 0 reprezint fals i orice altceva reprezint adevrat.
Exemple:
De ce este greit? Pentru c terge toi ceilali bii din Byte. Practic, i
atribuie lui Byte valoarea lui 1 << Bit_index, care nu este altceva dect masca
pe care dorim s-o aplicm.
Exemplu: iniial Byte = 11001110 i Bit_index = 4.
De ce este greit? Pentru c terge toi ceilali bii din Byte. Practic, i
atribuie lui Byte valoarea lui ~(1 << Bit_index), care nu este altceva dect
masca pe care dorim s-o aplicm.
Exemplu: iniial Byte = 11001110 i Bit_index = 2.
Bootloader-ul este o bucat de software care ncarc din diverse surse programul ce
trebuie rulat de un procesor. Un bootloader USB este posibil pe plcu a de PM datorit
bibliotecii V-USB, care conine ntreaga stiv USB n firmware (n codul bootloader-ului).
Este o interfa bit-banged (se comut n mod direct de software transmisia fiecrui
bit), nu foarte rapid i care ocup mult timp de procesare. Pute i folosi V-USB i n
proiectele voastre.
V-USB are nevoie de conexiunile din figur cu mufa usb care ajunge la un host USB.
Bootloader-ul are dou componente i nu necesit niciun driver (folose te driver-ele
USB HID prezente n orice sistem de operare modern): firmware-ul de bootloader pe
microcontroller i aplicaia de pe PC.
Descrcai Arhiva:
Etape necesare:
bootloader-ului
BOOTRST, pentru ca microcontroller-ul s porneasc la RESET direct n
Folosire
Odat ce a fost gsit device-ul, ncrcai fiierul .hex pe care vre i s l pune i pe
plac:
Folosire pe Linux
$ ./bootloadHID -r fisier.hex
pe Fedora
Fuse-uri
Bootloader 1024 words
Fuse
valoare
Extended
0xFF
High
0x9A
Low
0xFF
valoare
Extended
0xFF
High
0x98
Low
0xFF
Alte fiiere
Bootloader 20MHz cu pornire pe buton PD6
1. Materiale necesare
Pentru a putea realiza placute cablate, pentru diverse montaje, aveti nevoie de
urmatoarele echipamente si consumabile:
2. Proiectarea cablajului
Prima faza o reprezinta proiectarea cablajului ce il doriti realizat, pornind eventual de la
schema electronica a montajului. Proiectarea o puteti face in orice program ce va ajuta
in realizarea unui PCB (Printed Circuit Board). (ex Eagle, OrCad etc).
Cablajul plcuei pentru 2011 va fi publicat pe pagina Cablaj imprimat 2011.
3. Imprimarea cablajului
Veti folosi metoda transfer de toner pentru a fixa imaginea cablajului vostru pe
laminatul de cupru.
Dupa ce ati realizat cablajul, sau l-ati descarcat, il veti imprima pe o coala A4 lucioasa
(ceva mai groasa decat o coala A4 obisnuta de xerox), hartie fotografica (atentie, nu
toate tipurile de hartie foto merg; noi am avut rezultate foarte bune cu hartia foto A4
marca proprie de la magazinele Real) sau pe o folie Press'n'Peel (cel mai scump, dar are
rezultatele cele mai bune), cu ajutorul unei imprimante LASER (ATENTIE! imprimanta
trebuie sa fie LASER si sa foloseasca toner, imprimantele INKJET NU sunt bune). Daca
alegeti varianta cu folie Press'n'Peel atunci o puteti cumpara de la magazinele
specializate, ca de exemplu Virtual Electronic de pe Maica Domului (o statie cu
tramvaiul 16 de la Lizeanu spre Lacul Tei).
Taiati placa de textolit la dimensiunea dorita si curatati partea de cupru cu un glaspapir
fin ca sa inlaturati orice urma de murdarie sau grasime. Pentru asta e foarte bine daca
puteti s-o si curatati cu un tampon de vata imbibat in diluant sau acetona. Dupa ce ati
printat mai multe imagini ale cablajului pe aceeasi foaie, taiati cu o foarfeca pe contur si
aplicati aptibildul pe partea cu cupru a placii de textolit.
Calcati cu fierul incalzit la maxim placa si hartia pana cand tonerul adera la cupru.
Aceasta parte este si cea mai delicata si s-ar putea sa nu va iasa din prima. Ca sa va
iasa bine trebuie sa apasati destul de bine pe fierul de calcat, sa aveti grija ca hartia sa
nu se miste de pe placa, odata ce-ati dat cu fierul peste ea (altfel va ies trasee duble
sau miscate) si sa nu va ardeti degetele :).
Dupa ce ati calcat cablajul, nu dezlipiti imediat hartia de placa de textolit, lasati-o sa se
raceasca. Cea mai buna metoda este sa puneti placa sub un jet de apa rece si sa lasati
hartia sa se inmoaie. Curatati hartia si daca totul a mers bine, ar trebui sa aveti pe
cupru traseele imprimate.
Gasiti mai jos cateva imagini exemplificative :
4. Corodarea placutei
Pentru inceput turnati clorura ferica intr-un vas si apoi placa la corodat in acel vas. Aveti
grija ca intreaga suprafata a placii sa fie scufundata in clorura ferica. Lasati sa se
corodeze aproximativ 20 de minute, dar verificati progresul din 5 in 5 minute.
Corodarea se face mai repede daca solutia de clorura ferica este incalzita in prealabil .
Aveti grija cu clorura ferica pentru ca pateaza foarte tare, uneori iremediabil orice
material textil. Nu va temeti sa bagati mainile in solutie, nu corodeaza decat cuprul, nu
si mainile voastre. Totusi, NU INGERATI solutia - este toxica. Aveti grija sa nu va intre
in ochi.
Dupa ce s-a corodat, spalati placuta cu multa apa si sapun apoi stergeti-o si indepartati
tonerul cu un tampon imbibat in diluant sau acetona.
Dupa folosire, stocati solutia de clorura ferica intr-o sticla de plastic si etichetati-o.
Solutia poate fi folosita de cateva zeci de ori inainte sa devina inutilizabila. Daca doriti
s-o aruncati, diluati-o intai in 10 parti apa si apoi aruncati-o la canalizare.
6. Finalizarea placutei
In ultima parte va trebui sa dati gauri in placa voastra acolo unde aveti nevoie, cu o
mini-bormasina (sau o bormasina obisnuita dar cu mandrina mica). Pentru cele mai
multe gauri puteti folosi un burghiu de 0.9mm, depinde de ce componente aveti pe
cablajul vostru. Dupa ce ati dat toate gaurile fixati si lipiti componentele la locurile lor.
Numele registrului (cel din figura de mai jos este TCCR0B). Acesta va fi
Din tab-ul Main, selectai din drop-down list ATmega16. Ca sa fi i siguri c a i conectat
programatorul cum trebuie i c poate sa comunice cu microcontrollerul, apsa i
butonul Read Signature. Rezultatul ar trebui s fie codul hexa 0x1E 0x94 0x03, care
este identificatorul microcontroller-ului ATmega16.
Ca s programai, selectai tab-ul Program, ncrcai fiierul .hex n chenarul Flash apoi
apsai butonul Program:
Sculele pe care le vei folosi sunt urmtoarele: letcon, multimetru, pasta decapant
(sacz) i fludor, clete de tiat srma
4.
Unele plci au anumite guri unite intre ele pe stratul de cupru. Nu conecta i
terminale diferite la aceeai zona dect dac asa cere schema. Dac acest lucru
creeaz probleme, folosii un cutter pentru a despri acele zone.
5.
Piesele se poziioneaz pe partea izolata i lipiturile se fac pe partea opusa, cu
cupru.
Dac nu (mai) tii cum se foloseste un multimetru, urmrii tutorialul de mai jos:
4.
5.
6.
7.
foarte mult asupra acestui aspect, deoarece pasta rmas pe placa poate
produce defeciuni, prin corodarea traseelor de cupru n timp (cteva zile).
8.
Ce poate merge prost? O lipitur la care pinul a fost nclzit suficient, dar plcu a
a rmas rece. n acest caz cositorul s-a lipit doar de pin. Exist situatia invers:
placuta a fost cald si pinul rece. Nici aceasta nu este o lipitur bun. O lipitur
corect implic aderenta cositorlui atat la pin cat si la plac.
Totusi, chiar daca s-a prins cositor si de pin si de placuta, lipitura s-ar putea sa nu
fie buna. Daca este prea putin cositor, la o solicitare mecanica mai intensa, acest pin
s-ar putea sa se dezlipeasca. Daca este prea mult cositor pe unul dintre doi pini
apropiati, la lipirea celui de-al doilea s-ar putea sa curga cositor si sa se lipeasca de
primul. In plus, se risipeste material.
Pentru indepartarea fludorului in exces, exista niste pompe speciale care sug
fludorul topit. Daca nu aveti asa ceva puteti folosi un cutit cu care sa despartiti pinii
in cazul in care ajung in contact sau niste sarma impletita din multe multe fire
subtiri care sa absoarba ea fludorul (un fel de fitil de sarma). Cateodata insusi
sacazul poate desparti lipituri deoarece fludorul adera mai bine la cupru si se retrage
din zona de contact.
Dupa lipirea pieselor puteti lipi sarmele de conexiune. Ideal ar fi sa conectati
componentele in felul urmator: Realizati intai conexiunile foarte apropiate, in acest
caz poate nu aveti nevoie de sarma ci uniti pastile vecine direct cu fludor.
9.
Rezistentele sunt simetrice, pinii sunt identici.
10.
Condensatoarele mici sunt simetrice, pinii sunt identici.
11.
Condensatoarele electrolitice (forma de butoias) au marcat ori pinul de + ori cel
de -. In schema voastra aceste condensatoare au un simbol cu o latura dreapta si
una curba. Cea dreapta este +.
12.
Butonul are mai multe conexiuni, doua cate doua sunt legate intern, identificati
cu multimetrul.
13.
Cuartz-ul este simetric.
Conectoarele de serial au numerotarea inscriptionata pe partea de plastic.
Interfata de programare
Interfata de programare este primul pas in echiparea placii voastre de proiect. Schema
electrica a acesteia este data mai jos:
Anodurile diodelor le lipiti impreuna cu pinul 5 de la mufa seriala ca in figura de mai jos.
Acest punct constituie masa montajului.
Celalalt contact al lui R2 trebuie sa ajunga la pinul 3 al mufei seriale. Prentru aceasta
trebuie sa faceti un strap cu o bucata de sarma izolata luata din cablul UTP ca mai jos:
Modulul de alimentare
Exista doua moduri in care va puteti alimenta montajul. Primul din ele (si cel mai
simplu) este sa folositi cei 5 volti stabilizati din portul USB. Pentru asta aveti nevoie
doar de o mufa USB tip A si un cablu prelungitor. Pinout-ul pentru mufa USB este
urmatorul:
Lipiti LM7805 impreuna cu condensatorul C11 (100nF) in coltul din stanga jos al placii,
ca in imagine. Pin-ul 3 al lui 7805 va furniza tensiunea de 5 volti notata pe schema cu
Vcc.
Microcontrollerul
Urmatorul pas este lipirea soclului pentru microcontroller. Gasiti o pozitie cat mai
centrala pentru el, si lipiti-i provizoriu doar doi pini de pe diagonala, cat sa stea fix dar
sa poate fi scos usor in caz ca vreti sa-i schimbati pozitia pe placa.
Dupa ce ati lipit soclul, continuati cu quartz-ul si cu cei doi condensatori de 15pF (C1 si
C2 pe schema). Pinii quartz-ului ii veti lipi direct la pinii 12 si 13 ai soclului ca in figura
de mai jos:
Conectati rezistenta R1 (10K) intre pinii 9(Reset) si 10(Vcc) de la soclu. Duceti semnalul
de Reset din colectorul tranzistorului de la interfata de programare pana la pinul 9, si
Vcc de la stabilizator la pinul 10 prin doua strapuri.
Interfata seriala
Interfata foloseste circuitul integrat MAX232 pentru a converti nivelele de tensiune de
pe linia seriala a calculatorului, care sunt de +12V si 12V la niveluri logice de 0 - 5V
(TTL) cu care lucreaza interfata seriala a microcontrollerului.
Lipiti circuitul integrat MAX232 la pinii 2 si 3 (Rx si Tx) ai mufei seriale. Conectati pinii
11 si 12 ai integratului la pinii 15, respectiv 14 ai microcontrollerului cu strapuri. Pinii
15 si 16 ai lui MAX232 sunt pini de alimentare si trebuiesc legati la masa si Vcc, ca in
imaginea de mai jos
Ultimul pas il constituie lipirea condensatoarelor de 10uF la pinii lui MAX232. Din nou,
trebuie sa respectati polaritatea din schema, piciorul mai lung al condensatorului fiind
+.
Pentru o schema reprezentativa a modului in care trebuie sa legati pinii celor 2 mufe
aveti imaginea de mai jos :
Interfata USB
Adaugarea interfetei USB va ajuta la programarea placutei folosind un
bootloader. De asemenea, aceasta interfata poate fi folosita si pentru a
alimenta placuta.
Materiale necesare
Schema electrica
Realizare
Se pozitioneaza rezistentele de 100R astfel incat sa fie usor de conectat la PD2 si PD3,
respectiv la D+ si D-. In figura de mai jos este sunt prezentate lipiturile:
In final, se conecteaza Vcc si masa la restul montajului. De exemplu, puteti duce Vcc la
pinul 3 al stabilizatorului LM7805 si masa la pinul 2.
Recomandri Proiect
1.
Folosii bare de pini i headere pentru a conecta ntre ele diverse module ale
circuitului vostru.
depanrii.
Legarea direct doar cu fire poate conduce la repetata rupere a acestora.
2.
netestat.
3.
Lipii piesele cu datasheet-ul n fa pentru a fi siguri c lipii la pini la care
credei c lipii.
Depanare
1.
sarcini.
Stabilizatorul de 5V arde.
Exist un scurtcircuit sau o component care consum foarte mult curent.
Este alimentat cu o tensiune cam mare. 9-12V este suficient.
2.
Pai de depanare
1.
2.
3.
Verificai c nu avei lipituri reci (lipituri unde fludorul nu atinge bine traseul)
Cu multimetrul, verificai s nu avei scurtcircuit ntre GND i VCC
Pentru a putea fi programat pentru prima oar, ave i nevoie de RESET, MISO,
MOSI, SCK nafar de VCC i GND. Verificai c aceste trasee nu sunt scurtcircuitate
ntre ele. Ele pot fi gsite uor ntre header-ul de programare (23) i pinii
microcontroller-ului.
4.
Pentru USB, trebuie s verificai de PD2 i PD3.
5.
Pentru serial, avei nevoie de cei patru condensatori electrolitici, MAX232 i
traseele RX, TX de la microcontroller. Verificai-le.
viabil/admisibil
Exist idei de proiect care nu se admit?
Da, exist proiecte care sunt considerate prea uoare, care se pot face cu
2.
3.
4.
Faza de pregtire
Avei o idee i acum ncercai s v facei un plan de atac. n urma documentrii i a
discuiilor cu asistentul de proiect, trebuie s avei n vedere:
Aici este momentul n care putei deja s punei n documenta ie schema bloc a
proiectului i o scurt descriere.
Q&A:
1.
3.
Planificare
n acest moment avei:
ideea de proiect
un numr de piese i o schi de cum ar trebui s se lege ntre ele
Conex
Syscom
TME
Comet
i pentru roboi:
Robotop
Robofun
Mecatronica.eu
Sparkfun (din SUA, dureaza 2 sapt pana vine o comanda)
http://www.allparts.ro
http://www.dioda.ro
un cod de pies
datasheet pentru pies
Tensiune de alimentare
Nivelele logice de tensiune
Consum de curent
Scheme de interconectare
Protocoale (dac este cazul)
Cazuri limit
Proiectare
Ai ajuns la pasul de care probabil v e fric cel mai tare, schema! Dac a i fost
contiincioi pn aici e posibil s avei deja schemele de interconectare din datasheeturile pieselor respective, trebuie doar puse cap la cap. V recomandm s folosi i un
CAD dedicat pentru proiectarea schemelor, de exemplu Eagle CAD. Tutoriale pentru cum
se folosete gsii att pe net ct i pe site-ul cursului de ic http://elf.cs.pub.ro/ic.
Dac v mai poticnii, gndii-v c nu suntei primii care folosesc piesa respectiv,
sigur se gsete pe Internet vreun proiect care folose te o pies asemntoare!
Software
Aici suntei ai, nu? Nu e nevoie de sfaturi pentru partea software, Atta tot c dac
ocupai toat memoria de program (cei 16k), trebuie s tii c exist un
microcontroller numit atmega32, care este drop-in compatible, trebuie doar
recompilat codul pentru noua platform i pus n soclu n locul lui atmega16.
Sfaturi generale
gsii ce v trebuie.
Nu amnai pana in ultimul moment lucrul la proiect. Apucai-v din timp, pentru
c nu putei ti ce probleme ntmpinai pe drum! Proiectul acesta NU este ceva pe
care putei s-l facei cu o sear naintea termenului limit.
Nu fii timizi. Asistenii de proiect sunt acolo ca s v ajute. Bate i-i la cap cu