অ্যানালগ ও ডিজিটাল সিগনাল
আর সেন্সর সম্পর্কে স্পষ্ট ধারণা থাকা ইলেকট্রনিক্স নিয়ে কাজ করে এমন সবার জন্য খুবই
জরুরি। এই আলোচনায় একটু সহজভাবে আমরা ডিজিটাল ও অ্যানালগ সিগনাল আর সেন্সর
সম্পর্কে বিস্তারিত আলোচনা করার চেষ্টা করব।
আমরা সবাই ইতোমধ্যে
ডিজিটাল শব্দটির সাথে পরিচিত আর এটুকু অন্তত জানি যে, মোবাইল-কম্পিউটার সহ সব
ডিজিটাল ডিভাইসগুলো আসলে শূন্য আর এক নিয়ে কাজ করে। অন্যভাবে বললে, নিদির্ষ্ট একটি
হাই ভোল্টেজ(সাধারণত 3.3V বা 5V) আর লো ভোল্টেজ(শূন্য
ভোল্ট) নিয়ে কাজ করে থাকে। তবে যেকোন কৌতুহলী মনে প্রশ্ন আসবে যে, এই লজিক লেভেল
ভোল্টেজ আর শূন্য ভোল্ট এর মাঝের কোন ভোল্টেজকে ডিভাইস গুলো কীভাবে গ্রহন করবে।
মানে শূন্য ধরবে নাকি এক(Binary 1 or Binary 0)।
এই প্রশ্নের একক কোন উত্তর
নেই কারন ইলেকট্রনিক্স এর জগতে বেশ কয়েক ধরনের টেকনোলজি আছে। প্রতিটি টেকনোলজি
ডেভোলপ করার সময় আলাদাভাবে এই জিনিসটা সঙ্গায়িত করা হয়েছে। এইযে Binary 1 or Binary 0 কে আলাদা করা হয় একে বলে Logic levels. বহুল
ব্যবহৃত লজিক লেভেল হল TTL Levels (Transistor-transistor logic)। যেকোন লজিক ফ্যামিলির
বেশ কিছু লজিক লেভেল থাকে যা জানা প্রয়োজন। এগুলোর বর্ণনা দেয়ার জন্য 5 Volt TTL levels এর সাহায্য নেয়া যাক।
VOH
– যেকোনো TTL device High state এর জন্য নূন্যতম এই ভোল্টেজ আউটপুট দিবে।
VIH
- যেকোনো TTL device নূন্যতম এই ভোল্টেজ
ইনপুট পেলে High state হিসেবে ধরে নিবে।
VIL
- যেকোনো TTL device ইনপুটে সর্বোচ্চ এই
ভোল্টেজকে LOW signal ধরে নিবে।
VOL
- যেকোনো TTL device LOW signal বোঝানোর জন্য সর্বোচ্চ এই ভোল্টেজ আউটপুট দিবে।
TTL 5V logic levels |
লক্ষ্য করি,
সহজ ভাবে বললে ইনপুট দেয়ার সময় ২ থেকে ৫ ভোল্টের মাঝের যেকোন ভোল্টেজকে (আসলে
২ভোল্টের ওপরের যেকোন ভোল্টেজকে, যতক্ষণ ডিভাইসটি অতিরিক্ত ভোল্টেজের কারনে নষ্ট
না হয়) ডিভাইসগুলো Binary 1 হিসেবে গণ্য করবে। আর শূন্য থেকে ০.৮ ভোল্টের
যেকোন ডিভাইসকে শূন্য হিসেবে গণ্য করবে। তারপরও প্রশ্ন থেকে যায়, ০.৮ ভোল্ট থেকে ২
ভোল্টের মাঝের ইনপুট গুলোর কী হবে। আসলে এই সীমাটা সঙ্গায়িত নয়, অর্থাৎ এর মাঝে
ইনপুট ভোল্টেজের মান থাকলে যেকোনো TTL
device দৈব চয়নে Binary 1 বা Binary 0 ইনপুট ধরে
নিবে। হয়তবা এটা অনবরত বদলাতে থাকবে।
তাহলে যেকোনো TTL device High state এর জন্য নূন্যতম ২.৭ ভোল্ট আউটপুট দিতে চাইবে কিন্তু নয়েজের
কারনে এই মান সামান্য কমতে বা বাড়তে পারে। তাই ২ থেকে ২.৭ ভোল্টের এই সীমাকে বলা হয় নয়েজ
মার্জিন (Noise
margin)। নয়েজ হলো অনাকাঙ্খিতভাবে সিগনালের ভোল্টেজ পরিবর্তিত
হওয়া। একই কথা LOW signal বোঝানোর জন্য সর্বোচ্চ ০.৪
ভোল্টের ক্ষেত্রেও প্রযোজ্য। অর্থাৎ এক্ষেত্রে নয়েজ মার্জিন হল ০.৪ থেকে ০.৮
ভোল্ট।
নিচের ছবিতে 3.3 Volt TTL levels দেখানো হচ্ছে,
TTL 3.3V logic levels |
দেখাই যাচ্ছে,
৩.৩ ভোল্ট আর ৫ ভোল্ট লজিক লেভেলের মধ্যে সর্বোচ্চ ভোল্টেজ ছাড়া তেমন কোন পার্থক্য
নেই, তাই সহজেই একটি ৩.৩ ভোল্ট ডিভাইস থেকে আউটপুট নিয়ে ৫ ভোল্ট ডিভাইসে ইনপুট
দেয়া যাবে, কোন রকম জটিলতা ছাড়াই। কিন্তু এর উল্টোটা মোটেও এতটা সহজ নয়, কারন ৩.৩
ভোল্ট ডিভাইস সাধারনত ৩.৬ ভোল্টের বেশি সহ্য করতে পারে না। তাই কোনো ডিভাইস থেকে ৫
ভোল্ট আউটপুট নিয়ে ৩.৩ ভোল্ট ডিভাইস ইনপুট দিলে আইসিটি নষ্ট হয়ে যাবে। যাই হোক,
কিছু কিছু ৩.৩ ভোল্ট ডিভাইস ৫ ভোল্টও সহ্য করতে পারে, ডাটাশীট দেখে অবশ্যই
ব্যাপারটা নিশ্চিত হতে হবে।
তবে ৩.৩ ভোল্ট
ডিভাইসে ৫ ভোল্ট লজিক ইনপুট দিতে চাইলে সহজেই একটি ভোল্টেজ ডিভাইডার সার্কিট এর
সাহায্যে তা করা যায়, অথবা আরো বেশি নিখুতভাবে কাজটি করার জন্য বাজারে পাওয়া যায়
লজিক লেভেল কনভার্টার মডিউল।
এবার আসা যাক,
সবার পরিচিত আর প্রিয় আর্ডুইনোর ব্যাপারে। আর্ডুইনোর (ATmega328 P) লজিক লেভেল সামান্য আলাদা রকম হয়।
Arduino logic levels |
পার্থক্যগুলো
খুবই পরিষ্কারভাবে ফুটে উঠে নিশ্চয়ই, অসঞ্জায়িত সীমানাটা এখানে ১.৫ থেকে ৩ ভোল্টেরর
মাঝে আছে। আর নয়েজ মার্জিন আগের তুলনায় অনেক বেশি। ফলে দুইটি আর্ডুইনোর মাঝে যখন
কমিউনিকেশন করা হয় তখন নয়েজের কারনে ঝামেলা অনেক কম হয়।
অ্যানালগ
সিগনাল আসলে প্রাকৃতিক সিগনাল। যেকোন পরিবাহী তার আসলে এন্টেনা হিসেবে কাজ করে
থাকে, ফলশ্রুতিতে বাতাসে ভেসে বেড়ানো রেডিও ওয়েভ, মাইক্রো ওয়েভ ইত্যাদি তাড়ীত
চৌম্বকীয় তরঙ্গ সৃষ্টি করে নয়েজ। তাছাড়া যেকোন পরিবাহী তারের বা সার্কিটের ওপর
চৌম্বকীয় আবেশ, তারের ক্যাপাসিটেন্স ইত্যাদি কারনে সৃষ্টি হয় নয়েজ। এতটুকু জানার
পর এটা নিশ্চয়ই পরিষ্কার যে ডিজিটাল সিস্টেমের ওপর নয়েজের প্রভাব খুবই কম (কারন
নয়েজ মার্জিন) যেটা ডিজিটাল কমিউনিকেশনের সবচে বড় সুবিধা।
অ্যানালগ
কমিউনিকেশনের সবচে বড় অসুবিধাও এই নয়েজ। কারন অ্যানালগ সিগনাল শূন্য বা এক নিয়ে
কাজ করে না বরং একটা সীমার মধ্যে হাজার হাজার ভোল্টেজ লেভেল আলাদা আলাদা মান
প্রকাশ করে। এজন্য একক সময়ে একটি চ্যানেলের মাধ্যমে একটি অ্যানালগ সিগনাল অনেক
বেশি ডেটা আদান প্রদানে সক্ষম। সেন্সরের আজ আসলে এখানেই, প্রকৃতিতে প্রাপ্ত কোন
ডেটাকে যখন ইলেকট্রিক্যাল সিগনালে রুপান্তর করা হয় তখন সেটা আমরা অ্যানালগ ডেটা
হিসেবে পাই। উদাহরণ স্বরূপ একটি টেম্পারেচার সেন্সরের কথা আলোচনায় আনা যাক।
LM35 একটি
টেমপারেচার সেন্সর যা -৫৫ ডিগ্রি সেলসিয়াস থেকে ১৫০ ডিগ্রি সেলসিয়াস পর্যন্ত
তাপমাত্রা শনাক্ত করতে পারে। এর আউটপুট ভোল্টেজ শূন্য ডিগ্রি তাপমাত্রার জন্য ০
ভোল্ট আর প্রতি ডিগ্রি সেলসিয়াসের জন্য ১০ মিলিভোল্ট করে বৃদ্ধি পায় যা ±০.৫ ডিগ্রি সেলসিয়াস পর্যন্ত অ্যাকুরেট। তাহলে ০ ডিগ্রি
সেলসিয়াসের জন্য এর আউটপুট হবে ০ ভোল্ট, ২৫ ডিগ্রি সেলসিয়াসের জন্য এর আউটপুট হবে
২৫০ মিলি ভোল্ট আর ১৫০ ডিগ্রি সেলসিয়াসের জন্য এর আউটপুট হবে ১৫০০ মিলি ভোল্ট বা
১.৫ ভোল্ট। এই আউটপুটের মান অ্যানালগ সিগনালের একটি সহজ উদাহরণ।
অর্থাৎ কোন
অ্যানালগ সিস্টেম ভোল্টেজের ক্ষুদ্র পার্থক্যও ধরতে পারবে আর সম্পর্কটা লিনিয়ার।
কতটা ক্ষুদ্র মান শনাক্ত করতে পারবে এটা সিস্টেমের ওপর নির্ভর করে। ব্যাপারটা
অনেকটা এভাবে বলা যায় যে, ডিজিটাল সিগনাল হল শুধু পূর্ণ সংখ্যা শূন্য আর এক আর
অ্যানালগ সিগনাল হল নির্দিষ্ট সীমার মধ্যে দশমিক সংখ্যা।
যেহেতু প্রকৃতি
থেকে তথ্য সংগ্রহই সেন্সরের মূল কাজ, আর প্রাকৃতিক পরিবর্তনগুলো খুবই সূক্ষ্ণ তাই
সেন্সর থেকে যে মান গুলো প্রাথমিকভাবে পাওয়া যায় তার সবই প্রায় অ্যানালগ (ব্যতিক্রমও
আছে, যেমন মেকানিক্যাল সুইচ)। এই অ্যানালগ মানগুলোকে পরবর্তিতে ডিজিটাল মানে
পরিবর্তন করা হয় ADC (Analog to Digital Converter) এর সাহায্যে। আবার
অনেকসময় ডিজিটাল সিগনালকে অ্যানালগ সিগন্যালে পরিবর্তন করার প্রয়োজন হয়। এরজন্য
ব্যবহার করা হয় DAC (digital to Analog Converter)। ADC আর DAC সম্পর্কে জানতে এই আর্টিকেলটি পড়ুন।
0 Comments