সুচিপত্র:

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 Quad Opamp Effects Box
ATMega1284 Quad Opamp Effects Box

ওপেন মিউজিক ল্যাবস থেকে Arduino এর জন্য স্টম্প শিল্ড একটি Arduino Uno এবং চারটি opamps একটি গিটার ইফেক্ট বক্স হিসাবে ব্যবহার করে। ইলেক্ট্রোসম্যাশ ইউনো প্যাডেলশিল্ডকে কিভাবে পোর্ট করতে হয় তা দেখানোর আগের নির্দেশের মতো, আমি ওপেন মিউজিক ল্যাবস গিটার ইফেক্টস বক্সটি ATMega1284P এ পোর্ট করে রেখেছি যার ইউনোর চেয়ে আটগুণ বেশি র RAM্যাম রয়েছে (16kB বনাম 2kB)।

ATMega1284 ইফেক্টস ইউনিট ব্যবহার করে আগের নির্দেশের তুলনায়, এই বক্সের নিম্নলিখিত সুবিধা রয়েছে:

(1) এর একটি মিক্সার রয়েছে যা অপ্রক্রিয়াজাত সংকেতকে MCU প্রক্রিয়াকৃত সংকেতের সাথে মিশ্রিত করে - এর মানে হল যে আউটপুটে সংকেতের মান অনেক উন্নত।

(2) এটি দুটি PWM আউটপুটের জন্য 16 বিট আউটপুট প্রক্রিয়াকরণ করে যেখানে পূর্ববর্তী প্রভাব বাক্স 8 টি বিট ব্যবহার করে যেমন বিলম্ব প্রভাব।

(3) এটিতে একটি প্রতিক্রিয়া পটেনশিয়োমিটার রয়েছে যা প্রভাবগুলি বাড়ানোর জন্য ব্যবহার করা যেতে পারে - বিশেষত ফ্ল্যাঞ্জার/ফেজার প্রভাবের সাথে প্রায় 30 শতাংশ প্রতিক্রিয়া প্রভাবের গুণমানকে উল্লেখযোগ্যভাবে যুক্ত করে।

(4) লো -পাস ফিল্টার ফ্রিকোয়েন্সি পূর্ববর্তী ইফেক্টস বক্সের 5 kHz এর তুলনায় 10 kHz - এর মানে হল আউটপুটে সংকেত যথেষ্ট "ক্রিস্পিয়ার" শোনাচ্ছে।

(5) এটি একটি ভিন্ন বিঘ্ন ট্রিগার ব্যবহার করে যা এই প্রভাব বাক্স দ্বারা দেখানো যথেষ্ট কম শব্দ স্তর ব্যাখ্যা করতে পারে।

আমি ইউনো-ভিত্তিক ওপেন মিউজিক ল্যাবস স্টম্পবক্স শিল্ডের রুটি-বোর্ডিংয়ের মাধ্যমে শুরু করেছিলাম এবং আমি এই চারটি OpAmp সিগন্যাল প্রসেসিং সার্কিট (এমনকি একটি Arduino Uno ব্যবহার করার সময়) এর পারফরম্যান্স দেখে এতটাই মুগ্ধ হয়েছি যে, আমি এটিকে আরো স্থায়ী ব্যবহারের জন্য স্ট্রিপবোর্ডে স্থানান্তর করেছি।

একই চারটি অপ্যাম্প সার্কিট এবং ডিএসপি কোড তারপর ATMega1284 এ পোর্ট করা হয়েছিল-আবার, আশ্চর্যজনকভাবে অ-অপরিহার্য পরিবর্তনগুলি যেমন সুইচ এবং এলইডি একটি ভিন্ন পোর্টে বরাদ্দ করা ছাড়াও, এবং 1, 000 এর পরিবর্তে 7, 000 কিলো-শব্দ বরাদ্দ করা বিলম্ব বাফারের জন্য RAM এর কিলো-শব্দ, সোর্স কোডে কেবল দুটি অপরিহার্য পরিবর্তন করতে হয়েছিল, যথা ADC2 থেকে ADC0 তে পরিবর্তন করা, এবং টাইমার 1/PWM OC1A এবং OC1B আউটপুটগুলি পোর্ট বি থেকে ইউনো-তে পোর্ট ডি (PDega এবং PD4) ATMega1284 এ।

পূর্বে উল্লেখ করা হয়েছে, যদিও ATMega1284 এর জন্য ডেভেলপমেন্ট বোর্ড পাওয়া যায় (Github: MCUdude MightyCore), এটি বেয়ার (বুটলোডার-মুক্ত) চিপ (PDIP সংস্করণ যা রুটি-বোর্ড এবং স্ট্রিপ-বোর্ড বন্ধুত্বপূর্ণ) কিনতে একটি সহজ ব্যায়াম।, তারপর আইএসপি প্রোগ্রামার হিসেবে ইউনো ব্যবহার করে ম্যানিয়াকবাগ মাইটি -১4১p পি কোর অপটিবুট বুটলোডার বা এমসিইউডুড মাইটিকোরের মার্ক পেনড্রিথ ফর্ক লোড করুন, এবং তারপর ইউনোর মাধ্যমে আবার AtMega1284 এ স্কেচ লোড করুন। এই প্রক্রিয়াটির বিশদ বিবরণ এবং লিঙ্কগুলি পূর্বের নির্দেশাবলীর পরিশিষ্ট 1 এ দেওয়া হয়েছে।

ধাপ 1: অংশ তালিকা

অংশ তালিকা
অংশ তালিকা
অংশ তালিকা
অংশ তালিকা

ATMega1284P (PDIP 40 পিন প্যাকেজ ভার্সন) Arduino Uno R3 (ATMega1284 এ বুট লোডার এবং স্কেচ স্থানান্তর করার জন্য একটি ISP হিসেবে ব্যবহৃত হয়) লাল 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 ওহম প্রতিরোধক 3 x 1k প্রতিরোধক 2 x 50k পোটেন্টিওমিটার (রৈখিক) 1 x 10k পোটেন্টিওমিটার (রৈখিক) 3 x পুশবাটন সুইচ (তাদের মধ্যে একটি 3-মেরু 2- উপায় ফুটসুইচ যদি প্রভাব বাক্স লাইভ কাজের জন্য ব্যবহার করা যাচ্ছে)

ধাপ 2: নির্মাণ

নির্মাণ
নির্মাণ

সার্কিট 1 ব্যবহার করা সার্কিট দেখায় এবং স্ট্রিপবোর্ড 1 হল তার শারীরিক প্রতিনিধিত্ব (ফ্রিজিং 1) ফটো 1 এর সাথে বাস্তব রুটি-বোর্ডযুক্ত সার্কিট। তিনটি ছোট সার্কিট পরিবর্তন করা হয়েছিল: ভাগ করা অর্ধ-সরবরাহ-স্তরের opamp পক্ষপাত তিনটি 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 ইনপুট এবং আউটপুট পর্যায়: এটি গুরুত্বপূর্ণ যে একটি RRO বা বিশেষ করে একটি RRIO OpAmp ব্যবহার করা হয় কারণ OpAmp আউটপুটে ATMega1284 এর ADC- এ বড় ভোল্টেজ সুইং প্রয়োজন। অংশ তালিকায় বিকল্প OpAmp ধরনের একটি সংখ্যা রয়েছে। 50k potentiometer ব্যবহার করা হয় ইনপুট লাভকে কোন মাত্রার বিকৃতির ঠিক নীচে, এবং এটি একটি মিউজিক প্লেয়ারের মতো গিটার ছাড়া অন্য একটি ইনপুট উৎসের জন্য ইনপুট সংবেদনশীলতা সামঞ্জস্য করতে ব্যবহার করা যেতে পারে। দ্বিতীয় OpAmp ইনপুট পর্যায় এবং প্রথম opamp আউটপুট পর্যায়ে অডিও স্ট্রিম থেকে ডিজিটালি উৎপন্ন MCU গোলমাল অপসারণের জন্য একটি উচ্চতর অর্ডার RC ফিল্টার রয়েছে।

এডিসি পর্যায়: এডিসি একটি টাইমার ইন্টারাপ্টের মাধ্যমে পড়ার জন্য কনফিগার করা হয়েছে। একটি 100nF ক্যাপাসিটর ATMega1284 এর AREF পিনের মধ্যে সংযুক্ত করা উচিত এবং আওয়াজ কমাতে মাটির অভ্যন্তরীণ Vcc উৎসকে রেফারেন্স ভোল্টেজ হিসাবে ব্যবহার করা হয় - AREF পিনকে সরাসরি +5 ভোল্টের সাথে সংযুক্ত করবেন না!

DAC PWM পর্যায়: ATMega1284 এর নিজস্ব DAC না থাকায়, একটি RC ফিল্টারের পালস প্রস্থ মডুলেশন ব্যবহার করে আউটপুট অডিও তরঙ্গাকৃতি তৈরি হয়। PD4 এবং PD5 এ দুটি PWM আউটপুট অডিও আউটপুটের উচ্চ এবং নিম্ন বাইট হিসাবে সেট করা হয় এবং 1: 256 অনুপাতে (কম বাইট এবং উচ্চ বাইট) দুটি প্রতিরোধক (3k9 এবং 1M) এর সাথে মিশ্রিত হয় - যা অডিও আউটপুট তৈরি করে ।

ধাপ 3: সফটওয়্যার

সফ্টওয়্যারটি ওপেন মিউজিক ল্যাবস স্টম্পবক্স প্যাডাল স্কেচের উপর ভিত্তি করে তৈরি করা হয়েছে এবং দুটি উদাহরণ অন্তর্ভুক্ত করা হয়েছে যথা একটি ফ্ল্যাঞ্জার/ফেজার ইফেক্ট এবং বিলম্ব প্রভাব। আবার আগের নির্দেশের মতো, আইএসপি প্রোগ্রামার (এসসিএলকে, এমআইএসও, এমওএসআই এবং রিসেট) দ্বারা ব্যবহৃত সুইচ এবং এলইডি অন্য বন্দরে সরানো হয়েছিল।

বিলম্ব বাফার 1000 শব্দ থেকে বাড়িয়ে 7000 শব্দ করা হয়েছে এবং দুটি PWM সংকেতের আউটপুট হিসেবে PortD সেট করা হয়েছে। বিলম্ব বাফার বৃদ্ধির সাথেও স্কেচ এখনও উপলব্ধ ATMega1284 16 kB RAM এর প্রায় 75% ব্যবহার করে।

অন্যান্য উদাহরণ যেমন পেডালশিল্ড ইউনোর জন্য ওপেন মিউজিক ল্যাবস ওয়েবসাইট থেকে ট্রেমোলো অন্তর্ভুক্ত করা হয়েছে শিরোনাম ফাইল Stompshield.h পরিবর্তন করে Mega1284 দ্বারা ব্যবহারের জন্য অভিযোজিত হতে পারে:

(1) পরিবর্তন করুন DDRB | = 0x06; // সেট pwm আউটপুট (পিন 9, 10) outputtoDDRD এ | = 0x30;

এবং

ADMUX = 0x62; // বাম সমন্বয়, adc2, অভ্যন্তরীণ vcc ADMUX = 0x60 এর রেফারেন্স হিসাবে; // রেফারেন্স হিসাবে বাম সামঞ্জস্য, adc0, অভ্যন্তরীণ vcc // এই পরিবর্তনগুলি কেবলমাত্র অপরিহার্য কোড পরিবর্তন // যখন Uno থেকে ATMega1284 এ পোর্ট করা হয়

এখানে অন্তর্ভুক্ত দুটি উদাহরণের জন্য, হেডার ফাইলটি স্কেচে অন্তর্ভুক্ত করা হয়েছে - যেমন কোন হেডার ফাইল ব্যবহার করার প্রয়োজন নেই

Pushbuttons 1 এবং 2 কিছু স্কেচ ব্যবহার করা হয় একটি প্রভাব বৃদ্ধি বা হ্রাস করার জন্য। বিলম্বের উদাহরণে এটি বিলম্বের সময় বৃদ্ধি বা হ্রাস করে। যখন স্কেচটি প্রথমে লোড করা হয় তখন এটি সর্বোচ্চ বিলম্বের প্রভাব দিয়ে শুরু হয়। ফ্ল্যাঞ্জার ফেজার স্কেচের জন্য একটি উন্নত প্রভাবের জন্য প্রতিক্রিয়া নিয়ন্ত্রণ বাড়ানোর চেষ্টা করুন।

বিলম্বকে ইকো এফেক্টে (পুনরাবৃত্তি যোগ করুন) লাইন পরিবর্তন করুন:

বাফার [অবস্থান] = ইনপুট; // নতুন নমুনা সংরক্ষণ করুন

প্রতি

বাফার [অবস্থান] = (ইনপুট + বাফার [অবস্থান]) >> 1; // ইকো ইফেক্টের জন্য এটি ব্যবহার করুন

ফুটসুইচ একটি তিন মেরু দুই উপায় সুইচ হতে হবে

ধাপ 4: লিঙ্ক

ইলেক্ট্রোসম্যাশ

ওপেন মিউজিক ল্যাবস মিউজিক

এটিমেগা ইফেক্ট পেডাল

প্রস্তাবিত: