Differences

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

Link to this comparison view

pm:prj2024:vstoica:amunteanu1006 [2024/05/24 20:18]
amunteanu1006 [Introducere]
pm:prj2024:vstoica:amunteanu1006 [2024/05/27 10:02] (current)
amunteanu1006 [Software Design]
Line 7: Line 7:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-{{:​pm:​prj2024:​vstoica:​amunteau1006_schema_bloc.png?600|}}+{{:​pm:​prj2024:​vstoica:​amunteanu1006_schema_noua.png?600|}}
  
 Descriere: Descriere:
  
-Player-ul va contine ​butoane: Play - va porni rotirea vinilului, Pause - va opri rotirea vinilului, Stop - va reseta (sper) pozitia bratului. Viteza de rotire default va fi controlata cu ajutorul Driver-ului,​ putand fi schimbata folosind potentiometrul rotativ. Timpul de redare (de cand este apasat butonul "​Play"​) va fi afisat pe display sub forma: MM:SS. De asemenea, pe display se va afisa si viteza de redare in RPM.+Player-ul va contine ​butoane: Play - va porni rotirea vinilului, Pause - va opri rotirea vinilului. Viteza de rotire default va fi controlata cu ajutorul Driver-ului,​ putand fi schimbata folosind potentiometrul rotativ. Am incercat sa aproximez cele două viteze clasice pentru viniluri: 33 RPM și 45 RPM. Timpul de redare (de cand este apasat butonul "​Play"​) va fi afisat pe display sub forma: MM min. De asemenea, pe display se va afisa si viteza de redare in RPM.
 ===== Hardware Design ===== ===== Hardware Design =====
  
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>​
  
  
pm/prj2024/vstoica/amunteanu1006.1716571095.txt.gz · Last modified: 2024/05/24 20:18 by amunteanu1006
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