Sistem de relee controlat wireless cu microcontroler PIC [602884]
Universitatea POLITEHNICA din București
Facultatea de Electronică, Telecomunicații și Tehnologia Informației
Sistem de relee controlat wireless cu microcontroler PIC
Lucrare de disertație
prezentată ca cerință parțială pentru obținerea titlului de
Mast er în domeniul Electronică
programul de studii de masterat Microsisteme
Conducător științific Absolvent: [anonimizat]. Cristian RAVARIU Ing. R ăzvan CRISTESCU
2017
2
3
ANEXA 3
4
5
ANEXA 5
6
7
Cuprins
Lista figurilor ……………… …………………………………………………………………………………… …………. …………9
Lista de acronime ……………………………………………………………………………………………… …….. ……………11
Introducere …………………………………………………………………………………………………………….. ………….. ..13
Capitolul 1. PCB Layout Design …………………………………………… …………………………….. ……… ………….15
1.1 Proiectare PCB………………………………………………………………………………………….. ……….. …………….15
1.2 Standard ………………………….. …………………………………………………………………….. …………. …………….15
1.3 Pachetele PCB …………………………………………………………………………………………. ……….. …………. ….16
1.4 Schema electric ă…………………………………………………………………………………………….. ……….. ……….16
1.5 Layou t……………………………………………………………………………. ……………………………. …………. ………17
1.5.1 Traseele …………………………………………………………………………………………………….. …………. …….18
1.5.2 Aria de lipire ( Pad)……….. ……………… ……………………….. ……………………………. ………….. …………20
1.5.3 Găuri de trecere (Vias) …………………………………………………………………………………. ……….. ……..2 1
1.5.4 Poligoane ……………………………………………………………………………………………….. ………… ………..22
1.5.5 Distan ța dintre trasee/componente (Clearance) ………………………………………. ……………. ………….2 2
1.6 Plasarea componentelor ………………………………………………………………………………………….. ………. …23
1.7 Conectarea de bază………………………………. …………… ……………….. ……………………………….. …………. ..26
Capitolul 2. Componenta Hardware ………………………………………………………………………… …….. …………31
2.1 Schema electric ă a intregului sistem …………………………………………………………………… ………………..31
2.2 Convertorul DC -DC………………………………………………………………………………………… ……….. ………39
2.2.1 Gene ralități convertoare ……………………………………………………………………………… ………. ………..39
2.2.2 Structura cobor âtoare de tensiune de tip Buck ………………………………………………………….. ……..40
2.2.3 Convertorul Buck MCP16301 ………………………………………………………………………………………..41
2.2.4 Simulari MCP16301 MINDI ………………………………………………………………… ……………………….43
2.2.5 Măsuratori MCP16301 ………………………………………………………………………………………………….46
2.3 Modulul Wifi RN1810 ………………………………………………….. …………………………………………………..48
2.3.1 Generalita ți…………………………………………………………………………………………………………….. …..48
2.3.2 Modul de programare ………… …………………………………………………………………………………………50
2.3.3 Configurare de tip TCP Client ………………………………………………………………………………………..5 0
2.3.4 Configurare de tip TCP Server ……………………………………………………………………………………….51
2.4 Hub USB2514B ……………………………………………………………………………………………… …………………5 1
2.5 Microcontrolerul PIC24FJ64GA004 …………………………………………………………………………………….53
2.5.1 Porturile I/O ………………………………………………………………… ……………………………………………… 53
2.5.2 Modulul Timer1 ……………………………………………………………………………………………………………5 4
2.5.3 Modulul UART ……………………….. …………………………………………………………………………………..55
2.6 Layout -ul circuitului electri c………………………………………………………………………………………………..55
8
Capitolul 3. Componenta Software …………………………………………………………………………. ………………..57
3.1 MPLAB X …………………………………………………………………….. ………… …………………. ……………… ……57
3.2 MPLAB Code Configurator (MCC) …………………………………………………………………….. ……………….57
3.3 Testarea comunica ției dintre portul USB si modulul Wifi …………………………….. …………. ……………..58
3.4 Logica aplicatiei …………………………………………………………………… ………………………….. ……………….60
3.5 LabView ………………………………………………….. …………………………………………………………. …………..62
3.6 Interfa ța grafic ă……………………………………………………………………………………………………… ………….62
Concluzi i…….. …………………………………………………………………………………………………………….. ………….65
Bibliografie ………………………………………………………………………………………… ………………………………….67
Anexe …………………………………………………………………………………………………………….. …………………. ….69
9
Lista figurilor
Fig. 1.1 – Schema electric ă……………………………………………………………………………………………………….17
Fig. 1.2 – Exemplu de necking …………………………………………………………………………………………… ………19
Fig. 1.3 – Tabel de valori pentru l ătimea traseelor ………………………………………………………………………..20
Fig. 1.4 – Exemplu de pad (stanga) si vias (dreapta) ………………………………………………. …………………….20
Fig. 1.5 – Exemplu de marcare a pinilor ………………………………………………………………………………………21
Fig. 1.6 – Interconectare prin intermediul vias …………………………………. ………………………………………….22
Fig. 1.7 – Tabel cu distan țele dintre trasee in fu ncție de tensiune ……………………………………………………23
Fig. 1.8 – Interconexiunile dintre componente ……………………….. ……………………………………………………25
Fig. 1.9 – Exemplu de conexiune corect ă…………………………………………………………………………………….27
Fig. 1.10 – Exemplu de conexiune incorect ă………… ……………………………………………………………………..27
Fig. 1.11 – Exemplu planuri de putere …………………………………………………………………………………………30
Fig. 2.1 – PIC24FJ64GA004 – Microcontroler pe 16 bi ți………………………………………………………………31
Fig. 2.2 – Conector de programare si circuitul de reset ………………………………………………………………….32
Fig. 2.3 – Diode LED de c ontrol si pini I/O ………………………………………………………………………………….32
Fig. 2.4 – Modulul Wireless – RN1810 ……………………………………………………………………………………….33
Fig. 2.5 – Hub USB – USB2514 …………………………………………………………………………………………………34
Fig. 2.6 – Convertor USB – UART – MCP2221 ………………………………………………………………… …………35
Fig. 2.7 – Oscilatorul extern al hubului ………………………………………………………………………………………..35
Fig. 2.8 – Tranzistor MOS – MIC2026 …………………………………………………….. ………………………………..36
Fig. 2.9 – Configura ție – conector USB 2.0 ………………………………………………………………………………….36
Fig. 2.10 – Configura ție conector microUSB ……………………………. …………………………………………………37
Fig. 2.11 – Schema de alimentare a circuitului …………………………………………………………………………….37
Fig. 2.12 – Convertorul DC -DC Buck – Schem ă electric ă……………………………………………………………..38
Fig. 2.13 – Configura ția releelor …………………………………………………………………………………………………38
Fig. 2.14 – Convertor DC -DC cobor âtor de tensiune …………………………………………………………………….40
Fig. 2.15 – Formele de und ă ale tensiunii si curen tului continuu …………………………………………………….41
Fig. 2.16 – Aplica ție tipic ă a convertorului MCP16301 …………………………………………………………………42
Fig. 2.17 – Eficien ța convertorului ……………………………………………………………………………………………..42
Fig. 2. 18 – Schema de simulare a convertorului MCP16301 ………………………………………………………….43
Fig. 2.19 – Frecvența de comutație – simulare ……………………………………………………………………………44
Fig. 2.20 – Timpul de soft -start – simulare ………………………………………………………………………………….44
Fig. 2.21 – Valori recomandate pentru inductoare …………………………………………………………….. …………45
Fig. 2.22 – Schema 3D a intregului convertor ………………………………………………………………………………46
Fig. 2.23 – Frecven ța de comutatie m ăsurata cu osciloscopul ……………………………………… ………………..47
Fig. 2.24 – Timpul de soft -start m ăsurat cu osciloscopul ……………………………………………………………….47
Fig. 2.25 – Varia ția tensiunii de iesire ……………………………………………………. …………………………………..48
Fig. 2.26 – Modul Wifi RN1810 – schema bloc …………………………………………………………………………..49
Fig. 2.27 – Configura ția de baz ă a modulului RN1810 ………………………………………………………………….49
Fig. 2.28 – Hub USB2514B – schema bloc …………………………………………………………………………………52
10
Fig. 2.29 – Port I/O – schema bloc ……………………………………………………………………………………………..53
Fig. 2.30 – Timer1 – schema bloc ………………………………………………………………………………… ……………54
Fig. 2.31 – Modelul virtual al circuitului …………………………………………………………………………………….55
Fig. 2.32 – Modelul 3D al sistemulu i…………………………………………………… …………………………………….56
Fig. 3.1 – Configura ția pinilor microcontrolerului ………………………………………………………………………..58
Fig. 3.2 – Comanda transmis ă pe portul serial ……………………….. ……………………………………………………59
Fig. 3.3 – Mesajul transmis de modulul Wifi – intrarea in modul CMD ………………………………………….60
Fig. 3.4 – Comunica ția dintre PC si sistem prin re țea wireless……….. ……………………………………………61
Fig. 3.5 – Conexiunea TCP/IP – Open in LabVIEW …………………………………………………………………….62
Fig. 3.6 – Schema blocului func țional Insert in Table ………………… ………………………………………………..63
Fig. 3.7 – Partea de citire/scriere a mesajelor, a schemei interfe ței grafice ………………………………………63
Fig. 3.8 – Interfa ța grafic ă a sistemului …………………………. ……………………………………………………………64
11
Lista de acronime
A
AC – Alternative Current
ADC – Analog to Digital Converter
B
BGA – Ball Grid Array
C
CAD – Computer Aided Design
CAN – Convertor Analog – Numeric
CMD – Command Mode
CMOS – Complementary Metal Oxide Semiconductor
CNA – Convertor Numeric – Analogic
CPU – Central Processing Unit
CTS – Clear To Send
D
DAC – Digital to Analog Converter
DC – Direct Current
DHCP – Dynamic Host Configuration Protoc ol
DIL – Dual In Line
DOS – Disk Operating System
DRC – Design Rules Check
DSC – Digital Signal Controllers
E
EDA – Electronic Design Automation
F
G
GND – Ground
GPIO – General Purpose Input/Output
H
HDL – High Density Layout
I
I2C – Inter -Integrated Circu it
IEEE – Institute of Electrical and Electronics Engineers
IP – Internet Protocol
J
L
LAN – Local Area Network
LED – Light Emitting Diode
LIN – Local Interconnect Network
M
MAC – Media Access Control
12
MCLR – Master Clear
MOS – Metal Oxide Semiconductor
MTT – Multi Transaction Translator
N
NI – Native Instruments
NMOS – N-Channel Metal Oxide Semiconductor
O
OS – Operating System
P
PB – Printed Board
PCB – Printed Circuit Board
PSK – Phase Shift Keying
PWB – Printed Wire Board
PWM – Pulse Width Modulation
Q
R
RAM – Random Access Memory
RF – Radio Frequency
RTC – Real Time Clock
RTS – Request To Send
RX – Receive data pin
S
SIL – Single In Line
SMD – Surface Mount Device
SOT – Small Outline Transistor
SPICE – Simulation Program with Integrated Circuit Emphasis
SSID – Service Set Identifier
SW – Switching pin
T
TCP – Transmission Control Protocol
THT – Through Hole Terminal
TVS – Transient Voltage Suppression
TX – Transmit data pin
U
UART – Universal Asynchronous Receiver/Transmitter
USART – Universal Synchronous /Asynchronous Receiver/Transmitter
USB – Universal Serial Bus
V
VFB – Voltage Feedback pin
VLSI – Very Large Scale Integration
W
WPA – Wi-fi Protected Access
13
Introducere
Această lucrare își propune să prezinte aspectele teoretice și practice, legate de proiectarea unui
sistem de relee și simularea componentelor din cadrul acestuia. Lucrarea descrie detaliat fiecare
componentă folosită pentru alcătuirea acestui sistem, ofer ă toate informațiile necesare în legătură cu
activitatea desfășurată și rolul aplicației.
Lucrarea de față va analiza fiecare dispozitiv ce alcătuiește întregul sistem, cum ar fi:
microcontrolerul PIC24F J64GA004, modulul Wifi RN1810, c onvertorul DC -DC Buck MCP16301,
releele, convertorul USB – UART/I2C MCP2221, dar și partea de software a sistemului împreună cu
logica acestuia.
În prima parte a lucrării vor fi prezentate seturile de reguli ce trebuie respectate pentru realizarea
unui PCB profesiona l, precum și programul specializat pentru proiectarea acestui circuit electronic.
Scopul acestui proiect dat este elaborarea unui sistem de relee și porturi USB controlat prin
intermediul unui modul Wifi cu ajutorul unor comenzi stabilite în partea de logică a programului.
În acest proiect se va simula și măsură, cu ajutorul programului de simulare MPLAB MINDI, având
la baza arhitectura SPICE și cu ajutorul aparaturii de măsură din cadrul laboratorului Microchip
Technology România, comportamentul convertorului DC -DC Buck MCP16301, folosind și
componente pasive necesare realizării întregului convertor. Rezultatele obținute în urma simulării și
măsurătorilor vor fi prezentate sub formă de grafice.
Totodată se va prezenta partea de comunicație di ntre convertorul MCP2221 și modulul Wifi, cu
ajutorul unui analizor logic , și partea de configurare a modulului Wifi, folosind un terminal specializat.
Logica sistemului va fi realizată într -un program, conceput de Microchip Technology România,
MPLAB X, iar partea de cod va fi prezentă în întregime în anexele din finalul acestei lucrări.
În ultima parte a lucrării va fi prezentat modul de realizare a unei interfețe grafice de control,
dedicată acestui sistem, folosind programul LabView realizat de NI precum și interfața de control în
sine.
În concluzie, scopul aplicației îl reprezintă “controlul la dstanta”, pentru sis teme aflate la distanțe
relativ mari de un PC, distanțe ce nu pot fi acoperite cu module de tip Bluetooth sau cu fir.
14
15
CAPITOLUL 1. PCB Layout Design
1.1 Proiectare PCB
Unul dintre conceptele cheie în domeniul electronicii este placa cu circuite imprimate sau PCB.
Practic, fiecare produs electronic este alcătuit din una sau m ai multe plăci cu cablaj imprimat.
Aceste placi conțin circuitele integrate, precum și alte componente și asigură interconexiunile dintre
ele. Plăcile cu cablaj imprimat sunt folosite pentru circuitele electronice portabile, calculatoare,
echipamente de la borator, etc. De asemenea, ele pot fi realizate pentru echipamente de testare, de
fabricație, cât și pentru circuite de mare putere.
Aproape fiecare inginer trebuie să știe să proiecteze un PCB, lucru ce nu este predat în școală. Cu
toate acestea, ing inerii, tehnicien ii și chiar designer ii PCB încăpători pot crea placi cu cablaj imprimat
de înaltă calitate pentru oricine și orice scop, cu încredere că rezultatul va fi pe măsura așteptărilor sau
chiar peste. Aceste modele pot fi finalizate la timp și în limitele bugetului respectând cerințele de
proiectare. Designerii PCB trebuie să studieze cu atenție documentațiile corespunzătoare
componentelor cu care vor lucra, etapele de proiectare, strategiile și controalele finale.
Pentru unii designeri, real izarea unui circuit cu cablaj imprimat va fi o extensie naturală și ușoară a
procesului de proiectare, dar pentru mulți alții procesul de proiectare și de stabilire a unui PCB poate fi
o sarcină foarte dificilă.
Multe companii au propriile lor departa mente dedicate de proiectare a circuitelor cu cablaje
imprimate. Acest lucru nu este deloc surprinzător, având în vedere că este nevoie de o cantitate foarte
mare de cunoștințe și pricepere de a poziționa sute de componente și mii de piese într -un circuit, care
îndeplinește o întreagă serie de cerințe fizice și electrice.
Un design adecvat al unui PCB este de foarte multe ori o parte esențială a unui desen sau al unui
model. În multe proiecte, digitale, analogice de joasă putere și RF, aspectul PCB poa te afecta
funcționarea și performanța electrică a desenului sau modelului. Fiecare traseu prezent pe un PCB
prezintă, totodată, o rezistență, inductanță, capacitate.
În zilele în care nu existau programe de tip CAD pentru calculator, plăcile cu cablaj imprimat erau
proiectate și dispuse manual folosind benzi adezive și tampoane pe film pentru o redactare clară. Era
nevoie de multe ore de muncă pentru tăierea, plasarea, extragerea și realizarea traseelor, deoarece totul
se realiza manual. Toate aceste p rocese se realizau într -o cutie cu lumina fluorescentă.
Acele zile au fost uitate cu adevărat, deoarece calculatoarele cu programe bazate pe PCB Design au
înlocuit complet aceste metode. Programele CAD permit în cea mai mare măsură flexibilitate în
proiectarea și editarea fata de tehnicile tradiționale.
Există multe reguli de bază de urmat, dar în afară de faptul că realizarea de cablaje imprimate este
un proces extrem de creativ și individual. Fiecare designer va avea propriul lui stil unic.
1.2 Standard
Standardele industriale sunt pentru aproape fiecare aspect al PCB design. Aceste standarde sunt
controlate de primul Institut pentru Interconectarea și ambalare de Circuite Electronice, care este acum
cunoscut pur și simplu ca IPC [1].
16
Există un standard IPC pentru fiecare aspect al PCB design, fabricare, testare, etc. Documentul
principal care se referă la proiectarea PCB este IPC -2221, " Generic Standard on Printed Board
Design". Acest standard a înlocuit vechiul standard, IPC -D-275, care a fost utilizat în ultima jumătate
de secol.
Unele țări au propriile lor standarde referitoare la mai multe aspecte legate de proiectare PCB și de
fabricație, dar mai pe larg, standardele IPC sunt standardele de accept industrial în întreaga lu me.
Plăcile cu circuite imprimate sunt de asemenea cunoscute ca PWB sau mai simplu PB.
1.3 Pachetele PCB
Există mai multe pachete de proiectare PCB disponibile pe piață, dintre care câteva sunt freeware,
shareware, sau versiuni complete dar limitate .
Protel [2] este pachetul standard pentru industrie în Australia. Profesioniștii utilizează pachetele de
bază al sistemului de operare Windows, cum ar fi 99SE și DXP. Cei cu hobby în PCB Design puteau
folosi programul Protel AutoTRAX bazate pe DOS fr eeware, care a fost, la un moment dat, pachetul de
vârf în Australia.
Derutant, există acum un alt pachet bazat pe Windows [3], de asemenea, numit AutoTRAX EDA.
Acesta nu este în niciun fel legat de programul Protel.
Acest articol nu se concentre ază pe utilizarea unui anumit pachet, astfel încât informațiile pot fi
aplicate la aproape orice pachet de PCB disponibil.
Există, totuși, o excepție distinctă, în sensul că folosind un pachet PCB, care nu are capacitatea de
realizare a schemelor ele ctrice, apare o limitare în ceea ce privește performanta produsului final.
Multe dintre cele mai avansate tehnici vor fi descrise mai târziu și au nevoie de acces la un program
capabil de editare a schemelor electrice.
1.4 Schema el ectric ă
Înainte de a începe realizarea modelului virtual al PCB -ului, este nevoie de schema electrică
completă și precisă a întregului circuit electric.
Mulți oameni intră direct în partea de proiectare a plăcii cu cablaje imprimate cu nimic mai mult
decât circu itul din capul lor, sau scheme electrice desenate pe foi de hârtie fără nicio numerotare a
pinilor și nicio ordine.
Acest lucru pur și simplu nu este suficient de bun, dacă nu exista o schemă electrică corectă și
precisă. În acest caz PCB -ul se va fi cel mai probabil un eșec și va fi nevoie de timp în plus pentru
corectarea greșelilor și redesenarea schemei.
O placă cu cablaj imprimat este versiunea ce urmează să fie fabricată, după ce a fost realizată
schema electrică. Cu cât schema electrică est e mai curată, logica și clar expusă, atunci munca pentru
realizarea PCB -ului devine mult mai ușoară.
17
Fig. 1.1 “ Schema electric ă”
O bună cunoaștere a programului software de editare și a regulilor aferente, în ceea ce privește
partea de editare a s chemelor electrice, duce la realizarea unui proiect curat și logic. În figură de mai
sus este prezentat modul corect de realizare a legăturilor dintre mai multe componente, fără a încărca
prea mult schema electrică cu trasee, în sensul că pentru componente le aflate pe aceeași pagină au fost
folosite etichete (en. Label), ex. MCLR, iar pentru componentele aflate pe pagini diferite au fost
folosite port -uri, ex. TX_USB.
Notele mici prezente pe schema electrică sunt utile pentru că utilizatorul să respect e anumite regului
în partea de proiectare a PCB -ului.
1.5 Layout
Primul lucru care trebuie luat în vedere la începutul proiectării unui cablaj imprimat este stabilirea
unități de măsură utilizate și terminologii comune, deoarece acestea pot cauza c onfuzii în ceea ce
privește dimensiunile plăcii, traseelor, cât și orientarea acestora.
Orice PCB designer spune că ar trebui să fie folosite întotdeauna unități imperiale (inchi) la
proiectarea plăcilor. Acest lucru nu este doar din nostalgie, deoare ce majoritatea componentelor
electronice au fost și încă mai sunt fabricate cu spațierea pinilor pe modul imperial.
Unii designeri PCB pot spune să nu se folosească milimetri pentru realizarea unui PCB. În lumea
practică, deși, trebuie să folosească a mbele sisteme inchi imperiale (thous) și milimetrul (mm).
Un "thou" este 1/1000 parte dintr -un inch, și este utilizat în mod universal și recunoscut de către
designeri PCB și producătorii de pretutindeni. Deci, începe să se practice vorbirea în termen i de
"10thou spațiere" și "25thou grilă".
18
1.5.1 Traseele
Designul de cablaje imprimate se face mereu plecând de la primul strat al plăcii, apoi prin diferitele
straturi în funcție de transparentă acestora. Acesta este modul în care funcționează toa te pachetele PCB.
Singura dată când se pornește din partea de jos este momentul în care placa este gata pentru procesul
de fabricație sau pentru verificare. Această metodă de verificare prin straturi, "through the board",
avertizează utilizatorul că v a trebui să se obișnuiască cu citirea textului de pe straturile de jos asemenea
unei imagini în oglindă.
Nu există niciun standard recomandat pentru dimensiunile traseelor dintre componente.
Dimensiunea utilizată va depinde, în ordinea importanței, de cerințele electrice ale desenului sau
modelului, spațiul de trasare și distanta dint re trasee, etc.
Fiecare desen va avea un alt set de cerințe electrice, care pot varia în funcție de piesele prezente pe
placă. Toate proiectele de bază noncritice vor necesita un amestec de mărimi pentru diferitele trasee. Ca
regulă generală cu cât este mai mare lățimea unui traseu, cu atât mai bine. Traseele cu o lățime mai
mare au o rezistență mai mică în curent continuu, inductanță mai mică, iar placa poate fi mai u șor de
realizat de către producător, mai ieftină și totodată mai ușor de inspectat și reprelucrat.
Limita inferioară a lățimii traseelor va depinde de raportul "traseu/spațiu", rezoluția pe care
producătorul de cablaje imprimate este capabil să o obți nă. De exemplu, un producător poate propune
un 10/8 traseu/spațiu. Acest lucru înseamnă că traseele nu pot avea o lățime mai mică de 10thou, iar
distanța dintre trasee poate fi nu mai puțin de 8thou. Cifrele sunt aproape întotdeauna date în thou, cu
lățime a traseului, întâi, și apoi cu spațierea.
Valorile reale tipice de bază sunt 10/10 și 8/8 pentru placi. Standardul IPC recomanda 4thou ca fiind
o limită inferioară. Odată ce se ajunge la trasee de 6thou și chiar mai jos trebuie să fie consultat
produc ătorul, deoarece acestea pot deveni foarte greu de realizat sau chiar imposibil pentru unii.
Cu cât este mai mic raportul/spațiu, cu atât este mai mare grij a producătorului atunci când va trebui
să asigure alinierea corectă a straturilor. Aceștia vor mării prețul pentru realizarea plăcii așa că circuitul
va trebui verificat pentru a nu prezenta nicio eroare.
Doar pentru că un producător poate realiza o placă cu un anumit raport traseu/spațiu, nu trebuie să
existe nici un motiv pentru a duce design ul proiectului în extrem. Indicat este să se folosească un raport
traseu/spațiu cât mai mare posibil, cu excepția cazului în care parametrii de proiectare necesită un
raport mai mic.
Pentru început, s -ar putea dori să se utilizeze 25thou pentru trasee de semnal, 50thou pentru liniile
de putere și de GND, și între 10 -15thou pentru legăturile dintre componente integrate de pe placă. Unii
designeri PCB prefera traseele mici intre 10 -15thou, iar alții pe cât de mari posibile.
O metodă bună de proiecta re este aceea de a păstra traseele la fel de mari cât este posibil, și apoi să
se schimbe dimensiunea unui traseu atunci când este necesar pentru a îndeplini cerințele de clearance,
adică distanța dintre două componente, trasee sau pad -uri.
19
Fig. 1.2 “Ex emplu de necking” [4]
Schimba rea dimensiunilor traseelor de la o valoare mai mare la una mai mică și înapoi la una mare,
este cunoscut ă sub numele de "gâtuire" (en. Necking), sau "gâtuire în jos" (en. Necking down). Acest
lucru este adesea necesar at unci când este nevoie de trasare printre circuite integrat e foarte apropiate
sau pa d-urile acestora. Acest lucru asigura obținerea de trasee cu impedanța scăzută, dar flexibilitatea
de trasare prin locuri înguste.
În practică, lățimea traseelor va fi dictată de valoarea curentului ce trece prin respectivele trasee, iar
temperatura o să își atingă maximul pe traseul ce va putea suporta un curent mare. Fiecare traseu va
avea o anumită rezistență, astfel încât acesta va disipa o cantitate variabilă de căl dură la fel ca un
rezistor. Conform formulei de calcul al re zistenței unui rezistor, R=ρL/S, cu c ât traseul este mai scurt,
cu atât rezistența este mai mică. Grosimea stratului de cupru de pe PCB va juca, de asemenea un rol, la
fel ca orice finisaj.
Grosimea de cupru de pe PCB este specificată nominal în uncii pe unitatea de pătrat, cu o uncie de
cupru fiind cea mai frecvența. Pot fi comandate alte grosimi, cum ar fi 0.5 uncii, 2 uncii sau 4 uncii.
Straturile mai groase de cupru sunt utile pentru un cu rent mare, design de înaltă fiabilitate.
Calculele pentru aflarea unei lățimi a traseului bazat pe curent mare și o creștere maximă a
temperaturii sunt un pic mai complexe. Ele pot fi, de asemenea, destul de inexacte, deoarece standardul
se axează pe un set de grafice neliniare bazate pe date măsurate de aproximativ o jumătate de secol în
urmă. Acestea se regăsesc încă în standardul IPC.
Un program de calcul a lățimii traseelor este la Utracad [5] , și asigură rezultate bazate pe graficele
IPC.
Ca o regulă de aur, o creștere a temperaturii cu 10°C pe un traseu este o limită frumoasă pentru
proiectarea în condiții de siguranță a circuitului. Un tabel de referință la îndemână a fost inclus în acest
capitol pentru a oferi o listă de lățimi ale tra seelor in functie de curent, pentru o creștere a temperaturii
cu 10°C. Rezistența în curent continuu exprimată în mΩ/inch este, de asemenea, prezentată. Desigur, cu
cât mai mare este un traseu cu atât mai bine.
20
Fig. 1.3 “Tabel de valori pentru l ățimea t raseelor” [6]
1.5.2 Aria de lipire ( Pad)
Dimensiunile și formele pad-urilor nu depind numai de componentă care este utilizată în schemă, ci
și de procesul de fabricație utilizat pentru asamblarea plăcii, printre altele. Există o mulțime de
standarde și teorii în spatele dimensiunilor și aspectelor pad -urilor, iar acest lucru va fi explicat in
continuarea capitolului .
În cazul realizării unui PCB simplu, orice program vine cu un set de biblioteci de componente de
bază standard, dar și cele mai si mple componente de bază pot fi modificate pentru a satisface diferitele
cerințe de proiectare a circuitului. De -a lungul timpului se pot realiza biblioteci proprii dedicate pentru
diferite aplicații, cum ar fi: microcontrolere, drivere, interfețe, DAC, ADC , etc.
Există un parametru important cunoscut că raportul pad/vias. Acesta este raportul dintre
dimensiunea pad -ului raportat la dimensiunea vias -ului. Fiecare producător poate avea propriul lor set
de specificații minime pentru acest lucru. Ca o simp lă regulă de bază, pad -ul trebuie să fie de cel puțin
de 1,8 ori mai mare decât diametrul vias -ului, sau cel puțin mai mare cu 0,5mm. Acest lucru este
necesar pentru a permite toleranțe de aliniere a burghiului și imaginii de pe straturile de sus și de jos .
Acest raport devine mai important în momentul în care acesta devine din ce în ce mai mic, și este
deosebit relevant pentru vias.
Fig. 1.4 „Exemplu de pad (stanga) si vias (dreapta)”
21
Există unele practici comune utilizate atunci când vine vorba de pad-urile componentelor de bază.
Pad-uri pentru componente comune, cum ar fi rezistoare, condensatoare și diode ar trebui să fie
rotunde, în jur de 70thou în diametru. Componentele „Dual în line” (DIL), cum ar fi circuitele integrate,
IC, sunt mai potrivi te cu pad -uri cu forme ovale (60thou). Primul pin al componentei trebuie să aibă
întotdeauna o formă diferită a padului, de obicei dreptunghiulară și cu aceleași dimensiuni ca și ceilalți
pini, sau un semn care marchează acest lucru.
Fig. 1.5 „Exemplu d e marcare a pinilor”
Cele mai multe componente SMD folosesc pad -uri rectangulare, deși circuitele integrate ar trebui să
utilizeze pad -uri ovale, evident, cu pinul 1 fiind diferit sau marcat. Alte componente care se bazează pe
numerotarea pinilor, cu m ar fi conectori și rețelele de rezistoare, ar trebui să urmeze, de asemenea,
regulă de marcare a primului pin.
1.5.3 G ăuri de trecere (Vias)
Cu ajutorul vias -urilor se pot realiza conexiuni între componente plasate pe părți diferite ale PCB –
ului. La prototipurile de plăci realizate în casa sau la cele comerciale slab calitativ, vias -urile sunt
realizate cu găuri realizate manual. Vias -urile permit conexiuni electrice între diferitele straturi de pe
bord, chiar și conexiunea cu straturile interne al e PCB -ului, dacă este cazul.
In practic ă pot ap ărea intrebari de exemplu, diferența dintre un vias și un pad THT. Practic nu există
nici o diferență reală, ambele sunt găuri ce pot realiza legături între diferitele straturi ale PCB -ului.
Există difere nțe doar atunci când vine vorba de pachete de proiectare a unui PCB. Pad -urile și vias -urile
sunt, și ar trebui să fie, tratate în mod diferit. Totuși nu trebuie utilizat un pad THT în locul unui via, și
vice-versa. Găurile din vias sunt, de obicei un pic mai mici decât pad -urile componentelor, tipic cu 0.5 –
0.7mm.
Folosirea unei conexiuni pentru realizarea conexiunii dintre două straturi este denumită în mod
obișnuit "cusătura", deoarece se realizează, în mod efectiv, „coaserea” ambelor straturi împre ună, cum
ar fi trecerea unui ac înainte și înapoi prin material.
22
Fig. 1.6 „Interconectare prin intermediul vias”
1.5.4 Poligoane
Poligoanele sunt disponibile pe mai multe pachete de PCB -uri. Un poligon completează automat
(sau "inunda") o zonă do rită cu cupru, care se afla în jurul altor pad -uri sau trasee. Sunt foarte utile
pentru a stabili i „plane de masă” (en. GND planes). Aceste poligoane trebuie plasate doar după ce au
fost plasate toate componentele și traseele. Poligonul poate fi o zonă sol idă plină cu cupru, fie să
prezinte diferite forme de cupru specifice aplicației respective. Se preferă umplerea solidă pentru
evitarea apariției unor fenomene parazite: rezistente parazite, etc.
1.5.5 Distan ța dintre trasee/componente ( Clearance)
Distanța dintre două sau mai multe trasee sau componente reprezintă o cerință importantă pentru
toate PCB -urile. O distanță prea mică intre componente sau trasee poate conduce probleme de realizare
a cablajelor în timpul procesului de fabricație. Acestea po t fi foarte greu de depistat în momentul
testării circuitului. Nu trebuie împinse limitele producătorului, până la valoarea minimă acceptată de
acesta, deoarece pot apărea probleme. De aceea este recomandată menținerea unei valori a distanței,
dintre compo nente și trasee, peste limita minimă acceptată de producător.
Cel puțin 15thou este o limită bună pentru circuitele realizate cu componente THT, cu 10thou sau
8thou pentru circuitele ce folosesc un număr foarte mare de componente SMD, en. High Density
Layout. Dacă se merge sub acest lucru, este o idee bună să fie consultat mai întâi termenii producătorul
PCB -ului.
Pentru rețele le de alimentare de 240V pe PCB există cerințe legale diferite și trebuie consultate
standardele relevante dacă se dorește realizarea de astfel de activități. Ca regulă generală, trebuie să fie
permis un minim absolut de spațiere de 8 mm (315thou ) între pistele de 240 V și liniile de semnal
izolate.
Pentru tensiunile mici, standardul IPC are un set de tabele care definesc o distanță necesară pentru
diverse tensiuni. Tabelul simplificat este prezentat mai jos. Distanța va varia în funcție de plasarea
23
traseelor, pe straturile interne sau externe ale PCB -ului. De asemenea, ele variază în funcție de
înălțimea operațională a ci rcuitului deasupra nivelului mării, datorită subțierii atmosferei la altitudini
mari.
Fig. 1.7 „Tabel cu distan țele dintre trasee in fu ncție de tensiune” [7]
1.6 Plasarea componentelor
Întotdeauna un PCB de calitate înaltă este realizat 90% din pl asarea componentelor pe placă și 10%
din conectarea acestora. Aceste cifre nu au nici o relevanță, modul de plasarea a componentelor este de
departe cel mai important aspect în vederea realizării unui PCB.
Plasarea într -un mod corespunzător a componen telor va permite realizarea ușoară a traseelor dar vă
oferii și o performanță electrică foarte bună. Plasarea necorespunzătoare a componentelor poate duce la
dificultăți în ceea ce privește munca de realizare a traseelor , iar performanța electrică poate fi foarte
slabă. În unele cazuri placa poate fi refuzată de producător din cauza plasării neadecvate a
componentelor.
Fiecare designer va avea o metodă proprie de plasare a componentelor. Dacă aceleași circuit este dat
la 100 de designeri cu experiență s-ar obține 100 de PCB -uri diferite. Nu poate exista o modalitate
absolut corectă de plasare a componentelor, dar există câteva reguli de bază care pot ajuta la ușoară
trasare a unei plăci.
Pașii de bază pentru realizarea unui PCB sunt prezentați mai jos:
– Stabilirea grilei de lucru și dimensiunile implicite ale traseelor și pad -urilor;
– Plasarea tuturor componentelor pe placă;
– Împărțirea și plasarea componentelor în blocuri funcționale, dacă este posibil;
– Identificarea traseelor critice din cir cuit și trasarea acestora, mai întâi;
– Conectarea separată a fiecărui bloc electric în parte;
– Realizarea traseelor de comunicație sau de putere dintre fiecare bloc electric;
– „Ordonarea” generală a întregului proiect;
– Efectuarea unei verificări de pr oiectare (en. Design Rule Check sau DRC);
– Verificarea de către altă persoană.
24
Mulți designeri preferă să înceapă direct plasarea tuturor componentelor în ceea ce cred că este cea
mai bună poziție pe placa, toate dintr -o singură încercare. Acest lucr u poate funcționa pentru circuite
mici, dar nu și pentru circuitele mai complexe cu sute de componente răspândite în multe blocuri de
circuite funcționale.
Pentru circuitele cu număr mare de componente riscul de a rămâne fără spațiu de trasare este fo arte
mare. Pozițiile pieselor vor trebui schimbate și apoi interconectate iar, ceea ce duce la creșterea
timpului de finalizare al proiectului. Alternativ, dacă spațiul dintre componente este prea mare, se poate
ajunge la o placă de dimensiuni mari, care n u utilizează eficient spațiul.
O placă realizată de un designer fără experiența este o placă care are fiecare componentă distanțată
în mod egal, iar apoi are nevoie de foarte multe trasee și vias -uri pentru a realiza legătura dintre acestea.
Exista po sibilitatea de funcționare a sistemului, dar poate arăta urât și ineficient, iar costul de fabricație
va crește o dată cu dimensiunea plăcii.
Cea mai bună modalitate de a începe un layout este de a așeza toate componentele pe placă mai
întâi.
Cu toate componentele plasate pe placa, ar trebui să se obțină o bună indicație dacă piesele se vor
potrivi cu ușurință dimensiunii și formei plăcii. Dacă toate componentele vor încăpea la limită pe placa,
atunci designerul trebuie să aibă multă grijă pentru a păstra distanța dintre trasee și componente. Dacă
exista foarte mult spațiu pe placă atunci designerul poate fi puțin mai liberal în partea de plasare a
componentelor.
Următorul pas în reprezintă analiza schemei și stabilirea dacă exista vreo părți ale proiectului care
pot fi împărțite în blocuri. În majoritatea cazurilor acest lucru este destul de evident.
De asemenea, trebuie împărțite componentele sensibile din punct de vedere electric ale designului în
blocuri mai mari. Un exemplu important îl reprezintă circuitele mixte digitale și analogice. Digital și
analog nu se vor amesteca, și vor trebui să fie fizic și electric separate. Un alt exemplu este cu circuite
de înaltă frecvență și de curent înalt, acestea nu se amestecă cu circuite sensibi le la frecvență joasă și
sensibile la curent scăzut.
Ca regulă generală, componentele ar trebui să fie bine aliniate. De exemplu: circuitele integrate
plasate în aceeași direcție, rezistențe în coloane înguste, condensatori polarizați în același mod ș i
conectori plasați pe marginea plăcii. Parametrii electrici trebuie să aibă întotdeauna prioritate față de
componentele bine aliniate.
Dacă toate componentele au fost plasate corespunzător, atunci 90% din munca va fi făcută. Ultimele
10% se vor alătu ra doar la partea de interconectare a componentelor.
Odată ce componentele au fost plasate corespunzător, se poate începe trasarea separată a traseelor
pentru diferitele blocuri din circuit, urmată apoi de realizarea conexiunilor dintre acestea.
Verificarea regulilor de proiectare (en. Design Rule Check – DRC) va fi acoperită mai târziu, însă
este un pas esențial pentru că designerul să fie sigur că placa nu prezintă erori înainte de fabricație. Un
DRC verifică în principiu conectivitatea corectă a componentelor și pentru lățimile și distanțele corecte.
Un pas esențial în reprezintă verificarea layout -ului de către altă persoană. Indiferent cât de
experimentat este un designer la proiectarea PCB, va exista întotdeauna ceva peste care s -a trecu t cu
vederea. O altă persoană cu o mentalitate diferită poate ridica probleme pe care designerul nu le va
putea vedea niciodată.
25
Funcția de plasare a componentelor va realizată mai ușor prin activarea unui afișaj cu toate
conexiunile de pe placă. Pent ru circuitele electronice cu o densitate mare de componente, este esențiala
folosirea unui astfel de afișaj pentru interconexiuni.
Un astfel de afișaj este unul în care programul va desena o linie dreaptă între pad -urile
componentelor conectate, în co nformitate cu schema electrică. Aceasta arată conectivitatea circuitului
înainte de a începerea realizării traseelor de cupru. La începutul layout -ului, cu toate componentele
așezate în mod aleatoriu, acesta va apărea ca un labirint complicat de linii.
Acest afișaj poate să pară foarte derutant la început, dar când componentele vor fi așezate pe poziția
corespunzătoare, liniile se vor mișca automat cu ele. În acest fel se pot vedea instantaneu legăturile
dintre toate componentele. Această funcție ar t rebui activată mereu indiferent de circuit. Chiar și atunci
când exista scheme electrice simple cu câteva componente.
Fig. 1.8 „Interconexiunile dintre componente„
26
1.7 Conectarea de baz ă
Conectarea este procesul de stabilire a traseelor pentru conect area componentelor de pe placă. O
conexiune electrică între două sau mai multe plăcuțe este cunoscută sub denumirea de "rețea". Există
reguli pentru realizarea traseelor:
– Păstrarea traseelor cât mai scurte posibil. Cu cât lungimea totală a traseului este mai mare, cu atât este
mai mare rezistența, capacitatea și inductanța parazit ă. Toți aceștia pot fi factori nedoriți.
– Toate traseele ar trebui să aibă doar unghiuri de 45 de grade. Trebuie evitată utilizarea unghiurilor
drepte și mai ales folosirea ungh iurilor mai mici de 90 de grade. Lucrul acesta este important pentru
obținerea unui aspect profesional și elegant al plăcii. Seturile de reguli PCB vor avea un mod de a
impune folosirea unghiurilor de 45 de grade. Acest set de reguli nu trebuie niciodată o prit sau evitat.
Unghiurile drepte pot cauza probleme de măsurare sau chiar probleme în ceea ce privește partea de
realizare fizică a plăcii.
– Interconectarea dintre două sau mai multe componente trebuie realizată pe calea cea mai rapidă, adică
este neces ară folosirea unui traseu cât mai scurt, acolo unde este posibil. Folosirea traseelor lungi pot
introduce în circuit rezistente, inductanțe și capacități parazite.
– Trebuie activată opțiunea de „plasare în centru”. Această opțiune permite programului de p roiectare să
găsească automat centrele și capete componentelor. Acest lucru este foarte folositor atunci când exista
pe placă componente și trasee nealiniate la grila actuală (en. Grid). Dacă aceste opțiuni nu exista în
program, atunci acest lucru trebuie făcut manual prin stabilirea unei grile și folosirea acesteia pentru
plasarea tuturor componentelor pe placă.
– Un traseu trebuie dus din centrul pad -ului unei componente până în centru pad -ului alteia, astfel
designerul este sigur că legătura dintre compo nente este realizată corect. Nu este suficientă doar
atingerea superficială a pad -ului. Există puține motive pentru acest lucru. Primul este că este neplăcut și
neprofesional. Al doilea este că programul de proiectare poate introduce erori cu privirea la c onexiunea
dintre componente.
– Un singur traseu trebuie utilizat pentru a realiza o conexiune. Nu este necesară folosirea mai multor
trasee pentru o singură conexiune. Este posibil să nu existe nicio diferență pentru aspectul plăcii finale,
dar poate fi o durere pentru o editare ulterioară. În acest caz, este mai bine că traseul vechi să fie șters și
apoi trasat unul nou.
– Grila trebuie stabilită în așa fel încât traseul să poată trece exact prin mijlocul pad -ului componentei.
Folosirea grilei de fixare c orectă va asigura obținerea acestui lucru de fiecare dată. Dacă acest lucru nu
se întâmplă înseamnă că este folosită o grilă greșită. Acest lucru trebuie stabilit pentru a obține un
aspect mai curat și simetric al plăcii, și totodată pentru a obține o dist anță mai bună între componente.
– Pentru curenții mari, trebuie utilizate mai multe vias -uri atunci când se realizează o trecere între
straturi. Acest lucru va reduce impedanța și va îmbunătăți fiabilitatea. Aceasta este o regulă generală ori
de câte ori t rebuie să scadă impedanța traseului sau a planului de putere.
– Traseele de alimentare și de masa trebuie păstrate cât mai aproape unul de celălalt, dacă este posibil,
și nu trasate în direcții diferite în jurul plăcii. Acest lucru scade bucla de inductanț a sistemului de
alimentare și permite o ocolire eficientă.
– Totul trebuie menținut simetric, unde este posibil. Acest lucru oferă un aspect profesional cât și
electric superior al plăcii.
27
Atunci când este nevoie de un vias fără strat de cupru pe amb ele părți ale plăcii există câteva lucruri
suplimentare de urmărit. Plăcile cu vias -uri fără cupru necesită lipirea unei legături, atât pe stratul
superior, cât și pe cel inferior.
Fig. 1.9 „Exemplu de conexiune corect ă”
Fig. 1.10 „Exemplu de conexiu ne incorect ă”
Designul pe o singură față a plăcii poate reduce foarte mult costul. Dacă circuitul poate fi proiectat
pe o singură față, atunci este preferabil să fie utilizată doar acea față. Cu cât sunt folosite mai puține
straturi pe un PCB, cu atâ t costul de fabricație al acestuia va fi mai mic.
Acest design pe o singură față necesită totuși anumite tehnici unice c are nu sunt necesare odată ce s –
a ajuns la design multi -strat. Este cu siguranță mai provocator decât un circuit realizat pe două f ete ale
PCB -ului. Un design pe o singură față a plăcii va fi considerat invers proporțional cu numărul de trasee.
28
Este vorba despre un echilibru între dimensiunea plăcii și numărul de legături speciale necesare.
Aproape fiecare placă cu o singură part e va necesita unele legături speciale.
Plasarea componentelor este și mai critică pe o placă cu o singură față, deci nu este timpul ca toate
componentele să fie aliniate frumos și bine. Aranjarea componentelor trebuie realizată astfel încât să se
asigure cea mai scurtă și mai eficientă trasare posibilă. Având doar un singur traseu care rulează dintr -o
parte a plăcii în alta, poate distruge întreaga structură, deoarece face imposibilă trasarea oricăr ui alt
traseu perpendicular .
Mulți designeri vor trata placa proprie ca fiind una cu două straturi, dar numai cu trasee drepte pe
stratul superior. Atunci când placa trebuie să fie fabricată, pistele stratului superior sunt înlocuite cu
legături de tip „jumper”. Aceasta poate fi o modalitate destul de in eficientă de abordare a designului cu
o singură față.
Designul pe ambele fețe oferă un grad suplimentar de libertate pentru proiectarea plăcii. Lucrurile
care au fost aproape imposibile pe o placă cu o singură față devin relativ ușoare atunci când es te
adăugat un strat suplimentar.
Mulți designeri neexperimentați au tendința de a introduce involuntar erori atunci când își planifică
plăcile cu două fețe. Aceștia vor crede că plasarea componentelor nu contează prea mult și pot fi
folosite sute de v iasuri.
Un PCB cu mai multe straturi este mult mai scump și mai greu de fabricat decât o placă cu un singur
strat sau cu două straturi, dar va asigura o mulțime de densități suplimentare pentru a ruta traseele de
putere și cele de semnal. Prin faptul că există trasee de semnal care rulează pe interiorul plăcii,
componentele pot fi așezate mai compact pe placă.
Trecerea de la o placă cu două straturi la una cu mai multe straturi poate fi o decizie importantă,
deoarece aceste sunt folosite pentru c ircuitele electronice cu un grad foarte ridicat de complexitate sau
care necesită o bună izolare a traseelor de semnal.
Plăcile multi -strat sunt realizate cu un număr egal de straturi , cele mai commune avand 4, 6 și 8
straturi. Se poate merge către ma i multe straturi deasupra acestora.
Din punct de vedere tehnic, se poate obține un număr impar de straturi fabricate, cum ar fi o placă de
3 straturi. Costul de fabricație va fi exact ca al unei plăci realizată cu 4 straturi. O placă realizată cu 3
straturi ar putea fi chiar mai scumpă decât o placă de 4 straturi, deoarece necesită un proces de fabricare
nestandardizat.
În momentul în care designerul prefera varianta cu 4 straturi, acesta trebuie să se asigure că va folosi
toate acele straturi în realizarea circuitului.
Pentru o placă cu mai multe straturi, de obicei, un strat este dedicat semnalului de masă, GND, iar
altul pentru partea de alimentare, VDD. Poate câteva trasee de semnal se pot afla pe stratul de
alimentare dacă este nevoie. Da că există o placă care conține doar componente digitale, atunci întregul
strat este dedica părții de alimentare, VDD/GND. Straturile de putere sunt aproape întotdeauna în
mijlocul plăcii, cu semnalul GND mai aproape de stratul superior.
Odată ce plane le de alimentare au fost stabilite pe straturile interioare ale PCB -ului, pe cele
exterioare va rămâne foarte mult spațiu pentru realizarea traseelor de semnal. Chiar se deschide o
dimensiune cu totul nouă pentru realizarea traseelor .
Dacă planele de alimentare, VDD și GND, sunt vitale și există o mulțime de conexiuni de semnale
pe placa, atunci este posibilă chiar mărirea PCB -ului de la 4 la 6 straturi. O placă realizată cu 6 straturi
29
oferă 4 straturi pentru realizarea traseelor de semnal și două stra turi ce pot fi dedicate planelor de
alimentare. Se pot face unele rute avansate cu 6 straturi. Opt straturi sau mai sus oferă practic alte grade
de libertate.
Cu un design realizat în mai multe straturi vin și opțiunile de utilizare a diferitelor tipu ri de vias
pentru îmbunătățirea densității de realizare a traseelor . Există trei tipuri de vias – standard, orb și
îngropat.
Vias-urile standard traversează întreaga placă și pot conecta oricare dintre straturile interioare și
exterioare.
Vias-urile „oarbe” au rolul de a realiza conexiunea între stratul de la suprafața și straturile interioare.
Gaura nu iese în cealaltă parte a plăcii. Acesta se numește „orb” deoarece nu va trece pe cealaltă parte a
plăcii.
Vias-urile “îngropate ” pot conecta două sau mai multe straturi interioare, fără nici o gaură vizibilă
pe exteriorul plăcii. Deci gaura este complet îngropată în interiorul PCB -ului.
Găurile „oarbe” și îngropate costă mai mult decât cele standard. Sunt foarte utile și aproape
obligator ii pentru circuitele electronice cu densitate foarte mare de componente, cum ar fi cele care
implică componentele Ball Grid Array (BGA).
O practică bună o reprezintă folosirea "planelor de putere" pentru a distribui puterea în pe întreaga
placă. Utiliz area planelor de putere poate reduce considerabil inductivitatea cablajelor de alimentare și
impedanța componentelor prezente pe placă. Acest lucru poate fi vital pentru proiectarea unui circuit
digital de mare viteză, de exemplu. Este o practică bună de p roiectare să se utilizeze plane de putere ori
de câte ori este posibil. Ele pot fi folosite chiar și pe plăci realizate cu două straturi, dacă cele mai multe
trasee de semnal sunt pe stratul superior.
Un plan de putere este, în esență, un strat de cup ru solid de bord dedicat fie semnalului de masă,
GND, sau celui de putere, VDD, fie ambelor. Planele de alimentare merg în straturile interioare ale
plăcii, de obicei pe straturile cele mai apropiate de suprafețele exterioare. Pe o placă de 4 straturi cu
cerințe complexe de alimentare este necesară dedicarea unui strat pentru planul de masă și un alt strat
pentru diferitele plane de putere pozitive și negative. Planul de GND este, de obicei, semnalul de
referință, deci un plan de masă este prima preferință înainte de a lua în considerare un plan de putere.
Multe pachete de PCB au straturi speciale, „Power Plane”, care sunt proiectate și dispuse invers față
de alte straturi normale. Pe un strat normal de urmărire, placa este considerată a fi necompletată și apoi
va avea loc realizarea traseelor de cupru.
Un plan simplu de putere nu va avea nici un fel de traseu, dar va fi doar un strat solid de cupru. În
acest caz, nu este necesară realizarea de trasee sau eliminarea cuprului. Cu toate acestea, este o practică
obișnuită , în cazul unor placi mai complexe , de a împărți planul electric prin stabilirea traseelor. Acest
lucru se poate face pentru a separa un plan de masa pentru un circuit analogic de unul digital, ceea ce va
reduce cantitatea de zgomot gen erată de circuitul digital la masă. Un plan tipic de putere divizat ar
implica un traseu plasat de lângă conectorul de putere de intrare sau lângă condensatoarele principale
de filtrare și de marginea opusă a plăcii.
Nu este necesară folosirea unui pl an de alimentare pe o placă dacă nu este nevoie. Se poate folosi un
strat de semnal obișnuit și se poate trasa porțiuni de cupru și trasee. Planele de alimentare deși au
adesea unele avantaje pot varia de la un pachet PCB la altul.
30
Fig. 1.11 „Exemplu pla ne de putere”
Împământarea este fundamentală pentru funcționarea mai multor circuite. Tehnicile de împământare
bune sau rele pot afecta funcționarea circuitului. Există mai multe tehnici de împământare:
Cu cât este mai mult cupru pe planul de ma să, cu atât este mai mică impedanța. Acest lucru este de
dorit din multe motive electrice. Planele de masa ar trebui folosite în orice proiect, dacă este posibil.
În cazul realizării unei plăci cu mai mult de două straturi, planul din interior mai apr opiat de cel de
suprafață ar trebui dedicat semnalului de masă, GND.
Realizarea traseelor de masa separate pentru părțile critice ale circuitului, înapoi la condensatorul
principal de filtrare este cunoscută sub denumirea de conexiune „stea” deoarece traseele de masa se
concentrează către un punct central, adesea arătând ca o stea. Planele de masa separate păstrează
curentul și zgomotul de la o componentă pentru a nu afecta alte componente.
31
CAPITOLUL 2. Componenta Hardware
2.1 Schema electrică a intregului sistem
În acest capitol va fi prezentat modul de realizare a componen tei hardware a lucrării și programul
software în care a fost realizat aceasta. Totodată vor fi prezentate componentele principale utilizate la
realizarea întregul ui sistem, cât și regulile de layout folosite.
Componente principale utilizate:
– PIC24FJ64GA004 – Microcontroler pe 16 biți
– MCP16301 – Convertor DC -DC Buck
– V23105A5001A201 – Relee
– RN1810 – Modul Wifi
– USB2514B – Hub USB
Circuitul electric al înt regului sistem este realizat cu componente ce aparțin în totalitate de
Microchip Technology.
Fig. 2.1 “PIC24FJ64GA004 – Microcontroler pe 16 biti”
În figur a de mai sus este prezentată schema electrică de bază a microcontrolerului, cât și legăturil e
cu celelalte componente din sistem. Legăturile cu componentele aflate pe aceeași pagină sunt marcate
prin etichete (en. Label), ex. RA2, RA3, etc. Legăturile cu componentele aflate pe pagini diferite sunt
marcate prin porturi, ex. TX_USB, RX_USB, etc.
Condensatoarele, C10, C11, C12, plasate la pinii de alimentare ai microcontrolerului, au rolul de
filtrare a semnalului analogic în momentul în care circuitul este pus sub tensiune.
32
Fig. 2.2 “Conector de programare si circuitul de reset”
Conecto rul, J19, permite u tilizatorului să comunice cu microcontrolerul, prin portul dedicat pentru
programarea acestuia, configurația pinilor fiind prezența în foile de catalog (en. Datasheet) ale
microcontrolerului.
Comutatorul, S1, face parte din circuitul de reset, care o dată apăsat aduce microcontrolerul în starea
inițială. Rezistorul, R5, este practic un rezistor de pull -up, care ține pinul de reset blocat la valoarea de
1 logic, adică la tensiunea de alimentare, 3.3V.
Condensatorul, C15, acționează ca un circuit de debounce în momentul în care butonul este apăsat.
Fig. 2.3 “Diode LED de control si pini I/O”
În figură 2.3, sunt prezente diodele LED de control, LD3 și LD4, pentru a putea stabili funcționarea
microcontrolerului, iar conectorul, J10, permite ac cesul la pinii rămași liberi în caz de nevoie.
33
Fig. 2.4 “Modulul Wireless – RN1810 ”
O altă componentă importantă o reprezintă modulul wireless, prezent în figur a 2.4, modul realizat de
Microchip Technology.
Acest modul permite sistemului să fi e conectat la o rețea de internet “fără fir”, wireless, folosind un
protocol special. Modulul comunică cu microcontrolerul folosind portul UART al acestuia, precum și
alte porturi de intrare/ieșire.
Interfața UART, de pe modulul wireless, suporta conf igurații cu două fire, RX și TX sau configurații
cu patru fire cu flux de control, RX, TX, CTS și RTS.
Nivelurile logice sunt nivelurile CMOS de tensiune și nu nivelurile de tensiune RS -232. Interfața
UART suportă mai multe rate de trasmisie a datelor de 9,600, 19,200, 38,400, 57,600 și 115.200 biți pe
secundă.
Condensatoarele, C1, C2, C4, C5, C7, C8, sunt plasate la intrările de alimentare ale modulului
wireless pentru filtrarea semnalului analogic în momentul în care circuitul este pus sub tensi une, iar
tensiunea maximă de alimentare este de 3,3V.
34
Fig. 2.5 “Hub USB – USB2514”
Tot o componentă importantă în acest circuit este hub -ul USB, produs de asemenea de Microchip
Technology.
Comunicația dintre această componenta și microcontrol er se realizează, de asemenea prin
intermediul unui port UART.
Hub-ul permite utilizatorului să se conecteze, la acest sistem, cu alte sisteme exterioare care dețin un
port USB, cum ar fi memoriile flash mobile, sisteme Raspberry Pi, Arduino, etc.
În partea dreaptă a imaginii sunt marcate cu etichete legăturile, de tip diferențial, dintre hub și
conectorii USB pentru comunicația cu dispozitive periferice.
Rezistorul R19 este un rezistor de pull -up și are rolul de a asigura valoarea de 3.3V, a dică valoarea
de 1 logic pentru acest circuit, la intrarea pinului de reset, iar împreună cu condensatorul de filtrare
C34, realizează un filtru RC.
Valorile pentru celelalte componente pasive din figură de mai sus sunt specificate în foile de catalog
ale componentei respective.
Pentru partea de alimentare a cipului sunt folosi te șapte condensatoare de filtrare a semnalului de
3.3V, având valoarea de 100nF.
35
Fig. 2.6 “Convertor USB – UART – MCP2221”
MCP2221 este componentă care asigură leg ătura dintre microcontroler și hubul USB. Acesta face
conversia între semnalul, de tip diferențial al hubului și semnalul serial pe care îl poate recepționa
microcontrolerul.
Dioda, LD1, este un led de control care se va aprinde în momentul în care un semnal va fi transmis
către convertor.
Fig. 2.7 “Oscilatorul extern al hubului”
36
Fig. 2.8 “Tranzistor MOS – MIC2026 ”
Acest cip este alcătuit din tranzistoare folosite în regim de comutație. Acestea au rolul de a opri
alimentarea cu tensiune a por turilor USB printr -o comanda trimisă de microcontroler.
Fig. 2.9 “Configura ție – conector USB 2.0”
În schema electrică a sistemului se regăsesc trei conectori de tipul USB 2.0 ce pot asigura
alimentarea cu 5V DC, precum si comunicația cu dispoziti ve periferice, cum ar fi memoriile portabile
flash.
Dioda LED semnalează utilizatorul că portul respective este deschis pentru comunicație sau pentru
alimentare, iar R30 limitează curentul prin aceasta.
Diodele TVS, D13 și D14, au rolul de a opri circuitul în cazul un ei supratensiuni sau a unei
descărcări electrostatice accidentale, protejând astfel celelalte componente conectate la acest conector.
37
Fig. 2.10 “Configura ție conector microUSB”
Conectorul microUSB poate realiza comunicația din tre microcontroler și un sistem extern, cum ar fi
un sistem Raspberry Pi sau chiar un laptop.
Legătura dintre GND și SHIELD se realizează prin intermediul unui rezistor și al unui condensator,
acestea fiind conectate în paralel.
Fig. 2.11 “Schema de alimentare a circuitului”
Schema circuitului de alimentare a sistemului este alcătuită din componentele prezente în figură de
mai sus, în care la conectorul J2 se va conecta o sursă de tensiune. Aceasta tensiune de 5V va fi
prezentă la pinii de intr are ai convertorului Buck, releelor cât și ai tranzistoarelor.
Condensatorul electrolitic C19 asigura o protecție împotriva variațiilor tensiunii de intrare, iar dioda
Schottky D8 asigura protecția împotriva curenților autoinduși în momentul opririi c ircuitului electric.
38
Fig. 2.12 „Convertorul DC -DC Buck – Schema electric ă”
Convertorul DC -DC Buck din figura are rolul de a asigura la ieșirea acestuia o tensiune constantă de
3.3V pentru alimentarea microcontrolerului, hubului USB, modulului WiFi cât și a interfeței MCP2221.
Acest cip suport ă o tensiune de intrare cuprinsă între 4V și 30V, dar datorită unor restrângeri la
nivelul întregului circuit electric, la pinii de alimentare ai acestui convertor se va găsi valoarea maximă
de 5V, deoarece intrarea acestuia este comună și cu a altor componente integrate, cum ar fi releele.
Condensatoarele au rolul de filtrare a variațiilor de tensiune de la intrarea convertorului și, respectiv
de la ieșirea acestuia.
Rezistorii R7 și R10 fac parte din blucla de reacție negativă, iar dioda Schottky D7 fiind o diodă
rapidă are rolul de comutator.
Fig. 2.13 „Configura ția releelor”
39
Configurația releelor este prezentată în figură anterioară. Acestea prezintă la ieșite conectori de tip
male (cu pini), female (cu goluri) și blocuri terminale, iar legăturile dintre pinii acestor conectori vor fi
date de partea de comutație a releelor.
În schema electrică a circuitului există patru configurații identice pentru cele patru relee prezente pe
placă.
Dioda D3 va intra în conducție, având rolul de protecție împotriva curenților autoinduși de bobin a
releului, în momentul în care circuitul este oprit.
Tranzistorul MO S, [8], Q1 este tranzistorul prin care se re alizează comanda releului, iar rezistorul
R15 este un rezistor de pull -down care va asigura blocarea tranzistorului, atunci când nu va mai există
semnal de comandă.
2.2 Convertorul DC -DC
2.2.1 Generalități convertoare
Sunt topologii de convertoare DC -DC realizate special pentru a genera tensiuni continue bine
filtrate, cu valori stabilizate sau reglabile. Aceste convertoare utilizează filtru de tensiune care pot fi
atașate la ieșire sau pot face parte integrate din structura convertorului.
Conver toarele DC -DC cu filtre de tensiune pot fi concepute cu sau fără separare galvanică,
coborâtoare (step -down) sau ridicătoare (step -up) de tensiune. Tehnica de conversie a energiei se
bazează pe principiul modularii în lățime a impulsului (PWM). În majorita tea cazurilor aceste
convertoare sunt unidirecționale din punct de vedere al circulației energiei, deci pot funcționa doar într –
un singur cadran al planului electric: tensiune de ieșire – curent de ieșire.
Filtrul de tensiune utilizat de aceste conver toare este, de obicei, de tip LC. Fiind convertoare de un
cadran se poate discuta despre funcționarea lor în “regimul de curent întrerupt” sau despre “conducția
discontinuă” prin inductanța filtrului de tensiune. În acest caz valoarea tensiunii de ieșire, la o aceeași
comandă, este influențată de valoarea curentului de sarcină. În cazul convertoarelor cu separare
galvanică, pentru transmiterea energiei prin bariere izolate electric se folosesc transformatoare de înaltă
frecvență.
Convertoarele DC -DC, [ 9], cu filtre de tensiune sunt utilizate în numeroase aplicații: surse de
tensiune continuă, interconectarea surselor regenerabile de energie, autovehicule electrice și hibride,
etc. În funcție de aplicație se utilizează anumite de astfel de convertoare. D e exemplu, variantele cu
separare galvanic ace formează așa numita categorie de “surse în comutație” sunt folosite pentru
alimentarea aparaturii electronice de mică putere. În aplicații cu puteri mai ridicate sunt utilizate
convertoarele c.c. – c.c. cu fil tre de tensiune fără izolare galvanică. Acestea, la rândul lor pot fi întâlnite
sub formă mai multor structuri enumerate mai jos:
– Structura coborâtoare de tensiune de tip Buck;
– Structura ridicătoare de tensiune de tip Boost;
– Structura coborâtoare/ridicătoa re de tensiune de tip Buck/Boost;
– Structura de tip Cuk;
Din lista de mai sus doar convertoarele Buck și Boost sunt structuri de bază. Toate celelalte
topologii utilizează principiile de funcționare ale primelor două.
40
2.2.2 Structura coborâtoare de ten siune de tip Buck
În figură următoare este prezentată structura coborâtoare de tip Buck, rezultat prin adăugarea la
ieșirea unui chopper de un cadran a unui filtru de tensiune LC. Ansamblul rezultat este privit ca un
convertor static de tensiune care permite transferul unidirecțional al puterii electrice (P>0) de la o
tensiune continua mai ridicată (U d) la o tensiune continua filtrată, de valoare mai mică (U e).
Fig. 2.14 “Convertor DC-DC coborâtor de tensiune”
Elementul activ al convertorului este reprezentat de tranzistorul de putere (T). În practică,
tranzistorul trebuie să lucreze la frecvențe de comutație cât mai mari în scopul diminuării pe cât posibil
a filtrului. Pentru comanda tranzistorului se vor utiliza semnale modulate în lățime, P WM, prin a căror
factor de umplere poate fi ajustată valoarea tensiunii de ieșire.
Dioda D este obligatorie pentru a asigura o cale de descărcare a curentului întreținut de inductanța L
pe intervalul în care tranzistorul este blocat. Capacitatea C d acționează ca un tampon de energie la
intrarea structurii în scopul asigurării imediate a curentului cerut de convertor după deschiderea
tranzistorului T. Acest curent este intermitent și poate deranja sursa U d. Din acest motiv în locul
capacității se pot ut iliza și filtre mai complexe de înaltă frecvență.
La ieșirea convertorului este conectată o sarcină de curent continuu sensibilă la formă de undă a
tensiunii. Sunt aplicații în care ieșirea convertorului se leagă la o micro -retea de curent continuu ca re
poate alimenta mai multe sarcini diferite și în care pot injecta energie electrică mai multe convertoare
sau surse. La rândul ei această micro -retea poate fi izolată sau interconectata, prin intermediul altor
convertoare, cu rețeaua publică a energiei e lectrice.
În majoritatea lucrărilor de specialitate analiza convertoarelor DC -DC cu filtre de tensiune urmărește
să determine relația de legătură între factorul de umplere al semnalelor de comandă PWM și valoarea
tensiunii filtrate de la ieșire. Calcu lul este făcut în două situații diferite de funcționare:
41
– În regimul de curent continuu (conducție continuă prin L)
– În regimul de curent întrerupt (conductie discontinua prin L)
Mai departe regimul de curent întrerupt este analizat în urm ătoarele cazuri:
– Tensiunea de ieșire trebuie reglată între anumite limite în condițiile în care tensiunea de intrare este
constantă.
– Tensiunea de ieșire trebuie menținută constantă în condițiile în care tensiunea de intrare prezintă
variații.
Fig. 2.15 “Formele de und ă ale tensiunii si curen tului continuu ”
Conducția continua sau permanentă a curentului prin inductanța L se menține dacă valoarea
curentului de sarcina nu scade sub un prag minim I, luat în calcul în momentul dimensionări i filtrului
de tensiune. Acest regim de curent continuu este unul normal de funcționare în care valoarea tensiunii
de ieșire poate fi impusă exclusive prin durata relative de conductive a tranzistorului T.
2.2.3 Convertorul MCP16301
Dispozitivele MC P16301/H, [ 10], sunt convertoare Buck DC -DC de înaltă eficiență, realizate de
compania Microchip Technology, cu frecvență înaltă, într -un pachet SOT -23 cu 6 pini, care poate
funcționa alimentat cu tensiune de intrare până la 36V. Caracteristicile integrate includ un comutator de
nivel înalt, un control al modului de vârf cu curent fix, o compensare internă, o limită de curent și o
protecție la supra temperatură.
Un minim de componente externe este necesar pentru a completa o sursă de tensiune realizată cu un
convertor Buck DC -DC.
42
Fig. 2.16 “Aplica ție tipic ă a convertorului MCP16301”
Eficiența mare a convertorului este realizată prin integrarea tranzistorului MOS cu canal N, cu
rezistență redusă si a circuitelor asociate . Frecvența mare a comutăr ii minimizează dimensiunea
componentelor externe de filtrare, rezultând o dimensiune mică a convertorului .
Fig. 2.17 “Eficien ța convertorului”
43
Dispozitivele MCP16301/H pot suporta 600mA de curent continuu în timp ce reglează tensiunea de
ieșire de la 2.0V la 15V. O arhitectură integrată, de înaltă performanță, menține tensiunea de ieșire bine
reglată, chiar și în timpul variațiilor tensiunii de intrare și condițiilor tranzitorii ale curentului de ieșire,
care sunt comune în sistemele de alimentare.
Intrarea EN este utilizată pentru a porni și opri convertorul. În timp ce este oprită, doar câteva
microamperi de curent sunt consumați de intrare pentru aplicații.
Tensiunea de ieșire este stabilită cu un divizor rezistiv extern. Dispozitivele MCP16301/H sunt
oferite într -un pachet SOT -23-6 pentru montare pe suprafața PCB -ului (SMD).
2.2.4 Simulări MCP16301 MINDI
MPLAB® Mindi™ [11], este un simulator analogic ce reduce timpul de proiectare a circuitului și riscul
de apariție a greșelilor de pr oiectare prin simularea circuitelor analogice înainte de realizarea fizică a
acestora.
Acest program utilizează un mediu de simulare SIMetrix/SIMPLIS, cu opțiuni de utilizare a
modelării SPICE, care poate acoperi un set foarte mare de posibile simulăr i. Această interfață de
simulare conține fișiere de simulare pentru modele ce aparțin companiei Microchip.
Pentru simularea convertorului MCP16301 a fost folosit simulatorul MPLAB MINDI.
Fig. 2.18 “Schema de simulare a convertorului MCP16301”
Pinul VFB este utilizat pentru a asigura o reglare a tensiunii de ieșire utilizând un divizor rezistiv.
Tensiunea VFB va fi de 800mV tipică cu tensiunea de ieșire.
Nodul de comutație este conectat intern la comutatorul NMOS și extern la pinul SW, for mat din
inductor și dioda Schottky. Nodul SW se poate ridica foarte repede ca urmare a pornirii comutatorului
intern. Dioda externă Schottky trebuie conectată în apropierea nodului SW și GND.
44
Fig. 2.19 “Frecve nța de comuta ție – simulare”
Fig. 2.20 “Timpul de soft -start – simulare”
45
Valorile rezistentelor au fost calculate folosind formula următoare:
Ciclul de funcționare al convertorului Buck poate fi estimat utilizând de mai jos în timpul
funcționării în modul de curent continuu. Pe măsură ce curentul de sarcină crește, căderea de tensiune
pe dioda crește, necesitând un factor de umplere (D) al PWM mai mare pentru a menține reglarea
tensiunii de ieșire:
Dispozitivele MCP16301/H au o compensare integrată a pantei pentru a preveni func ționarea
bimodală a factorului de umplere PWM.
Pe plan intern, jumătate din panta curentului este însumată cu sensul curentului. Pentru o cantitate
adecvată de compensare a pantei, se recomandă menținerea constantei curentului inductorului prin
variația i nductanței cu V OUT, unde K = 0.22V/ μH.
Pentru o tensiune de ieșire, V OUT = 3.3V, este folosită o inductanța de 15µH.
Fig. 2.21 “Valori recomandate pentru inductoare” [1 2]
Condensatorul de intrare al convertorului Buck trebuie să filtreze riplul curentului de intrare, ca
urmare a variației sau tăierii tensiunii de intrare. De obicei, o capacitate de intrare între 4,7 μF și 10μF
este suficient ă pentru majoritatea aplicațiilor. Pentru aplicații cu sarcină de la 100 mĂ la 200 mĂ, poate
fi utilizat un condensator de 1 μF X7R, în funcție de sursa de intrare și de impedanța acesteia.
Riplul de curent (ΔI L) se poate calcula cu formula:
46
Pentru a estima rapid disiparea internă a puterii pentru convertorul Buck, se poate utiliza un calcul
empiric u tilizând eficiența măsurată. Această disipare a puterii include toate pierderile componentelor
interne și externe.
Puterea disipată (P dis):
2.2.5 Masur ători MCP16301
Următorul set de măsurători a fost realizat în laboratorul Microchip Techno logy.
Fig. 2.22 “Schema 3D a intregului convertor”
47
În urma măsurătorilor au fost obținute valori foarte apropiate de cele simulate și anume: timpul de
soft-start, frecvența de comutație, variația tensiunii de ieșire în funcție de sarcină.
Fig. 2.23 “Frecven ța de comuta ție masurat ă cu osciloscopul”
Fig. 2.24 “Timpul de soft -start m ăsurat cu osciloscopul”
48
Fig. 2.25 “Varia ția tensiunii de iesire”
2.3 Modulul Wifi RN1810
2.3.1 Generalit ăti RN1810
RN1810 și RN1810E, [1 3], sunt module cu o pu tere mică, de 2,4 GHz, conforme cu standardele
IEEE 802.11n, care conțin toate componentele RF asociate: oscilator de cristal, passive și biasing cu
integrare MAC, bandă de bază, RF și amplificator de putere și suport hardware încorporat pentru
criptare.
Designul integrat al modulelor îl eliberează pe designer de sarcinile de proiectare RF și antene și de
testarea conformității cu reglementările, oferind în cele din urmă un timp mai rapid spre piață.
RN1810 încorporează o stivă TCP/IP de rețea, un accelerator criptografic, un subsistem de
gestionare a energiei, un ceas în timp real, un transceiver de 2,4 GHz și un amplificator de putere RF.
Cu acest modul, designerii pot încorpora facilitățile Wi -Fi și de rețea în mod rapid în orice dispozitiv.
RN1810 oferă economii de cost și de timp în piață ca soluție autonomă de internet. Modulul a fost
conceput pentru a oferi proiectanților o soluție simplă Wi -Fi.
Acest modul poate menține independent o conexiune la rețea fără fir. Utilizarea extrem d e redusă a
energiei și gestionarea flexibilă a energiei maximizează durata de viață a modulului în dispozitivele
acționate de baterii. O gamă largă de temperaturi de funcționare permite utilizarea în medii interioare și
exterioare, domeniul temperaturii in dustriale.
49
Fig. 2.26 “Modul Wifi RN1810 – schema bloc”
Când modulul funcționează în modul SLEEP, modulul minimizează utilizarea bateriei, fiind în
același timp capabil să răspundă anumitor evenimente, inclusiv cronometrele interne și semnalul
WAKEU P. Aplicațiile care utilizează eficient starea SLEEP pot extinde durata de viață a bateriei.
Modulul RN1810 este aprobat pentru utilizare cu antenă integrate pe PCB. Modulul RN1810E este
aprobat pentru utilizarea cu tipuri antene externe specifice car e sunt certificate cu modulul. Un conector
coaxial ultra -mic (W.FL) este prevăzut pe modul pentru conectarea la antena externă.
Pentru acest modul, antena PCB este fabricată pe stratul superior de cupru și acoperită cu mască de
lipire. Straturile de s ub antenă nu prezintă porțiuni de cupru.
Se recomandă ca modulul să fie montat pe marginea plăcii PCB gazdă. Este permis ca materialul
PCB să fie sub structura antenei modulului, atâta timp cât nu există urme de cupru sau planuri pe PCB –
ul gazdă din a cea zonă. Pentru cea mai bună performanță, plasați modulul pe marginea PCB -ului gazdă.
Interfața UART acceptă configurații cu 2 fire (RX, TX) și 4 fire cu control al debitului hardware (RX,
TX, CTS și RTS), așa cum este ilustrat în figură de mai jos. Nivel ele logice sunt nivele de tensiune
CMOS, nu nivele de tensiune RS -232. Interfața UART suportă rate de transfer de frecvență de 9.600,
19.200, 38.400, 57.600 și 115.200 de biți pe secundă.
Fig. 2.27 “Configura ția de baz ă a modulului RN1810”
50
2.3.2 Modul d e programare
Modulul radio RN1810 este un dispozitiv de acces fără fir LAN complet, autonom. Dispozitivul are
o multitudine de aplicații TCP/IP și cele mai simple configurații hardware necesită doar patru pini:
VDD, TX, RX și GND. Odată ce configuraț ia inițială este efectuată, dispozitivul accesează automat o
rețea Wi -Fi și trimite/primește date seriale.
Acesta are două moduri principale de funcționare: modul de date și modul de comandă. În modul
date, modulul poate accepta conexiunile de intrare , inițiază ieșiri conexiuni și să acționeze ca o pompă
de date. Pentru a configura parametrii sau pentru a vizualiza configurația curentă sau ambele, modulul
trebuie plasat în modul Command, numit și modul configurare.
În mod prestabilit, modulul este în modul Dată după pornire. Trimiterea, pe cale serială, unei
secvenței alcătuită din trei semne de dolari, $$$, determină modulul să intre în modul Command.
Modulul răspunde cu CMD pentru a indica că este în modul Command. Odată ce se află în modul
Command, dispozitivul WiFly poate fi configurat folosind comenzi simple ASCII, fiecare comandă
terminând cu un return <cr>.
Toate comenzile valide returnează AOK și comenzile invalide returnează o descriere ERR. Pentru a
ieși din modul Command trebuie trimisă comanda “exit”. Modulul răspunde cu EXIT pentru a indica
faptul că a ieșit din modul Command și a trecut înapoi în modul Data.
Pot fi văzuți diferiți parametri, cum ar fi SSID -ul, canalul, adresa IP, portul serial și alte setări, care
pot fi configurate în modul Command. Comenzile trebuie trimise modulului prin UART. Când este
utilizată interfața UART, setările de comunicație trebuie să corespundă setărilor memorate ale
modulului WiFly. Setările implicite sunt 9600 baud, 8 biți, nici o paritat e, 1 bit de oprire și controlul
fluxului hardware dezactivat. Modul de comandă poate fi introdus local peste interfața UART în orice
moment, indiferent de conexiunea TCP activă.
2.3.3 Configurare de tip TCP Client
Modulul poate fi configurat ca și c lient TCP utilizând următoarea secvență de comandă. Trebuie
pornit un server TCP la distanță pe o mașină Linux/Windows, iar modulul se va conecta la acest server
TCP. După conectare, datele sunt trimise din fereastră consolei.
set ip dhcp 1 // Activ eaza clientul DHCP
set wlan ssid // Seteaza numele retelei
Daca suporta WPA2 -PSK:
set wlan phrase // Set eaza parola pentru modurile WPA si WPA2
set wlan auth 4 // Set eaza tipul de autentificare pentru WPA si WPA2
set wlan join 1 // Auto join
set ip protocol 8 // TCP Client
set ip host // Adresa IP a serverului TCP
set ip remote 50008 // Numarul portului serverului TCP
51
save // Salveaza configuratia in memoria Flash
reboot // Repornirea modulului
$$$ // Intrare in modul Command
open // Deschide o conexiune catre serveru l TCP
// (tranzitie catre modul Data)
… // Transmisie de date
$$$ // Intrare in modul Command
close // Inchidere conexiunea cu server ul
2.3.4 Configurare de tip TCP Server
Configurarea unui server TCP este foarte simplă. Configurarea SSID și frază de acces, activarea
auto-join, apoi salvare și repornire. Când modulul se repornește, se conectează la SSID, primește o
adresă IP și p ornește serverul TCP pe portul 2000. Deschideți o sesiune telnet de la orice mașină
conectată la același SSID și introduceți "open <ipaddr> 2000", unde < Ipaddr> este adresa IP atribuită
modulului (consultați comanda get ip), apoi introduceți caracterele d in fereastră. Apăsând pe <Enter>
datele sunt trimise la modul. De asemenea, modulul poate trimite date către Client atunci când
utilizatorul introduce datele din fereastră consolei deschise prin portul serial al modulului.
set ip dhcp 1 // Activeaza clientul DHCP
set wlan ssid // Seteaza numele retelei
Daca suporta WPS2 -PSK:
set wlan phrase // Seteaza parola pentru modurile WPA si WPA2
set wlan auth 4 // Seteaza tipul de autentificare pentr u WPA si WPA2
set wlan join 1 // Auto join
save // Salveaza configuratia in memoria Flash
reboot // Repornirea modulului
Pentru a forța clientul să se deconecteze, trebuie int rodus modul Command și emisa comanda de
închidere. Acest lucru obligă clientul conectat să închidă conexiunea la serverul în care modulul
continuă să ruleze și se poate opri numai printr -o resetare.
2.4 Hub USB2514B
Familia de huburi USB251xB, [1 4], este o familie de produse integrate Microchip de joasă putere,
configurabile, MTT, integrate pentru soluții USB integrate. Litera “x” din numărul piesei indică
numărul de porturi din disponibile, în timp ce B indică suportul pentru încărcarea bateriei. Hu bul
Microchip acceptă dispozitive de mica viteza, mare viteză, și de viteză foarte mare, dacă funcționează
ca și hub, pe toate porturile activate.
52
Fig. 2.28 “Hub USB2514B – schema bloc”
Toate rezistoarele necesare pe porturile USB sunt integrate în hub. Aceasta include toate rezistoarele
de terminare ale seriei și toate rezistențele de pull -up și pull -down necesare pe pinii D+ și D -. Intrările
senzorilor de curent pentru porturi au rezistențe interne de pull -up.
Familia de huburi USB251xB inclu de conține seturide caracteristici, cum ar fi:
Tehnologia MultiTRAKTM : implementează un TȚ dedicat pentru fiecare port. Aceste translatoare
dedicate ajută la menținerea transferului consistent de date la viteză maximă, indiferent de numărul de
conexiu ni active.
PortMap : oferă maparea porturilor și secvențe de dezactivare. Porturile de downstream ale unui hub
USB251xB pot fi rearanjate sau dezactivate în orice ordine pentru a suporta mai multe modele de
platforme cu un efort minim. O dată cu dezact ivarea oricărui port, controlerul hub USB251xB
reordonează automat porturile rămase.
PortSwap : permite alinierea directă a semnalelor diferențiale, D+ și D -, la conectori pentru a evita
lungimea traiectoriei inegale sau intersectarea semnalelor difere nțiale USB de pe PCB.
53
2.5 Microcontrolerul PIC24FJ64GA004
Familia PIC24FJ64GA004, [1 5], oferă o nouă opțiune pentru acele aplicații de înaltă performanță
care pot depăși platformele pe 8 biți, dar nu necesită puterea numerică de procesare a unui pro cesor de
semnal digital. Central pentru toate dispozitivele PIC24F este arhitectura Harvard modificată pe 16 biți,
introdusă pentru prima dată cu dsPIC® Digital Signal Controllers (DSC) de la Microchip.
2.5.1 Porturile I/O
Un port paralel I/O care î mparte un pin cu un periferic este, în general, subordonat perifericului.
Datele de memorie de ieșire ale perifericului și semnalele de comandă sunt furnizate unei perechi de
multiplexoare. Multiplexoarele selectează dacă portul periferic său asociat are p roprietatea asupra
datelor de ieșire și a semnalelor de control ale pinului I/O. Logica previne, de asemenea, "loop
through", în care o ieșire digitală a unui port poate conduce intrarea unui periferic care împarte același
pin.
Toți pinii de port au t rei registre direct asociate cu funcționarea lor ca intrări sau ieșiri digitale.
Registrul de direcție a datelor (TRISx) determină dacă pinul este o intrare sau o ieșire. Dacă bitul
direcției de date este "1", atunci pinul este o intrare. Toți pinii de por t sunt definiți ca intrări după o
Resetare. În plus față de registrele PORT, LAT și TRIS pentru controlul datelor, fiecare pin de port
poate fi configurat individual pentru ieșire digitală sau “Open -drain”.
Fig. 2.29 “Port I/O – schema bloc”
54
2.5.2 Modul ul Timer1
Modulul Timer1 este un modul pe 16 biți care poate servi drept contor de timp pentru ceasul în timp
real (RTC) sau poate funcționa ca un cronometru. Acesta poate funcționa în trei moduri:
– cronometru pe 16 biți
– contor sincron pe 16 biți
– contor asincron pe 16 biți
Fig. 2.30 “Timer1 – schema bloc”
Timer1 suporta funcții, cum ar fi setări prescalare selectabile, funcționarea in modul Sleep sau Idle
al CPU, întreruperi la perioade de 16 biți, pe frontal descrescător al semnalului venit d in exterior.
Pentru configurarea acestui modul trebuie executate cerințele de mai jos:
– Bitul TON inițializat cu 1 (TON = 1);
– Selectarea rației folosind primi doi biți din TCKPS<1:0>;
– Setarea modurilor de Clock si Gating folosind bitii TCS si TGATE;
– Setarea bitului TSYNC pe 1 sau pe 0 pentru modul sincron sau asincron;
– Încărcarea valorii perioadei modulului Timer in registrul PR1;
– Daca sunt necesare întreruperile, trebuie setat bitul Enable pe 1, T1IE. Se folosesc bitii
T1IP<2:0>, pentru setarea priorit ății întreruperii.
55
2.5.3 Modulul UART
Modulul Universal Asynchronous Receiver Transmitter (UART) este unul din modulele I/O serial e
disponibile în familia de dispozitive PIC24F. UART este un sistem asincron complet duplex, care poate
comunica cu di spozitive periferice, cum ar fi computerele personale, interfețele LIN/J2602, RS -232 și
RS-485. Modulul acceptă, de asemenea, o opțiune pentru controlul fluxului hardware cu pinii UxCTS și
UxRTS și include, de asemenea, un encoder și un decodor IrDA.
2.6 Layout
Layout -ul circuitului a fost realizat pe baza seturilor de reguli prezentate în primul capitol al acestei
lucrări și este prezentat în figurile următoare.
Fig. 2.31 “Modelul virtual al circuitului”
56
În partea stânga -sus a plăcii se afla modulul Wifi RN1810, cu butonul de Reset și porturile I/O ale
microcontrolerului conectate la conectorul J10, în partea drapta -sus se afla hubul USB2514B împreună
conectorii USB și tranzistoarele MOȘ, în partea de mijloc se afla convertorul DC -DC Buck și
conectorul de alimentare al circuitului, iar în partea de jos a plăcii releele și conectorii de ieșire în
diferite modele.
Fig. 2.32 “Modelul 3D al sistemului”
57
CAPITOLUL 3. Componenta software
3.1 MPLAB X
MPLAB X IDE, [1 6], este un program so ftware folosit pentru a dezvolta aplicații pentru
microcontrolerele Microchip și controlorii de semnal digital. (Proiectanții cu experiențe încorporate pot
dori să treacă la următorul capitol.) Acest instrument de dezvoltare se numește Mediu de Dezvoltare
Integrat sau IDE, deoarece oferă un singur mediu integrat pentru a dezvolta codul pentru
microcontrolerele integrate. Acest capitol descrie dezvoltarea unui sistem încorporat și explică pe scurt
modul în care MPLAB X IDE din Microchip este utilizat în aces t proces.
MPLAB X Integrated Development Environment aduce multe schimbări în lanțul de instrumente
pentru dezvoltarea microcontrolerului PIC®. Spre deosebire de versiunile anterioare ale MPLAB IDE
dezvoltate complet in -house, MPLAB X IDE se bazează p e open source NetBeans IDE de la Oracle.
Un sistem încorporat este de obicei un design care utilizează puterea unui microcontroler mic, cum
ar fi microcontrolerul Microchip PIC® (MCU) sau controlerul digital de semnal dsPIC® (DSC). Aceste
microcontro lere combină o unitate de microprocesor (cum ar fi CPU -ul într -un computer personal) cu
unele circuite suplimentare numite periferice, plus unele circuite suplimentare, pe același chip pentru a
face un mic modul de control care necesită câteva alte dispozi tive externe. Acest dispozitiv unic poate
fi apoi încorporat în alte dispozitive electronice și mecanice pentru controlul digital low -cost.
3.2 MPLAB Code Configurator (MCC)
Exemple de modalități de setare a biților de configurare în cod pentru dife rite instrumente de limbă
și dispozitive aferente sunt prezentate mai jos. Pentru mai multe informații despre modul de setare a
biților de configurare, consultați documentația instrumentului dvs. de limbă. Pentru unele instrumente
lingvistice, este disponi bil un document de setări pentru configurații care conține toate setările de
configurare pentru un dispozitiv. În caz contrar, consultați fișierul antetului dispozitivului pentru
macrocomenzi.
O altă opțiune este să utilizați fereastra de configurare a memoriei pentru a seta biți și apoi să faceți
clic pe "Generate".
Configuratorul de cod MPLAB (MCC) pentru dispozitivele de 8 și 16 biți și MPLAB Harmony
pentru dispozitive pe 32 de biți sunt instrumente care pot fi folosite pentru a genera biți de configurare,
precum și cod de proiect.
Configurarea tuturor pinilor și a porturilor, microcontrolerului PIC24FJ64GA004, a fost realizată cu
ajutorul MCC. Aceștia au fost configurați ca pini de intrare sau de ieșire, în fuctie de rolul acestora în
schema circuitului. Pinii pentru comunicați a serială, UART, cu MCP2221, [17 ], și cu modulul Wifi au
fost deasemenea configurați cu ajutorul MCC.
MCC permite configurarea rapidă a porturilor seriale UART1 și UART2 prin setarea directă a
vitezei de transfer a datelor, de exemplu 9600b/s, a biților de date, controlul debitului de date, etc.
În această aplicație a fost folosit și unul din “cronometrele” (en. Timer) microcontrolerului pentru
generarea de întreruperi.
58
Fig. 3.1 “Configura ția pinilor micro controlerului”
3.3 Testarea comunica ției dintre portul USB si modulul Wifi
Comunicația dintre modulul MCP2221 și RN1810 Wifi a fost realizată prin conectarea, împreună a
celor două porturi UART ale microcontrolerului, deoarece portul UART1 asigura comunicația dintre
MCP2221 și microcontroler, iar portul UART2 asigură comunicația dintre microcontroler și modulul
Wifi.
59
Pentru configurarea modulului Wifi cele două porturi UART au fost conectate conform codului
următor:
numBytes_2 = 0;
numBytes = 0;
do
{
if( UART1_TRANSFER_STATUS_RX_DATA_PRESENT & UART1_TransferStatusGet() )
{
myBuffer[numBytes++] = UART1_Read();
UART2_Write(myBuffer[0]);
numBytes –;
}
if( UART2_TRANSFER_STATUS_RX_DATA_PRESENT & UART2_TransferStatusGet() )
{
myBuffer_2[numBytes_2++] = UART2_Read();
UART1_Write(myBuffer_2 [0]);
numBytes_2 –;
}
} while( (numBytes < 1) && (numBytes_2 < 1) );
Următorul pas îl reprezintă folosirea unui terminal pentru transmiterea comenzilor către modulul
Wifi și verificarea, cu un analizor logic, Sal eae Logic, [1 8], a comunicației dintre cele două porturi și
confirmarea comenzii de către modul.
Pentru accesarea modului de comandă al modulului Wifi este necesară transmiterea comenzii “$$$”.
În cazul în care comandă a fost recepționată de modul ace sta va returna, înapoi pe cale serială mesajul”
<CMD>”.
Fig. 3.2 “Comanda transmis ă pe portul serial”
60
Fig. 3.3 “Mesajul transmis de modulul Wifi – intrarea in modul CMD”
În acest moment dispozitivul este în modul de comandă și poate fi configura t în funcție de aplicație,
cu ajutorul instrucțiunilor prezentate în capitolul 2 al lucrării.
3.4 Logica aplicației
Rolul programului de bază al sistemului este de a comunica cu releele și porturile USB prin
intermediul Wifi, folosind un set de come nzi. Cu aceste comenzi releele și porturile USB vor trece din
starea OFF în starea ON, sau vor face o tranziție de 2.5s între aceste două stări.
Comandă este alcătuită din trei caractere de câte 1B, reprezentate în cod ASCII. Primul caracter al
comenz ii face referire la partea de relee sau de porturi USB (R – releu și U – port USB), al doilea
caracter face referire la numărul acestuia de pe placă (1 – releu 1/USB 1, 2 – releu 2/USB 2, etc), iar al
treilea caracter reprezintă starea dispozitivului (1 – ON, 0 – OFF, 2 – Toggle).
Exemple de comenzi:
R11 – Releu 1 ON
R30 – Releu 3 OFF
U22 – USB 2 Toggle
În momentul în care se face conexiunea cu modulul Wifi, acesta va returna mesajul *HELLO*
pentru a atenționa utilizatorul că există comunicație în tre PC și modul.
Pentru a putea avea acces la partea de comenzi pentru relee și porturi USB, trebuie introdusă o
parolă. În momentul în care utilizatorul introduce parola “###” va primi înapoi pe terminal mesajul
<CMD>, ceea ce înseamnă că acum va put ea avea acces la perifericele sistemului.
Fiecare comandă reușită a releelor sau a porturilor USB, va trimite înapoi un mesaj în funcție de
comandă transmisă, de exemplu: “REL 1 ON”, “REL 3 OFF”, “USB 2 1/0”.
Pentru a ieșii din partea de comandă a sistemului este nevoie de comandă “CCC”, iar sistemul va
trimite mesajul <EXIT> pentru confirmare.
61
Toată partea de selecție a releelor se realizează cu ajutorul unei structuri switch -case, în interiorul
funcției UART2.
switch(myBuffer[0] )
{
case 'R':
switch (myBuffer[1])
{
case '1':
switch(myBuffer[2])
{
case '1' :
UART2_WriteBuffer(msg_rel_1_on, 9);
REL1 = ON;
break;
case '0':
UART2_WriteBuffer(msg_rel_1_off, 10);
REL1 = OFF;
break;
case '2':
UART2_WriteBuffer(msg_rel_1_toggle, 10);
command = TOGGLE_RELAY_1;
counter_toggle = 0;
break;
}
break;
Fig. 3.4 “Comunica ția dintre PC si sistem prin reatea wireless”
62
3.5 LabV IEW
LabVIEW, [1 9], este un program care permite crearea de interfețe grafice, numite panouri frontale,
folosind scheme funcționale. Subprogramele din LabVIEW sunt denumite instrumente virtuale (en.
Virtual Instruments – VI). Fiecare VI are trei componente: o diagramă bloc, un panou frontal și un
panou conector. Panoul frontal este construit folosind butoane de control și indicatoare. Controalele
sunt intrări: permit utilizatorului să furnizeze informații direct spre instrumentele virtuale, iar indicatorii
sunt ieșiri: indică sau afișează rezultatele în funcție de datele transmise către VI. Panoul din spate, este
o diagramă bloc și conține codul surs ă grafic.
Toate obiectele plasate pe panoul frontal vor apărea pe panoul din spate ca terminale. Panoul din
spate conține structuri și funcții care efectuează operații asupra comenzilor și furnizează date către
indicatori.
Structurile și funcțiil e se găsesc în meniul “Functions” și pot fi plasate pe panoul din spate.
Controalele colective, indicatorii, structurile și funcțiile vor fi denumite noduri. Nodurile sunt conectate
unul la altul utilizând fire, de exemplu, două comenzi și un indicator poa te fi conectat la funcția de
adăugare, astfel încât indicatorul să afișeze suma celor două comenzi.
Național Instruments sau NI se află în spatele programului LabVIEW cu opțiuni cuprinzătoare de
sprijin, instruire și certificare.
3.6 Interfață grafi că
Schemă logică din spatele interfeței grafice este realizată folosind funcții ce permit pornirea și
oprirea unei conexiuni TCP/IP, cât și transmisia și recepția mesajelor folosind acest tip de comunicație.
Aplicația este realizată de tip TCP C lient folosind funcția specială din LabVIEW.
Fig. 3.5 “Conexiunea TCP/IP – Open în LabVIEW”
63
În figură X este prezentată prima parte a schemei logice a aplicației, și anume partea de pornire a
unei conexiuni TCP/IP.
Primul bloc TCP, al schemei logice, este blocul ce deschide conexiunea și permite utilizatorului să
introducă manual de la tastatură adresa IP și Portul serverului pentru rețeaua generată de modulul Wifi.
Al doilea bloc TCP, este un bloc de citire, en. Read, care va recepționa mesaj ul *HELLO* și îl va afișa
în tabelul “Received dată”. Numărul 10 din cadran reprezintă faptul că vor fi recepționate mesaje pe
maxim 10B. Al treilea bloc asigura că ledul, legat la butonul “Connect”, să se aprindă pentru 200ms
atunci când butonul este apăs at.
Modulul “Insert în Table” este modulul ce face posibilă afișarea mesajelor primite de la sistemul de
relee, pe câte o linie nouă, având și funcția de derulare automată a mesajelor.
Fig. 3.6 “Schema blocului funcțional Insert in Table”
În figură de mai sus este prezentată schema detaliată a blocului “Insert în Table”, ce folosește funcții
de creare a mătricilor pentru realizarea tabelei de afișare.
Fig. 3.7 “Partea de citire/scriere a mesajelor, a schemei interfeței grafice”
64
Prima b uclă din exterior reprezintă o buclă “While” în care sistemul va sta până când va primi
semnalul de Command Mode OFF, iar odată ce se iese din această bucla, aplicația se va închide
automat.
Următoarea bucla este cea de “Event” în care sistemul va int ra doar în momentul apăsării unui buton
din câmpul “Relay Control” sau “USB Control”. Aceasta bucla mai conține o funcție în interior, și
anume funcția “Case” care va trimite, către blocul de scriere TCP, anumite comenzi, stabilite în
subcapitolul 3.4, în funcție de butonul apăsat.
Pentru închiderea conexiunii TCP va fi necesară doar trecerea comutatorului Command Mode în
modul OFF.
Fig. 3.8 “Interfa ța grafic ă a sistemului”
65
Concluzii
În acesta lucrare s -a studiat comportamentul unui sistem de relee și porturi USB, comandat prin
intermediul unei rețele de internet locale fără fir – wireless, în funcție de semnalele provenite din partea
de logică a interfeței grafice, cât și a microcontrolerului, în vederea acționarii releelor și porturilor
respective.
Au fost descrise detaliat toate componentele ce alcătuiesc acest sistem, și anume microcontrolerul
PIC24FJ64GA004, hub USB2514B, modulul Wifi RN1810, convertorul DC -DC Buck MCP16301,
precum și releele și porturile USB, utilizate pentru contr olul la distanță a diferitelor componente
periferice.
Totodată au fost descrise toate etapele realizării unui PCB profesional folosind setul de reguli
prezent în primul capitol al acestei lucrări, împreună cu programul dedicat de proiectare, Altium
Designer 17.
Rezultatele obținute în urma testelor sunt în conformitate cu logica aplicației, prin faptul că sistemul
se comporta conform așteptărilor în funcție de comenzile trimise către microcontroler.
Principalul avantaj ale acestui sistem îl r eprezintă “distanța de comunicație”, distanta relative mare
ce nu poate fi acoperită cu sisteme de comunicație de tip Bluetooth sau cu fir.
În concluzie sistemul realizat și -a atins scopul și se afla în continuă funcționare în laboratorul
Microchip T echnology România.
66
67
Bibliografie
[1] “IPC” – www.ipc.org/ (accesat Martie 2017)
[2] “Protel” – www.Altium.com (accesat Martie 2017)
[3] “Windows” – www.microsoft.com/ro -ro/windows (accesat Martie 2017)
[4] “Exemplu de necking” –
server.ibfriedrich.com/wiki/ibfwikien/images/d/da/PCB_Layout_Tutorial_e.pdf (accesat Martie 2017)
[5] “Ultracad” – http://www.ultracad.com/calc.htm (accesat Martie 2017)
[6] “Tabel de valori pentru latimea traseel or” –
server.ibfriedrich.com/wiki/ibfwikien/images/d/da/PCB_Layout_Tutorial_e.pdf (accesat Martie 2017)
[7] „Tabel cu distantele dintre trasee in fuctie de tensiune” –
server.ibfriedrich.com/wiki/ibfwikien/images/d/da/PCB_Layout_Tutorial_e.pdf (accesat M artie 2017)
[8]“Tranzistorul MOS” – Dispozitive Electronice – Prof. Dr. Ing. Cristian Ravariu (accesat Aprilie
2017)
[9]”Convertoarele DC -DC” – Curs CMOS si BiCMOS – Prof. Dr. Ing. Gheorghe Brezeanu (accesat
Aprilie 2017)
[10]” MCP16301/H” – http://ww1. microchip.com/downloads/en/DeviceDoc/20005004D.pdf (accesat
Aprilie 2017)
[11]”MPLAB® Mindi™“ – http://www.microchip.com/mplab/mplab -mindi (accesat Aprilie 2017)
[12]” Valori recomandate pentru inductoare” –
http://ww1.microchip.com/downloads/en/DeviceDo c/20005004D.pdf (accesat Aprilie 2017)
[13]” RN1810” – http://ww1.microchip.com/downloads/en/DeviceDoc/50002460A.pdf (accesat Aprilie
2017)
[14]”USB2514” – http://ww1.microchip.com/downloads/en/DeviceDoc/00001692C.pdf (accesat Mai
2017)
[15]” PIC24FJ64G A004” – http://ww1.microchip.com/downloads/en/DeviceDoc/39881e.pdf (accesat
Mai 2017)
68
[16]”MPLAB X IDE” – http://www.microchip.com/mplab/mplab -x-ide (accesat Mai 2017)
[17]”MCP2221” – http://ww1.microchip.com/downloads/en/DeviceDoc/20005292B.pdf (accesat Mai
2017)
[18]” Saleae Logic” – https://www.saleae.com/ (accesat Mai 2017)
[19]” LabVIEW” – http://romania.ni.com/labview (accesat Mai 2017)
69
Anexa 1
Cod MPLAB X
#include "mcc_generated_files/mcc.h"
#include "main.h"
/*
Main application
*/
#define REL1 LATAbits.LATA10
#define REL2 LATAbits.LATA7
#define REL3 LATBbits.LATB14
#define REL4 LATBbits.LATB15
#define USB2 LATBbits.LATB2
#define USB3 LATAbits.LATA1
#define USB4 LATAbits.LATA0
#defin e ON 1
#define OFF 0
unsigned char flag_toggle_usb1 = 0;
unsigned char flag_toggle_usb2 = 0;
unsigned char flag_toggle_usb3 = 0;
unsigned char flag_toggle_relay1 = 0;
unsigned char flag_toggle_relay2 = 0;
unsigned char flag_toggle_relay3 = 0;
unsigned ch ar flag_toggle_relay4 = 0;
unsigned char idle_flag = 1;
unsigned char CMD_flag = 0;
int command;
int main(void)
{
// initialize the device
SYSTEM_Initialize();
TRISBbits.TRISB6 = 0;
TRISBbits.TRISB2 = 0;
70
TRISAbits.TRISA0 = 0;
TRISAbits.TRISA1 = 0;
TRISBbits.TRISB3 = 0;
TRISBbits.TRISB14 = 0;
TRISBbits.TRISB15 = 0;
TRISAbits.TRISA7 = 0;
TRISAbits.TRISA10 = 0;
TRISCbits.TRISC0 = 0;
LATAbits.LATA10 = 0;
LATBbits.LATB6 = 1;
LATCbits.LATC0 = 0;
LATBbits.LATB2 = 1;
LATAbits.LATA0 = 1;
LATAbits.LATA1 = 1;
unsigned int count = 0;
unsigned char pass[3] = "###";
unsigned char exit[3] = "CCC";
unsigned char myBuffer[ 3];
unsigned char Buffer_pass[3];
unsigned int numBytes;
unsigned char msg_rel_1_on[] = "REL 1 ON \r\n";
unsigned char msg_rel_1_off[] = "REL 1 OFF \r\n";
unsigned char msg_rel_1_toggle[] = "REL 1 1/0 \r\n";
unsigned char msg_rel_2_on[] = "REL 2 ON \r\n";
unsigned char msg_rel_2_off[] = "REL 2 OFF \r\n";
unsigned char msg_rel_2_toggle[] = "REL 2 1/0 \r\n";
unsigned char msg_rel_3_on[] = "REL 3 ON \r\n";
unsigned char msg_rel_3_off[] = "REL 3 OFF \r\n";
unsigned char msg_rel_3_toggle[] = "REL 3 1/0 \r\n";
71
unsigned char msg_rel_4_on[] = "REL 4 ON \r\n";
unsigned char msg_rel_4_off[] = "REL 4 OFF \r\n";
unsigned char msg_rel_4_toggle[] = "REL 4 1/0 \r\n";
unsigned char msg_usb_1_on[] = "USB 1 ON \r\n";
unsigned char msg_usb_1_off[] = "USB 1 OFF \r\n";
unsigned char msg_usb_1_toggle[] = "USB 1 1/0 \r\n";
unsigned char msg_usb_2_on[] = "USB 2 ON \r\n";
unsigned char msg_usb_2_off[] = "USB 2 OFF \r\n";
unsigned char msg_usb_2_toggle[] = "USB 2 1/0 \r\n";
unsigned char msg_usb_3_on[] = "USB 3 ON \r\n";
unsigned char msg_usb_3_off[] = "USB 3 OFF \r\n";
unsigned char msg_usb_3_toggle[] = "USB 3 1/0 \r\n";
unsigned char cmd[] = "<C MD> \r\n";
unsigned char exit_cmd[] = "<EXIT> \r\n";
while (1)
{
if(idle_flag == 1)
{
numBytes = 0;
do
{
if( UART2_TRANSFER_STATUS_RX_DATA_PRESENT & UART2_TransferStatusGet() )
{
Buffer_pass[numBytes++] = UART2_Read();
}
} while(numBytes < 3);
for( count = 0; count < 3; count++)
{
if(Buffer_pass[count++] == pass[ count++])
{
CMD_flag = 1;
idle_flag = 0;
UART2_WriteBuffer(cmd, 6);
}
}
}
while(1 == CMD_fla g)
{
//numBytes_2 = 0;
72
numBytes = 0;
do
{
if( UART2_TRANSFER_STATUS_RX_DATA_PRESENT & UART2_TransferStatusGet() )
{
myBuffer[numBytes++] = UART2_Rea d();
//UART2_Write(myBuffer[0]);
//numBytes –;
}
} while(numBytes < 3);
// myBuffer[0] = command R = relay, U = usb
// myBuffer[1] = nr. device (relay/usb))
// myBuffer[2] = action 1 = on, 0 = off, 2 = toggle
switch(myBuffer[0])
{
case 'R':
switch (myBuffer[1])
{
case ' 1':
switch(myBuffer[2])
{
case '1' :
UART2_WriteBuffer(msg_rel_1_on, 9);
REL1 = ON;
break;
case '0':
UART2_WriteBuffer(msg_rel_1_off, 10);
REL1 = OFF;
break;
case '2':
UART2_WriteBuffer(msg_rel_1_toggle, 10);
command = TOGGLE_RELAY_1;
counter_toggle = 0;
break;
}
break;
case '2':
switch(myBuffer[2])
{
case '1' :
UART2_WriteBuffer(msg_rel_2_on, 9);
73
REL2 = ON;
break;
case '0':
UART2_WriteBuffer(msg_rel_2_off, 10);
REL2 = OFF;
break;
case '2':
UART2_WriteBuffer(msg_rel_2_toggle, 10);
command = TOGGLE_RELAY_2;
counter_toggle = 0;
break;
}
break;
case '3':
switch(myBuffer[2])
{
case '1' :
UART2_WriteBuffer(msg_rel_3_on, 9);
REL3 = ON;
break;
case '0':
UART2_WriteBuffer(msg_rel_3_off, 10);
REL3 = OFF;
break;
case '2':
UART2_WriteBuffer(msg_rel_3_toggle, 10);
command = TOGGLE_RELAY_3;
counter_toggle = 0;
break;
}
break;
case '4':
switc h(myBuffer[2])
{
case '1' :
UART2_WriteBuffer(msg_rel_4_on, 9);
REL4 = ON;
break;
case '0':
UART2_WriteBuffer(msg_rel_4_off, 10);
REL4 = OFF;
break;
74
case '2':
UART2_WriteBuffer(msg_rel_4_toggle, 10);
command = TOGGLE_RELAY_4;
counter_toggle = 0;
break;
}
break;
}
break;
case 'U':
switch(myBuffer[1])
{
case '1':
switch(myBuffer[2])
{
case '1':
UART2_WriteBuffer(msg_usb_1_on, 9);
USB2 = ON;
break;
case '0':
UART2_WriteBuffer(msg_usb_1_off, 10);
USB2 = OFF;
break;
case '2':
UART2_WriteBuffer(msg_usb_1_toggle, 10);
command = TOGGLE_USB_1;
counter_toggle = 0;
break;
}
break;
case '2':
switch(myBuffer[2])
{
case '1':
UART2_WriteBuffer(msg_usb_2_on, 9);
USB3 = ON;
break;
case '0':
UART2_WriteBuffer(msg_usb_2_off, 10);
USB3 = OFF;
break;
case '2':
UART2_WriteBuffer(msg_usb_2_toggle, 10);
command = TOGGLE_USB_2;
counter_toggle = 0;
75
break;
}
break;
case '3':
switch(myBuffer[2] )
{
case '1':
UART2_WriteBuffer(msg_usb_3_on, 9);
USB4 = ON;
break;
case '0':
UART2_WriteBuffer(msg_usb_3_off, 10);
USB4 = OFF;
break;
case '2':
UART2_WriteBuffer(msg_usb_3_toggle, 10);
command = TOGGLE_USB_3;
counter_toggle = 0;
break;
}
}
break;
}
for(count = 0; count < 3; count++)
{
if(myBuffer[count++] == exit[count++])
{
CMD_flag = 0;
idle_flag = 1;
UART2_WriteBuffer(exit_cmd, 7);
}
}
}
}
return -1;
}
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Sistem de relee controlat wireless cu microcontroler PIC [602884] (ID: 602884)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
