Orodha ya maudhui:

ATMega1284 Quad Opamp Athari Box: 4 Hatua (na Picha)
ATMega1284 Quad Opamp Athari Box: 4 Hatua (na Picha)

Video: ATMega1284 Quad Opamp Athari Box: 4 Hatua (na Picha)

Video: ATMega1284 Quad Opamp Athari Box: 4 Hatua (na Picha)
Video: Op-Amps - Using Operational Amplifiers 2024, Julai
Anonim
ATMega1284 Quad Opamp Athari Box
ATMega1284 Quad Opamp Athari Box

Stomp Shield ya Arduino kutoka kwa Maabara ya Muziki Open hutumia Arduino Uno na opamp nne kama sanduku la athari za gitaa. Sawa na ile ya kufundisha ya hapo awali inayoonyesha jinsi ya kuweka bandari ya Electrosmash Uno, pia nimeweka sanduku la Open Music Labs Guitar Effects kwa ATMega1284P ambayo ina RAM mara nane zaidi ya Uno (16kB dhidi ya 2kB).

Ikilinganishwa na ilivyofundishwa hapo awali kwa kutumia kitengo cha athari cha ATMega1284, sanduku hili lina faida zifuatazo:

(1) Ina mchanganyiko ambao unachanganya ishara isiyosindika na ishara iliyosindikwa ya MCU - hiyo inamaanisha kuwa ubora wa ishara kwenye pato umeboreshwa sana.

(2) Haifanyi usindikaji wa pato la 16 kidogo kwa matokeo mawili ya PWM yanayotumia sanduku la athari za hapo awali hutumia bits 8 kwa mifano kadhaa kama athari ya kuchelewesha.

(3) Inayo maoni ya maoni ambayo inaweza kutumika kuongeza athari - haswa na athari ya flanger / phaser kuhusu maoni ya asilimia 30 inaongeza sana ubora wa athari.

(4) Mzunguko wa kichujio cha kupitisha chini ni 10 kHz ikilinganishwa na kHz 5 ya sanduku la athari za hapo awali - hii inamaanisha ishara kwenye pato inasikika sana "crispier".

(5) Inatumia kichocheo tofauti cha kusumbua ambacho kinaweza kuelezea kiwango cha chini cha kelele kilichoonyeshwa na kisanduku hiki cha athari.

Nilianza kwa kupanda mkate kwenye Maabara ya Open Music Labs Stompbox Shield ya Uno na nilivutiwa sana na utendakazi wa mzunguko huu wa usindikaji wa ishara nne za OpAmp (hata wakati wa kutumia Arduino Uno), hivi kwamba niliihamishia kwenye mkanda kwa matumizi zaidi ya kudumu.

Mzunguko huo huo wa opamp na nambari ya DSP kisha ilipelekwa kwa ATMega1284 - tena, kwa kushangaza, mbali na mabadiliko ambayo sio muhimu kama vile kupeana swichi na LED kwenye bandari tofauti, na kutenga maneno ya kilo 7,000 badala ya 1, 000 kilo-neno la RAM kwa bafa ya kuchelewesha, mabadiliko mawili tu muhimu yalipaswa kufanywa katika nambari ya chanzo, ambayo ni kubadilisha kuwa ADC0 kutoka ADC2, na kubadilisha matokeo ya Timer1 / PWM OC1A na OC1B kutoka Port B kwenye Uno hadi Port D (PD5 na PD4) kwenye ATMega1284.

Kama ilivyotajwa hapo awali, ingawa bodi za maendeleo za ATMega1284 zinapatikana (Github: MCUdude MightyCore), ni zoezi rahisi kununua chip (bila mzigo wa bootloader) (nunua toleo la PDIP ambalo ni bodi ya mkate na bodi ya kupendeza), kisha pakia uma wa Mark Pendrith wa Maniacbug Mighty-1284p Core Optiboot bootloader au MCUdude Mightycore, kwa kutumia Uno kama programu ya ISP, na kisha kupakia michoro tena kupitia Uno hadi AtMega1284. Maelezo na viungo vya mchakato huu vimepewa kwenye kiambatisho 1 cha maelezo ya awali.

Hatua ya 1: Orodha ya Sehemu

Orodha ya Sehemu
Orodha ya Sehemu
Orodha ya Sehemu
Orodha ya Sehemu

ATMega1284P (toleo la kifurushi cha pini 40 PD) Arduino Uno R3 (inayotumiwa kama ISP kuhamisha kipakiaji cha boot na michoro kwa ATMega1284) OpAmp MCP6004 quad OpAmp (au RRIO sawa (Reli hadi Uingizaji wa Reli na Pato) OpAmp kama vile TLC2274) 1 x LED nyekundu 1 x 16 MHz kioo 2 x 27 pF capacitors 1 x 3n9 capacitor 1 x 1n2 capacitor 1 x 820pF capacitor 2 x 120 pF capacitor 4 x 100n capacitors 3 x 10uF 16v capacitors electrolytic 4 x 75k resistors 4 x 3k9 vipinga 1 x 36k kontena 1 x 24k kinzani 2 x 1M vipinga 1 x 470 ohm kinzani 3 x 1k vipinga 2 x 50k Potentiometers (mstari) 1 x 10k Potentiometer (linear) 3 x swichi za kitufe (moja yao inapaswa kubadilishwa na 3-pole 2- njia ya kupindua ikiwa sanduku la athari litatumika kwa kazi ya moja kwa moja)

Hatua ya 2: Ujenzi

Ujenzi
Ujenzi

Mzunguko wa 1 unaonyesha mzunguko uliotumiwa na Stripboard 1 ni uwakilishi wake wa mwili (Fritzing 1) na Picha 1 mzunguko halisi wa mkate uliotumika. Mabadiliko matatu madogo ya mzunguko yalifanywa: upendeleo ulioshirikiwa wa kiwango cha usambazaji wa nusu ya ugavi hutumiwa kwa hatua tatu za OpAmp, 3 x 75k na 2 x 75k ohms vipinga sambamba vilibadilishwa na vizuizi 24k na 36k, na capacitors ya maoni iliongezeka hadi 120pF kwa hatua hizi mbili za OpAmp. Udhibiti wa rotary ulibadilishwa na vifungo viwili vya kushinikiza ambavyo hutumiwa kuongeza au kupunguza vigezo vya athari. Uunganisho wa waya tatu kwa ATMega1284 unaonyeshwa kwenye mzunguko kama ADC kubandika 40, PWMlow kutoka kwa pini 19, na PWMhigh kutoka kwa pini 18. Vifungo vitatu vya kushinikiza vimeunganishwa na pini 1, 36 na 35 na kuchomwa kwa ncha nyingine. LED imeunganishwa kupitia kontena la 470 ili kubandika 2.

Hatua za Uingizaji na Pato za OpAmp: Ni muhimu kwamba RRO au ikiwezekana RRIO OpAmp itumiwe kwa sababu ya swing kubwa ya voltage inayohitajika katika pato la OpAmp kwa ADC ya ATMega1284. Orodha ya sehemu ina idadi ya aina mbadala za OpAmp. Potentiometer ya 50k hutumiwa kurekebisha faida ya pembejeo kwa kiwango chini ya upotovu wowote, na inaweza pia kutumiwa kurekebisha unyeti wa pembejeo kwa chanzo cha kuingiza isipokuwa gitaa kama vile kicheza muziki. Hatua ya pili ya uingizaji wa OpAmp na hatua ya kwanza ya pato la opamp ina kichujio cha juu cha RC ili kuondoa kelele inayotokana na dijiti ya MCU kutoka kwa mkondo wa sauti.

Hatua ya ADC: ADC imeundwa kuwa inasoma kupitia kukatisha kwa saa. 100nF capacitor inapaswa kushikamana kati ya pini ya AREF ya ATMega1284 na ardhi ili kupunguza kelele kama chanzo cha ndani cha Vcc kinatumiwa kama voltage ya kumbukumbu - USIUNGANISHE pini ya AREF kwa + volt moja kwa moja!

Hatua ya DAC PWM: Kama ATMega1284 haina DAC yake mwenyewe, fomu za mawimbi ya sauti hutolewa kwa kutumia mpangilio wa upana wa kichungi cha RC. Matokeo mawili ya PWM kwenye PD4 na PD5 yamewekwa kama kaa ya juu na ya chini ya pato la sauti na imechanganywa na vipinga viwili (3k9 na 1M) kwa uwiano wa 1: 256 (baiti ya chini na baiti ya juu) - ambayo hutoa pato la sauti.

Hatua ya 3: Programu

Programu hiyo inategemea michoro ya kanyagio ya Maabara ya Muziki ya Open, na mifano miwili imejumuishwa ambayo ni athari ya kugeuza / phaser, na athari ya kuchelewesha. Tena kama ilivyofundishwa hapo awali, swichi na LED zilikuwa zimehamishiwa bandari zingine mbali na zile zinazotumiwa na programu ya ISP (SCLK, MISO, MOSI na Rudisha).

Bafa ya kuchelewesha imeongezwa kutoka maneno 1000 hadi maneno 7000, na PortD imewekwa kama pato la ishara mbili za PWM. Hata kwa kuongezeka kwa bafa ya kuchelewesha mchoro bado unatumia tu 75% ya ATMega1284 16 kB RAM inayopatikana.

Mifano zingine kama tremolo kutoka kwa wavuti ya Maabara ya Muziki ya Open kwa pedalSHIELD Uno inaweza kubadilishwa kutumiwa na Mega1284 kwa kubadilisha faili ya kichwa ikiwa ni pamoja na Stompshield.h:

(1) Badilisha DDRB | = 0x06; // weka matokeo ya pwm (pini 9, 10) kwa patoDDRD | = 0x30;

na

ADMUX = 0x62; // kurekebisha kushoto, adc2, vcc ya ndani kama kumbukumbu ya ADMUX = 0x60; // rekebisha kushoto, adc0, vcc ya ndani kama kumbukumbu // Mabadiliko haya ni mabadiliko pekee ya nambari muhimu // wakati wa kusafirisha kutoka Uno hadi ATMega1284

Kwa mifano miwili iliyojumuishwa hapa, faili ya kichwa imejumuishwa kwenye mchoro - i.e. hakuna faili za kichwa zinazohitaji kutumiwa

Pushbuttons 1 na 2 hutumiwa katika baadhi ya michoro ili kuongeza au kupunguza athari. Katika mfano wa kuchelewesha huongeza au hupunguza wakati wa kuchelewesha. Mchoro unapopakiwa kwanza huanza na athari kubwa ya kuchelewesha. Kwa mchoro wa flanger phaser jaribu kuongeza udhibiti wa maoni kwa athari iliyoimarishwa.

Kubadilisha ucheleweshaji kuwa athari ya mwangwi (ongeza marudio) badilisha laini:

bafa [eneo] = pembejeo; // kuhifadhi sampuli mpya

kwa

bafa [eneo] = (pembejeo + bafa [eneo]) >> 1; // Tumia hii kwa ufanisi wa echo

Mchawi lazima awe pole tatu kwa njia mbili

Hatua ya 4: Viungo

Electrosmash

Fungua maabara ya Muziki Muziki

Aal ya ATMega Athari

Ilipendekeza: