Satura rādītājs:

ATMega1284P ģitāras un mūzikas efektu pedālis: 6 soļi (ar attēliem)
ATMega1284P ģitāras un mūzikas efektu pedālis: 6 soļi (ar attēliem)

Video: ATMega1284P ģitāras un mūzikas efektu pedālis: 6 soļi (ar attēliem)

Video: ATMega1284P ģitāras un mūzikas efektu pedālis: 6 soļi (ar attēliem)
Video: BERMUDU DIVSTŪRIS x APVEDCEĻŠ - Brāl' Ar Dzīvi Nekaulē 2024, Jūlijs
Anonim
ATMega1284P ģitāras un mūzikas efektu pedālis
ATMega1284P ģitāras un mūzikas efektu pedālis

Esmu pārnesis Arduino Uno ATMega328 Pedalshield (kā izstrādājis Electrosmash un daļēji balstīts uz darbu Open Music Lab) uz ATMega1284P, kurā ir astoņas reizes vairāk RAM nekā Uno (16 KB pret 2 KB). Papildu negaidīts ieguvums ir tas, ka Mega1284 būvē ir daudz zemāks trokšņa komponents - tādā mērā, ka, salīdzinot Uno un Mega1284, izmantojot to pašu atbalsta shēmu, nav saprātīgi Uno raksturot kā "trokšņainu" un Mega1284 kā " kluss ". Lielāka RAM nozīmē, ka var iegūt daudz ilgāku aizkaves efektu - un to pierāda manis iekļautais Arduino skices piemērs. Fona elpošanas troksnis, izmantojot Tremelo efektu, (gandrīz) nav pieejams arī ar ATMega1284.

Trīs Atmel AVR mikroprocesoru salīdzinājums, proti, 328P, kas ir Uno, 2560P, kas ir Mega2560, un Mega1284 parāda, ka pēdējam ir visvairāk RAM no trim:

Aspekts 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO tapas 23 32 86 Pārtraukumi 2 3 8 Analog In 6 8 16

Es sāku ar Uno bāzes pedalSHIELD maizi, kā norādīts Electrosmash specifikācijā, bet man nebija tāda paša RRO OpAmp, kā norādīts. Tā rezultātā es nonācu pie ķēdes, kas, manuprāt, deva pieņemamus rezultātus. Sīkāka informācija par šo Uno versiju ir sniegta 2. pielikumā.

Šī pati shēma pēc tam tika pārnesta uz ATMega1284 - pārsteidzoši, izņemot nesvarīgas izmaiņas, piemēram, slēdžu un gaismas diodes piešķiršanu citam portam un aizkavēšanas buferim tikai 12 000 kB RAM piešķiršanu. avota kodā bija jāveic viena būtiska izmaiņa, proti, mainot Timer1/PWM OC1A un OC1B izejas no B porta uz Uno uz portu D (PD5 un PD4) uz ATMega1284.

Vēlāk es atklāju lieliskās modifikācijas elektriskās šķembas shēmā, ko veica Pols Galahers, un pēc pārbaudes es parādīšu šo shēmu - bet pēc tam arī ar izmaiņām: Uno aizstāšana ar Mega1284, kā OpAmp izmantojot Texas Instruments TLC2272 un lieliskā Mega1284 trokšņa līmeņa dēļ es varētu arī paaugstināt zemas caurlaidības filtra frekvences līmeni.

Ir svarīgi atzīmēt, ka, lai gan ir pieejamas ATMega1284 izstrādes plates (Github: MCUdude MightyCore), ir vienkāršs uzdevums iegādāties vienkāršu (bez sāknēšanas ielādes) mikroshēmu (iegādājieties PDIP versiju, kas ir maize un lentes) draudzīgs), pēc tam ielādējiet Maniacbug Mighty-1284p Core Optiboot sāknēšanas ielādētāja vai MCUdude Mightycore Mark Pendrith dakšiņu, izmantojot Uno kā ISP programmētāju, un pēc tam vēlreiz ielādējiet skices, izmantojot Uno, uz AtMega1284. Sīkāka informācija un saites par šo procesu ir dotas 1. pielikumā.

Es vēlētos atzīmēt trīs svarīgākos avotus, no kuriem var iegūt papildu informāciju, kā arī sniegt saites uz viņu vietnēm un šī raksta beigām: Electrosmash, Open Music Labs un Tardate/Paul Gallagher

1. darbība: detaļu saraksts

ATMega1284P (PDIP 40 kontaktu pakotnes versija) Arduino Uno R3 (izmanto kā ISP, lai pārsūtītu sāknēšanas ielādētāju un skices uz ATMega1284) OpAmp TLC2272 (vai līdzīgu RRIO (ieeja un izeja no dzelzceļa līdz dzelzceļam) OpAmp, piemēram, MCP6002, LMC6482, TL972) Sarkans LED 16 MHz kristāls 2 x 27 pF kondensatori 5 x 6n8 kondensatori 270 pF kondensators 4 x 100n kondensatori 2 x 10uF 16v elektrolītiskie kondensatori 6 x 4k7 rezistori 100k rezistors 2 x 1M rezistori 470 omu rezistors 1M2 rezistors 100k potenciometrs 3 x spiedpogas slēdži (viens no tiem jāaizstāj ar 3 polu divvirzienu pēdu slēdzi, ja efektu kaste tiks izmantota tiešraidē)

2. solis: būvniecība

Būvniecība
Būvniecība
Būvniecība
Būvniecība
Būvniecība
Būvniecība

Shēmā 1 ir norādīta izmantotā ķēde, un maizes dēlis 1 ir tā fiziskais attēlojums (Fritzing 1) ar 1. fotoattēlu-faktiskā maizes dēļu shēma. Var būt izdevīgi izmantot potenciometru kā maisītāju sausam (vienādam ar ieeju) un slapjam (pēc apstrādes ar MCU) signālam, un 2. shēmā, 2. maizē un 2. fotoattēlā (uzskaitīts 2. papildinājumā) ķēdes detaļas par iepriekš izveidotu ķēdi, kurā ir šāda ieeja izejas maisītājā. Apskatiet arī Open Music Labs StompBox, lai uzzinātu citu miksera ieviešanu, izmantojot četrus OpAmps.

OpAmp ievades un izvades posmi: Ir svarīgi izmantot RRO vai, vēlams, RRIO OpAmp, jo liela sprieguma svārstība nepieciešama OpAmp izejā uz ATMega1284 ADC. Daļu sarakstā ir vairāki alternatīvi OpAmp veidi. 100k potenciometrs tiek izmantots, lai noregulētu ievades pastiprinājumu līdz līmenim, kas ir nedaudz zemāks par jebkādiem izkropļojumiem, un to var izmantot arī, lai pielāgotu ieejas jutību ieejas avotam, kas nav ģitāra, piemēram, mūzikas atskaņotājs. OpAmp izvades stadijā ir augstākas pakāpes RC filtrs, lai no audio straumes noņemtu digitāli radīto MCU troksni.

ADC posms: ADC ir konfigurēts tā, lai visu laiku lasītu ar pārtraukumu. Ņemiet vērā, ka 100 nF kondensators ir jāpievieno starp ATMega1284 AREF tapu un zemi, lai samazinātu troksni, jo iekšējais Vcc avots tiek izmantots kā atskaites spriegums - NEDRĪKST AREF tapu tieši pievienot +5 voltiem!

DAC PWM posms: Tā kā ATMega1284 nav sava DAC, izejas audio viļņu formas tiek ģenerētas, izmantojot RC filtra impulsa platuma modulāciju. Abas PWM izejas uz PD4 un PD5 ir iestatītas kā augstie un zemie audio izvades baiti un sajaukti ar abiem rezistoriem (4k7 un 1M2) 1: 256 attiecībās (zems baits un augsts baits), kas ģenerē audio izvadi. Var būt vērts eksperimentēt ar citiem rezistoru pāriem, piemēram, 3k9 1M omi, ko Open Music Labs izmanto savā StompBox.

3. darbība: programmatūra

Programmatūra ir balstīta uz elektriskajām skicēm, un iekļautais piemērs (pedalshield1284delay.ino) ir pielāgots no to Uno aizkaves skices. Daži slēdži un gaismas diodes tika pārvietoti uz citām ostām, nevis no ISP programmētāja izmantotajām ostām (SCLK, MISO, MOSI un Reset), aiztures buferis ir palielināts no 2000 baitiem līdz 12000 baitiem, un PortD ir iestatīts kā izeja diviem PWM signāliem. Pat palielinot aizkaves buferi, skice joprojām izmanto tikai aptuveni 70% no pieejamās 1284 RAM.

Citus piemērus, piemēram, oktālis vai tremolo no pedāļa elektromasas tīmekļa vietnes SHIELD Uno var pielāgot Mega1284 lietošanai, mainot trīs koda sadaļas:

(1) Mainīt DDRB | = ((PWM_QTY << 1) | 0x02); uz DDRD | = 0x30; // Iepriekš minētās izmaiņas ir TIKAI būtiskas koda izmaiņas //, pārnēsājot no AtMega328 uz ATMega1284

(2) Mainīt #define LED 13 #define FOOTSWITCH 12 #define TOGGLE 2 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4

uz

#define LED PB0 #define FOOTSWITCH PB1 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4

(3) Mainīt pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, OUTPUT)

uz

pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, OUTPUT);

Spiedpogas 1 un 2 dažās skicēs tiek izmantotas, lai palielinātu vai samazinātu efektu. Aizkaves piemērā tas palielina vai samazina aizkaves laiku. Kad skice pirmo reizi tiek ielādēta, tā sākas ar maksimālo aizkaves efektu. nospiediet lejupvērsto pogu - paiet aptuveni 20 sekundes, lai atskaitītos līdz aizkavei - un tad nospiediet un turiet augšup pogu. Klausieties, kā pogas turēšanas slaucīšanas efekts maina efektu uz fāzeru, kori un atlokiem, kā arī aizkavi, kad poga tiek atlaista.

Lai mainītu aizkavi uz atbalss efektu (pievienojiet atkārtojumu), mainiet rindu:

DelayBuffer [DelayCounter] = ADC_augsts;

uz

DelayBuffer [DelayCounter] = (ADC_high + (DelayBuffer [DelayCounter])) >> 1;

Kāju slēdzim jābūt trīs polu divvirzienu slēdzim, un tam jābūt savienotam, kā aprakstīts elektriskās maskas vietnē.

4. solis: saites

Saites
Saites

(1) Elektromašīna:

(2) Atvērtās mūzikas laboratorijas:

(3) Pols Galahers:

(4) 1284 sāknēšanas ielādētājs:

(5) ATmega1284 8 bitu AVR mikrokontrolleris:

Electrosmash Openlabs Music Paul Gallagher 1284 Bootloader 11284 Bootloader 2ATmega1284 8bit AVR mikrokontrolleris

5. solis: 1. pielikums ATMega1284P programmēšana

1. pielikums ATMega1284P programmēšana
1. pielikums ATMega1284P programmēšana
1. pielikums ATMega1284P programmēšana
1. pielikums ATMega1284P programmēšana
1. pielikums ATMega1284P programmēšana
1. pielikums ATMega1284P programmēšana

Ir dažas vietnes, kurās sniegts labs skaidrojums par to, kā ieprogrammēt tukšo ATMega1284 mikroshēmu lietošanai ar Arduino IDE. Process būtībā ir šāds: (1) Arduino IDE instalējiet Maniacbug Mighty-1284p Core Optiboot bootloader dakšu Mark Pendrith. (2) Pievienojiet ATMega1284 uz maizes dēļa ar minimālo konfigurāciju, kas ir 16 MHz kristāls, 2 x 22 pF kondensatori, kas sablīvē kristāla abus galus, savienojiet abas zemējuma tapas kopā (11. un 31. tapa) un pēc tam pie Arduino Uno zemes, savienojiet Vcc un AVcc kopā (10. un 30. tapas) un pēc tam pie Uno +5v, pēc tam pievienojiet atiestatīšanas tapu 9 pie Uno D10 tapas, MISO tapu 7 ar UNO D12, The MOSI 8. taustiņu uz Uno D11 un SCLK 7. taustiņu uz Uno D13 tapu. (3) Savienojiet Uno ar Arduino IDE un ielādējiet skices piemēru Arduino kā ISP uz Uno. (4) Tagad atlasiet 1284 "maniaka" vareno optiboot dēli un izvēlieties opciju Burn bootloader. (5) Pēc tam atlasiet šeit norādīto 1284 aizkaves skici un augšupielādējiet to, izmantojot skicu izvēlnē opciju Uno kā programmētājs.

Saites, kas sīkāk izskaidro procesu, ir šādas:

ATmega1284 izmantošana kopā ar Arduino IDEArduino Mightycore lieliem maizes dēļiem draudzīgiem AVR ATMega1284p prototipa izveide Arduino ATmega1284p sāknēšanas ielādētājs

6. solis: 2. papildinājums Arduino Uno PedalSHIELD variācija

2. pielikums Arduino Uno PedalSHIELD variācija
2. pielikums Arduino Uno PedalSHIELD variācija
2. pielikums Arduino Uno PedalSHIELD variācija
2. pielikums Arduino Uno PedalSHIELD variācija
2. pielikums Arduino Uno PedalSHIELD variācija
2. pielikums Arduino Uno PedalSHIELD variācija

Shēmā3, Breadboard3 un Photo3 ir sniegta informācija par Uno balstītu ķēdi, kas bija pirms AtMega1284 būvēšanas.

Var būt izdevīgi izmantot potenciometru kā maisītāju sausajam (vienādam ar ieeju) un mitrajam (pēc apstrādes ar MCU) signālam, un 2. shēmā, 2. maizē un 2. fotoattēlā ir sniegta iepriekš izveidotas shēmas shēma. kas ietver šādu ievadi izejas maisītājā. Apskatiet arī Open Music Labs StompBox, lai uzzinātu citu miksera ieviešanu, izmantojot četrus OpAmps

Ieteicams: