Мазмуну:

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 жана төрт опампты колдонот. Electrosmash Uno Pedalshieldди кантип порттоо керектигин көрсөткөн мурунку көрсөтмөгө окшош, мен дагы Open Music Labs Guitar Effects кутусун ATMega1284Pге Uno караганда сегиз эсе көп оперативдүү RAMга (16кБ каршы 2кБ) өткөрүп бергем.

ATMega1284 эффекттер бирдигин колдонуу менен мурунку көрсөтмөлөргө салыштырмалуу, бул кутуча төмөнкү артыкчылыктарга ээ:

(1) Бул иштетилбеген сигналды MCU иштетилген сигнал менен аралаштыруучу миксерге ээ - бул сигналдын сапаты бир топ жакшырганын билдирет.

(2) Бул эки PWM чыгышы үчүн 16 бит чыгарууну иштетет, бирок мурунку эффекттер кутусу 8 битти колдонот, мисалы, кечигүү эффекти сыяктуу кээ бир мисалдар үчүн.

(3) Бул эффекттерди күчөтүү үчүн колдонула турган кайтарым байланыш потенциометрине ээ - айрыкча фланжер/фазер эффекти менен 30 пайызга жакын пикир эффектин сапатына олуттуу түрдө кошулат.

(4) Төмөн өтүү чыпкасынын жыштыгы мурунку эффекттер кутусунун 5 кГцине салыштырмалуу 10 кГц - бул сигналдагы сигнал бир кыйла "кытырак" угулат дегенди билдирет.

(5) Бул эффекттер кутусунда көрсөтүлгөн кыйла төмөн ызы -чууну түшүндүрө турган башка үзгүлтүккө учуратуучу триггерди колдонот.

Мен Uno негизделген Open Music Labs Stompbox Shield нанына отуруу менен баштадым жана бул төрт OpAmp сигналды иштетүү схемасынын иштешине ушунчалык таасирлендим (Arduino Uno колдонгондо дагы), мен аны дагы туруктуу колдонуу үчүн стриптизге өткөрүп бердим.

Ошол эле төрт опамп схемасы жана DSP коду ATMega1284ке жөнөтүлдү-дагы, таң калыштуусу, өчүргүчтөрдү жана LEDди башка портко берүү жана 7000 кило сөздү бөлүү сыяктуу 1, 000 кечиктирүү буферине карата RAMдын кило сөзү, баштапкы коддо эки гана маанилүү өзгөртүүлөрдү киргизүү керек болчу, тактап айтканда ADC2ден ADC0га жана UNOдогу Port Bден Timer1/PWM OC1A жана OC1B чыгымдарын D портуна (PD5 жана PD4) ATMega1284.

Жогоруда айтылгандай, ATMega1284 үчүн иштеп чыгуу такталары бар болсо да (Github: MCUdude MightyCore), жылаңач (жүктөгүчсүз) чипти сатып алуу оңой көнүгүү (нан жана такта үчүн ылайыктуу болгон PDIP версиясын сатып алыңыз), андан кийин Maniacbug Mighty-1284p Core Optiboot жүктөгүчүнүн же MCUdude Mightycoreдун Марк Пендрит вилкасын жүктөгүлө, провайдердин программисти катары Uno колдонуп, анан эскиздерди Uno аркылуу кайрадан AtMega1284кө жүктөңүз. Бул процесстин деталдары жана шилтемелери мурунку көрсөтмөнүн 1 -тиркемесинде берилген.

1 -кадам: Бөлүктөрдүн тизмеси

Бөлүктөр тизмеси
Бөлүктөр тизмеси
Бөлүктөр тизмеси
Бөлүктөр тизмеси

ATMega1284P (PDIP 40 пин пакетинин версиясы) Arduino Uno R3 (жүктөөчү менен эскиздерди ATMega1284кө өткөрүп берүү үчүн ISP катары колдонулат) OpAmp MCP6004 quad OpAmp (же окшош RRIO (Rail to Rail Input and Output) OpAmp сыяктуу TLC2274) 1 x Кызыл LED 1 x 16 MHz кристалл 2 x 27 pF конденсатор 1 х 3n9 конденсатор 1 х 1n2 конденсатор 1 х 820pF конденсатор 2 х 120 pF конденсатор 4 х 100н конденсатор 3 х 10uF 16v электролиттик конденсатор 4 х 75к каршылык 4 х 3k9 каршылык 1 х 36k резистор 1 х 24к каршылыгы 2 х 1М каршылыгы 1 х 470 ом каршылыгы 3 х 1к каршылыгы 2 х 50к потенциометрлери (сызыктуу) 1 х 10к потенциометр (сызыктуу) 3 х баскычтары (алардын бири 3 уюлдуу 2 менен алмаштырылышы керек) эффекттер кутусу жандуу иштөө үчүн колдонула турган болсо, анда фоутсвич)

2 -кадам: Курулуш

Курулуш
Курулуш

1-схема колдонулган схеманы көрсөтөт жана Stripboard 1 анын физикалык көрүнүшү (Fritzing 1) Фото 1 менен иштөөдө чыныгы нан-тактай схемасы. Үч кичинекей схема өзгөртүүлөрү киргизилди: бөлүштүрүлгөн жарым камсыздоо деңгээлиндеги опампал үч OpAmp этаптары үчүн колдонулат, 3 x 75k жана 2 x 75k ohms параллелдүү резисторлор 24k жана 36k резисторлору менен алмаштырылган жана пикирлердин конденсаторлору Бул эки OpAmp этаптары үчүн 120pF. Ротари башкаруу эффекттердин параметрлерин көбөйтүү же азайтуу үчүн колдонулган эки баскыч менен алмаштырылган. ATMega1284 менен үч зымдуу байланыш схемада ADC катары 40, пин 19дан PWMlow жана PWMhigh пин 18ден көрсөтүлөт. Үч баскыч баскычтар 1, 36 жана 35-пинге туташып, экинчи учунда жерге туташкан. LED 470 каршылыгы аркылуу 2 -пинге туташтырылган.

OpAmp киргизүү жана чыгаруу этаптары: ATMega1284 ADCге OpAmp чыгарууда талап кылынган чоң чыңалуу селкинчегинен RRO же жакшыраак RRIO OpAmp колдонулушу маанилүү. Бөлүктөрдүн тизмеси бир катар альтернативдүү OpAmp түрлөрүн камтыйт. 50k потенциометр кирешенин пайдасын кандайдыр бир бурмалоодон төмөн деңгээлге тууралоо үчүн колдонулат, ошондой эле музыкалык ойноткуч сыяктуу гитарадан башка киргизүү булагынын кирүү сезгичтигин тууралоо үчүн колдонсо болот. Экинчи OpAmp киргизүү стадиясы жана биринчи opamp чыгаруу стадиясында аудио агымынан санарип түрүндө өндүрүлгөн MCU ызы -чууну алып салуу үчүн жогорку даражадагы RC чыпкасы бар.

ADC этапы: ADC таймердин үзгүлтүгү аркылуу окуу үчүн конфигурацияланган. 100nF конденсатору ATMega1284 менен AREF пининин ортосуна туташып турушу керек, анткени ызы -чууну азайтуу үчүн ички Vcc булагы шилтеме чыңалуусу катары колдонулат - AREF пинин +5 вольтко түз туташтырбаңыз!

DAC PWM этап: ATMega1284 өзүнүн DAC жок болгондуктан, чыгуу аудио толкундары RC чыпкасынын импульстук туурасы модуляциясын колдонуу менен түзүлөт. PD4 жана PD5 боюнча эки PWM чыгышы аудио чыгаруунун жогорку жана төмөнкү байттары катары коюлган жана 1: 256 катышында (3k9 жана 1M) эки резистор менен аралаштырылган (төмөн байт жана жогорку байт) - бул аудио чыгарууну жаратат.

3 -кадам: Программалык камсыздоо

Программалык камсыздоо Open Music Labs стомбокс педальынын эскиздерине негизделген жана эки мисал, атап айтканда флангер/фазер эффекти жана кечигүү эффекти камтылган. Мурунку көрсөтмөлөрдөгүдөй эле, өчүргүчтөр жана LED ISP программисти колдонгондон башка порттарга көчүрүлгөн (SCLK, MISO, MOSI жана Reset).

Кечигүү буфери 1000 сөздөн 7000 сөзгө чейин көбөйтүлдү жана PortD эки PWM сигналынын чыгышы катары белгиленди. Кечигүү буферинин көбөйүшү менен дагы, эскиз дагы эле бар болгон ATMega1284 16 кБ оперативдүү RAMдин 75% ын гана колдонот.

SHIELD Uno үчүн Open Music Labs веб -сайтынан тремоло сыяктуу башка мисалдар Stompshield.h баш файлын өзгөртүү менен Mega1284 тарабынан колдонууга ылайыкташтырылышы мүмкүн:

(1) DDRB | = 0x06 өзгөртүү; // pwm чыгууларын коюңуз (пин, 9, 10) outputtoDDRD | = 0x30;

жана

ADMUX = 0x62; // солго тууралоо, adc2, ички vcc ADMUX = 0x60 шилтеме катары; // солго тууралоо, adc0, ички VCC шилтеме катары // Бул өзгөртүүлөр УНОДОН ATMega1284кө алып барууда гана маанилүү коддордун өзгөрүүлөрү //

Бул жерде камтылган эки мисал үчүн, башкы файл эскизге киргизилген - б.а. баш файлдарды колдонуунун кажети жок.

Баскычтар 1 жана 2 эффектти жогорулатуу же азайтуу үчүн кээ бир эскиздерде колдонулат. Кечиктирүү мисалында ал кечигүү убактысын көбөйтөт же азайтат. Эскиз биринчи жүктөлгөндө, ал максималдуу кечигүү эффектинен башталат. Flanger phaser эскизи үчүн жакшыртылган эффект үчүн кайтарым байланышты күчөтүүгө аракет кылыңыз.

Кечиктирүүнү жаңыртуу эффектине өзгөртүү үчүн (кайталоону кошуу) линияны өзгөртүңүз:

буфер [жайгашуу] = киргизүү; // жаңы үлгүнү сактоо

чейин

буфер [жайгашуу] = (киргизүү + буфер [жайгашуу]) >> 1; // Муну echo effct үчүн колдонуңуз

Аяк которгуч үч полюстуу эки тараптуу которгуч болушу керек

4 -кадам: Шилтемелер

Electrosmash

Музыкалык лабораторияларды ачыңыз Музыка

ATMega эффект педалы

Сунушталууда: