Differences

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

Link to this comparison view

pm:prj2021:dbrigalda:pedalass [2021/04/25 22:54]
corneliu.calancea
pm:prj2021:dbrigalda:pedalass [2021/06/04 12:36] (current)
corneliu.calancea [Bibliografie]
Line 5: Line 5:
 În acest sens, semnalul va trece printr-un convertor analog-digital(ADC),​ apoi va fi aplicată asupra sa o funcție, în dependență de efectul ales, ca ulterior să fie transmis într-un convertor digital-analog și în continuare la celelalte elemente din lanțul de efecte(amplificator/​boxe). În acest sens, semnalul va trece printr-un convertor analog-digital(ADC),​ apoi va fi aplicată asupra sa o funcție, în dependență de efectul ales, ca ulterior să fie transmis într-un convertor digital-analog și în continuare la celelalte elemente din lanțul de efecte(amplificator/​boxe).
  
 +===== Schema bloc =====
 +{{ :​pm:​prj2021:​dbrigalda:​schema_bloc_pedalas1.jpg?​700 |}}
 +
 +===== Descriere generală =====
 +În primul rând, semnalul emis de dozele chitării poate lua o plajă destul de largă de valori, în dependență de dozele folosite(single coil sau humbucker), dar și de felul de interpretare(picking/​strumming). În cazul în care se face strumming pe humbuckere, se pot atinge vârfuri de ±0.7-1V, însă când se face picking pe single coils, valorile nu depășesc ±0.2V. Astfel, intervine problema folosirii eficiente a rezoluției ADC-ului.
 +
 +În acest sens, am plasat un potențiometru într-un divizor de tensiune – acesta poate fi folosit pentru a regla amplitudinea intrării(volumul variază de la 0 la 0.83*Vin), iar apoi semnalul va fi amplificat de către microcontroller de 10x. Astfel, semnalul de la single coils se încadrează aproape perfect în plaja ADC-ului la volum maxim. În cazul în care chitaristul folosește humbuckere, acesta va ajusta potențiometrul la un volum mai scăzut. În acest fel obținem o soluție de compromis – un sunet mai clar pe single coils fără a risca să distorsionăm prea tare humbuckerele. ​
 +
 +Microcontrollerul de pe Arduino nu poate lucra cu tensiuni negative, astfel că vom deplasa semnalul cu 2.5V -> când din doze vor veni 0.3V, în inputul ADC-ului vor ajunge 2.8V.
 +
 +Pe partea de filtrare la input am luat în considerare următoarele fapte – frecvențele emise de o chitară electrică se încadrează(aproximativ,​ neluând în considerare acordaje stranii) în intervalul [70, 3000] Hz. Respectiv, pentru a evita zgomotul, am adăugat un filtru trece-jos și unul trece-sus(high-pass and low-pass filters). Filtrul trece-jos blochează frecvențele de la aprox. 5000 Hz în sus, iar cel trece-sus le blochează pe cele sub 30 Hz.
 +
 +{{ :​pm:​prj2021:​dbrigalda:​schema_input.jpg?​700 |}}
 +
 +Semnalul de ieșire va fi trimis într-un DAC extern
 +
 +{{ :​pm:​prj2021:​dbrigalda:​dac_schema.jpg?​700 |}}
 +
 +Pentru afișarea regimurilor și a altor date, se va folosi un modul LCD 1602, iar pentru control – un joystick. De asemenea, pentru a afișa un avertisment vizual în cazul în care volumul este prea mare, se folosește un LED roșu. ​
 +
 +{{ :​pm:​prj2021:​dbrigalda:​joystick_schema.jpg?​700 |}}
 +
 +{{ :​pm:​prj2021:​dbrigalda:​lcd_schema.jpg?​700 |}}
 +
 +{{ :​pm:​prj2021:​dbrigalda:​led_buton_schema.jpg?​700 |}}
 +
 +
 +===== Hardware Design =====
 +Listă piese
 +  * Arduino Mega
 +  * rezistențe
 +  * condensatoare
 +  * ecran LCD 1602
 +  * Joystick
 +  * Buton cu reținere
 +  * DAC extern
 +  * Jack-uri mama 6.3mm
 +  * Potențiometru
 +  * LED
 +  * Fire
 +
 +===== Software Design =====
 +
 +Pe partea de software, am ales să preiau semnalul de la convertorul analog-digital activându-i întreruperile și setându-l în Free Running Mode. În consecință,​ ADC-ul generează o întrerupere atunci când se termină o conversie. În tot timpul cât nu ne aflăm în întreruperea ADC-ului se face verificarea pinilor de intrare ai joystick-ului pentru a reîmprospăta,​ eventual, meniul. Din fericire, pentru modulele LCD și DAC există biblioteci, astfel încât utilizarea lor nu a creat mari dificultăți.
 +===== Rezultate Obţinute =====
 +
 +Din păcate, rezultatul acestui proiect nu s-a ridicat la nivelul așteptărilor. Cauza principală a acestui fapt sunt interferențele. Ceasul microcontrollerului oscilează cu 16MHz la câțiva centimetri de cablurile prin care se transmite semnalul. Din ce se pare, există o metodă de a combate acest neajuns cu ajutorul unei bobine și a unui condensator,​ însă acest lucru rămâne ca plan de viitor. În plus, și lungimea cablurilor prin care se transmite semnalul analog a avut un cuvânt de spus - în mod normal încerci să menții la minim această lungime anume pentru a evita zgomotul.
 +
 +===== Poze =====
 +{{ :​pm:​prj2021:​dbrigalda:​compressdadee.jpg?​700 |}}
 +
 +{{ :​pm:​prj2021:​dbrigalda:​img_20210604_122817_edit_1_edit_1.jpg?​700 |}}
 +
 +{{ :​pm:​prj2021:​dbrigalda:​img_20210602_060643.jpg?​700 |}}
 +===== Concluzii =====
 +
 +În concluzie, pot spune că procesarea de sunet s-a dovedit a fi o misiune ceva mai complicată decât mă așteptam. Totuși, în pofida rezultatului sub nivelul așteptărilor,​ sunt mulțumit cu munca depusă și cu lucrurile învățate în urma acestui proiect. Fără îndoială voi continua ideea până o voi aduce la o stare satisfăcătoare,​ sper doar să nu fiu nevoit să fac asta tot la PM la anul :)))
 +
 +===== Video prezentare =====
 +[[https://​youtu.be/​2UyIuJkluBw|{{ :​pm:​prj2021:​dbrigalda:​video_thumbnail.jpg?​400 |}}]]
 +
 +===== Download =====
 +{{:​pm:​prj2021:​dbrigalda:​pedalas.zip|}}
 +
 +
 +===== Resurse =====
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​De aici puteti descarca PDF</​a></​html>​
 +
 +===== Bibliografie =====
 +[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2017/​ddragomir/​cmihalache|Procesor de efecte pentru chitară - Constantin Mihalache]]
 +
 +[[https://​www.electrosmash.com/​pedalshield-uno|PedalShield Uno]]
 +
 +[[https://​electronicscoach.com/​difference-between-high-pass-and-low-pass-filter.html|High pass and low pass filters]]
pm/prj2021/dbrigalda/pedalass.1619380468.txt.gz · Last modified: 2021/04/25 22:54 by corneliu.calancea
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