Differences

This shows you the differences between two versions of the page.

Link to this comparison view

icalc:laboratoare:lab1 [2022/03/01 11:35]
giorgiana.vlasceanu
— (current)
Line 1: Line 1:
-===== Laboratorul 01 - Git & Code Refactoring ===== 
- 
-=== Obiective === 
- 
-În laboratoarele anterioare, ați învățat modul de funcționare al unor circuite electronice de bază. Următoarele laboratoare se vor concentra pe proiectarea acestor circuite, folosind EAGLE (**E**asily **A**pplicable **G**raphical **L**ayout **E**ditor),​ pentru a pregăti realizarea lor fizică. 
- 
-EAGLE este o aplicație software realizată de către [[https://​www.autodesk.com/​products/​eagle/​overview/​|Autodesk]]. Cu ajutorul său, vom putea proiecta circuite electronice,​ precum și realiza traseele folosite la cablajul imprimat. EAGLE necesită o licență pentru utilizare, dar poate fi folosit gratuit cu anumite restricții,​ cum ar fi dimensiunea maximă a board-ului și numărul de layere. Unul dintre marile avantaje pe care le oferă este faptul că există numeroase biblioteci cu piese predefinite. O parte dintre aceste biblioteci sunt realizate chiar de către comunitate, printre cele mai notabile fiind bibliotecile puse la dispoziție de: [[https://​github.com/​sparkfun/​SparkFun-Eagle-Libraries|SparkFun]],​ [[http://​www.ladyada.net/​library/​pcb/​eaglelibrary.html|Adafruit]],​ [[http://​www.element14.com/​community/​community/​cadsoft_eagle/​eagle_cad_libraries|Element14]] etc. 
- 
-==== Instalare și folosire ==== 
- 
-Pentru a instala EAGLE, trebuie să descărcați installer-ul potrivit pentru sistemul vostru de operare de pe [[https://​www.autodesk.com/​products/​eagle/​free-download/​|pagina de downloads]]. 
- 
-{{ icalc:​laboratoare:​05:​eagle-download.png?​500 | Pagina de downloads. }} 
- 
- Pe Ubuntu este disponibil şi prin intermediul apt: 
-<​code>​ 
-sudo apt-get install eagle 
-</​code>​ 
- 
-Pentru a utiliza EAGLE aveți nevoie de un cont pe situ-ul [[https://​www.autodesk.com/​|Autodesk]]. La prima rulare EAGLE veți fi nevoiți să vă autentificați. 
- 
-{{ icalc:​laboratoare:​05:​eagle-account.jpeg?​500 | Fereastra de login }} 
- 
-După instalare, deschiderea aplicației vă va da acces la un Control Panel (vezi figura de mai jos), de unde puteți crea proiecte și încărca biblioteci. ​ 
- 
-{{ icalc:​laboratoare:​05:​eagle-login-alvd.png?​800 | EAGLE Control Panel }} 
- 
-**Ce se poate face cu EAGLE?** 
-  * Puteți crea schematicul aplicației (similar cu ceea ce făceați in Falstad). Fișierele salvate vor avea extensia .sch. 
-  * Din schematic puteți genera Board-ul PCB-ului. Board-ul este legat de Schematic; la nevoie poate fi re-generat. Fișierele salvate vor avea extensia .brd. 
-  * EAGLE poate face verificarea schematicului și a boardului pentru diferite tipuri de erori (fire lăsate în aer etc.) care sunt foarte utile înainte de realizarea plăcuței fizice. 
-  * Puteți crea piese custom pe care să le folosiți în noile proiecte (Schematic și Board). 
- 
-După ce creați board-ul pentru o schemă electronică,​ puteți să printați cablajul imprimat pentru a-l folosi la realizarea plăcuțelor voastre. Astfel, se poate observa că un proiect EAGLE complet se realizează din 2 pași: schematic și board, ca în figura de mai jos: 
- 
-{{ icalc:​laboratoare:​05:​eagle-sch_brd.png?​840x480 | În partea din stânga e reprezentat schematicul,​ în timp ce în dreapta este board-ul. }} 
- 
-**De ce am nevoie să încarc biblioteci?​** 
-Pentru că atunci când faceți proiectarea cunoașteți deja piesele pe care le folosiți (cele cumpărate din comerț), care au anumite dimensiuni („footprint”) de care trebuie să țineți cont la generarea board-ului. ​ 
- 
-**De ce am nevoie să fac piese customizate?​** 
-Pentru că este posibil ca pentru unele piese pe care doriți să le folosiți / le-ați cumpărat deja să nu găsiți bibliotecile corespunzătoare. Astfel, EAGLE permite realizare propriilor biblioteci și încurajează upload-ul acestora pe site-ul lor. 
- 
- 
-==== Folosirea editorului schematic ==== 
- 
-Pentru a crea o noua schema : 
-  * **File**->​**New**->​**Schematic** 
- 
-=== Adăugarea pieselor în schemă === 
- 
-Pentru a adăuga piese în schemă este folosit butonul **Add** ( {{icalc:​laboratoare:​05:​eagle_add_button.jpg?​24|Add button}} ). Va apărea o fereastră ce afișează listele de biblioteci din sistem, de unde puteți să selectați piesa dorită. Vor fi afișate informații despre piesă, cum va arăta piesa în schema și cum va arăta pe PCB. De asemenea, se pot căuta piese: 
-{{icalc:​laboratoare:​05:​eagle_add_menu.jpg?​800|}} 
-{{icalc:​laboratoare:​05:​name.png|}} 
- 
-Pentru a adăuga piesa apoi în schemă, se face click în locul unde vrem să punem piesa. Înainte de a poziționa piesa, puteți folosi click-dreapta pentru a o roti. De asemenea, după adăugare piesa rămâne selectată astfel încât se pot adăuga cu ușurință mai multe piese de acelasi tip. 
- 
-Inițial ele vor avea nume generice, însa acestea pot fi redenumite. Acest lucru se face prin Click-dreapta pe piesă -> **Name**. Pentru a fi reprezentată și o valoare legată de piesă, se face Click-dreapta pe piesă -> **Value** și este introdusă valoarea dorită. 
- 
-**Selectarea unei componente se face cu click stânga!** 
- 
-Daca schema devine prea aglomerată,​ pot fi folosite uneltele zoom: {{icalc:​laboratoare:​05:​eagle_zoom_buttons.jpg?​130|}}. Acestea pot fi folosite pentru a face zoom in, zoom out, pentru a încadra toata schema în ecran sau pentru a încadra o anumita zona în ecran. 
- 
-=== Așezare piese în schematic === 
- 
-În partea de sus a toolbar-ului din stânga sunt unelte ce pot fi folosite pentru a muta și așeza piese în scenă. 
- 
-{{icalc:​laboratoare:​05:​eagle_toolbar.jpg ​ |}} 
-  * **Group** 
-  * **Move** 
-  * **Mirror** 
-  * **Rotate** 
-  * **Copy** 
-  * **Paste** 
-  * **Delete** 
-  * **Change** 
- 
-=== Legături între piese === 
- 
-După ce ați adăugat piesele în scheme, trebuie făcute legăturile între ele. Pentru a vedea mai ușor pinii pieselor, poate fi activat layer-ul **Pins**: 
-  * Click pe butonul **Layer settings**( {{icalc:​laboratoare:​05:​eagle_layers.jpg?​25|}} )  
-  * Selectarea/​deselectarea layerului prin click pe numarul lui( 93 în cazul ăsta). 
-  * Click **Apply** 
- 
-Pentru a crea o legatură: 
-  * Click pe butonul **Net**( {{icalc:​laboratoare:​05:​eagle_net.jpg?​25|}} ). **Doar NET are semnificație electrică, nu și WIRE. ** 
-  * Se pozitionează crosshair-ul pe pinul primei piesei și se face click 
-  * Se poziționează crosshair-ul pe pinul piesei destinație și se face click 
-  * Pot fi adăugate oricâte puncte intermediare 
-  * Poate fi legat la o conexiune deja existentă. 
- 
-== Etichete == 
- 
-Dacă vom avea multe legături între piese, schema ar putea deveni foarte aglomerată. Pentru a elimina confuziile putem eticheta legăturile. Se poate face acest lucru folosind butonul Label ( {{icalc:​laboratoare:​05:​eagle_label.jpg?​25|}} ). Pentru a adăuga o eticheta se apasă click-stânga pe conexiunea dorita și se poziționează după preferințe. Eticheta va avea numele implicit al conexiunii. Pentru a o redenumi se apasă click-dreapta pe legatură -> **Name**. 
- 
-Toate legăturile conectate între ele vor avea aceeași etichetă. De asemenea, putem atașa mai multe etichete aceleiași legături sau unor legături care sunt conectate între ele. Toate aceste etichete vor avea același nume în mod automat. 
- 
-== Magistrala == 
- 
-Magistrala este un tip special de conexiune, ce reprezintă un set de fire legate logic între ele. Un exemplu ar fi o magistrală de date pe 16 biți: //​DATA[0:​15]//​. Pentru a reprezenta o astfel de legatură în Eagle, se foloseste butonul **Bus** ( {{icalc:​laboratoare:​05:​eagle_bus.jpg?​25|Bus|}} ). Se pot lega apoi conexiune normale la el. 
- 
-Pentru a specifica conexiunile care pot face parte din magistrală,​ aceasta trebuie denumită în următoarele moduri: ​ 
-  * **NUME[0..x]** - pentru conexiuni denumite NUME0, NUME1 etc. 
-  * **AAA,BBB** - pentru conexiuni numite AAA sau BBB. 
- 
-=== Electrical Rule Check === 
- 
-După ce am terminat schema, comanda //ERC// ne poate testa circuitul pentru erori. Aceste lucru se poate face folosind butonul **ERC**({{icalc:​laboratoare:​05:​eagle_erc_button.jpg?​25|}}):​ 
-{{icalc:​laboratoare:​05:​erc-2.png ​ |}} 
- 
- 
-==== Board Layout ==== 
- 
-Fișierul board poate fi generat automat din fișierul schematic sau poate fi construit de la zero. Avantajul generării din schematic constă în faptul că piesele vor fi deja adăugate, împreună cu semnalele dintre ele. 
-Componentele unui fișier .brd sunt: 
-  * Componente. Sunt piesele ce compun circuitul. 
-  * Semnale. Reprezintă legăturile logice din circuit. Ex. Pinul PD7 de la atmega este legat la pinul A de la o poartă logică. 
-  * Rute. Reprezintă traseul fizic de placa ce face legatura între pinii legați printr-un semnal. 
- 
-Pentru a trece de la schematic la board folosiți: 
- 
-**File** -> **Switch to board** 
- 
-Pentru a lucra cu mai multe componente deodată folosiți unealta **Group** ({{icalc:​laboratoare:​05:​eagle_group_button.jpg?​25|}}) după care selectați modificarea pe care o vreți efectuată (Ex: Move) și din meniul de context accesat dând click dreapta pe grup alegeți acțiunea per grup (Ex: Move: Group). 
- 
-**Schematicul și board-ul generat fac parte din același proiect. De multe ori este nevoie să ne dăm seama ce reprezintă un fir din board sau care e traseul din board corespunzător unei conexiuni din schematic. Pentru a face acest lucru, putem să folosim opțiunea „Show”{{icalc:​laboratoare:​05:​eagle_show_button.jpg?​25|}} din tool box, care permite ca la selectarea unei componente în schematic să facă highlight la componenta corespondentă din board și invers. Opțiunea „Show” se selectează separat pentru schematic, respectiv pentru board. În plus, având opțiunea activă, selectarea unui pin în schematic va face highlight la toți pinii care sunt conectați pe acea rută (similar pentru board). ** 
- 
-Ca o alternativă la opțiunea „Show”, pentru a vedea dacă un pin este conectat la o componentă,​ puteți încerca mutarea piesei. Spre deosebire de cum era în cazul simulatorului Falstad, EAGLE permite mutarea conexiunilor odată cu piesele. 
- 
-=== Rutare === 
- 
-Puteți observa faptul că la generarea board-ului piesele sunt conectate prin niște fire galbene, subțiri, numite airwires. Acestea nu reprezintă decât faptul că există o conexiune între acele piese în schematic, dar nu reprezintă traseele de care avem nevoie. Ne vor ajuta, însă, la crearea rutelor între componente. 
- 
-== Autoroute== 
-Rutarea este facuta automat de catre eagle pe baza unui algoritm. Acest algoritm poate fi parametrizat prin asignarea unor costuri elementelor. Rutarea automata poate esua uneori sau poate produce rezultate proaste. 
- 
-Pentru a face autorutare din eagle dați click pe butonul **Autorouter** ({{icalc:​laboratoare:​05:​eagle_autoroute.jpg?​25|Autorouter button}}). 
-Din meniul lansat puteți alege diversele proprietăți pe care să le aibă în vedere rutarea, una din cele mai importante este cum să trateze trasarea pe suprafața de sus și cea de jos a plăcii. 
- 
-{{icalc:​laboratoare:​05:​eagle_autoroute_menu.jpg?​550|}} 
-  
-== Rutare manuala == 
- 
-De multe ori autorutarea poate să genereze rezultate în parte ineficiente. Astfel, este indicat să folosiți o combinație de autorutare cu rutare manuală pentru a obține cele mai bune efecte. ​ 
- 
-Se ruteaza fiecare semnal manual folosind unealta **Route** ({{icalc:​laboratoare:​05:​eagle_route.jpg?​25|}}) . 
-Pentru a elimina o rută folosiți unealta **Ripup** ({{icalc:​laboratoare:​05:​eagle_ripup.jpg?​25|}}). ​ 
- 
-=== Ratsnest === 
- 
-Pentru a verifica faptul că toate Net-urile sunt rutate din schematic, folosiți opțiunea RATSNEST {{icalc:​laboratoare:​05:​eagle_ratsnest.jpg?​25|}}. Dacă totul a mers bine și ați rutat toate airwire-urile,​ veți vedea mesajul următor în status box-ul din stânga-jos:​ „Ratsnest:​ Nothing to do!”. 
- 
-=== Design Rule Check === 
- 
-Similar cu **ERC**-ul (Electrical Rule Check), există DRC (Design Rule Check {{icalc:​laboratoare:​05:​eagle_drc_button.jpg?​25|}}) care este o unealtă ce face verificări asupra circuitului conform anumitor parametri. De aici se pot seta verificări pentru a vedea dacă două linii sunt prea aproape, se poate mări dimensiunea găurilor de burghiu, cât și cea a pad-urilor. În principiu de aici se pot face diverse modificări pentru a ne asigură că circuitul reprezentat poate fi implementat folosind uneltele avute la dispoziție. Pe lângă asta, puteți încărca și un set de reguli predefinite. 
- 
-Cele mai comune probleme care pot apărea sunt: suprapunerea a două sau mai multe rute (numită **overlap**),​ trecerea unei rute prea aproape de un pad / via, trecerea unei rute prea aproape de marginea board-ului etc. 
- 
-<​note>​ 
-Pentru mai multe detalii puteți consulta următorul link. Conține descrierea tipurilor de piese utilizate pentru realizarea design-ului plăcuțelor electronice:​ [[https://​en.wikipedia.org/​wiki/​List_of_integrated_circuit_packaging_types?​fbclid=IwAR0xorPt1fOFQKh0rlgFZLCiujT1WUUhSijikPyHEHCdgmitqiYuqxpCI8o|List of integrated circuit packaging types]] 
-</​note>​ 
- 
-==== Exerciții ==== 
-  - Instalați biblioteca Adafruit din repository-ul GitHub de [[https://​github.com/​adafruit/​Adafruit-Eagle-Library|aici]],​ într-un folder care conține numele vostru. Folosiți una dintre piesele din această bibliotecă (adăugați-o într-un schematic nou). 
-  - Deschideți [[http://​www.falstad.com/​circuit|Falstad]],​ la circuitul Circuits -> Logic Families -> DTL -> DTL NAND.  
-    - Realizați schematicul pentru acest circuit. 
-    - Generați board-ul PCB folosind pașii descriși la secțiunea aferentă. Aranjați componentele în zona delimitată board-ului. Realizați rutarea între componente folosind doar layer-ul „bottom”. 
-    - Realizați verificarea ERC. 
-    - Realizați verificarea DRC folosind opțiunile: 
-     * verificarea pentru distanțe dintre trasee să fie minim //10 mil// între oricare două componente. 
-     * verificarea pentru găuri de burghiu să fie tot de //10 mil//. 
-     * verificarea pentru dimensiunea pad-urilor să fie cu 50% mai mare decât este setată implicit. 
-  - Realizați un schematic în care folosiți un microcontroller //​ATMEGA328P//​ care va primi pe pinii PC0-3 un număr de la un switch(//​DIP-04SMD//,​ ambele se găsesc în biblioteci de la SparkFun: //​Sparkfun-IC-Microcontroller//​ respectiv //​Sparkfun-Switches//​) și va transmite folosind o magistrală de pe pinii PD0-7 către un afișor 7-segmente (//​7-SEGMENT-DISPLAYPTH)//,​ tot din biblioteca SparkFun). Generați board-ul și realizați rutarea. 
-    * Hint: Biblioteca de la SparkFun se poate adăuga pentru utilizare prin meniul **Library** -> **Use** (daca nu gasiti, descarcati bibliotecile de la [[https://​github.com/​sparkfun/​SparkFun-Eagle-Libraries]]). 
-    * Hint: La magistrală trebuie etichetați identic liniile de la pinii PD0-7 și A-DP. 
- 
- 
-==== Resurse ==== 
-  * [[http://​eagle.autodesk.com/​eagle/​documentation|Documentația oficială pentru EAGLE]] 
-  * [[https://​learn.sparkfun.com/​tutorials/​how-to-install-and-setup-eagle/​using-the-sparkfun-libraries|Tutorial SparkFun pentru adăugarea de biblioteci noi]] 
-  * [[https://​learn.sparkfun.com/​tutorials/​using-eagle-schematic|Tutorial SparkFun pentru schematic]] 
-  * [[https://​learn.sparkfun.com/​tutorials/​using-eagle-board-layout|Tutorial SparkFun pentru board]] 
  
icalc/laboratoare/lab1.1646127349.txt.gz · Last modified: 2022/03/01 11:35 by giorgiana.vlasceanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0