Sisukord:

ATMega1284 Quad Opamp Effects Box: 4 sammu (koos piltidega)
ATMega1284 Quad Opamp Effects Box: 4 sammu (koos piltidega)

Video: ATMega1284 Quad Opamp Effects Box: 4 sammu (koos piltidega)

Video: ATMega1284 Quad Opamp Effects Box: 4 sammu (koos piltidega)
Video: 4 awesome application of op-amps in circuits 2024, Juuli
Anonim
ATMega1284 Quad Opamp Effects Box
ATMega1284 Quad Opamp Effects Box

Open Music Labsi Arduino Stomp Shield kasutab kitarriefektide kastina Arduino Unot ja nelja opampi. Sarnaselt eelmisele juhendile, mis näitab, kuidas Electrosmash Uno Pedalshieldi teisaldada, olen ka Open Music Labsi kitarriefektide kasti ATMega1284P -sse teisaldanud, millel on kaheksa korda rohkem RAM -i kui Uno (16 kB versus 2 kB).

Võrreldes eelmise juhendiga, kasutades ATMega1284 efektide seadet, on sellel kastil järgmised eelised:

(1) Sellel on mikser, mis segab töötlemata signaali MCU töödeldud signaaliga - see tähendab, et signaali kvaliteet väljundis on palju paranenud.

(2) See töötleb kahe PWM -väljundi jaoks 16 -bitist väljundit, kui eelmine efektikast kasutas mõnede näidete jaoks, näiteks viivitusefekt, 8 bitti.

(3) Sellel on tagasiside potentsiomeeter, mida saab kasutada efektide tõhustamiseks - eriti flangeri/faaseri efekti korral suurendab umbes 30 % tagasiside efekti kvaliteeti märkimisväärselt.

(4) Madalpääsfiltri sagedus on 10 kHz võrreldes eelmise efektikasti 5 kHz -ga - see tähendab, et väljundis olev signaal kõlab märgatavalt "kargemini".

(5) See kasutab teistsugust katkestamise päästikut, mis võib seletada selle efekti lahtri märgatavalt madalamat mürataset.

Alustasin Uno-põhise Open Music Labs Stompbox Shieldi leivalauaga ja olin selle nelja OpAmp signaalitöötlusahela jõudlusest nii muljet avaldanud (isegi Arduino Uno kasutamisel), et kandsin selle stripplaadile püsivamaks kasutamiseks.

Sama neli opamp-vooluahelat ja DSP-kood teisaldati seejärel ATMega1284-sse-üllatavalt, välja arvatud ebaolulised muudatused, nagu lülitite ja LED-de määramine teisele pordile ning 7 000-kilosõnade eraldamine 1 000 asemel kilo sõnast RAM-i viivituspuhvri jaoks, tuli lähtekoodis teha vaid kaks olulist muudatust, nimelt ADC2-lt ADC0-le muutmine ning Timer1/PWM OC1A ja OC1B väljundite muutmine Uno portist D-porti (PD5 ja PD4) ATMega1284 -l.

Nagu varem märgitud, on ATMega1284 arendusplaadid saadaval (Github: MCUdude MightyCore), kuid palja (alglaadurivaba) kiibi ostmine on lihtne ülesanne (ostke leiva- ja ribalauale sobiv PDIP-versioon), seejärel laadige Maniacbug Mighty-1284p Core Optiboot alglaaduri või MCUdude Mightycore'i Mark Pendrithi kahvel, kasutades ISP programmeerijana Uno ja laadides seejärel visandid uuesti Uno kaudu AtMega1284-sse. Selle protsessi üksikasjad ja lingid on toodud eelmise juhendi 1. lisas.

Samm: osade loend

Osade nimekiri
Osade nimekiri
Osade nimekiri
Osade nimekiri

ATMega1284P (40 -pin PDIP -paketi versioon) Arduino Uno R3 (kasutatakse Interneti -teenuse pakkujana alglaaduri ja visandite ülekandmiseks ATMega1284 -le) OpAmp MCP6004 quad OpAmp (või sarnane RRIO (rööpast rööbasteni sisend ja väljund) OpAmp, näiteks TLC2274) 1 x Punane LED 1 x 16 MHz kristall 2 x 27 pF kondensaatorid 1 x 3n9 kondensaator 1 x 1n2 kondensaator 1 x 820pF kondensaator 2 x 120 pF kondensaator 4 x 100n kondensaatorid 3 x 10uF 16v elektrolüütkondensaatorid 4 x 75k takistid 4 x 3k9 takistid 1 x 36k takisti 1 x 24 k takisti 2 x 1M takistid 1 x 470 oomi takisti 3 x 1 k takistid 2 x 50 k potentsiomeetrid (lineaarne) 1 x 10 k potentsiomeeter (lineaarne) 3 x nupulülitid (üks neist tuleks asendada 3-pooluselise 2- jalglüliti, kui efektide kasti kasutatakse reaalajas tööks)

2. etapp: ehitamine

Ehitus
Ehitus

Vooluahel 1 näitab kasutatud vooluahelat ja Stripboard 1 on selle füüsiline esitus (Fritzing 1) koos fotoga 1 tegelikku leivaplaati. Tehti kolm väikest vooluahela muudatust: jagatud pooltoite taseme opamp-nihkeid kasutatakse kolme OpAmp-etapi jaoks, 3 x 75 k ja 2 x 75 k ohm paralleeltakistused asendati üksikute 24 k ja 36 k takistitega ning tagasiside kondensaatoreid suurendati kuni 120pF nende kahe OpAmp etapi jaoks. Pöördnupp asendati kahe nupuga, mida kasutatakse efektide parameetrite suurendamiseks või vähendamiseks. Kolme juhtmega ühendus ATMega1284-ga on skeemil näidatud ADC-nööpnõelaga 40, PWMlow kontaktilt 19 ja PWMhigh kontaktilt 18. Kolm vajutusnuppu on ühendatud tihvtidega 1, 36 ja 35 ning maandatud teises otsas. LED on takisti 470 kaudu ühendatud tihvtiga 2.

OpAmp sisendi ja väljundi etapid: On oluline, et kasutataks RRO -d või eelistatavalt RRIO OpAmp -i, kuna ATMega1284 ADC -l on vajalik suur pinge kõikumine. Osade loend sisaldab mitmeid alternatiivseid OpAmp -tüüpe. 50k potentsiomeetrit kasutatakse sisendi võimenduse reguleerimiseks tasemele, mis jääb veidi alla igasuguse moonutuse, ning seda saab kasutada ka sisenditundlikkuse reguleerimiseks muule sisendallikale kui kitarr, näiteks muusikapleier. Teisel OpAmp sisendastmel ja esimesel opamp väljundastmel on kõrgema astme RC filter, et eemaldada digitaalselt loodud MCU müra helivoost.

ADC etapp: ADC on konfigureeritud lugema taimeri katkestuse kaudu. Müra vähendamiseks tuleks ATMega1284 AREF -tihvti ja maanduse vahele ühendada 100nF kondensaator, kuna võrdluspingena kasutatakse sisemist Vcc -allikat - ÄRGE ühendage AREF -pinti +5 voldiga otse!

DAC PWM etapp: Kuna ATMega1284 -l pole oma DAC -i, genereeritakse väljundheli lainekujud RC -filtri impulsi laiuse modulatsiooni abil. PD4 ja PD5 kaks PWM -väljundit on seatud heliväljundi kõrgeteks ja madalateks baitideks ning segatud kahe takisti (3k9 ja 1M) suhtega 1: 256 (madal ja kõrge bait) - mis loob heliväljundi.

Samm: tarkvara

Tarkvara põhineb Open Music Labsi stompboxi pedaalijoonistel ja on lisatud kaks näidet, nimelt flangeri/faaseri efekt ja viivituse efekt. Jällegi, nagu eelmise juhendi puhul, olid lülitid ja LED -id teisaldatud teistesse portidesse kui ISP programmeerija (SCLK, MISO, MOSI ja Reset).

Viitepuhvrit on suurendatud 1000 sõnalt 7000 sõnale ja PortD on seatud kahe PWM -signaali väljundiks. Isegi viivituspuhvri suurenemise korral kasutab visand siiski ainult umbes 75% saadaolevast ATMega1284 16 kB RAM -ist.

Teisi näiteid, nagu pedaali SHOELD Uno Open Music Labsi veebisaidi tremolo, saab Mega1284 jaoks kohandada, muutes kaasamispäisefaili Stompshield.h:

(1) Muuda DDRB | = 0x06; // määrake pwm -väljundid (tihvtid 9, 10) väljundiksDDRD | = 0x30;

ja

ADMUX = 0x62; // vasakule reguleerimine, adc2, sisemine vcc kui viide ADMUX -ile = 0x60; // vasak reguleerimine, adc0, sisemine vcc viitena // Need muudatused on AINULT olulised koodimuudatused // Uno -st ATMega -sse teisaldamisel1284

Kahe siin toodud näite puhul on päisefail visandisse lisatud - st päisefaile pole vaja kasutada

Mõnes visandis kasutatakse efekti suurendamiseks või vähendamiseks nuppe 1 ja 2. Viite näites pikendab või vähendab see viivitusaega. Eskiisi esmakordsel laadimisel algab see maksimaalse viivituse efektiga. Flangeri faaseri visandi jaoks proovige tõhustada efekti suurendamiseks tagasiside juhtimist.

Viivituse muutmiseks kajaefektiks (lisage kordus) muutke rida:

puhver [asukoht] = sisend; // uue näidise salvestamine

et

puhver [asukoht] = (sisend + puhver [asukoht]) >> 1; // Kasutage seda kajaefekti jaoks

Jalglüliti peaks olema kolmepooluseline kahesuunaline lüliti

4. samm: lingid

Elektrimass

Avage Muusikalaborid Muusika

ATMega efektipedaal

Soovitan: