Taula de continguts:

Quadre d'efectes Quad Opamp ATMega1284: 4 passos (amb imatges)
Quadre d'efectes Quad Opamp ATMega1284: 4 passos (amb imatges)

Vídeo: Quadre d'efectes Quad Opamp ATMega1284: 4 passos (amb imatges)

Vídeo: Quadre d'efectes Quad Opamp ATMega1284: 4 passos (amb imatges)
Vídeo: 50 САМЫХ ИННОВАЦИОННЫХ ЛИЧНЫХ ТРАНСПОРТНЫХ СРЕДСТВ 2021–2022 гг. 2024, Juliol
Anonim
Quadre d'efectes Quad Opamp ATMega1284
Quadre d'efectes Quad Opamp ATMega1284

El Stomp Shield per a Arduino d’Open Music Labs utilitza un Arduino Uno i quatre opamps com a caixa d’efectes de guitarra. De manera similar a la instrucció anterior que mostra com es porta l’Electrosmash Uno Pedalshield, també he portat la caixa d’efectes de guitarra Open Music Labs a l’ATMega1284P, que té vuit vegades més RAM que l’Uno (16kB contra 2kB).

En comparació amb la instrucció prèvia utilitzant la unitat d'efectes ATMega1284, aquest quadre presenta els avantatges següents:

(1) Té un mesclador que barreja el senyal no processat amb el senyal processat MCU, cosa que significa que la qualitat del senyal a la sortida està molt millorada.

(2) Fa un processament de sortida de 16 bits per a les dues sortides PWM quan la caixa d’efectes anteriors utilitza 8 bits per a alguns exemples, com l’efecte de retard.

(3) Té un potenciòmetre de retroalimentació que es pot utilitzar per millorar els efectes, especialment amb l’efecte flanger / phaser, un 30% de retroalimentació s’afegeix considerablement a la qualitat de l’efecte.

(4) La freqüència del filtre de pas baix és de 10 kHz en comparació amb els 5 kHz del quadre d'efectes anterior; això significa que el senyal a la sortida sona considerablement "més nítid".

(5) Utilitza un disparador d'interrupció diferent que pot explicar el nivell de soroll considerablement inferior que mostra aquest quadre d'efectes.

Vaig començar pensant en l'Open Music Labs Stompbox Shield, basat en Uno, i vaig quedar tan impressionat amb el rendiment d'aquest circuit de processament de senyal de quatre OpAmp (fins i tot quan s'utilitzava un Arduino Uno), que el vaig transferir al tauler de strip per a un ús més permanent.

Els mateixos quatre circuits opamp i codi DSP van ser portats a l'ATMega1284, de nou, sorprenentment a part dels canvis no essencials com assignar els commutadors i el LED a un port diferent i assignar 7.000 quilos de paraules en lloc d'1.000 kilo-word de RAM per al buffer de retard, només calia fer dos canvis essencials al codi font, és a dir, canviar a ADC0 de ADC2 i canviar les sortides Timer1 / PWM OC1A i OC1B del port B de l’Uno al port D (PD5 i PD4) a l’ATMega1284.

Com es va assenyalar anteriorment, tot i que hi ha disponibles plaques de desenvolupament per a l'ATMega1284 (Github: MCUdude MightyCore), és un exercici senzill comprar el xip nu (sense carregador d'arrencada) (compreu la versió PDIP, que és compatible amb taulers i taulers), a continuació, carregueu la forquilla Mark Pendrith del gestor d'arrencada Core Optiboot Maniacbug Mighty-1284p o l'MCUdude Mightycore, mitjançant un Uno com a programador ISP i, a continuació, carregueu esbossos de nou a través de l'Uno a l'AtMega1284. Els detalls i enllaços d’aquest procés es donen a l’apèndix 1 de la instrucció anterior.

Pas 1: llista de peces

Llista de peces
Llista de peces
Llista de peces
Llista de peces

ATMega1284P (versió PDIP de 40 pins) Arduino Uno R3 (utilitzat com a ISP per transferir el carregador d’arrencada i els esbossos a l’ATMega1284) OpAmp MCP6004 quad OpAmp (o similar RRIO (entrada i sortida de rail a rail) OpAmp com TLC2274) 1 x LED vermell 1 x 16 MHz cristall 2 x 27 pF condensadors 1 x 3n9 condensador 1 x 1n2 condensador 1 x 820pF condensador 2 x 120 pF condensador 4 x 100n condensadors 3 x 10uF 16v condensadors electrolítics 4 x 75k resistors 4 x 3k9 resistors 1 x 36k resistència 1 x resistència de 24 k 2 resistències de 1 M resistència de 1 x 470 ohm resistències de 3 x 1 k resistències de 2 x 50 k Potenciòmetres (lineals) 1 x Potènciesòmetre de 10 k (lineals) 3 commutadors de polsador (un d’ells s’ha de substituir per un de 3 pols 2- footswitch si la caixa d'efectes s'utilitzarà per a treballs en viu)

Pas 2: construcció

Construcció
Construcció

El circuit 1 mostra el circuit utilitzat i Stripboard 1 és la seva representació física (Fritzing 1) amb la foto 1, el circuit real de panell en funcionament. Es van realitzar tres petits canvis de circuit: el biaix opamp compartit de subministrament compartit s'utilitza per a tres etapes OpAmp, es van substituir les resistències paral·leles de 3 x 75k i 2x75k ohms per resistències individuals de 24k i 36k i es van augmentar els condensadors de retroalimentació a 120pF per a aquestes dues etapes OpAmp. El control rotatiu es va substituir per dos polsadors que s’utilitzen per augmentar o disminuir els paràmetres d’efectes. La connexió de tres fils a l’ATMega1284 es mostra al circuit com ADC al pin 40, PWMlow des del pin 19 i PWMhigh des del pin 18. Els tres botons polsadors estan connectats als pins 1, 36 i 35 i es posen a terra a l’altre extrem. Es connecta un LED mitjançant una resistència 470 al pin 2.

Etapes d'entrada i sortida OpAmp: és important que s'utilitzi un RRO o preferiblement un RRIO OpAmp a causa del gran voltatge que es necessita a la sortida OpAmp a l'ADC de l'ATMega1284. La llista de peces conté una sèrie de tipus OpAmp alternatius. El potenciòmetre de 50 k s’utilitza per ajustar el guany d’entrada a un nivell just per sota de qualsevol distorsió, i també es pot utilitzar per ajustar la sensibilitat d’entrada d’una font d’entrada diferent d’una guitarra com ara un reproductor de música. La segona etapa d’entrada OpAmp i la primera etapa de sortida opamp tenen un filtre RC d’ordre superior per eliminar el soroll MCU generat digitalment del flux d’àudio.

Etapa ADC: l'ADC està configurat per llegir mitjançant una interrupció del temporitzador. S'hauria de connectar un condensador 100nF entre el pin AREF de l'ATMega1284 i la terra per reduir el soroll ja que s'utilitza una font Vcc interna com a tensió de referència. NO connecteu el pin AREF a +5 volts directament.

Etapa DAC PWM: com que l'ATMega1284 no té el seu propi DAC, les formes d'ona d'àudio de sortida es generen mitjançant una modulació d'amplada d'impuls d'un filtre RC. Les dues sortides PWM de PD4 i PD5 es configuren com a bytes alt i baix de la sortida d'àudio i es barregen amb les dues resistències (3k9 i 1M) en una proporció 1: 256 (byte baix i byte alt), que genera la sortida d'àudio.

Pas 3: programari

El programari es basa en els esbossos de pedals Stompbox d'Open Music Labs, i s'inclouen dos exemples: un efecte flanger / phaser i un efecte delay. Una vegada més, com amb la instrucció anterior, els commutadors i el LED s'havien mogut a altres ports allunyats dels que feia servir el programador ISP (SCLK, MISO, MOSI i Reset).

La memòria intermèdia de retard s'ha augmentat de 1.000 paraules a 7.000 paraules i s'ha establert PortD com a sortida per als dos senyals PWM. Fins i tot amb l’augment de la memòria intermèdia de retard, l’esbós només utilitza aproximadament el 75% de la RAM de 16 kB ATMega1284 disponible.

Altres exemples, com ara el tremolo del lloc web Open Music Labs per al pedalSHIELD Uno, es poden adaptar per al seu ús pel Mega1284 canviant el fitxer d’encapçalament Stompshield.h:

(1) Canvieu DDRB | = 0x06; // estableix les sortides pwm (pins 9, 10) a outputtoDDRD | = 0x30;

i

ADMUX = 0x62; // ajust a l'esquerra, adc2, vcc intern com a referència a ADMUX = 0x60; // ajust a l'esquerra, adc0, vcc intern com a referència // Aquests canvis són l'ÚNIC canvi de codi essencial // quan es porta de l'Uno a l'ATMega1284

Per als dos exemples inclosos aquí, el fitxer de capçalera s'inclou a l'esbós, és a dir, no cal utilitzar cap fitxer de capçalera

Els botons 1 i 2 s’utilitzen en alguns esbossos per augmentar o disminuir un efecte. A l'exemple de retard, augmenta o disminueix el temps de retard. Quan es carrega l'esbós per primera vegada, comença amb l'efecte de retard màxim. Per a l'esbós de fasers de flanger, intenteu augmentar el control de retroalimentació per obtenir un efecte millorat.

Per canviar el retard a un efecte d'eco (afegir repetició), canvieu la línia:

buffer [location] = entrada; // emmagatzema una mostra nova

a

buffer [location] = (entrada + buffer [location]) >> 1; // Utilitzeu això per fer efectes de ressò

El pedal hauria de ser un interruptor bidireccional de tres pols

Pas 4: enllaços

Electrosmash

Obrir Music labs Music

Pedal d'efecte ATMega

Recomanat: