সুচিপত্র:

PID লাইন ফলোয়ার Atmega328P: 4 ধাপ
PID লাইন ফলোয়ার Atmega328P: 4 ধাপ

ভিডিও: PID লাইন ফলোয়ার Atmega328P: 4 ধাপ

ভিডিও: PID লাইন ফলোয়ার Atmega328P: 4 ধাপ
ভিডিও: Fast line follower Robot 2024, জুলাই
Anonim
Image
Image

ভূমিকা

এই নির্দেশনাটি মস্তিষ্কের ভিতরে চলমান পিআইডি (আনুপাতিক-অবিচ্ছেদ্য-ডেরিভেটিভ) কন্ট্রোল (গাণিতিক) দিয়ে একটি দক্ষ এবং নির্ভরযোগ্য লাইন ফলোয়ার তৈরির বিষয়ে (Atmega328P)।

লাইন ফলোয়ার হচ্ছে একটি স্বায়ত্তশাসিত রোবট যা সাদা রঙে কালো রেখা অথবা কালো এলাকায় সাদা লাইন অনুসরণ করে। রোবটকে অবশ্যই নির্দিষ্ট লাইন সনাক্ত করতে এবং এটি অনুসরণ করতে সক্ষম হতে হবে।

তাই লাইন ফলোয়ার তৈরির জন্য কিছু অংশ/ধাপ থাকবে আমি ধাপে ধাপে তাদের সবাইকে নিয়ে আলোচনা করব।

  1. সেন্সর (লাইন দেখতে চোখ)
  2. মাইক্রোকন্ট্রোলার (কিছু হিসাব করার জন্য মস্তিষ্ক)
  3. মোটর (পেশী শক্তি)
  4. মোটর ড্রাইভার
  5. চেসিস
  6. ব্যাটারি (শক্তির উৎস)
  7. চাকা
  8. বিবিধ

এখানে লাইন ফলোয়ারের ভিডিও

পরবর্তী ধাপে আমি প্রতিটি উপাদান সম্পর্কে বিস্তারিত আলোচনা করব

ধাপ 1: সেন্সর (চোখ) QTR 8RC

সেন্সর (চোখ) QTR 8RC
সেন্সর (চোখ) QTR 8RC
সেন্সর (চোখ) QTR 8RC
সেন্সর (চোখ) QTR 8RC
সেন্সর (চোখ) QTR 8RC
সেন্সর (চোখ) QTR 8RC

এই দুর্দান্ত সেন্সর তৈরির জন্য পোলোলুকে ধন্যবাদ।

মডিউলটি আটটি আইআর এমিটার এবং রিসিভার (ফোটোট্রান্সিস্টর) জোড়াগুলির জন্য সুবিধাজনক বাহক যা 0.375 (9.525 মিমি) এর ব্যবধানে সমানভাবে অবস্থিত। একটি সেন্সর ব্যবহার করার জন্য, আপনাকে প্রথমে একটি ভোল্টেজ প্রয়োগ করে আউটপুট নোড চার্জ করতে হবে এর আউট পিন। তারপর আপনি বাইরের সরবরাহকৃত ভোল্টেজ প্রত্যাহার করে প্রতিফলন পড়তে পারেন এবং ইন্টিগ্রেটেড ফোটোট্রানজিস্টারের কারণে আউটপুট ভোল্টেজ ক্ষয় হতে কত সময় লাগে তা নির্ধারণ করতে পারেন। বিশেষ করে যখন LED পাওয়ার বন্ধ করার জন্য QTR-8RC মডিউলের ক্ষমতার সাথে মিলিত হয়:

  • এনালগ-টু-ডিজিটাল কনভার্টার (এডিসি) প্রয়োজন নেই।
  • ভোল্টেজ-ডিভাইডার এনালগ আউটপুটের উপর উন্নত সংবেদনশীলতা।
  • একাধিক মাইক্রোকন্ট্রোলার দিয়ে একাধিক সেন্সরের সমান্তরাল পড়া সম্ভব।
  • সমান্তরাল পড়া LED ক্ষমতা সক্রিয় বিকল্প অপ্টিমাইজড ব্যবহারের অনুমতি দেয়

স্পেসিফিকেশন

  • মাত্রা: 2.95 "x 0.5" x 0.125 "(হেডার পিন ইনস্টল না করে)
  • অপারেটিং ভোল্টেজ: 3.3-5.0 V
  • সরবরাহ বর্তমান: 100 এমএ
  • আউটপুট ফরম্যাট: 8 ডিজিটাল I/O- সামঞ্জস্যপূর্ণ সিগন্যাল যা একটি সময়সীমার উচ্চ পালস হিসাবে পড়তে পারে
  • অনুকূল সেন্সিং দূরত্ব: 0.125 "(3 মিমি) সর্বোচ্চ প্রস্তাবিত সেন্সিং দূরত্ব: 0.375" (9.5 মিমি)
  • হেডার পিন ছাড়া ওজন: 0.11 ওজ (3.09 গ্রাম)

QTR-8RC আউটপুটগুলিকে ডিজিটাল I/O লাইনে ইন্টারফেস করা

QTR-8RC মডিউলে আটটি অভিন্ন সেন্সর আউটপুট রয়েছে যা প্যারালাক্স QTI এর মতো, একটি ডিজিটাল I/O লাইনের প্রয়োজন যা আউটপুট লাইনটি উচ্চতর চালাতে সক্ষম এবং তারপর আউটপুট ভোল্টেজ ক্ষয় হওয়ার সময় পরিমাপ করে। একটি সেন্সর পড়ার জন্য সাধারণ ক্রম হল:

  1. IR LEDs চালু করুন (alচ্ছিক)।
  2. একটি আউটপুটে I/O লাইন সেট করুন এবং এটিকে উচ্চতর করুন।
  3. সেন্সর আউটপুট বাড়ার জন্য কমপক্ষে 10 Allows অনুমতি দিন।
  4. I/O লাইনকে একটি ইনপুট (উচ্চ প্রতিবন্ধকতা) করুন।
  5. I/O লাইন কম হওয়ার অপেক্ষায় ভোল্টেজ ক্ষয়ের সময় পরিমাপ করুন।
  6. IR LEDs বন্ধ করুন (alচ্ছিক)।

এই পদক্ষেপগুলি সাধারণত একাধিক I/O লাইনে সমান্তরালভাবে সম্পাদিত হতে পারে।

একটি শক্তিশালী প্রতিফলন সঙ্গে, ক্ষয় সময় কয়েক ডজন মাইক্রোসেকেন্ড হিসাবে কম হতে পারে; কোন প্রতিফলন ছাড়া, ক্ষয় সময় কয়েক মিলিসেকেন্ড পর্যন্ত হতে পারে। ক্ষয়ের সঠিক সময় আপনার মাইক্রোকন্ট্রোলারের I/O লাইনের বৈশিষ্ট্যের উপর নির্ভর করে। সাধারণ ক্ষেত্রে 1 এমএসের মধ্যে অর্থপূর্ণ ফলাফল পাওয়া যেতে পারে (যেমন যখন কম প্রতিফলন পরিস্থিতিতে সূক্ষ্ম পার্থক্য পরিমাপ করার চেষ্টা করা হয় না), সমস্ত 8 টি সেন্সরের 1 কেজিএইচ পর্যন্ত নমুনার অনুমতি দেয়। যদি নিম্ন-ফ্রিকোয়েন্সি স্যাম্পলিং যথেষ্ট হয়, তবে LEDs বন্ধ করে যথেষ্ট পরিমাণে বিদ্যুৎ সাশ্রয় করা যায়। উদাহরণস্বরূপ, যদি 100 Hz স্যাম্পলিং হার গ্রহণযোগ্য হয়, LEDs 90% বন্ধ থাকতে পারে, যা বর্তমান বর্তমান ব্যবহার 100 mA থেকে 10 mA পর্যন্ত কমিয়ে দেয়।

ধাপ 2: মাইক্রোকন্ট্রোলার (মস্তিষ্ক) Atmega328P

মাইক্রোকন্ট্রোলার (মস্তিষ্ক) Atmega328P
মাইক্রোকন্ট্রোলার (মস্তিষ্ক) Atmega328P
মাইক্রোকন্ট্রোলার (মস্তিষ্ক) Atmega328P
মাইক্রোকন্ট্রোলার (মস্তিষ্ক) Atmega328P

এই অসাধারণ মাইক্রোকন্ট্রোলার AKA Atmega328 তৈরির জন্য এটমেল কর্পোরেশনকে ধন্যবাদ।

ATmega328P এর জন্য মূল পরামিতি

পরামিতি মান

  • ফ্ল্যাশ (Kbytes): 32 Kbytes
  • পিন গণনা: 32
  • সর্বোচ্চ অপারেটিং ফ্রিক। (MHz): 20 MHz
  • CPU: 8-বিট AVR
  • সর্বোচ্চ I/O পিন: 23
  • অতিরিক্ত বাধা: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • এডিসি চ্যানেল: 8
  • এডিসি রেজোলিউশন (বিট): 10
  • SRAM (Kbytes): 2
  • EEPROM (বাইট): 1024
  • I/O সাপ্লাই ক্লাস: 1.8 থেকে 5.5
  • অপারেটিং ভোল্টেজ (Vcc): 1.8 থেকে 5.5
  • টাইমার: 3

বিস্তারিত তথ্যের জন্য Atmega328P এর ডেটাশীটের মাধ্যমে যান।

এই প্রকল্পে আমি কিছু কারণে Atmega328P ব্যবহার করছি

  1. সস্তা
  2. গণনার জন্য যথেষ্ট RAM আছে
  3. এই প্রকল্পের জন্য পর্যাপ্ত I/O পিন
  4. Atmega328P Arduino এ ব্যবহৃত হয় …. আপনি ছবি এবং ভিডিওতে একটি Arduino Uno লক্ষ্য করতে পারেন কিন্তু আমি Arduino IDE বা কোন Arduino ব্যবহার করছি.. আমি একটি ইন্টারফেসিং বোর্ড হিসাবে শুধুমাত্র হার্ডওয়্যার ব্যবহার করেছি আমি বুটলোডার মুছে ফেলেছি এবং চিপ প্রোগ্রামিংয়ের জন্য ইউএসবি এএসপি ব্যবহার করেছি।

চিপ প্রোগ্রামিং এর জন্য আমি Atmel Studio 6 ব্যবহার করেছি

সমস্ত সোর্স কোড GitHub এ আছে এটি ডাউনলোড করুন এবং test.c ফাইলটি দেখুন।

এই প্যাকেজটি কম্পাইল করার জন্য আপনাকে POLOLU AVR লাইব্রেরি সেটআপ ডাউনলোড এবং ইনস্টল করতে হবে সংযুক্তিগুলি পরীক্ষা করুন …

আমি একটি Atmega328P ডেভেলপমেন্ট বোর্ড স্কিম্যাটিক এবং বোর্ড ফাইলও আপলোড করছি … আপনি নিজে নিজে এটি তৈরি করতে পারেন …

ধাপ 3: মোটর এবং মোটর ড্রাইভার

মোটর এবং মোটর ড্রাইভার
মোটর এবং মোটর ড্রাইভার
মোটর এবং মোটর ড্রাইভার
মোটর এবং মোটর ড্রাইভার
মোটর এবং মোটর ড্রাইভার
মোটর এবং মোটর ড্রাইভার

আমি 350RPM 12V BO টাইপ গিয়ার্ড ডিসি মোটর অ্যাকচুয়েটর হিসেবে ব্যবহার করেছি। আরো তথ্য জানতে… মোটর লিংক

মোটর চালক হিসেবে আমি L293D H- ব্রিজ IC ব্যবহার করেছি।

আমি একই জন্য স্কিম্যাটিক এবং বোর্ড ফাইল সংযুক্ত করছি।

ধাপ 4: চ্যাসি এবং বিবিধ

চ্যাসি এবং বিবিধ
চ্যাসি এবং বিবিধ
চ্যাসি এবং বিবিধ
চ্যাসি এবং বিবিধ
চ্যাসি এবং বিবিধ
চ্যাসি এবং বিবিধ

বটটি 6 মিমি বেধের প্লাই কাঠ দিয়ে তৈরি।

প্রস্তাবিত: