পি ডব্লিউ এম (পালস ওয়াইডথ মডুলেশন)

পি ডব্লিউ এম কে বলা হয় পালস ওয়াইডথ মডুলেশন। পি ডব্লিউ এম এমন একটি মডুলেশন কৌশল যার মাধ্যমে একটা পালস সিগন্যালের পালস ওয়াইডথ নিয়ন্ত্রণ করা হয়। পি ডব্লিউ এম ব্যবহার করা হয় বিভিন্ন ধরণের এনালগ সার্কিটকে নিয়ন্ত্রণ করার জন্য যেমন ডিসি মটরের স্পিড কন্ট্রোল, লাইটের ব্রাইটনেস কন্ট্রোল এবং এ ধরণের বিভিন্ন কাজে।

পি ডব্লিউ এম বা পালস ওয়াইডথ মডুলেশন কিভাবে কাজ করে?

http://arduino.cc/en/Tutorial/PWM পেজটিতে PWM  বিষয়ে খুব ভালো একটা আলোচনা আছে।
আমরা উপরের ছবিতে ৫ টি PWM সিগন্যাল দেখতে পাচ্ছি । এখানে পাশাপাশি দুটি সবুজ দাগের মধ্যবর্তী অংশ টাইম প্রিয়োড বা এক সাইকেল নির্দেশ করে। অর্থাৎ PWM সিগন্যালের একটি পূর্ণ সাইকেল তৈরি করতে যে সময় প্রয়োজন হয় তাই হচ্ছে টাইম প্রিয়োড ।
আর একটা গুরুত্বপূর্ণ টার্ম হচ্ছে ফ্রিকোয়েন্সি। ১ সেকেন্ড সময়ের মধ্যে যতগুলো পূর্ণ সাইকেল সম্পন্ন হয় তাই হচ্ছে ফ্রিকোয়েন্সি।
এবার ডিউটি সাইকেল বিষয়ে কিছু কথা বলা যাক। PWM সিগন্যালের একটা পূর্ণ সাইকেল (পাশাপাশি দুটি সবুজ দাগের মধ্যবর্তী অংশ) এর শতকরা যতটুকু অংশ লজিক হাই থাকে তাই হচ্ছে ঐ PWM সিগন্যালের ডিউটি সাইকেল।
  • ছবিতে দেখানো ১ম সিগন্যালটির ডিউটি সাইকেল 0% । তাই এতে কোন লজিক হাই লেভেল নেই। এখানে লজিক হাই বলকে ভোল্টেজের একটা নির্দিষ্ট DC লেভেলকে নির্দেশ করে। সাধারণত এই মান DC 5V হয়ে থাকে, এবং ছবিতেও তাই দেখানো হয়েছে। আর লজিক লো বলতে সাধারণত DC 0V কে নির্দেশ করে।
  • ছবিতে দেখানো ২য় সিগন্যালটির ডিউটি সাইকেল 25% । অর্থাৎ একটা পূর্ণ সাইকেলের চার ভাগের একভাগ বা 25% সময় সিগন্যালটি লজিক হাই রয়েছে।
  • ছবিতে দেখানো ৩য় সিগন্যালটির ডিউটি সাইকেল 50% । অর্থাৎ একটা পূর্ণ সাইকেলের অর্ধেক বা 50% সময় সিগন্যালটি লজিক হাই রয়েছে।
  • ছবিতে দেখানো ৪র্থ সিগন্যালটির ডিউটি সাইকেল 75% । অর্থাৎ একটা পূর্ণ সাইকেলের চার ভাগের তিনভাগ বা 75% সময় সিগন্যালটি লজিক হাই রয়েছে।
  • ছবিতে দেখানো ৫ম সিগন্যালটির ডিউটি সাইকেল 100% । অর্থাৎ এটা একটা পূর্ণ DC ভোল্টেজ লেভেলকে নির্দেশ করে।
PWM সিগন্যালের এই ডিউটি সাইকেল পরিবর্তন করে আউটপুট ভোল্টেজের এভারেজ মান পরিবর্তন করা যায়। আর এই লজিকটি ব্যবহার করেই PWM এর মাধ্যমে বিভিন্ন এনালগ ডিভাইসকে নিয়ন্ত্রণ করা হয়।
আরো একটু বিস্তারিত ভাবে বিশ্লেষণ করা যাক।
আমরা যদি একটা ডিজিটাল পালস সিগন্যাল ব্যাবহার করি যার লজিক হাই লেভেল 5V এবং লজিক লো লেভেল 0V, এবং যদি সিগন্যালের ডিউটি সাইকেল 80% হয়, তাহলে আউটপুটে এভারেজ DC ভোল্টেজ পাওয়া যাবে 5x 0.8 = 4V ।  সিগন্যালের ডিউটি সাইকেল যদি 60% হয়, তাহলে আউটপুটে এভারেজ DC ভোল্টেজ পাওয়া যাবে 5x 0.6 = 3V ।
এই পদ্ধতি প্রয়োগ করে শুধুমাত্র সিগন্যালের ডিউটি সাইকেল পরিবর্তন করেই আমরা আউটপুট ভোল্টেজের এভারেজ মান পরিবর্তন করতে পারছি।

Arduino এবং PWM

Arduino UNO তে 3, 5, 6, 9, 10, এবং 11 নং পিন PWM তৈরি করতে পারে। এই পিন সমূহের বেশির ভাগই সর্বচ্চ 490kHz এর PWM তৈরি করতে পারে। তবে 5 এবং 6 নং পিন হাই ফ্রিকোয়েন্সির সর্বচ্চ 980kHz এর PWM তৈরি করতে পারে। এ সকল পিন ব্যবহার করে PWM তৈরি করার জন্য  analogWrite() ফাংশন ব্যবহার করা হয়। পরবর্তী পর্বে আমরা PWM ব্যবহার করে একটা প্রজেক্ট তৈরি করবো।
ছবিতে দেখানো Arduino UNO তে 3, 5, 6, 9, 10, এবং 11 নং পিনে (~) প্রকাশ করে যে এই পিনগুলো  PWM তৈরি করতে সক্ষম।

Find us on Facebook

Categories