Differences

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

Link to this comparison view

pm:prj2025:rnedelcu:andrei.lipan [2025/04/29 10:46]
andrei.lipan created
pm:prj2025:rnedelcu:andrei.lipan [2025/05/30 09:40] (current)
andrei.lipan [Descriere generală]
Line 1: Line 1:
 ====== Good(ish) Microphone ====== ====== Good(ish) Microphone ======
 ===== Introducere ===== ===== Introducere =====
-  *Proiectul "​Good(ish) Microphone"​ reprezintă dezvoltarea unui microfon USB cu calitate audio decentă, dotat cu un buton de mute dedicat. Microfonul capturează semnale audio folosind un convertor analog-digital cu o rezoluție de 16 biți și le transmite prin USB unui calculator.+  *Proiectul "​Good(ish) Microphone"​ reprezintă dezvoltarea unui microfon USB cu calitate audio decentă, dotat cu un buton de mute dedicat. Microfonul capturează semnale audio folosind ​<del>un convertor analog-digital cu o rezoluție de 16 biți</​del>​ ADC ul intern de 12 biti și le transmite prin USB unui calculator.
  
   *Acesta captează semnale audio, le convertește în format digital și le transmite prin USB către calculator, oferind și posibilitatea de întrerupere rapidă a captării prin butonul de mute.   *Acesta captează semnale audio, le convertește în format digital și le transmite prin USB către calculator, oferind și posibilitatea de întrerupere rapidă a captării prin butonul de mute.
  
-  *Am vrut sa creez unui microfon accesibil și personalizabil care să ofere o calitate audio superioară microfoanelor de buget, dar la un cost mai redus decât soluțiile profesionale si pe care pot sa il montez pe casca.+  *Am vrut sa creez unui microfon accesibil și personalizabil care să ofere o calitate audio superioară microfoanelor de buget, dar la un cost mai redus decât soluțiile profesionale si pe care pot sa il montez pe casca si sa il pot ajusta cum doresc. Implementat este doar functionalitatea mecanica si nu poate fi montat pe casca, deoarece nu am putut sa fac PCB pentru proiect atat de repede.
  
   *Proiectul oferă o alternativă mai economică la soluțiile comerciale precum Antlion ModMic USB, având în plus avantajul personalizării și extinderii ulterioare.   *Proiectul oferă o alternativă mai economică la soluțiile comerciale precum Antlion ModMic USB, având în plus avantajul personalizării și extinderii ulterioare.
Line 11: Line 11:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-IC-ul de ADC capteaza ​sunetul de la capsula electret si trimite datele la microcontroller. Pico-ul controleaza led-ul de mut in functie de starea butonului si transmite datele la calculator prin biblioteca TinyUSB.+<del>IC-ul de ADC</​del>​ ADC ul din pico poate sa capteze cu rezolutie de 12 biti. Acesta preia sunetul de la un modul cu un amplificator MAX9814, care la randul lui amplifica semnalul de la o capsula electret si trimite datele la microcontroller. Pico-ul controleaza led-ul de mut in functie de starea butonului si transmite datele la calculator prin biblioteca TinyUSB.
  
-{{schemalogicaandreilipan.png}}+{{schemalogicaandreilipan1.png}}
  
  
  
 ===== Hardware Design ===== ===== Hardware Design =====
-  * Marble Pico+  * Marble Pico (ales pentru ca are Type C si un ADC mai precis decat pico normal)
  
-  * FAN3852UC16X+  * Modul Microfon cu Amplificator
  
   * Buton   * Buton
  
-  * LED+  * LED rosu si LED verde
  
   * Cabluri (USB C si de legat componentele intre ele)   * Cabluri (USB C si de legat componentele intre ele)
 +  ​
 +  * Carcasa (modelata prost :) ) 
 +
 +
 +Acesta este primul prototip unde am testat pe breadboard functionalitatea software.
 +{{prototipv2.jpeg}}
 +
 +Aici se poate vedea cat de mica este carcasa pe care am facut-o :(. Am dezlipit (si am rupt si pad-ul) si conectorul I2C special cu care vine placuta ca sa fie mai mica.
 +{{:​pm:​prj2025:​rnedelcu:​pozaintermediara1.jpg}}
 +
 +Produsul final:
 +{{:​pm:​prj2025:​rnedelcu:​produsfinal.jpg}}
 +
 +Aici am inclus si un "​cablu"​ facut de mine care are o sarma in el. Acest lucru permite microfonului sa se deformeze plastic in functie de cum vrem sa fie asezat.
 +
 +Singurele detalii are nu sunt mentionate in diagrama de sus sunt cum am setat gain-ul de la microfon: AR la GND si Gain la VDD. Datasheet-ul la MAX9814 era destul de straight forward pe aceasta tema.
  
 ===== Software Design ===== ===== Software Design =====
-VSCode cu extensia oficiala pentru Raspberry PI Pico +<​del> ​VSCode cu extensia oficiala pentru Raspberry PI Pico </​del>​ 
-TinyUSB+Arduino Studio 
 +TinyUSB ​(fork-ul lui pschatzmann)
  
-<note tip> +Pentru arduino studio a fost nevoie de setarile de pe pagina Ardushop a Marble Pico si importarea bibliotecii. Pentru compilare trebuie setat USB Stack ca TinyUSB. 
-Descrierea codului aplicaţiei (firmware): + 
-  * mediu de dezvoltare ​(if any(e.g. AVR StudioCodeVisionAVR) +Pentru ca sa pot ajunge la un sampling rate foarte aproape ​de maximul teoretic din datasheet ​(500 kHz/s), am folosit transferuri DMA pentru a citi de la ADC, deoarece acestea nu ocupa timpul procesorului si notifica atunci cand are date noi printr-o intrerupereDMA-ul foloseste doua buffere in care pune date si schimba intre ele si permite functiei de callback la USB sa preia datele direct de acolo.
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
- +Microfonul se aude destul de bine, doar ca mai trebuie lucrat la intreruperile DMA si USB pentru a elimina stutter-urile. Overall pretty good pentru ~40 lei.
-<note tip> +
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
 ===== Concluzii ===== ===== Concluzii =====
 +Foarte mult timp a fost pus pe:
 +    *pe modalitatea initiala de sampling (cu FAN3852) deoarece nu puteam sa lipesc fire pe IC;
 +    *incercarea folosirii directe a TinyUSB fara Arduino ca sa fie detectat dispozitivul ca microfon (ex bug: se bloca calculatorul cand incercam sa selectez microfonul)
 +    *calibrarea imprimantei 3d pentru a printa carcasa si alte mulaje;
 +    *incercarea a mai multor modalitati de creare a cablului care se deformeaza deoarece nu am reusit sa gasesc astfel de cablu gata facut;
 +    *depanarea codului (DMA + USB) etc.
 +
 +Am creat acest proiect cu scopul de a face pe viitor un microfon miniaturizat in stilul la Antlion ModMic, pe care sa il folosesc eu. Motivul pentru care am ales sa il fac un microfon care sta pe masa este faptul ca era prea mare un pico care atarna de o casca :). O sa iau componentele direct de pe placuta aceasta si le pun pe alt pcb (si alte extinderi).
  
 ===== Download ===== ===== Download =====
  
-<note warning>​ +    ​*carcasa + codul pentru arduino studio {{:pm:prj2025:rnedelcu:proiect_andrei_l.zip|}}Trebuie setat TinyUSB ca USB Stack in setarile Arduino Studio
-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 ===== ===== Jurnal =====
  
-29.04.2025: Draft OCW +    *29.04.2025: Draft OCW 
 +    ​*30.05.2025:​ Final Document
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-https://​www.farnell.com/​datasheets/​2736016.pdf +    *https://​www.farnell.com/​datasheets/​2736016.pdf 
- +    ​*https://​www.analog.com/​media/​en/​technical-documentation/​data-sheets/​MAX9814.pdf 
-<​note>​ +    ​*https://​github.com/​raspberrypi/​pico-examples (in special ADC si DMA) 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +    *https://​ardushop.ro/​ro/​groundstudio/​1590-groundstudio-marble-pico-6427854000682.html 
-</note>+    ​*https://​datasheets.raspberrypi.com/​rp2040/​rp2040-datasheet.pdf 
 +    ​*https://​www.pschatzmann.ch/​home/​2024/​10/​13/​tinyusb-audio-on-an-rp2040-in-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/prj2025/rnedelcu/andrei.lipan.1745912784.txt.gz · Last modified: 2025/04/29 10:46 by andrei.lipan
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