Բովանդակություն:

ATMega1284 Quad Opamp Effects Box: 4 քայլ (նկարներով)
ATMega1284 Quad Opamp Effects Box: 4 քայլ (նկարներով)

Video: ATMega1284 Quad Opamp Effects Box: 4 քայլ (նկարներով)

Video: ATMega1284 Quad Opamp Effects Box: 4 քայլ (նկարներով)
Video: PID demo 2024, Նոյեմբեր
Anonim
ATMega1284 Quad Opamp Effects Box
ATMega1284 Quad Opamp Effects Box

Բաց երաժշտական լաբորատորիաներից Arduino- ի Stomp Shield- ը որպես կիթառի էֆեկտների տուփ օգտագործում է Arduino Uno և չորս opamps: Նախորդ հրահանգի նման, որը ցույց է տալիս, թե ինչպես միացնել Electrosmash Uno Pedalshield- ը, ես նաև տեղափոխել եմ Open Music Labs Guitar Effects տուփը ATMega1284P- ին, որն ունի ութ անգամ ավելի շատ RAM, քան Uno- ն (16kB դիմաց 2kB):

ATMega1284 էֆեկտների միավորի կիրառմամբ նախորդ հրահանգի համեմատ, այս տուփն ունի հետևյալ առավելությունները.

(1) Այն ունի խառնիչ, որը չմշակված ազդանշանը խառնում է MCU մշակված ազդանշանի հետ, ինչը նշանակում է, որ ելքի վրա ազդանշանի որակը շատ բարելավված է:

(2) Այն կատարում է 16 բիթանոց ելքային մշակում երկու PWM ելքերի համար, երբ նախորդ էֆեկտների տուփը օգտագործում է 8 բիթ որոշ օրինակների համար, ինչպիսիք են ուշացման ազդեցությունը:

(3) Այն ունի հետադարձ պոտենցիոմետր, որը կարող է օգտագործվել ազդեցությունները ուժեղացնելու համար, հատկապես ֆլանջեր/ֆազերային էֆեկտով մոտ 30 տոկոսանոց հետադարձ կապը զգալիորեն ավելացնում է էֆեկտի որակը:

(4) -ածր անցումային ֆիլտրի հաճախականությունը 10 կՀց է `նախորդ էֆեկտների տուփի 5 կՀց -ի համեմատ. Սա նշանակում է, որ ելքի ազդանշանը զգալիորեն« փխրուն »է հնչում:

(5) Այն օգտագործում է մեկ այլ ընդհատման ձգան, որը կարող է բացատրել աղմուկի զգալիորեն ցածր մակարդակը, որը ցուցադրվում է այս էֆեկտների վանդակում:

Ես սկսեցի Uno- ի վրա հիմնված Open Music Labs Stompbox Shield- ի հացով նստելը և ինձ վրա այնքան տպավորեց այս չորս OpAmp ազդանշանի մշակման սխեմայի աշխատանքը (նույնիսկ Arduino Uno- ն օգտագործելիս), որ այն ավելի մշտական օգտագործման համար տեղափոխեցի գիպսաստվարաթղթի վրա:

Նույն չորս opamp միացումն ու DSP կոդը այնուհետև փոխանցվեցին ATMega1284- ին ՝ կրկին զարմանալիորեն զերծ ոչ էական փոփոխություններից, ինչպիսիք են անջատիչներն ու LED- ն այլ նավահանգստում նշանակելը, և 1, 000-ի փոխարեն հատկացնել 7000 կիլո բառ: կիլո-բառ RAM- ի հետաձգման բուֆերի համար, միայն երկու էական փոփոխություն պետք է կատարվեր աղբյուրի կոդի մեջ, այն է `ADC2- ից ADC0- ի փոխում, և Timer1/PWM OC1A և OC1B ելքերի փոփոխություն B նավահանգստից Uno- ից D նավահանգիստ (PD5 և PD4) ATMega1284- ում:

Ինչպես նախկինում նշվել էր, չնայած ATMega1284- ի զարգացման տախտակները հասանելի են (Github: MCUdude MightyCore), այն հեշտ վարժություն է ՝ մերկ (առանց բեռնախցիկ) չիպ գնելը (գնել PDIP տարբերակը, որը հարմար է հացի և տախտակի համար), այնուհետև բեռնեք Maniacbug Mighty-1284p Core Optiboot բեռնախցիկի Mark Pendrith պատառաքաղը կամ MCUdude Mightycore- ը ՝ օգտագործելով Uno- ն որպես ISP ծրագրավորող, այնուհետև Uno- ի միջոցով էսքիզները նորից բեռնեք AtMega1284- ում: Այս գործընթացի մանրամասները և հղումները տրված են նախորդ հրահանգի հավելված 1 -ում:

Քայլ 1: Մասերի ցուցակ

Մասերի ցուցակ
Մասերի ցուցակ
Մասերի ցուցակ
Մասերի ցուցակ

ATMega1284P (PDIP 40 փին փաթեթային տարբերակ) Arduino Uno R3 (օգտագործվում է որպես մատակարար ՝ բեռնախցիկը և էսքիզները ATMega1284- ին փոխանցելու համար) Կարմիր 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 x 75k դիմադրիչներ 4 x 3k9 դիմադրողներ 1 x 36k resistor 1 x 24k resistor 2 x 1M resistors 1 x 470 ohm resistor 3 x 1k resistors 2 x 50k Potentiometers (linear) 1 x 10k Potentiometer (linear) 3 x pushbutton switch (նրանցից մեկը պետք է փոխարինվի 3 բեւեռ 2- ով ոտնաթաթի ճանապարհ, եթե էֆեկտների տուփը կօգտագործվի կենդանի աշխատանքի համար)

Քայլ 2: Շինարարություն

Շինարարություն
Շինարարություն

Շրջան 1-ը ցույց է տալիս օգտագործված սխեման, իսկ Stripboard 1-ը դրա ֆիզիկական պատկերն է (Fritzing 1) ՝ Լուսանկար 1-ով, իսկ գործող հացի տախտակամած սխեման: Կատարվել է երեք փոքր փոփոխություն. Կիսամյակային մատակարարման մակարդակի opamp կողմնակալությունը օգտագործվում է երեք OpAmp փուլերի համար, 3 x 75k և 2 x 75k ohms զուգահեռ ռեզիստորները փոխարինվել են 24k և 36k մեկ ռեզիստորներով, իսկ հետադարձ կոնդենսատորները բարձրացվել են 120pF այս երկու OpAmp փուլերի համար: Պտտվող հսկիչը փոխարինվել է երկու կոճակով, որոնք օգտագործվում են էֆեկտների պարամետրերը մեծացնելու կամ նվազեցնելու համար: ATMega1284- ի եռալար կապը միացման վրա ցուցադրվում է որպես ADC 40, PWMlow 19-ից, և PWM բարձր 18-ից: Երեք կոճակները միացված են 1, 36 և 35 կապումներին և մյուս ծայրում հողանցված են: LED- ը 470 դիմադրության միջոցով միացված է 2 -րդ կապին:

OpAmp մուտքի և ելքի փուլեր. Կարևոր է, որ RRO- ն կամ նախընտրելի է RRIO OpAmp- ը օգտագործվի, քանի որ մեծ լարման ճոճանակը պահանջվում է OpAmp- ի ելքից ATMega1284- ի ADC- ին: Մասերի ցանկը պարունակում է մի շարք այլընտրանքային OpAmp տեսակներ: 50k պոտենցիոմետրը օգտագործվում է մուտքի շահույթը ցանկացած խեղաթյուրումից ցածր մակարդակի կարգավորելու համար, և այն կարող է օգտագործվել նաև մուտքային զգայունությունը կարգավորելու համար, բացի կիթառից, օրինակ ՝ երաժշտական նվագարկիչից: Երկրորդ OpAmp մուտքի փուլը և առաջին opamp ելքային փուլը ունեն ավելի բարձր կարգի RC զտիչ ՝ աուդիո հոսքից թվայնացված MCU աղմուկը հեռացնելու համար:

ADC փուլ. ADC- ն կազմված է այնպես, որ կարդում է ժամանակաչափի ընդհատման միջոցով: Աղմուկը նվազեցնելու համար 100nF կոնդենսատոր պետք է միացված լինի ATMega1284- ի AREF կապի և գետնի միջև, քանի որ ներքին Vcc աղբյուրը օգտագործվում է որպես հղման լարում.

DAC PWM փուլ. Քանի որ ATMega1284- ը չունի իր սեփական DAC- ն, ելքային աուդիոալիքային ձևերը գեներացվում են RC ֆիլտրի զարկերակային լայնության մոդուլյացիայի միջոցով: PDW- ի և PD5- ի երկու PWM ելքերը սահմանվում են որպես աուդիո ելքի բարձր և ցածր բայթեր և խառնվում են երկու դիմադրիչների հետ (3k9 և 1M) 1: 256 հարաբերակցությամբ (ցածր բայթ և բարձր բայթ) - ինչը առաջացնում է աուդիո ելք.

Քայլ 3: Softwareրագրակազմ

Theրագիրը հիմնված է Open Music Labs stompbox ոտնակի էսքիզների վրա, և ներառված է երկու օրինակ ՝ ֆլանգերի/ֆազերների էֆեկտներ և հետաձգման էֆեկտներ: Կրկին, ինչպես նախորդ հրահանգի դեպքում, անջատիչներն ու լուսադիոդները տեղափոխվել էին այլ նավահանգիստներ, որոնք հեռու էին ISP ծրագրավորողի կողմից (SCLK, MISO, MOSI և Reset):

Հետաձգման բուֆերը 1000 բառից հասել է 7000 բառի, իսկ PortD- ն սահմանվել է որպես ելք երկու PWM ազդանշանների համար: Նույնիսկ հետաձգման բուֆերի ավելացման դեպքում էսքիզը դեռ օգտագործում է առկա ATMega1284 16 կԲ օպերատիվ հիշողության միայն 75% -ը:

Այլ օրինակներ, ինչպիսիք են բաց երաժշտական լաբորատորիաների կայքէջի պեդալը `SHIELD Uno- ն, կարող են հարմարեցվել Mega1284- ի օգտագործման համար` փոխելով ներառված վերնագրի ֆայլը Stompshield.h:

(1) Փոխել DDRB | = 0x06; // սահմանել pwm ելքերը (կապում 9, 10) outputtoDDRD | = 0x30;

եւ

ADMUX = 0x62; // ձախ կարգավորում, adc2, ներքին vcc ՝ որպես հղում ADMUX = 0x60; // ձախ կարգավորում, adc0, ներքին vcc որպես հղում // Այս փոփոխությունները ՄԻԱՅՆ էական կոդի փոփոխություններն են // Uno- ից ATMega1284 տեղափոխելիս

Այստեղ ներառված երկու օրինակների համար վերնագրի ֆայլը ներառված է ուրվագծում, այսինքն ՝ վերնագրի ֆայլեր պետք չէ օգտագործել

Որոշ էսքիզներում 1 -ին և 2 -րդ կոճակները օգտագործվում են էֆեկտը մեծացնելու կամ նվազեցնելու համար: Հետաձգման օրինակում այն ավելանում կամ նվազում է հետաձգման ժամանակը: Երբ էսքիզն առաջին անգամ բեռնվում է, այն սկսվում է առավելագույն հետաձգման էֆեկտով: Flanger phaser ուրվագծի համար փորձեք բարձրացնել հետադարձ կապի վերահսկումը ուժեղացված էֆեկտի համար:

Հետաձգումը էխոյի էֆեկտի փոխելու համար (ավելացրեք կրկնություն) փոխեք տողը.

բուֆեր [գտնվելու վայրը] = մուտքագրում; // պահել նոր նմուշ

դեպի

բուֆեր [տեղադրություն] = (մուտքագրում + բուֆեր [տեղադրություն] >> 1; // Օգտագործեք սա echo effct- ի համար

Ոտնաթաթի անջատիչը պետք է լինի երեք բևեռ երկկողմանի անջատիչ

Քայլ 4: Հղումներ

Էլեկտրոսմաշ

Բաց երաժշտության լաբորատորիաներ Երաժշտություն

ATMega Effect ոտնակ

Խորհուրդ ենք տալիս: