Arduino প্রোজেক্টে ঠিক কত ভোল্টের ব্যাটারী বা এডাপ্টার ব্যবহার করা উচিৎ? ব্যবহারকারীদের কাছে এখন এটি একটি জাতীয় প্রশ্ন!
প্রশ্নের উত্তর খুঁজতে গতানুগতিক মুখস্থ বিদ্যার বিপরীতে আজ আমরা বিস্তারিত ভাবে আলোচনা করবো আরডুইনো উনো’র ইউএসবি পাওয়ার ইউনিট নিয়ে। আশা করি উনো’র পাওয়ার সংক্রান্ত সকল প্রশ্নের উত্তর তুমি এখান থেকেই পেয়ে যাবে।
Arduino বিষয় ভিত্তিক এই সিরিজ অফ টিউটরিয়্যালে আমি তোমাদের পর্যায়ক্রমে একদম বেসিক হর্ডওয়ার কানেকশন থেকে শুরু করে প্রোগ্রামিং, ডিবাগিং অতঃপর Arduino ব্যবহার করে বিভিন্ন ধরণের আইওটি, হোম-অটোমেশন, রোবটিক্স প্রোজেক্ট তৈরি করা শেখাবো। যাতে অন্যের আইডিয়া চুরি না করেই, নিজের অর্জিত জ্ঞানের আলোকে তুমি তোমার ক্রিয়েটিভ চিন্তা-ভাবনা গুলোকে বাস্তবে রূপ দিতে পারো।
আর এভাবেই দিনে দিনে তুমি হয়ে উঠবে একজন প্রকৃত Arduino ডেভেলপার। চলো তাহলে আর দেরি না করে শুরু করি আমাদের বিষয় ভিত্তিক বিস্তারিত আলোচনা। আমাদের আজকের আলোচনার বিষয় হলো- আরডুইনো উনো’র ইউএসবি পাওয়ার ইউনিট।
তোমরা নিশ্চয় জেনে থাকবে, আমাদের কম্পিউটার বা ইউএসবি পোর্ট রয়েছে এমন সকল ডিভাইসই (সাধারণ অবস্থায়) USB Port দিয়ে DC 5V আউটপুট দিতে সক্ষম। যার অর্থ তুমি যখন প্রোগ্রাম করার জন্য Arduino কে কম্পিউটারের সাথে সংযোগ দাও, তখন এই ক্যাবলের ভিতর থাকা Red এবং Black তারের মাধ্যমে USB Power আরডুইনোর USB Type B Female Connector-এ এসে পৌঁছায়।
প্রাকটিক্যাল কাজের সময় হার্ডওয়ার অংশে ঘটে যাওয়া যেকোন ধরণের অনাকাঙ্খিত ঘটনা যেমন শর্ট-সার্কিটের কারণে পাওয়ার সাপ্লাই ইউটনিট (যেমন এখানে কম্পিউটার) যেন ক্ষতিগ্রস্থ না হয়, বিষয়টি বিবেচনায় রেখে এখানে সংযুক্ত করা হয়েছে একটি Auto Resettable Fuse।
আরডুইনো উনো’তে পাওয়ার সরবরাহের জন্য দুইটি ভিন্ন ভিন্ন পোর্ট রয়েছে:
- ইউএসবি পোর্ট এবং
- ডিসি পাওয়ার সকেট
একই সাথে উভয় পোর্টে Power এভেইলেবল হলে, Arduino কোন পাওয়ারকে প্রধান্য দিবে? এমন জটিল পরিস্থিতিতে সিদ্ধান্ত নিতে উনো’তে ব্যবহার করা হয়েছে Intelligent Power Selection Circuit।
যেখানে U5A একটি Operational Amplifier (Op-Amp) যা Comparator মোডে অপারেট করা হয়েছে। কমপারেটর মোডে অপারেশনাল এম্পিলিফাইয়ার তার ইনপুট গুলোর (inverting এবং non-inverting) মধ্যকার Potential Difference বা বিভব পার্থক্য সনাক্ত করতে পারে। ফাইনালি এই ইনপুট-ভোল্টেজের উপর ভিত্তি করে আউটপুট পাওয়া যায়। পরবর্তীতে এই আউটপুট ব্যবহার করে ইলেকট্রনিক্স সার্কিটে BJT বা MOSFET এর মত সুইচিং ডিভাইস নিয়ন্ত্রণ করা সম্ভব হয়।
এখানে R1, R2 রেজিস্টরর ব্যবহার করে DC Power Socket এ কোন ধরণের external power এর উপস্থিতি রয়েছে কি না? সেটি পর্যবেক্ষণ করে থাকে।
DC Power Socket বা Vin পিনে external power না থাকলে, Comparator এর non-inverting ইনপুটের ভোল্টেজ inverting ইনপুট পিনের তুলনায় কম হবে (non-inverting < inverting)। ফলে Comparator এর আউটপুট LOW হবে।
মসফেট As Switch
P-MOSFET Arduino-তে একটি সাধারণ সুইচ হিসেবে কাজ করে। যেখানে Comparator এর LOW আউটপুটের জন্য USB Power লাইনের P-MOSFET একটিভেট হবে। ফলশ্রুতিতে USB Power টি MOSFET এর মধ্য দিয়ে আরডুইনো উনো’র সকল 5V Power Rails এ এভেইলেবল হবে।
অপরদিকে DC Power Socket বা Vin (12V) পিনে external power ব্যবহার করা হলে, non-inverting এবং inverting পিনের ভোল্টেজ লেভেলের জন্য Comparator এর HIGH আউটপুট P-MOSFET কে ডিএকটিভেট করবে।
নিচের টেবিলটি মনোযোগ দিয়ে লক্ষ্য করো, Inverting এবং non Inverting পিনের ভোল্টেজের উপর নির্ভর করে Switching MOSFET টি কখনো চালু আবার কখনও বন্ধ হয়।
Inverting | Non-Inverting | P-MOSFET |
0V | 0V | ON |
0V | 3.3V | ON |
6V | 3.3V | OFF |
অর্থাৎ আরডুইনো উনো’তে DC Power Socket-এ পাওয়ার সংযোগ দেওয়ার সাথে সাথেই USB Power এর সংযোগ বিচ্ছিন্ন হয়ে যায়। ফলে USB Port থেকে আসা +5V তখন আর আরডুইনোর Power Rails-এ পৌছাতে পারে না।
আরো সহজ ভাষায় বলতে গেলে, উনোতে ব্যবহৃত DC Power Socket কে Primary Power Port বলা হয়। কোন কারণে এই পোর্টের পাওয়ার অনুপস্থিত থাকলে তবেই আরডুইনো তার Secondary Power হিসাবে USB Port থেকে পাওয়ার ব্যবহার করে থাকে।
DC Power Socket
লক্ষ্য করো এখানে Secondary Power (USB) এর ভোল্টেজ লেভেল সরাসরি 5V। আমাদের মাইক্রোকন্ট্রোলার ATmega328P এর অপারেটিং পাওয়ার 5V। কিন্তু Primary Power Port (DC Socket) টি এমন ভাবে ডিজাইন করা হয়েছে যাতে এখানে wide range এর Power Supply (7V to 12V) ব্যবহার করা যায়।
চলো এখন উত্তর খুঁজি কিভাবে এই Wide Range Power Supply ব্যবহার করে ATmega328P কে Power UP করা হয়?
ব্যবহারের উপর নির্ভর করে আরডুইনো উনো’কে কখনো কখনো Battery Voltage দিয়েও চালু রাখার প্রয়োজন হতে পারে। যেহেতু Battery Type এর উপর ভিত্তি করে এদের ভোল্টেজ কম-বেশি হয়ে থাকে এবং ডিসচার্জিং এর সাথে সাথে ব্যাটারী ভোল্টেজ কমতে থাকে। তাই এমন একটি সিস্টেমের প্রয়োজন যেখানে ইনপুট ভোল্টেজের পরিবর্তন হলেও – আউপটুট সর্বদা একই থাকবে।
উনো’তে এই কাজে ব্যবহৃত হয়েছে AMS1117-5.0। ভোল্টেজ রেগুরেটরটির ডেটাশিতে থাকে Technical Specification অনুসারে:
# | Minimum | Maximum |
---|---|---|
Input Voltage Range | = Vout + 2V | = 12V |
সুতরাং 5V আউটপুট ভোল্টেজের জন্য এই 7V থেকে 12V পর্যন্ত ভোল্টেজের যে কোন ধরণের পরিবর্তন হলেও, AMS1117-5.0 ভোল্টেজ রেগুলেটর আইসি’র আউটপুট সর্বদা কনস্ট্যান্ট 5V পাওয়া যাবে। আরডুইনো’র DC Power Socket এর ইনপুট পাওয়ার এভাবেই সকল 5V Power Rails এ পাওয়ার সরবরাহ করে থাকে।
Power Indication LED
আরডুইনো’র 5V DC Power Rails থেকে সরাসরি অপারেট করা হয়েছে একটি Power LED। আর এ জন্যই Arduino UNO সঠিক ভাবে পাওয়ার পেলেই আমরা একটি লাল বা সবুজ Power LED জ্বলে থাকতে দেখি।
Power Generation Unit
আরডুইনো উনো’র Power Generation Unit এর আরও একটি গুরুত্বপূর্ণ অংশ হলে 3.3V Generation Unit। ইতিপূর্বে আমরা Comparator Op-Amp এর সাহায্যে যে MOSFET অপারেট হতে দেখেছি। সেখানে Inverting Input পিনের Reference-এর জন্য 3.3V প্রয়োজন। বিভিন্ন ধরণের Sensor, Modules এ প্রয়োজনীয়ও 3.3V পাওয়ার সরবরাহ করার জন্য ব্যবহার করা হয়েছে। ভিন্ন আরও একটি পজেটিভ ভোল্টেজ রেগুলেটর LP2985-33।
Complete Power Unit
এখন চলো আরডুইনো’র সম্পূর্ণ পাওয়ার ইউনিটের স্কেমেটিক ডায়াগ্রাম একসাথে দেখা যাক। এ পর্যায়ে তোমরা মনে মনে সম্পূর্ণ Power Flow প্রোসেস’কে তোমার কল্পনায় এনে চিন্তা করে দেখতে পারো। আশাকরি ইত্যিমধ্যে আমরা যে বিষয়গুলোতে বিস্তারিত আলোচনার করেছি, তা থেকে প্রাপ্ত জ্ঞান তোমাকে সপূর্ণ ডায়াগ্রাম সম্পর্কে একটি স্পষ্ট ধারণা দিবে।
সার্কিট ডায়াগ্রাম থেকে তোমাদের যদি আরো নতুন কোন findings থাকে, অবশ্যই কমেন্টের মাধ্যমে আমাদের সাথে শেয়ার করতে পারো। খুব শীঘ্রই আরডুইনো’র অন্য কোন জটিল অংশের সহজ ব্যাখা নিয়ে, আবারো উপস্থিত হবো পরবর্তী টিউটরিয়্যালে।
আল্লাহ হাফেজ।