Differences

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

Link to this comparison view

pm:prj2024:vstoica:amunteanu1006 [2024/05/05 15:38]
amunteanu1006 [Hardware Design]
pm:prj2024:vstoica:amunteanu1006 [2024/05/27 10:02] (current)
amunteanu1006 [Software Design]
Line 2: Line 2:
  
 ===== Introducere ===== ===== Introducere =====
-Muzica de pe un vinil este: "mai caldămai naturală, cu sunet analogic ​decât formatele digitale",​ sau cel puțin asta am găsit pe internet. Cred că majoritatea dintre noi încă mai avem acasă câteva viniluri lăsate moștenire de părinți sau bunici, care adună praf undeva prin casă, deoarece ultimul ​pickup ​s-a stricat acum 20 de ani și unul nou este mult prea scump. Eu sigur mă aflu în această situație și fiind inspirat și de o reclamă de pe www.bazardemuzica.ro (pls sponsor me), m-am gândit că sigur aș fi capabil să-mi construiesc propriul ​pickup, la un preț mai redus ("m-am gândit"​ pentru că deja am cheltuit banii pentru un pickup ​nou pe componente și nu le-am cumpărat pe toate).+Muzica de pe un vinil este: "mai caldă ​și mai naturală decât formatele digitale",​ sau cel puțin asta am găsit pe internet. Cred că majoritatea dintre noi încă mai avem acasă câteva viniluri lăsate moștenire de părinți sau bunici, care adună praf undeva prin casă, deoarece ultimul ​pick-up ​s-a stricat acum 20 de ani și unul nou este mult prea scump. Eu sigur mă aflu în această situație și fiind inspirat și de o reclamă de pe www.bazardemuzica.ro (pls sponsor me), m-am gândit că sigur aș fi capabil să-mi construiesc propriul ​pick-up, la un preț mai redus ("m-am gândit"​ pentru că deja am cheltuit banii pentru un pick-up ​nou pe componente și nu le-am cumpărat pe toate)(Update după terminarea proiectului:​ chiar a fost mai scump :P).
  
 Player-ul oferă posibilitatea de a reda muzica de pe viniluri cu dimensiunea de 7", 10" sau 12". Pentru că majoritatea muzicii pe care o ascult acum este de pe YouTube sau Spotify, m-am gândit să integrez și un ecran pe care vor fi afișate: "​Timpul de redare"​ și "​Viteza de redare",​ viteza care va putea fi modificată de utilizator. Player-ul oferă posibilitatea de a reda muzica de pe viniluri cu dimensiunea de 7", 10" sau 12". Pentru că majoritatea muzicii pe care o ascult acum este de pe YouTube sau Spotify, m-am gândit să integrez și un ecran pe care vor fi afișate: "​Timpul de redare"​ și "​Viteza de redare",​ viteza care va putea fi modificată de utilizator.
 ===== 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.1714912725.txt.gz · Last modified: 2024/05/05 15:38 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