فهرست مطالب:

ATMega1284 Quad Opamp Effects Box: 4 مرحله (همراه با تصاویر)
ATMega1284 Quad Opamp Effects Box: 4 مرحله (همراه با تصاویر)

تصویری: ATMega1284 Quad Opamp Effects Box: 4 مرحله (همراه با تصاویر)

تصویری: ATMega1284 Quad Opamp Effects Box: 4 مرحله (همراه با تصاویر)
تصویری: 4 awesome application of op-amps in circuits 2024, جولای
Anonim
جعبه جلوه های چهارگانه ATMega1284
جعبه جلوه های چهارگانه ATMega1284

Stomp Shield for Arduino از Open Music Labs از Arduino Uno و چهار opamps به عنوان جعبه جلوه گیتار استفاده می کند. مشابه دستورالعمل قبلی که نحوه پورت Electrosmash Uno Pedalshield را نشان می دهد ، من همچنین جعبه جلوه های گیتار Open Music Labs را به ATMega1284P که هشت برابر RAM بیشتری نسبت به Uno (16 کیلوبایت در مقابل 2 کیلوبایت) دارد منتقل کرده ام.

در مقایسه با دستورالعمل قبلی با استفاده از واحد جلوه های ATMega1284 ، این جعبه دارای مزایای زیر است:

(1) دارای میکسر است که سیگنال پردازش نشده را با سیگنال پردازش شده MCU مخلوط می کند - این بدان معناست که کیفیت سیگنال در خروجی بسیار بهبود یافته است.

(2) پردازش خروجی 16 بیتی را برای دو خروجی PWM انجام می دهد در حالی که کادر جلوه های قبلی از 8 بیت برای برخی از مثالها مانند اثر تأخیر استفاده می کند.

(3) دارای یک پتانسیومتر بازخورد است که می تواند برای افزایش اثرات مورد استفاده قرار گیرد - به ویژه با اثر فلنجر/فازر حدود 30 درصد بازخورد به میزان قابل توجهی به کیفیت اثر می افزاید.

(4) فرکانس فیلتر کم گذر در مقایسه با 5 کیلوهرتز جعبه جلوه های قبلی 10 کیلوهرتز است - این بدان معناست که سیگنال خروجی به طور قابل توجهی "تردتر" به نظر می رسد.

(5) از ماشه وقفه متفاوتی استفاده می کند که ممکن است سطح نویز بسیار پایین تر نشان داده شده توسط این جعبه جلوه ها را توضیح دهد.

من با سوار شدن بر نان در Open Music Labs Stompbox Shield مستقر در Uno شروع به کار کردم و از عملکرد این چهار مدار پردازش سیگنال OpAmp (حتی هنگام استفاده از Arduino Uno) بسیار تحت تأثیر قرار گرفتم ، که آن را برای استفاده دائمی تر به تخته نوار منتقل کردم.

همان چهار مدار opamp و کد DSP سپس به ATMega1284 منتقل شد-دوباره ، به طور شگفت انگیزی جدا از تغییرات غیر ضروری مانند اختصاص کلیدها و LED به پورت دیگر ، و اختصاص 7000 کیلو کلمه به جای 1 ، 000 کیلو کلمه RAM برای بافر تاخیری ، فقط دو تغییر اساسی در کد منبع باید انجام شود ، یعنی تغییر به ADC0 از ADC2 و تغییر خروجی های Timer1/PWM OC1A و OC1B از پورت B در Uno به پورت D (PD5 و PD4) در ATMega1284.

همانطور که قبلاً اشاره شد ، اگرچه تابلوهای توسعه ATMega1284 در دسترس هستند (Github: MCUdude MightyCore) ، اما خرید یک تراشه برهنه (بدون بوت لودر) بسیار آسان است (نسخه PDIP را خریداری کنید که برای برد نان و نوار تخته مناسب است) ، سپس با استفاده از Uno به عنوان برنامه نویس ISP ، چنگال Mark Pendrith از بوت لودر Maniacbug Mighty-1284p Core Optiboot یا MCUdude Mightycore را بارگذاری کنید ، و سپس طرح ها را دوباره از طریق Uno در AtMega1284 بارگذاری کنید. جزئیات و پیوندهای این فرآیند در ضمیمه 1 دستورالعمل قبلی آورده شده است.

مرحله 1: لیست قطعات

فهرست قطعات
فهرست قطعات
فهرست قطعات
فهرست قطعات

ATMega1284P (نسخه بسته پستی PDIP 40 پین) Arduino Uno R3 (به عنوان ISP برای انتقال بوت لودر و طرح ها به ATMega1284 استفاده می شود) OpAmp MCP6004 چهار OpAmp (یا RRIO مشابه (Rail to Rail Input and Output) OpAmp مانند TLC2274) 1 x کریستال LED 1 x 16 MHz خازن 2 x 27 pF خازن 1 x 3n9 خازن 1 x 1n2 خازن 1 x 820pF خازن 2 x 120 pF خازن 4 x 100n خازن 3 x 10uF 16v خازن الکترولیتی 4 مقاومت 75k مقاومت 4 x 3k9 مقاومت 1 x 36k مقاومت 1 x مقاومت 24k 2 x 1M مقاومت 1 x 470 اهم مقاومت 3 x 1k مقاومت 2 x 50k پتانسیومتر (خطی) 1 x 10k پتانسیومتر (خطی) 3 عدد کلید دکمه ای (یکی از آنها باید با 3 قطبی 2- جایگزین شود در صورت استفاده از جعبه جلوه ها برای کار زنده) footswitch way)

مرحله 2: ساخت و ساز

ساخت و ساز
ساخت و ساز

مدار 1 مدار مورد استفاده را نشان می دهد و Stripboard 1 نمای فیزیکی آن است (Fritzing 1) با عکس 1 ، مدار واقعی نان در حال کار است. سه تغییر در مدار کوچک ایجاد شد: جهت گیری opamp در سطح نیمه تامین برای سه مرحله OpAmp استفاده می شود ، مقاومتهای موازی 3 x 75k و 2 x 75k اهم با مقاومتهای 24k و 36k جایگزین شده و خازنهای بازخورد به 120pF برای این دو مرحله OpAmp. کنترل دوار با دو دکمه فشاری جایگزین شد که برای افزایش یا کاهش پارامترهای جلوه استفاده می شود. اتصال سه سیمه به ATMega1284 روی مدار به صورت ADC تا پین 40 ، PWMlow از پین 19 و PWMhigh از پین 18 نشان داده شده است. سه دکمه فشاری به پین 1 ، 36 و 35 متصل شده و در انتهای دیگر زمین هستند. یک LED از طریق مقاومت 470 به پین 2 متصل می شود.

مراحل ورودی و خروجی OpAmp: مهم است که از RRO یا ترجیحاً RRIO OpAmp استفاده شود زیرا نوسان ولتاژ زیادی در خروجی OpAmp به ADC ATMega1284 نیاز دارد. لیست قطعات شامل تعدادی از انواع جایگزین OpAmp است. پتانسیومتر 50k برای تنظیم افزایش ورودی در سطحی درست زیر هرگونه اعوجاج استفاده می شود و همچنین می تواند برای تنظیم حساسیت ورودی برای منبع ورودی غیر از گیتار مانند پخش کننده موسیقی استفاده شود. مرحله دوم ورودی OpAmp و مرحله اول خروجی opamp دارای فیلتر RC مرتبه بالاتری است تا نویز MCU دیجیتالی تولید شده از جریان صوتی را حذف کند.

مرحله ADC: ADC طوری تنظیم شده است که از طریق وقفه زمان سنج مطالعه می کند. یک خازن 100nF باید بین پین AREF ATMega1284 و زمین متصل شود تا نویز کاهش یابد زیرا منبع داخلی Vcc به عنوان ولتاژ مرجع استفاده می شود - پین AREF را مستقیماً به +5 ولت وصل نکنید!

مرحله DAC PWM: از آنجا که ATMega1284 DAC خاص خود را ندارد ، شکل موج خروجی با استفاده از مدولاسیون عرض پالس یک فیلتر RC تولید می شود. دو خروجی PWM در PD4 و PD5 به عنوان بایت بالا و پایین خروجی صدا تنظیم شده و با دو مقاومت (3k9 و 1M) در نسبت 1: 256 (بایت کم و بایت زیاد) مخلوط می شوند - که خروجی صدا را تولید می کند به

مرحله 3: نرم افزار

این نرم افزار بر اساس طرح های پدال stompbox Open Music Labs طراحی شده است و دو مثال شامل اثر فلنج/فازر و جلوه تاخیری در آن گنجانده شده است. باز هم مانند دستورالعمل قبلی ، سوئیچ ها و LED به درگاه های دیگر دورتر از پورت های مورد استفاده برنامه نویس ISP (SCLK ، MISO ، MOSI و Reset) منتقل شدند.

بافر تأخیری از 1000 کلمه به 7000 کلمه افزایش یافته و PortD به عنوان خروجی دو سیگنال PWM تنظیم شده است. حتی با افزایش بافر تاخیری ، طرح هنوز از 75٪ RAM 16 کیلوبایت ATMega1284 موجود استفاده می کند.

نمونه های دیگری مانند tremolo از وب سایت Open Music Labs برای pedal SHIELD Uno را می توان با استفاده از فایل سربرگ Stompshield.h برای استفاده توسط Mega1284 تطبیق داد:

(1) تغییر DDRB | = 0x06 ؛ // خروجی های pwm (پایه های 9 ، 10) را روی outputtoDDRD | = 0x30 تنظیم کنید ؛

و

ADMUX = 0x62 ؛ // تنظیم چپ ، adc2 ، داخلی vcc به عنوان مرجع ADMUX = 0x60 ؛ // تنظیم سمت چپ ، adc0 ، داخلی vcc به عنوان مرجع // این تغییرات تنها تغییرات اساسی کد هستند // هنگام انتقال از Uno به ATMega1284

برای دو مثال ذکر شده در اینجا ، فایل سرصفحه در طرح وجود دارد - یعنی نیازی به استفاده از فایل های سرصفحه نیست

دکمه های فشاری 1 و 2 در برخی از طرح ها برای افزایش یا کاهش اثر استفاده می شود. در مثال تأخیر ، زمان تاخیر را افزایش یا کاهش می دهد. هنگامی که طرح برای اولین بار بارگذاری می شود ، با حداکثر تأخیر شروع می شود. برای طرح فلاژنر فازر ، سعی کنید کنترل بازخورد را برای اثر بیشتر افزایش دهید.

برای تغییر تأخیر به یک اثر اکو (افزودن تکرار) خط را تغییر دهید:

بافر [محل] = ورودی ؛ // ذخیره نمونه جدید

به

بافر [محل] = (ورودی + بافر [محل]) >> 1؛ // از این برای echo effct استفاده کنید

کلید پا باید یک سوئیچ سه طرفه دو طرفه باشد

مرحله 4: پیوندها

الکتروسماش

باز کردن آزمایشگاه های موسیقی Music

پدال جلوه ATMega

توصیه شده: