পিডাব্লুএম সিগন্যালটি এভিআর চিপসের টাইমারদের দ্বারা উত্পন্ন হয়। প্রতিটি টাইমার দুটি বা তিনটি পৃথক পিনের উপর একটি পিডব্লিউএম সংকেত তৈরি করতে পারে। প্রতিটি পিনের নিজস্ব ডিউটি চক্র থাকতে পারে তবে তারা পিডব্লিউএম ফ্রিকোয়েন্সি ভাগ করে। আপনি টাইমারগুলির জন্য ঘড়ির উত্স পরিবর্তন করে PWM এর ফ্রিকোয়েন্সি পরিবর্তন করতে পারেন। ডিফল্টরূপে তারা CPU ঘড়ি ব্যবহার করে 64৪, অর্থাৎ ভাগ করে divided আরডুইনো ইনিশিয়েশন কোড দ্বারা তাদের প্রেসক্যালার সেট করা আছে।। জিনিসগুলিকে আরও বিভ্রান্ত করার জন্য দুটি পৃথক পিডাব্লুএম মোড রয়েছে: দ্রুত পিডব্লিউএম এবং পর্বের সঠিক পিডব্লিউএম। দ্রুত পিডব্লিউএম-তে টাইমার গণনা করে 255, তারপরে ওভারফ্লো হয় এবং 0 (256 বিভিন্ন রাজ্য) থেকে শুরু হয়। পর্যায়ে সঠিক পিডাব্লুএমএম টাইমার গণনা করে 255, তারপরে দিক পরিবর্তন করে এবং নিচে শূন্যে গণনা করা হয়, দিক পরিবর্তন করে এবং (510 বিভিন্ন রাজ্য) different
আরডুইনো মেগায় 5 টি টাইমার, টাইমার 0 - টাইমার 4 রয়েছে। কারণ টাইমার0 এছাড়াও মিলিস এবং মাইক্রো ফাংশনগুলির জন্য ব্যবহৃত হয় এটি দ্রুত পিডব্লিউএম ব্যবহার করে, অন্য টাইমারগুলি সঠিক পর্যায়ে পিডব্লিউএমের জন্য কনফিগার করা হয়। এটি বিভিন্ন পিনে বিভিন্ন ফ্রিকোয়েন্সিগুলির ফলাফল:
পিন 4 এবং 13, টাইমার 0:
16 মেগাহার্টজ / 64/256 = 976.56 হার্জ দ্বারা নিয়ন্ত্রিত
অন্যান্য পিডব্লিউএম পিনগুলি টাইমার 1-4:
16 মেগাহার্টজ / 64/510 = 490.20 হার্জ দ্বারা নিয়ন্ত্রিত
গণনাটি হ'ল: ক্লক / প্রেসক্যালার / পিডাব্লুএম মোডের রাজ্যের সংখ্যা
আমার জানা সমস্ত অন্যান্য আরডুইনো বোর্ডের জন্য পরিস্থিতি একই রকম, তাদের কাছে আলাদা পিনের সাথে সংযোগকারী টাইমার কম রয়েছে।
আপনি টাইমার প্রেসক্যালার পরিবর্তন করে PWM ফ্রিকোয়েন্সি পরিবর্তন করতে পারেন। এই পৃষ্ঠাটি দেখুন: http://playground.arduino.cc/Main/TimerPWMCheatsheet
টাইমারগুলি 255 এর চেয়ে আলাদা মানের হিসাবে গণনা করাও সম্ভব the 8 বিট টাইমারগুলিতে আপনি আউটপুট পিনটি আলগা করবেন তবে 16 বিট টাইমারে আপনি কোনও শীর্ষ মানের সংজ্ঞা দেওয়ার জন্য ইনপুট ক্যাপচার রেজিস্টার ব্যবহার করতে পারেন। ইনপুট ক্যাপচার কার্যকারিতা এমন একটি বৈশিষ্ট্য যা আরডুইনো সম্প্রদায়ে খুব কমই ব্যবহৃত হয় আপনি সম্ভবত এটি এড়াতে পারবেন না।
আরডুইনো লাইব্রেরিগুলি আপনাকে কেবলমাত্র 16 বিট টাইমারগুলিতে 8 বিট রেজোলিউশন ব্যবহার করতে দেয়। আপনি যদি উচ্চতর রেজোলিউশন চান, আপনার নিজের অ্যানালগ রাইট লিখতে হবে, বা উদ্দেশ্যে তৈরি একটি লাইব্রেরি ব্যবহার করতে হবে। আরডুইনোতে মেগা টাইমার0 এবং টাইমার 2 8 বিট হয়, বাকিগুলি 16 বিট হয়।
সম্পূর্ণ রেজোলিউশনটি ব্যবহারের জন্য 16 বিট টাইমারগুলির মোড পরিবর্তন করে, প্রেসকেলার এবং শীর্ষ মান পরিবর্তনের সাথে একত্রে আপনি পিডব্লিউএম ফ্রিকোয়েন্সিগুলির একটি বিস্তৃত পরিসর অর্জন করতে পারেন।
আপনি যে সর্বাধিক ফ্রিকোয়েন্সিটি অর্জন করতে পারবেন তা হ'ল ক্লক / ৪, দ্রুত পিডব্লিউএম মোডে প্রেসক্যালারকে 1 এবং শীর্ষে 3 এ সেট করে - একটি কম মান অনুমোদিত নয়। এটি আপনাকে 2 বিট রেজোলিউশনের সাথে একটি 4 মেগাহার্জ পিডাব্লুএম দেয়। এটি 0%, 25%, 50%, বা সময়ের 75% হতে পারে। একটি উচ্চতর TOP মান আপনাকে কম ফ্রিকোয়েন্সিতে উচ্চতর রেজোলিউশন দেয়।
দীর্ঘতর ব্যাখ্যার জন্য এই নিবন্ধটি পড়ুন বা ডেটাশিটটি দেখুন ।
Prescaler, PWM মোড, বা শীর্ষ সঙ্গে timer0 ইচ্ছা জগাখিচুড়ি জন্য মান পরিবর্তন millis()
এবং micros()
।