Home » 2011 » January » 12 » আসুন জানি ইলেকট্রনিক ব্রেইন কিভাবে কাজ করে
9:42 PM
আসুন জানি ইলেকট্রনিক ব্রেইন কিভাবে কাজ করে

আসুন জানি ইলেকট্রনিক ব্রেইন কিভাবে কাজ করে

লেখাটি আপনার পছন্দ হয়েছে?

আসুন ইলেকট্রনিক ব্রেইন তৈরিতে ব্যবহৃত ডিভাইস সমূহ সম্পর্কে জানি এর মাধ্যমে ইলেকট্রনিক ব্রেইন তৈরিতে ব্যবহৃত প্রধান ডিভাইস হিসেবে মাইক্রোপ্রসেসর, মাইক্রোকন্ট্রোলার, এবং PLC এবং আসুন ইলেকট্রনিক ব্রেইন তৈরিতে ব্যবহৃত সহায়ক ডিভাইস সমূহ সম্পর্কে জানি এর মাধ্যমে RAM, ROM, সেন্সর, A/D এবং D/A কনভার্টার, কাউন্টার, Relay সম্পর্কে জেনেছিলাম। এখন আমরা একটি ইলেকট্রনিক ব্রেইন কিভাবে কাজ করে সে সম্পর্কে জানব।

ধরা যাক একটি রোবটিক্স গাড়ি স্বয়ংক্রিয় ভাবে সামনের বাঁধা অনুসন্ধান করে চলছে। আমরা চাচ্ছি যে গাড়িটি সামনে যেতে যেতে কোন বাঁধা পেলে,

  • কিছুটা পেছনে ফিরে আসবে।car
  • ডানে বামে অনুসন্ধান করে দেখবে কোন বাঁধা আছে কিনা।
  • যেদিকে কোন বাঁধা নেই সেদিকে এগিয়ে যাবে।
  • সামনে কোন বাঁধা না পেলে আনুপাতিক হারে গতি বৃদ্ধি করতে থাকবে।
  • পূণবায় বাঁধার সম্মুখীণ হলে প্রথমে গতি হ্রাস করবে থেমে যাবে এবং বাঁধা অতিক্রম করার জন্য নিয়মগুলির  পূনরাবৃত্তি ঘটাবে ।

এক্ষেত্রে গাড়িটিকে পরিচালনা করার প্রধান দায়িত্ব নেবে একটি মাইক্রোপ্রসেসর বা মাইক্রোকন্ট্রোলার। আমরা দেখতে পাচ্ছি যে গাড়িটিকে সঠিকভাবে পরিচালনা করার জন্য মাইক্রোকন্ট্রোলারকে রাস্তার পরিবেশ বিবেচনা করে বেশ কয়েকটি সিদ্ধান্ত নিতে হচ্ছে।

সামনে বাঁধা আছে কি নেই এজন্য এক বা একাধিক ইনফ্রারেড সেন্সর ব্যবহার করা হয়। সেন্সর থেকে প্রাপ্ত আউটপুট সিগন্যালটি এনালগ ইলেকট্রিক্যাল সিগন্যাল হয়, কিন্তু মাইক্রোকন্ট্রোলার কাজ করে ডিজিটাল ডাটা নিয়ে। এক্ষেত্রে A/D কনভার্টার সমস্যাটির সমাধান দেবে। A/D কনভার্টার এনালগ সিগন্যালটিকে ডিজিটাল ডাটায় রূপান্তর করে। এই ডাটা প্রাথমিক পর্যায়ে জমা রাখার কাজটি করে RAM। সাধারণত মাইক্রোকন্ট্রোলারের অভ্যন্তরেই RAM এমবেডেড অবস্থায় থাকে।

এখন প্রশ্ন হল মাইক্রোকন্ট্রোলারটি যে বেশ কিছু সিদ্ধান্তের উপর কাজ করছে কেন করছে কিভাবে করছে?

car2আসলে আমরা যদি বাজার থেকে একটা মাইক্রোকন্ট্রোলার কিনে এনে গাড়িতে লাগিয়ে দিই, তাহলে কিন্তু কিছুই হবে না। মাইক্রোকন্ট্রোলারকে দিয়ে গাড়িটিকে পরিচালনা করতে হলে তাকে গাড়ি চালানো শেখাতে হবে। আমরা অনেকেই অনেক কষ্ট করে ড্রাইভিং শিখেছি। সে সময় আমাদেরকে কেউ একজন পাশে বসে থেকে গাড়ি চালানোর নিয়ম কানুন শিখিয়েছেন। ঠিক এই কাজটিই মাইক্রোকন্ট্রোলারের ক্ষেত্রে করে থাকেন একজন প্রোগামার। প্রোগ্রামার গাড়িটি চালনা করার জন্য কি কি কাজ করতে হবে তা coding এর মাধ্যমে নির্দিষ্ট করে থাকেন। মাইক্রোকন্ট্রোলারের কোন পিন গুলো ইনপুট গ্রহণ করবে, কখন গ্রহণ করবে, কি ধরণের ইনপুট কতক্ষণ গ্রহণ করবে, কোন ধরণের ইনপুট পেলে কি কাজ করবে, আউটপুট কেমন হবে ইত্যাদি coding এ নির্দেশ করা থাকে। এই coding সাধারণ কম্পিউটার ব্যবহার করেই এবং এসেমব্লি ল্যঙ্গুয়েজ, প্রোগ্রামিং সি, ভিজুয়াল ব্যাসিক ইত্যাদি ল্যঙ্গুয়েজ ব্যবহার করে করা হয়।

এখন কথা হল যে মাইক্রোকন্ট্রোলার তো একটি চিপমাত্র, গাড়িকে পরিচালনা করার জন্য coding করা হল এই code মাইক্রোকন্ট্রোলারে পৌছাবে কি করে?

mic2কম্পিউটারে coding করা নির্ভুল code কে মাইক্রোকন্ট্রোলার প্রোগ্রামার ডিভাইস এর মাধ্যমে মাইক্রোকন্ট্রোলারে পাঠানো হয়। এজন্য মাইক্রোকন্ট্রোলারকে প্রোগ্রামার ডিভাইসের নির্দিষ্ট স্থানে বসিয়ে প্রয়োজনীয় বৈদ্যুতিক সাপ্লাই প্রদান করে, কম্পিউটারের সাথে ইন্টারফেসিং করে, সফটওয়ারের মাধ্যমে বার্ন করা হয়। এভাবে প্রোগাম করা ইন্সট্রাকশন সমূহ ROM এ জমা থাকে।

মাইক্রোকন্ট্রোলার সেন্সর থেকে সামনে বাঁধা আছে যার কারণে একটি ইনপুট সিগন্যাল ডিজিটাল ডাটা আকারে পেল যেটি এসে RAM এ জমা হল। এক্ষেত্রে মাইক্রোকন্ট্রোলারটি ROM এ সংরক্ষিত নির্দেশ অর্থাৎ গাড়িটির গতি কমাতে হবে, থামাতে হবে এবং কিছুটা পিছনে চলে আসতে হবে এই কাজগুলি করার জন্য প্রয়োজনীয় ইন্সট্রাকশন এবং ডাটা ROM থেকে নিয়ে এক্সিকিউট করে আউটপুট তৈরি করবে।

কোন একটি ইনপুট প্রাপ্তির কতক্ষণ পর আউটপুটকে সক্রিয় করতে হবে, কতক্ষণ সক্রিয় থাকবে ইত্যাদি অর্থাৎ ডিলে টাইম নিয়ন্ত্রণে  কাউন্টার মাইক্রোকন্ট্রোলারকে সাহায্য করে। গাড়িতে আউটপুটের মাধ্যমে চাকাকে নিয়ন্ত্রণ করা হয় এজন্য মটর ব্যবহৃত হয়। মটর এনালগ সিগন্যাল নিয়ে কাজ করে। সুতরাং এখানে মাইক্রোকন্ট্রোলারের আউটপুট ডিজিটাল সিগন্যালকে প্রয়োজনে এনালগ সিগন্যালে রূপান্তর করার জন্য D/A কনভার্টার ব্যবহার করা হয়। যদি আউটপুটের মাধ্যমে বড় কোন ডিভাইসকে পরিচালনা করতে হয় সেক্ষেত্রে Relay ব্যবহার করা হয়। গাড়ির চাকাকে অপারেট করতে ব্যবহৃত মটরকে পরিচালনা করার জন্যও Relay ব্যবহার করা হয়ে থাকে।

Views: 622 | Added by: zazafee | Rating: 0.0/0
Total comments: 0
Name *:
Email *:
Code *: