De multe ori când cumpărați diverse "gadget-uri" pentru microcontrolere aveți nevoie de o sursa externa de alimentare. Va propun o schema-un convertor USB-care transforma 5v de la mufa USB in 6V, 12V, 15V in funcție de cat cere "gadget-ul" respectiv. Curentul maxim este de 150mA. Schema are in componenta circuitul integrat LM3578, pentru detalii despre acest circuit folosiți Google.com.
Schema:
Daca studiați puțin schema interna a circuitului integrat LM3578 veți observa ca acesta conține un tranzistor la ieșire care se ocupa de conversia tensiunii atâta timp cat este deschis. Curentul de colector ( pin 6 ) circula prin L1, care înmagazinează energie sub forma de câmp magnetic. Când tranzistorul este închis ( blocat ) curentul continua sa circule prin L1, D1 către sarcina.
Tensiunea de ieșire consta din suma dintre tensiunea de intrare si tensiunea indusa prin bobina.
Tensiunea de ieșire depinde de curentul cerut de sarcina si "duty cycle-ul" tranzistorului intern.
R5 si R6 = divizor de tensiune care "cedează" o parte din tensiune comparatorului din LM3578 pentru a putea regla tensiunea de ieșire.
C5 = determina frecventa de ceas = aproximativ 55kHz
L2,C1,C9 si C10 = se comporta ca un filtru de intrare.
Pentru a obţine la ieșire o tensiune de 6V : R5= 47K si R6=9K1
Pentru a obţine la ieșire o tensiune de 12V : R5=110K si R6=10K
Pentru a obţine la ieșire o tensiune de 15V : R5=130K si R6=9k1
Pentru o mai buna înțelegere puteți simula schema utilizând PROTEUS unde veți putea modifica R5 si R6 si veți vedea ce obțineți la ieșire.
Pentru un cablaj mai mic puteți utiliza numai componente SMD.
joi, 11 iunie 2015
duminică, 7 iunie 2015
Programator serial uC AVR ( gama 20 pini )
Programatorul
este o interfata siProg compatibila cu programul PonyProg ce se poate descarca
de la www.lancos.com
.
Alimentarea
acestui programator se realizeaza direct din portul serial al calculatorului.
Aceasta tensiune este redresata de diodele D1, D2 si D3, filtrate cu C1 si C2
si stabilizata la +5V cu un regulator din seria 78L05.
Condensatoarele
C4 si C5 au valoarea cuprinsa intre 22p si 33pF iar diodele zenner D4 si D5
sunt de valori 5V1 sau 4V7.
Schema:
1. Dupa descarcarea programului PonyProg ----- il instalati ------- il
deschideti --------- SETUP ------- aici se allege tipul de programator si
portul de comunicatii COM ( tip programator: SiProgAPI ).
2. Se intra in meniul DEVICE ----- AVR micro ------ se
selecteaza tipul de uC. Acest programator suporta urmatoarele tipuri de uC : AT90S1200, AT90S2313, ATTiny2313.
3. Se incarca fisierul .HEX ce trebuie
scris in uC accesand meniul FILE ----- Open Device File
4. Se intra in meniul COMMAND ------- Security and Control
---------- aici se selecteaza bitii de configuratie ( protejare la
citire,..etc ).
5.
Scrierea se face accesand meniul COMMAND
------ Write All
In
continuare va atasez cablajul PCB pentru aceasta schema:
Cablaj partea cu cupru:SISTEMUL DE NUMERATIE
1.
Sistemul
zecimal
Este sistemul de numeratie pe care
il utilizam din copilarie dar putin stiu ca acest system foloseste o numeratie
cu 10 cifre si este un system in baza 10.
Pozitia cifrelor are o foarte mare
importanta.
Citirea numerelor se face de la
stanga la dreapta iar numararea pozitiei se face de la dreapta la stanga.
Ex: 504 citirea
se face de la stanga la dreapta: cinci, zero, patru
Pozitia
de la dreapta la stanga : 4 – pozitia 0
0
– pozitia 15 – pozitia 2
Reprezentarea numarului in baza 10 :
504
= 4 * 100 + 0 * 101 + 5 * 102
504
= 5 * 102 + 0 * 101 + 4 * 100
10x
10
= baza
X
= pozitia cifrei respective
Ex:
1982 = 2 * 100 + 8 * 101 + 9 *
102 + 1 * 103
Daca intelegem acest system de numeratie
va fi foarte usor pentru celelalte sisteme de numeratie pentru ca sunt
asemanatoare.
2.
Sistemul
binar
Daca sistemul zecimal foloseste o
numeratie cu 10 cifre, sistemul binar foloseste o numeratie pe 2 cifre sau este
un system in baza 2. Cele 2 cifre sunt 0 si 1 numite biti, 8 biti (8 cifre de 1
si 0 ) se numeste octet sau byte.
Luam la intamplare numarul binary
10110010. Daca ne uitam la el nu intelegem nimic, este o insiruire de 0 si 1
iar noi stim doar sistemul zecimal. Stiind doar sistemul zecimal vom transforma
numarul binar in numar zecimal.
10110010
= 0 * 20 + 1 * 21 + 0 *22 + 0 * 23
+ 1 * 24 + 1 * 25 + 0 * 26 + 1 * 27
=
0 + 2 + 0 + 0 + 16 + 32 + 0 + 128
= 2 + 16 + 32 + 128
= 178
Este acelasi principiu de calcul ca
si in cazul sistemului zecimal diferenta fiind doar baza ( aici este 2 iar la
zecimal este 10 ).
Concluzia este : numarul binar
100110010 = 178 in sistem zecimal.
Acum sa transformam numarul zecimal
178 in sistem binar. Vom aplica metoda restului impartirii la 2 a numarului, adica:
daca restul impartirii la 2 ≠ 0 scriem 1 in caz contrar scriem 0
si continuam impartirea cu catul.
Exemplificare:
178 :2 = 89,0 → rest 0 scriem 0
89 : 2 = 44,5 → rest 5 scriem 1
44 : 2 = 22,0 → rest 0 scriem 0
22 : 2 = 11,0 → rest 0 scriem 0
11 : 2 = 5,5 → rest 5 scriem 1
5 : 2 = 2,5 → rest 5 scriem
1
2 : 2 = 1,0 → rest 0 scriem
0
1 : 2 = 0,5 → rest 5 scriem
1 , catul a ajuns 0 si ne oprim. Citirea se face de jos in sus 10110010 ceea ce
este adevarat.
Sistemul binar este un sistem putin
mai greu in cazul in care se folosesc succesiuni lungi de 1 si 0. Acest lucru a
dus la cautarea unei solutii mai practice pentru reprezentarea numerelor binare
si s-a gasit urmatoarea solutie : se taie jumatate de octet (byte) si se
reprezinta fiecare jumatate printr-o cifra.
Valoarea maxima a unei jumatati de
octet ( byte ) este 15, in binar 1111, iar pentru ca cele 10 cifre ale
sistemului zecimal nu sunt de ajuns s-a decis sa se foloseasca si primele 6
litere ale alfabetului pe post de cifre si asa s-a nascut sistemul hexazecimal.
In continuare va prezint tabelul de
conversie pentru jumatati de octet
Binar
|
Hexazecimal
|
Zecimal
|
0000
|
0
|
0
|
0001
|
1
|
1
|
0100
|
2
|
2
|
0011
|
3
|
3
|
0100
|
4
|
4
|
0101
|
5
|
5
|
0110
|
6
|
6
|
0111
|
7
|
7
|
1000
|
8
|
8
|
1001
|
9
|
9
|
1010
|
A
|
10
|
1011
|
B
|
11
|
1100
|
C
|
12
|
1101
|
D
|
13
|
1110
|
E
|
14
|
1111
|
F
|
15
|
Pentru a reprezenta un octet (byte) ne vor
trebui 2 cifre hexazecimale.
Exemplu:10010101 : prima jumatate = 1001
a doua jumatate = 0101
-dupa injumatatire vom lua fiecare jumatate si o vom transforma in hexazecimal.
1001 ------ conform tabelului ------ = 0x9
0101 ------ conform tabelului ------ = 0x5
Acestea fiind spuse observam ca 10010101 = 0x95
Conversia din
hexazecimal in zecimal
-
Luam
ca exemplu numarul hexazecimal 0xB1
0xB1 = 0xB ------- conform tabelului ------- = 11 = 0x1 -------- conform tabelului -------- = 1
rezulta 11 * 161 + 1 * 160 = 177 → 0xB1 = 17
-
Convertim
numarul zecimal 177 in binar pentru a demonstra ca este acelasi numar binar din
exemplul de mai sus:
177 : 2 = 88,5 = rest 5 → scriem 1
88 : 2 = 44 = rest 0 → scriem 0
44 : 2 = 22,0 = rest 0 → scriem 0
22 : 2 = 11,0 = rest 0 →scriem 0
11 : 2 = 5,5 = rest 5 →scriem 1
5 : 2 = 2,5 = rest 5 →scriem 1
2 : 2 = 1,0 = rest 0 →scriem 0
1 : 2 = 0,5 = rest 5 →scriem 1
Daca citim de jos in sus → 10110001
Conversia din
hexazecimal in binar
0xB1 = 0xB ------- conform tabelului ------ =11 ------ in binar ----- = 1011 = 0x1 -------- conform tabelului ----- = 1 -------- in binar ----- = 0001
rezulta ca 0xB1 = 10110001
PROTEUS V8 si ARDUINO
Proteus este un software foarte util pentru pasionatii de electronica si nu numai, oferind posibilitatea desenarii schemelor,proiectarea cablajelor ( PCB-uri ) si simularea schemelor. In versiunea PROTEUS v8 dezvoltatorii au introdus si optiunea de simulare a placilor de dezvoltare ARDUINO dar si a altor placi de dezvoltare.
Placile ARDUINO suportate de PROTEUS sunt cele dotate cu microcontroller ATmega168, ATmega328P si ATmega2560 ( ARDUINO MEGA 2560 ) ; personal detin o placa ARDUINO MEGA2560.
In continuare va voi prezenta cum puteti simula schemele bazate pe placa de dezvoltare ARDUINO MEGA2560 .
- Source Code: unde trebuie sa scrieti codul sursa pentru microcontroller-ul respectiv. Veti observa ca are aceiasi structura ca si softul de dezvoltare original ARDUINO de aceea puteti scrie codul in IDE-ul ARDUINO si apoi cu Copy-Paste il transferati in PROTEUS.
In continuare va voi arata un exemplu si anume vom aprinde doua leduri:
Atentie la desenarea schemei !!!, va trebui sa va duceti cu mouse-ul pe pinul la care doriti sa conectati led-urile click ----- click dreapta ---- copy apo faceti click in afara zonei punctate cu rosu ----- click dreapta ------- Paste si acum puteti conecta led-urile la pinul sau pinii respectivi.
GATA!!!!!!!!.......a fost greu????????.
Placile ARDUINO suportate de PROTEUS sunt cele dotate cu microcontroller ATmega168, ATmega328P si ATmega2560 ( ARDUINO MEGA 2560 ) ; personal detin o placa ARDUINO MEGA2560.
In continuare va voi prezenta cum puteti simula schemele bazate pe placa de dezvoltare ARDUINO MEGA2560 .
- Deschideti PROTEUS
- Accesati meniul FILE - - - - New Project
- In fereastra ce se deschide bifam, binenteles dupa ce dam un nume proiectului si ii specificam locul unde trebuie salvat, "From Development Board" iar mai jos in sectiunea "Micro-controller Family" lasam selectat 'ALL" si in sectiunea "Development Board" selectam placa de dezvoltare sau ce microcontroller are in componenta. In cazul meu am ales "ARDUINO MEGA2560"
- Click pe butonul "FINISH"
- Dupa ce ati apasat "FINISH" va aparea urmatoarea fereastra sau dupa caz in functie de ce a-ti selectat
- Observati ca s-a deschis o fereastra ce contine doua tab-uri ( Schematic Capture si Source Code)
- Source Code: unde trebuie sa scrieti codul sursa pentru microcontroller-ul respectiv. Veti observa ca are aceiasi structura ca si softul de dezvoltare original ARDUINO de aceea puteti scrie codul in IDE-ul ARDUINO si apoi cu Copy-Paste il transferati in PROTEUS.
In continuare va voi arata un exemplu si anume vom aprinde doua leduri:
- desenam schema
Atentie la desenarea schemei !!!, va trebui sa va duceti cu mouse-ul pe pinul la care doriti sa conectati led-urile click ----- click dreapta ---- copy apo faceti click in afara zonei punctate cu rosu ----- click dreapta ------- Paste si acum puteti conecta led-urile la pinul sau pinii respectivi.
- scriem codul sursa
- click pe butonul "PLAY" din stanga - jos - colt
GATA!!!!!!!!.......a fost greu????????.
Abonați-vă la:
Postări (Atom)