Daftar Isi:

Kotak Efek Atmega1284 Quad Opamp: 4 Langkah (dengan Gambar)
Kotak Efek Atmega1284 Quad Opamp: 4 Langkah (dengan Gambar)

Video: Kotak Efek Atmega1284 Quad Opamp: 4 Langkah (dengan Gambar)

Video: Kotak Efek Atmega1284 Quad Opamp: 4 Langkah (dengan Gambar)
Video: ТОП-6: ЛУЧШИЕ гитарные процессоры на 2021 год 2024, November
Anonim
Kotak Efek ATMega1284 Quad Opamp
Kotak Efek ATMega1284 Quad Opamp

Stomp Shield untuk Arduino dari Open Music Labs menggunakan Arduino Uno dan empat opamp sebagai kotak efek gitar. Mirip dengan instruksi sebelumnya yang menunjukkan cara mem-port Electrosmash Uno Pedalshield, saya juga telah mem-porting kotak Efek Gitar Open Music Labs ke ATMega1284P yang memiliki RAM delapan kali lebih banyak daripada Uno (16kB versus 2kB).

Dibandingkan dengan instruksi sebelumnya menggunakan unit efek ATMega1284, kotak ini memiliki keuntungan sebagai berikut:

(1) Memiliki mixer yang mencampur sinyal yang belum diproses dengan sinyal yang diproses MCU - yang berarti bahwa kualitas sinyal pada output jauh lebih baik.

(2) Ia melakukan pemrosesan keluaran 16 bit untuk dua keluaran PWM sedangkan kotak efek sebelumnya menggunakan 8 bit untuk beberapa contoh seperti efek penundaan.

(3) Memiliki potensiometer umpan balik yang dapat digunakan untuk meningkatkan efek - terutama dengan efek flanger/phaser sekitar 30 persen umpan balik menambah kualitas efek.

(4) Frekuensi filter low-pass adalah 10 kHz dibandingkan dengan 5 kHz dari kotak efek sebelumnya - ini berarti sinyal pada output terdengar jauh "lebih tajam".

(5) Ia menggunakan pemicu interupsi yang berbeda yang dapat menjelaskan tingkat kebisingan yang jauh lebih rendah yang ditunjukkan oleh kotak efek ini.

Saya mulai dengan memasangkan Open Music Labs Stompbox Shield berbasis Uno dan saya sangat terkesan dengan kinerja empat rangkaian pemrosesan sinyal OpAmp ini (bahkan ketika menggunakan Arduino Uno), sehingga saya memindahkannya ke stripboard untuk penggunaan yang lebih permanen.

Empat rangkaian opamp dan kode DSP yang sama kemudian di-porting ke ATMega1284 - sekali lagi, secara mengejutkan terlepas dari perubahan yang tidak penting seperti menetapkan sakelar dan LED ke port yang berbeda, dan mengalokasikan 7.000 kilo-kata alih-alih 1.000 kilo-word RAM untuk delay buffer, hanya dua perubahan penting yang harus dilakukan dalam kode sumber, yaitu mengubah ke ADC0 dari ADC2, dan mengubah output Timer1/PWM OC1A dan OC1B dari Port B di Uno ke Port D (PD5 dan PD4) pada ATMega1284.

Seperti disebutkan sebelumnya, meskipun papan pengembangan untuk ATMega1284 tersedia (Github: MCUdude MightyCore), ini adalah latihan yang mudah untuk membeli chip (bebas bootloader) (beli versi PDIP yang ramah papan roti dan papan strip), lalu muat garpu Mark Pendrith dari bootloader Maniacbug Mighty-1284p Core Optiboot atau MCUdude Mightycore, dengan menggunakan Uno sebagai pemrogram ISP, lalu muat sketsa lagi melalui Uno ke AtMega1284. Detail dan tautan untuk proses ini diberikan dalam lampiran 1 dari instruksi sebelumnya.

Langkah 1: Daftar Bagian

Daftar Suku Cadang
Daftar Suku Cadang
Daftar Suku Cadang
Daftar Suku Cadang

ATMega1284P (versi paket 40 pin PDIP) Arduino Uno R3 (digunakan sebagai ISP untuk mentransfer boot loader dan sketsa ke ATMega1284) OpAmp MCP6004 quad OpAmp (atau RRIO serupa (Input dan Output Rail to Rail) OpAmp seperti TLC2274) 1 x LED merah 1 x 16 MHz kristal 2 x 27 kapasitor pF 1 x 3n9 kapasitor 1 x 1n2 kapasitor 1 x 820pF kapasitor 2 x 120 pF kapasitor 4 x 100n kapasitor 3 x 10uF 16v kapasitor elektrolitik 4 x 75k resistor 4 x 3k9 resistor 1 x 36k resistor 1 x 24k resistor 2 x 1M resistor 1 x 470 ohm resistor 3 x 1k resistor 2 x 50k Potensiometer (linier) 1 x 10k Potensiometer (linier) 3 x sakelar tombol tekan (salah satunya harus diganti dengan 3-kutub 2- cara footswitch jika kotak efek akan digunakan untuk pekerjaan langsung)

Langkah 2: Konstruksi

Konstruksi
Konstruksi

Sirkuit 1 menunjukkan sirkuit yang digunakan dan Stripboard 1 adalah representasi fisiknya (Fritzing 1) dengan Foto 1 sirkuit papan roti yang sebenarnya beroperasi. Tiga perubahan sirkuit kecil dibuat: Bias opamp tingkat setengah suplai bersama digunakan untuk tiga tahap OpAmp, resistor paralel 3 x 75k dan 2 x 75k ohm diganti dengan resistor 24k dan 36k tunggal, dan kapasitor umpan balik ditingkatkan menjadi 120pF untuk dua tahap OpAmp ini. Kontrol putar diganti dengan dua tombol yang digunakan untuk menambah atau mengurangi parameter efek. Sambungan tiga kabel ke ATMega1284 ditunjukkan pada rangkaian sebagai ADC ke pin 40, PWMlow dari pin 19, dan PWMhigh dari pin 18. Tiga tombol push terhubung ke pin 1, 36 dan 35 dan dibumikan di ujung lainnya. Sebuah LED dihubungkan melalui resistor 470 ke pin 2.

Tahapan Input dan Output OpAmp: Penting bahwa RRO atau lebih disukai OpAmp RRIO digunakan karena ayunan tegangan yang besar diperlukan pada output OpAmp ke ADC ATMega1284. Daftar bagian berisi sejumlah jenis OpAmp alternatif. Potensiometer 50k digunakan untuk menyesuaikan penguatan input ke tingkat tepat di bawah distorsi apa pun, dan juga dapat digunakan untuk menyesuaikan sensitivitas input untuk sumber input selain gitar seperti pemutar musik. Tahap input OpAmp kedua dan tahap output opamp pertama memiliki filter RC orde lebih tinggi untuk menghilangkan noise MCU yang dihasilkan secara digital dari aliran audio.

Tahap ADC: ADC dikonfigurasi untuk membaca melalui interupsi timer. Kapasitor 100nF harus dihubungkan antara pin AREF ATMega1284 dan ground untuk mengurangi noise karena sumber Vcc internal digunakan sebagai tegangan referensi - JANGAN sambungkan pin AREF ke +5 volt secara langsung!

DAC PWM Stage: Karena ATMega1284 tidak memiliki DAC sendiri, bentuk gelombang audio output dihasilkan menggunakan modulasi lebar pulsa dari filter RC. Dua output PWM pada PD4 dan PD5 ditetapkan sebagai byte tinggi dan rendah dari output audio dan dicampur dengan dua resistor (3k9 dan 1M) dalam rasio 1:256 (byte rendah dan byte tinggi) - yang menghasilkan output audio.

Langkah 3: Perangkat Lunak

Perangkat lunak ini didasarkan pada sketsa pedal stompbox Open Music Labs, dan dua contoh disertakan yaitu efek flanger/phaser, dan efek delay. Sekali lagi seperti instruksi sebelumnya, sakelar dan LED telah dipindahkan ke port lain jauh dari yang digunakan oleh programmer ISP (SCLK, MISO, MOSI dan Reset).

Buffer penundaan telah ditingkatkan dari 1000 kata menjadi 7000 kata, dan PortD telah ditetapkan sebagai output untuk dua sinyal PWM. Bahkan dengan peningkatan buffer penundaan sketsa masih menggunakan hanya sekitar 75% dari RAM 16 kB ATMega1284 yang tersedia.

Contoh lain seperti tremolo dari situs Open Music Labs untuk pedalSHIELD Uno dapat diadaptasi untuk digunakan oleh Mega1284 dengan mengubah file header include Stompshield.h:

(1) Ubah DDRB |= 0x06; // atur output pwm (pin 9, 10) ke outputtoDDRD |= 0x30;

dan

ADMUX = 0x62; // penyesuaian kiri, adc2, vcc internal sebagai referensi ke ADMUX = 0x60; // penyesuaian kiri, adc0, vcc internal sebagai referensi // Perubahan ini adalah HANYA perubahan kode penting // saat porting dari Uno ke ATMega1284

Untuk dua contoh yang disertakan di sini, file header disertakan dalam sketsa - yaitu tidak ada file header yang perlu digunakan

Tombol tekan 1 dan 2 digunakan di beberapa sketsa untuk menambah atau mengurangi efek. Dalam contoh penundaan itu menambah atau mengurangi waktu tunda. Ketika sketsa pertama kali dimuat, itu dimulai dengan efek penundaan maksimum. Untuk sketsa phaser flanger coba tingkatkan kontrol umpan balik untuk efek yang disempurnakan.

Untuk mengubah penundaan menjadi efek gema (tambahkan pengulangan) ubah baris:

buffer[lokasi] = masukan; // simpan sampel baru

ke

buffer[lokasi] = (masukan + buffer[lokasi])>>1; // Gunakan ini untuk efek gema

Sakelar kaki harus berupa sakelar dua arah tiga kutub

Langkah 4: Tautan

Electrosmash

Buka lab Musik Musik

Pedal Efek ATMega

Direkomendasikan: