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:

  • Ce tip de piese vă trebuiesc
    • ex: modul Bluetooth, porți logice, LED-uri, deci un tip de piesă, nu e cazul să fie foarte specific la faza asta!
    • Câteva dintre piese vor fi evidente, piese centrale proiectului: modul Bluetooth, display LCD grafic, matrice LED-uri, motoare, ș.a.m.
    • Alte piese vor fi mai puțin evidente, piese de suport: multiplexoare/shifter-e pentru matricea de LED-uri, drivere pentru motoare
  • Ce periferice veți folosi pe Atmega16
    • Este foarte important în faza asta să știți cam de câți pini aveți nevoie și ce periferice ocupați, pentru a vedea dacă nu depășiți capacitățile Atmega16!
    • Nu puteți face un proiect care folosește 5 canale de PWM dacă pe Atmega16 aveți doar 4!
    • Mai precis, puteți, dar trebuie să țineți cont de ce periferice aveți și de metodele prin care puteți extinde capabilitățile sistemului de calcul pe care-l aveți la dispoziție:
      • Perifericele se pot emula în software: PWM, USART
      • Periferice se pot multiplexa (mai multe componente ale proiectului să se conecteze la același periferic și să-l folosească pe rând): SPI, I2C, ADC.

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:

  • ideea de proiect
  • un număr de piese și o schiță de cum ar trebui să se lege între ele

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:

  • un cod de piesă
  • datasheet pentru piesă

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:

  • Tensiune de alimentare
  • Nivelele logice de tensiune
  • Consum de curent
  • Scheme de interconectare
  • Protocoale (dacă este cazul)
  • Cazuri limită

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

  • Nu lăsați pe “ultima sută de metri” cumpăratul pieselor! S-ar putea să nu mai găsiți ce vă trebuie.
  • Nu amânați pana in ultimul moment lucrul la proiect. Apucați-vă din timp, pentru că nu puteți ști ce probleme întâmpinați pe drum! Proiectul acesta NU este ceva pe care puteți să-l faceți cu o seară înaintea termenului limită.
  • Nu fiți timizi. Asistenții de proiect sunt acolo ca să vă ajute. Bateți-i la cap cu orice fel de întrebare aveți (legată de proiect, evident).
  • Nu disperați, în cazul în care nu reușiți să ne prezentați proiectul la timp, încă mai puteți fi folositori la ceva:

pm/tutorial/proiect.txt · Last modified: 2020/02/14 10:31 (external edit)
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