This shows you the differences between two versions of the page.
pm:prj2024:vstoica:amunteanu1006 [2024/05/24 20:29] amunteanu1006 [Descriere generală] |
pm:prj2024:vstoica:amunteanu1006 [2024/05/27 10:02] (current) amunteanu1006 [Software Design] |
||
---|---|---|---|
Line 7: | Line 7: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | {{:pm:prj2024:vstoica:amunteanu1006_schema_noua.png?200|}} | + | {{:pm:prj2024:vstoica:amunteanu1006_schema_noua.png?600|}} |
Descriere: | Descriere: | ||
Line 26: | Line 26: | ||
* LCD Module | * LCD Module | ||
+ | Design circuit: | ||
- | ===== Software Design ===== | + | {{:pm:prj2024:vstoica:amunteanu1006_schema.png?700|}} |
+ | Descrierea sistemului: | ||
+ | Aceasta parte a proiectului se ocupa mai mult cu stepper-ul si functiile extra adaugate unui pick-up, sistemul de amplificare fiind cel al unui | ||
+ | pick-up deja construit. | ||
- | <note tip> | + | Componente: |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
- | ===== Rezultate Obţinute ===== | + | __Potențiometrul rotativ__: |
+ | * Scop: reglarea vitezei motorului, incepand de la o viteza aproximativ egala cu 33 RPM, incrementat cu o constanta atunci cand ajunge la un prag nou, pana cand ajunge la o viteza aproximativ egala cu 45 RPM. | ||
+ | * Conectare: un pin este conectat la GND, altul la VCC, iar pentru citire ma voi folosi de pinul A0 de pe arduino. | ||
- | <note tip> | + | __Butonul de start__: |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | * Scop: pornirea motorului care va roti vinilul. |
- | </note> | + | * Conectare: conectat la pin-ul digital 2 al placutei pentru a ma folosi de intreruperile externe. |
+ | __Butonul de stop__: | ||
+ | * Scop: oprirea motorului care va roti vinilul. | ||
+ | * Conectare: conectat la pin-ul digital 3 al placutei pentru a ma folosi de intreruperile externe. | ||
+ | __Stepper Driver__: | ||
+ | * Scop: asigura miscarea precisa a motorului | ||
+ | * Conectare: pentru a alimenta driver-ul, acesta este conectat la VCC, iar pentru a alimenta motorul, VMOT este conectat la 12V. Pentru a roti motorul, pinii de step si directie sunt conectati la pinii 6 si 7 de pe arduino. | ||
+ | __LCD Module__: | ||
+ | * Scop: afisarea timpului de redare si a numarului de rotatii. | ||
+ | * Conectare: la arduino, pinii: 13, 11, 10, 9 si 8, alimentat la VCC. | ||
+ | __Stepper Motor__: | ||
+ | * Scop: rotirea vinilului. | ||
+ | * Conectare: la stepper driver, prin pinii 2A, 2B, 1A si 1B. | ||
- | ===== Concluzii ===== | + | {{:pm:prj2024:vstoica:amunteanu1006_fizic.jpeg?600|}} |
- | ===== Download ===== | ||
- | <note warning> | ||
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | ||
- | </note> | ||
- | ===== Jurnal ===== | + | ===== Software Design ===== |
+ | Mediu de dezvoltare: Arduino IDE | ||
- | <note tip> | + | Biblioteci utilizate: |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * AccelStepper: pentru controlarea mai usoara a a vitezei stepper-ului |
- | </note> | + | * Adafruit_GFX, Adafruit_ST7735, SPI: pentru afisarea textului pe ecran |
+ | Detalii implementare: | ||
+ | * Citirea butoanelor se face folosind intreruperi si folosind rezistente de pull-up externe. | ||
+ | * Pentru potentiometrul rotativ m-am folosind de functia "myAnalogRead" din laborator pentru a citi valori care sunt comparate ulterior cu anumite praguri setate de mine pentru a incrementa viteza motorului. | ||
+ | * Pe ecran afisez textul folosind functiile puse la dispozitie de biblioteci. | ||
+ | * In cazul motorului, am ales sa folosesc o biblioteca pentru a seta viteza, deoarece imi oferea posibilitatea de a obtine o viteza mai ridicata, evitand delay-urile. | ||
+ | ===== Rezultate Obţinute ===== | ||
+ | Am reusit sa modific un pick-up existent, pastrand sistemul de amplificare si boxele, modificand motorul cu un stepper pentru a fi mai usor de controlat prin arduino. Am adaugat un potentiometru rotativ pentru a schimba vitezele, de la (aproximativ) 33 RPM pana la (aproximativ) 45 RPM si viteze intermediare. | ||
+ | Aproximarile au fost facute urmand pasii: | ||
+ | |||
+ | 1. "Suna bine?" | ||
+ | 2. "E prea incet" -> viteza mai mare | ||
+ | 3. "E prea repede" -> viteza mai mica | ||
+ | |||
+ | Am mai adaugat un LCD pentru afisarea timpului si a rotatiilor. | ||
+ | ===== Concluzii ===== | ||
+ | Proiectul a fost interesant si am invatat urmatoarele: | ||
+ | - E mult mai usor sa lipesti fire decat pare. | ||
+ | - E foarte greu sa alegi componentele. | ||
+ | - E foarte greu sa gasesti datasheet pentru anumite componente. | ||
+ | - Componentede mai scumpe nu sunt mai bune :(. | ||
+ | - Stepper-ul se blocheaza destul de repede si e destul de greu de controlat atunci cand nu avem informatii despre driver. | ||
+ | ===== Download ===== | ||
+ | |||
+ | {{:pm:prj2024:vstoica:amunteanu1006_pm_arhiva.zip|}} | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | * https://ocw.cs.pub.ro/courses/pm/lab/lab2-2023 |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * https://ocw.cs.pub.ro/courses/pm/lab/lab4-2023-2024 |
- | </note> | + | * https://ocw.cs.pub.ro/courses/pm/lab/lab5-2023-2024 |
+ | * https://docs.arduino.cc/learn/electronics/lcd-displays/ | ||
+ | * https://www.youtube.com/watch?v=09Mpkjcr0bo | ||
+ | * https://www.youtube.com/watch?v=bkqoKWP4Oy4&t=304s | ||
+ | * https://docs.arduino.cc/learn/electronics/stepper-motors/ | ||
+ | * https://forum.arduino.cc/t/1-44-inch-tft-128x128-glcd-ili9163/251533 | ||
+ | * https://howtomechatronics.com/tutorials/arduino/how-to-control-stepper-motor-with-a4988-driver-and-arduino/ | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||