Table of Contents

Ghid proiect etapa 2

Idee

Acum aveți un mic sistem de calcul, pe care îl puteți programa și extinde. Ce faceți de aici încolo?

Primul pas, foarte important, este să veniți cu o idee de proiect. Nu trebuie neapărat să fie ceva super-original, așa că nu vă faceți griji. Din fericire pentru voi, nu sunteți primii care au trebuit să facă proiect la PM și puteți vedea cu ce idei de proiecte au venit colegii voștri din ani mai mari (în 2009 sau în 2010). Nu numai atât, dar pe Internet se găsesc o mulțime de blog-uri și articole cu proiecte bazate pe AVR-uri, toate vă pot da o idee despre ce ați putea face.

Q&A:

  1. Dar nu am nicio idee, ce pot face?
    • Înseamnă că nu te-ai uitat suficient pe proiectele existente. Imposibil să nu găsești ceva ce ți-ar place să construiești singur!
  2. Nu-mi poate da asistentul de proiect o temă și gata?
    • Asistentul te poate ajuta odată ce ai o idee, să-ți spună cam cât de viabilă este ideea, cam ce piese ți-ar trebui
  3. Ce fac odată ce am o idee?
    • Trebuie să discuți cu asistentul de proiect să vezi dacă ideea este viabilă/admisibilă
  4. Există idei de proiect care nu se admit?
    • Da, există proiecte care sunt considerate prea ușoare, care se pot face cu hardware minim/inexistent și cu cod din laboratoare. De exemplu termometru, ceas digital, incintă cu încălzire.

Faza de pregătire

Aveți o idee și acum încercați să vă faceți un plan de atac. În urma documentării și a discuțiilor cu asistentul de proiect, trebuie să aveți în vedere:

Aici este momentul în care puteți deja să puneți în documentație schema bloc a proiectului și o scurtă descriere.

Q&A:

  1. De unde știu ce piese o să-mi mai trebuiască pe lângă cele “evidente”?
    • Fiecare va avea propria sa documentație care te va ajuta să compui schema completă a proiectului.
  2. Am nevoie de perifericul X de mai multe ori, dar nu l-am decât de x ori. De unde știu dacă pot sau nu să-l emulez în software?
    • Pentru unele periferice există chiar biblioteci care le emulează pe AVR, trebuie doar căutate (bootloader-ul de pe placuța de proiect folosește un device USB făcut în software, de exemplu). Alte periferice, ca PWM-ul, se pot face în software fără prea multe dureri de cap.
  3. Există și dezavantaje ale emulării perifericelor în software?
    • Da, costul cel mai mare fiind în timp de procesare. Asta înseamnă că veți avea mai puțină putere de procesare pentru codul vostru. Alte dezavantaje sunt: dimensiunea codului, pini importanți ocupați (usb-ul în software ocupă doi pini de întrerupere externă).

Planificare

În acest moment aveți:

Acum trebuie să treceți de la piese fictive/idealizate la piese pe care le puteți cumpăra în magazin. Magazinele mai mari au fiecare site pe care puteți căuta piese care vă interesează:

Și pentru roboți:

Pentru piese “exotice”, întrebați-l pe Dan cum puteți face comandă din Farnell sau Digikey. Căutați-le întâi în catalogul lor online, ca să fiți siguri ca există în stoc.

Site-uri de agregare (care indexează site-urile magazinelor de la noi) sunt:

În urma acestor căutări, trebuie să obțineți:

Read The Friendly Datasheet Datasheet-ul conține informații esențiale pentru proiectul vostru. Ideal ar fi să citiți datasheet-ul cap-coadă pentru piesele pe care le folosiți. Informațiile minime pe care trebuie să le obțineți sunt:

Proiectare

Ați ajuns la pasul de care probabil vă e frică cel mai tare, schema! Dacă ați fost conștiincioși până aici e posibil să aveți deja schemele de interconectare din datasheet-urile pieselor respective, trebuie doar puse cap la cap. Vă recomandăm să folosiți un CAD dedicat pentru proiectarea schemelor, de exemplu Eagle CAD. Tutoriale pentru cum se folosește găsiți atât pe net cât și pe site-ul cursului de ic http://elf.cs.pub.ro/ic.

Dacă vă mai poticniți, gândiți-vă că nu sunteți primii care folosesc piesa respectivă, sigur se găsește pe Internet vreun proiect care folosește o piesă asemănătoare!

Software

Aici sunteți ași, nu? Nu e nevoie de sfaturi pentru partea software,… Atâta tot că dacă ocupați toată memoria de program (cei 16k), trebuie să știți că există un microcontroller numit atmega32, care este drop-in compatible, trebuie doar recompilat codul pentru noua platformă și pus în soclu în locul lui atmega16.

Sfaturi generale