Talaan ng mga Nilalaman:

Box ng Mga Epekto ng Quad Opamp ng ATMega1284: 4 na Hakbang (na may Mga Larawan)
Box ng Mga Epekto ng Quad Opamp ng ATMega1284: 4 na Hakbang (na may Mga Larawan)

Video: Box ng Mga Epekto ng Quad Opamp ng ATMega1284: 4 na Hakbang (na may Mga Larawan)

Video: Box ng Mga Epekto ng Quad Opamp ng ATMega1284: 4 na Hakbang (na may Mga Larawan)
Video: Review of DC 1500W Boost Converter 10V-60V to 12V-90V module 1.5kW Tested 2024, Hulyo
Anonim
Box ng Mga Epekto ng Quad Opamp na ATMega1284
Box ng Mga Epekto ng Quad Opamp na ATMega1284

Ang Stomp Shield para sa Arduino mula sa Open Music Labs ay gumagamit ng Arduino Uno at apat na opamp bilang kahon ng mga effects ng gitara. Katulad ng nakaraang itinuro na nagpapakita kung paano i-port ang Electrosmash Uno Pedalshield, na-port din ang kahon ng Open Music Labs Guitar Effects sa ATMega1284P na mayroong walong beses na mas maraming RAM kaysa sa Uno (16kB kumpara sa 2kB).

Kung ihahambing sa nakaraang itinuro gamit ang unit ng mga epekto ng ATMega1284, ang kahon na ito ay may mga sumusunod na kalamangan:

(1) Mayroon itong panghalo na pinaghalo ang hindi naprosesong signal sa naproseso na signal ng MCU - nangangahulugan iyon na ang kalidad ng signal sa output ay napabuti.

(2) Gumagawa ito ng 16 bit na pagpoproseso ng output para sa dalawang output ng PWM samantalang ang nakaraang mga kahon ng effects ay gumagamit ng 8 bits para sa ilan sa mga halimbawa tulad ng epekto ng pagkaantala.

(3) Mayroon itong isang potensyomiter ng feedback na maaaring magamit upang mapagbuti ang mga epekto - lalo na sa epekto ng flanger / phaser na humigit-kumulang 30 porsyentong feedback na nagdaragdag nang malaki sa kalidad ng epekto.

(4) Ang dalas ng low-pass filter ay 10 kHz kumpara sa 5 kHz ng nakaraang mga kahon ng effects - nangangahulugan ito na ang signal sa output ay tunog na "crispier".

(5) Gumagamit ito ng ibang pag-agaw ng pag-agaw na maaaring ipaliwanag ang mas mababang antas ng ingay na ipinakita ng kahon ng mga effects na ito.

Nagsimula ako sa pamamagitan ng pagsakay sa tinapay sa Uno-based Open Music Labs Stompbox Shield at labis akong humanga sa pagganap ng apat na OpAmp signal processing circuit (kahit na gumagamit ng isang Arduino Uno), na inilipat ko ito sa stripboard para sa mas permanenteng paggamit.

Ang parehong apat na opamp circuit at DSP code ay na-port sa ATMega1284 - muli, nakakagulat na hiwalay sa mga hindi kinakailangang pagbabago tulad ng pagtatalaga ng mga switch at LED sa ibang port, at paglalaan ng 7, 000 kilo-salita sa halip na 1, 000 kilo-salita ng RAM para sa pagkaantala ng buffer, dalawang mahahalagang pagbabago lamang ang kailangang gawin sa source code, katulad ng pagbabago sa ADC0 mula sa ADC2, at pagbabago ng Timer1 / PWM OC1A at OC1B output mula sa Port B sa Uno hanggang Port D (PD5 at PD4) sa ATMega1284.

Tulad ng naunang nabanggit, kahit na ang mga board ng pag-unlad para sa ATMega1284 ay magagamit (Github: MCUdude MightyCore), ito ay isang madaling ehersisyo upang bumili ng hubad (walang bootloader) na chip (bilhin ang bersyon ng PDIP na kung saan ay bread-board at strip-board friendly), pagkatapos ay i-load ang Mark Pendrith fork ng Maniacbug Mighty-1284p Core Optiboot bootloader o ang MCUdude Mightycore, sa pamamagitan ng paggamit ng isang Uno bilang ISP programmer, at pagkatapos ay muling pag-load ng mga sketch sa pamamagitan ng Uno sa AtMega1284. Ang mga detalye at link para sa prosesong ito ay ibinibigay sa apendiks 1 ng nakaraang itinuro.

Hakbang 1: Listahan ng Mga Bahagi

Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi
Listahan ng Mga Bahagi

ATMega1284P (bersyon ng pakete ng PDIP 40 pin) Arduino Uno R3 (ginamit bilang isang ISP upang ilipat ang boot loader at mga sketch sa ATMega1284) OpAmp MCP6004 quad OpAmp (o katulad na RRIO (Rail to Rail Input at Output) OpAmp tulad ng TLC2274) 1 x Red LED 1 x 16 MHz crystal 2 x 27 pF capacitors 1 x 3n9 capacitor 1 x 1n2 capacitor 1 x 820pF capacitor 2 x 120 pF capacitor 4 x 100n capacitors 3 x 10uF 16v electrolytic capacitors 4 x 75k resistors 4 x 3k9 resistors 1 x 36k risistor 1 x 24k risistor 2 x 1M risistor 1 x 470 ohm risistor 3 x 1k risistor 2 x 50k Mga Potensyometro (linear) 1 x 10k Potensyomiter (linear) 3 x pushbutton switch (ang isa sa mga ito ay dapat mapalitan ng isang 3-postong 2- paraan footswitch kung ang effects box ay gagamitin para sa live na trabaho)

Hakbang 2: Konstruksiyon

Konstruksyon
Konstruksyon

Ipinapakita ng Circuit 1 ang ginamit na circuit at ang Stripboard 1 ay ang pisikal na representasyon nito (Fritzing 1) na may Larawan 1 ang aktwal na circuit na nakasakay sa tinapay. Tatlong maliliit na pagbabago sa circuit ang nagawa: Ang nakabahaging kalahating supply-level na antas ng opamp ay ginagamit para sa tatlong yugto ng OpAmp, ang 3 x 75k at 2 x 75k ohms parallel resistors ay pinalitan ng solong 24k at 36k resistors, at ang mga capacitor ng feedback ay nadagdagan sa 120pF para sa dalawang yugto ng OpAmp na ito. Ang rotary control ay napalitan ng dalawang mga pushbuttons na ginagamit upang madagdagan o mabawasan ang mga parameter ng epekto. Ang koneksyon ng tatlong kawad sa ATMega1284 ay ipinapakita sa circuit bilang ADC sa pin 40, PWMlow mula sa pin 19, at PWMhigh mula sa pin 18. Ang tatlong mga pindutan ng push ay konektado sa mga pin 1, 36 at 35 at earthed sa kabilang dulo. Ang isang LED ay konektado sa pamamagitan ng isang 470 risistor upang i-pin 2.

Mga yugto ng Input at Output ng OpAmp: Mahalaga na ang isang RRO o mas mabuti ang isang RRIO OpAmp ay ginagamit dahil sa malaking swing ng boltahe na kinakailangan sa output ng OpAmp sa ADC ng ATMega1284. Naglalaman ang listahan ng mga bahagi ng isang bilang ng mga kahalili na uri ng OpAmp. Ginagamit ang 50k potentiometer upang ayusin ang nakuha sa pag-input sa isang antas sa ibaba lamang ng anumang pagbaluktot, at maaari rin itong magamit upang ayusin ang pagkasensitibo sa pag-input para sa isang mapagkukunan ng pag-input bukod sa isang gitara tulad ng isang music player. Ang pangalawang yugto ng pag-input ng OpAmp at ang unang yugto ng pag-output ng opamp ay may isang mas mataas na order ng RC filter upang alisin ang digital na nabuo na ingay ng MCU mula sa audio stream.

ADC Stage: Ang ADC ay naka-configure upang mabasa sa pamamagitan ng isang timer makagambala. Ang isang 100nF capacitor ay dapat na konektado sa pagitan ng mga AREF pin ng ATMega1284 at ground upang mabawasan ang ingay bilang isang panloob na mapagkukunan ng Vcc ay ginagamit bilang isang boltahe ng sanggunian - HUWAG direktang ikonekta ang mga AREF na pin sa +5 volt!

DAC PWM Stage: Dahil ang ATMega1284 ay walang sariling DAC, ang output audio waveforms ay nabuo gamit ang isang pulso lapad na modulate ng isang RC filter. Ang dalawang output ng PWM sa PD4 at PD5 ay itinakda bilang mataas at mababang byte ng output ng audio at halo-halong sa dalawang resistors (3k9 at 1M) sa isang 1: 256 ratio (mababang byte at mataas na byte) - na bumubuo ng audio output.

Hakbang 3: Software

Ang software ay batay sa Open Sketch Music Labs stompbox pedal sketches, at dalawang halimbawa ang kasama kabilang ang isang flanger / phaser effect, at isang epekto ng pagkaantala. Muli tulad ng nakaraang itinuturo, ang mga switch at LED ay inilipat sa iba pang mga port na malayo sa mga ginamit ng ISP programmer (SCLK, MISO, MOSI at Reset).

Ang pagkaantala buffer ay nadagdagan mula sa 1000 mga salita sa 7000 mga salita, at PortD ay itinakda bilang output para sa dalawang mga signal PWM. Kahit na sa pagtaas ng pagkaantala ng buffer ang sketch ay gumagamit pa lamang ng halos 75% ng magagamit na ATMega1284 16 kB RAM.

Ang iba pang mga halimbawa tulad ng tremolo mula sa website ng Open Music Labs para sa pedalSHIELD Uno ay maaaring iakma para magamit ng Mega1284 sa pamamagitan ng pagbabago ng isama ang header file na Stompshield.h:

(1) Baguhin ang DDRB | = 0x06; // set pwm outputs (pin 9, 10) to outputtoDDRD | = 0x30;

at

ADMUX = 0x62; // left adjust, adc2, internal vcc bilang pagtukoy sa ADMUX = 0x60; // left adjust, adc0, internal vcc bilang sanggunian // Ang mga pagbabagong ito ay ang LAMANG mga mahahalagang pagbabago ng code // kapag nag-port mula sa Uno patungong ATMega1284

Para sa dalawang halimbawang kasama dito, ang header file ay kasama sa sketch - ibig sabihin, hindi kailangang gumamit ng mga file ng header

Ang mga pushbutton na 1 at 2 ay ginagamit sa ilan sa mga sketch upang madagdagan o mabawasan ang isang epekto. Sa halimbawa ng pagkaantala ay nadaragdagan o nababawasan ang oras ng pagkaantala. Kapag na-load ang sketch ay nagsisimula ito sa maximum na epekto ng pagkaantala. Para sa flanger phaser sketch subukang dagdagan ang kontrol ng feedback para sa isang pinahusay na epekto.

Upang baguhin ang pagkaantala sa isang epekto ng echo (magdagdag ng pag-uulit) palitan ang linya:

buffer [lokasyon] = input; // mag-imbak ng bagong sample

sa

buffer [lokasyon] = (input + buffer [lokasyon]) >> 1; // Gamitin ito para sa echo effct

Ang footswitch ay dapat na isang tatlong poste two way switch

Hakbang 4: Mga Link

Electrosmash

Buksan ang Music labs Music

Pedal ng Epekto ng ATMega

Inirerekumendang: