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????????.
marți, 17 martie 2015
ARDUINO - Ce este ARDUINO?
Arduino
este o platform open-source utilizata pentru realizarea proiectelor
electronice. Aceasta platform este formata dintr-o placa electronic ce contine
un microcontroller si un pachet software sau IDE ( Integrated Development
Environment). IDE-ul este folosit pentru a scrie partea de programare ( cod )
si a incarca programul in placa electronic sau in microcontroller.
Platform
Arduino a devenit extreme de popular, mai ales in randul incepatorilor in
tainele microcontroller-elor sau a electronicii, datorita simplitatii, ofera o
larga paleta de librarii pentru foarte multe proiecte ( motoare, senzori,
ecrane LCD, etc… ).
In
urmatoarele imagini aveti o placa ARDUINO UNO si ARDUINO MEGA 2560 si IDE-ul cu
un program ( cod ) scris.
Figură 1. Placa ARDUINO UNO
Figură 2. Placa ARDUINO MEGA 2560.
Figură 3. IDE-ul ARDUINO
In figura 3, cea cu IDE-ul, este un program care face ca un
led conectat la pinul 13 sa „clipeasca” ( se stinge si se aprinde la un
interval de 1 secunda ). La prima vedere
poate nu o sa intelegeti prea multe din program dar cu rabdare si multa
documentare o sa va para usor. Documentatie despre Arduino, proiecte realizate
cu Arduino veti gasi foarte multa deoarece este open –source sau mai bine zis ,
asa cum ne place noua romanilor, gratuita ( MOCA ) doar partea software, partea
de electronica costa :D :P. Nu ezitati sa folositi www.google.ro .
Ce anume poate face acest ARDUINO?
Platforma a fost, si este, dezvoltata pentru incepatori,
impatimiti de microcontrollere, hacker-ilor si tuturor celor care sunt
interesati de creearea unor „obiecte” interactive. Arduino poate interactiona
cu butoane, led-uri, motoare, difuzoare, unitati GPS, camere video si web, cu
internetul, telefonul „destept ” sau smartphone, cu televizorul, etc……, bariere
avand doar imaginatia voastra dar nu cred acest lucru!.
Ce gasim pe placa electronica?
Sunt foarte multe variante de placi arduino, dar in
majoritatea cazurilor veti gasi urmatoarele componente:
POWER si COMUNICATIEA USB – alimentarea poate fi o sursa
externa ( 2 ) sau se poate lua
tensiunea necesara din conexiunea USB (1)
care de asemenea face legatura dintre partea software si placa electronica.
Mare atentie cand folositi sursa de alimentare externa, tensiunea acesteia
trebuie sa fie cuprinsa intre 6 – 12 V .
Pinii 3V3(5), 5V
(4), GND(3), AnalogIn(6), Digital
PWM(7,8), Aref (9) – sunt foarte bine ganditi pentru ca puteti sa va conectati la
ei cu simple fire. La majoritatea placilor arduino acesti pini, dar si
ceilalti, sunt marcati vizibil pe placa.
·
GND = masa;
·
5V si 3V3 = sunt pini la care avem o tensiune de
5V respectiv 3V3 pe care o putem folosi pentru a alimenta altceva.
·
AnalogIn = cu acesti pini putem citi date
analogice de la diferiti senzori analogici si transformate in date digitale.
·
Digital PWM = acesti pini sunt pentru a primi si
transmite date la/catre diferite componente;
·
Aref = referinta analogica. Este utilizata
pentru a seta o referinta externa pentru limita superioara .
Reset Button ( 10
) – in cazul in care placa se blocheaza si nu mai ruleaza codul apasam acest
buton si programul va incepe de la inceput.
Power LED
Indicator (11) – ne arata daca placa
este alimentata sau nu
Tx, Rx (12) – sunt pinii de comunicatie.
Acestia ne arata daca se receptioneaza sau transmit date.
Main IC (13) – microcontroller-ul
Voltage
Regulator (14) – in cazul in care alimentam placa de la o
sursa externa avnd tensiunea cuprinsa intre 12 -19V acesta nu lasa sa patrunda
decat tensiunea necesara placii fara sa o distruga, dar daca tensiunea este mai
mare de 20V acesta se va arde si cu mari sanse sa va strica si placa arduino.
Instalarea
pachetului software ( IDE-ul )
Pentru a
instala pachetul software accesati adresa http://arduino.cc
si mergeti la sectiunea DOWNLOAD si cautati versiunea de ARDUINO pentru
sistemul de operare pe care il aveti instalat pe computer. Descarcati pachetul
software iar apoi instalatil.
Dupa
instalarea acestuia conectati placa electronic la computer, acesta isi va
instala driver-le necesare. Accesati programul ARDUINO. Va apare o fereastra ca
in figura urmatoare, aici vom scrie programul nostrum.
Figură 4. IDE ARDUINO.
Scrieti datele din Figura 3. apoi apasati Ctrl+U pentru a compila programul si al
incarca in placa Arduino. Dupa incarcare ledul de pe placa ar trebui sa
„clipeasca” .

Abonați-vă la:
Postări (Atom)