Სარჩევი:

ATMega1284 Quad Opamp ეფექტების ყუთი: 4 ნაბიჯი (სურათებით)
ATMega1284 Quad Opamp ეფექტების ყუთი: 4 ნაბიჯი (სურათებით)

ვიდეო: ATMega1284 Quad Opamp ეფექტების ყუთი: 4 ნაბიჯი (სურათებით)

ვიდეო: ATMega1284 Quad Opamp ეფექტების ყუთი: 4 ნაბიჯი (სურათებით)
ვიდეო: Review of DC 1500W Boost Converter 10V-60V to 12V-90V module 1.5kW Tested 2024, ივლისი
Anonim
ATMega1284 Quad Opamp ეფექტების ყუთი
ATMega1284 Quad Opamp ეფექტების ყუთი

ღია მუსიკალური ლაბორატორიებიდან არდუინოს Stomp Shield გამოიყენეთ Arduino Uno და ოთხი ოპამპი, როგორც გიტარის ეფექტების ყუთი. წინა ინსტრუქციის მსგავსად, რომელიც გვიჩვენებს, თუ როგორ უნდა გადაიტანოთ Electrosmash Uno Pedalshield, მე ასევე გადავიტანე ღია მუსიკალური ლაბორატორიების გიტარის ეფექტების ყუთი ATMega1284P– ში, რომელსაც აქვს რვაჯერ მეტი ოპერატიული მეხსიერება ვიდრე Uno (16kB 2kB– ს წინააღმდეგ).

წინა ინსტრუქციებთან შედარებით ATMega1284 ეფექტების ერთეულის გამოყენებით, ამ ყუთს აქვს შემდეგი უპირატესობები:

(1) მას აქვს მიქსერი, რომელიც ურევს დაუმუშავებელ სიგნალს MCU დამუშავებულ სიგნალთან - ეს ნიშნავს რომ სიგნალის ხარისხი გამომავალზე ბევრად გაუმჯობესებულია.

(2) ის ასრულებს 16 ბიტიან გამომუშავებას ორი PWM გამოსვლისთვის, სადაც წინა ეფექტების ყუთი იყენებს 8 ბიტს ზოგიერთ მაგალითზე, როგორიცაა დაგვიანების ეფექტი.

(3) მას აქვს უკუკავშირის პოტენომეტრი, რომელიც შეიძლება გამოყენებულ იქნას ეფექტების გასაძლიერებლად - განსაკუთრებით ფლანგერის/ფაზერის ეფექტის მქონე გამოხმაურების დაახლოებით 30 პროცენტი მნიშვნელოვნად მატებს ეფექტის ხარისხს.

(4) დაბალი გამავლობის ფილტრის სიხშირე არის 10 kHz შედარებით 5 kHz წინა ეფექტების ყუთში - ეს ნიშნავს, რომ სიგნალი გამომავალზე ჟღერს მნიშვნელოვნად "crispier".

(5) ის იყენებს სხვადასხვა შეწყვეტის გამომწვევ საშუალებას, რომელსაც შეუძლია ახსნას ხმაურის მნიშვნელოვნად დაბალი დონე, რომელიც ნაჩვენებია ამ ეფექტების ყუთში.

მე დავიწყე Uno– ზე დაფუძნებული Open Music Labs Stompbox Shield– ის პურით ჩასვლა და მე იმდენად მოვიხიბლე ამ ოთხი OpAmp სიგნალის დამუშავების სქემის შესრულებით (თუნდაც Arduino Uno– ს გამოყენებისას), რომ გადავიტანე ზოლების დაფაზე უფრო მუდმივი გამოყენებისთვის.

იგივე ოთხი ოპამპის წრე და DSP კოდი შემდეგ გადაიტანეს ATMega1284– ისევ, გასაკვირი არ არის, გარდა არსებითი ცვლილებებისა, როგორიცაა გადამრთველებისა და შუქდიოდის სხვა პორტზე დანიშვნა და 1 000 – ის ნაცვლად 7 000 კილო სიტყვის გამოყოფა. კილო-სიტყვა RAM დაგვიანების ბუფერისთვის, მხოლოდ ორი არსებითი ცვლილება უნდა განხორციელებულიყო წყაროს კოდში, კერძოდ ADC0– დან ADC2– დან შეცვლა და Timer1/PWM OC1A და OC1B გამომავალი მონაცემების შეცვლა პორტი B– დან Uno– ზე პორტში D (PD5 და PD4) ATMega1284– ზე.

როგორც უკვე აღვნიშნეთ, მიუხედავად იმისა, რომ ATMega1284– ის განვითარების დაფები ხელმისაწვდომია (Github: MCUdude MightyCore), ადვილი ვარჯიშია შიშველი (ჩატვირთვის გარეშე) ჩიპის ყიდვა (PDIP ვერსიის ყიდვა, რომელიც პურის დაფაზე და ზოლების დაფაზეა), შემდეგ ჩატვირთეთ Mark Pendrith ჩანგალი Maniacbug Mighty-1284p Core Optiboot ჩამტვირთველის ან MCUdude Mightycore– ის მიერ, Uno– ს, როგორც ISP პროგრამისტი, და შემდეგ ისევ ჩატვირთეთ ესკიზები Uno– ს საშუალებით AtMega1284. ამ პროცესის დეტალები და ბმულები მოცემულია წინა ინსტრუქციის დანართში 1.

ნაბიჯი 1: ნაწილების სია

ნაწილების სია
ნაწილების სია
ნაწილების სია
ნაწილების სია

ATMega1284P (PDIP 40 პინის პაკეტის ვერსია) Arduino Uno R3 (გამოიყენება როგორც ISP გადატვირთვის ჩამტვირთავი და ესკიზები ATMega1284– ზე გადასატანად) OpAmp MCP6004 quad OpAmp (ან მსგავსი RRIO (სარკინიგზო სარკინიგზო შესასვლელი და გამომავალი) 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 x 75k რეზისტორები 4 x 3k9 რეზისტორები 1 x 36k რეზისტორი 1 x 24k რეზისტორი 2 x 1M რეზისტორები 1 x 470 ohm რეზისტორი 3 x 1k რეზისტორები 2 x 50k პოტენციტომეტრი (ხაზოვანი) 1 x 10k პოტენციტომეტრი (ხაზოვანი) 3 x ბიძგიანი გადამრთველი (ერთი მათგანი უნდა შეიცვალოს 3 ბოძით 2- გზა ფეხის გადამრთველი თუ ეფექტების ყუთი გამოყენებული იქნება ცოცხალი მუშაობისთვის)

ნაბიჯი 2: მშენებლობა

მშენებლობა
მშენებლობა

მიკროსქემის 1 გვიჩვენებს ჩართულ სქემას და სტრიპბორდი 1 არის მისი ფიზიკური წარმოდგენა (გაყინვა 1) ფოტო 1 – ით, პურის დაფაზე დაფარული წრე. სამი მცირე წრიული ცვლილება განხორციელდა: ნახევრად მომარაგების დონის ოპამპის მიკერძოება გამოიყენება სამი OpAmp საფეხურისთვის, 3 x 75k და 2 x 75k ohms პარალელური რეზისტორები შეიცვალა ერთჯერადი 24k და 36k რეზისტენტებით, ხოლო უკუკავშირის კონდენსატორები გაიზარდა 120pF ამ ორი OpAmp საფეხურისთვის. მბრუნავი კონტროლი შეიცვალა ორი ღილაკით, რომლებიც გამოიყენება ეფექტების პარამეტრების გასაზრდელად ან შესამცირებლად. სამი მავთულის კავშირი ATMega1284– ზე ნაჩვენებია წრედ, როგორც ADC 40 – ის ჩასამაგრებლად, PWMlow 19 – დან და PWM მაღალი 18 – დან პინი 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 წყარო გამოიყენება საცნობარო ძაბვად - ნუ დაუკავშირებთ AREF პინს +5 ვოლტთან პირდაპირ!

DAC PWM ეტაპი: ვინაიდან ATMega1284– ს არ აქვს საკუთარი DAC, გამომავალი აუდიო ტალღების ფორმები წარმოიქმნება RC ფილტრის პულსის სიგანის მოდულაციის გამოყენებით. ორი PWM გამომავალი PD4 და PD5 არის დაყენებული, როგორც მაღალი და დაბალი ბაიტი აუდიო გამომავალი და შერეული ორ რეზისტორთან (3k9 და 1M) 1: 256 თანაფარდობით (დაბალი ბაიტი და მაღალი ბაიტი) - რომელიც წარმოქმნის აუდიოს გამომავალს რა

ნაბიჯი 3: პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა დაფუძნებულია Open Music Labs stompbox– ის პედლების ესკიზებზე და ორი მაგალითია: ფლანგერის/ფაზერის ეფექტი და შეფერხების ეფექტი. ისევ ისე, როგორც წინა ინსტრუქციის შემთხვევაში, გადამრთველები და LED იყო გადატანილი სხვა პორტებში დაშორებით იმ პროვაიდერის პროგრამისტის მიერ (SCLK, MISO, MOSI და Reset).

დაგვიანების ბუფერი გაიზარდა 1000 სიტყვიდან 7000 სიტყვამდე, ხოლო PortD დაყენებულია როგორც გამოსავალი ორი PWM სიგნალისთვის. დაგვიანებული ბუფერის გაზრდის მიუხედავად, ესკიზი მაინც იყენებს ATMega1284 16 კბ ოპერატიული მეხსიერების მხოლოდ 75% -ს.

სხვა მაგალითები, როგორიცაა ტრემოლი ღია მუსიკალური ლაბორატორიების ვებსაიტიდან pedal SHIELD Uno შეიძლება ადაპტირებული იყოს Mega1284– ის გამოსაყენებლად, სათაურის ფაილის Stompshield.h შეცვლით:

(1) შეცვალეთ DDRB | = 0x06; // დააყენეთ pwm შედეგები (ქინძისთავები 9, 10) outputDDRD | = 0x30;

და

ADMUX = 0x62; // მარცხნივ მორგება, adc2, შიდა vcc როგორც მითითება ADMUX = 0x60; // მარცხენა კორექტირება, adc0, შიდა vcc როგორც მითითება // ეს ცვლილებები არის მხოლოდ აუცილებელი კოდის ცვლილებები // როდესაც Uno– დან ATMega1284– ში პორტირებისას

აქ შესული ორი მაგალითისთვის, სათაურის ფაილი შედის ესკიზში - ანუ არ არის საჭირო სათაურის ფაილების გამოყენება

Pushbuttons 1 და 2 გამოიყენება ზოგიერთ ესკიზში ეფექტის გასაზრდელად ან შესამცირებლად. დაგვიანების მაგალითში ის ზრდის ან ამცირებს შეფერხების დროს. როდესაც ესკიზი პირველად იტვირთება ის იწყება მაქსიმალური დაგვიანების ეფექტით. ფლანგერის ფაზერის ესკიზისთვის შეეცადეთ გაზარდოთ უკუკავშირის კონტროლი გაძლიერებული ეფექტისთვის.

შეფერხების შესაცვლელად ექო ეფექტზე (დაამატეთ გამეორება) შეცვალეთ ხაზი:

ბუფერი [მდებარეობა] = შეყვანა; // შეინახეთ ახალი ნიმუში

რათა

ბუფერი [მდებარეობა] = (შეყვანა + ბუფერი [მდებარეობა]) >> 1; // გამოიყენეთ ეს ექო ეფექტისთვის

ფეხის გადამრთველი უნდა იყოს სამ პოლუსიანი ორმხრივი გადამრთველი

ნაბიჯი 4: ბმულები

ელექტროსმაში

გახსენით მუსიკა ლაბორატორიები მუსიკა

ATMega Effect Pedal

გირჩევთ: