جدول المحتويات:

متابع خط PID Atmega328P: 4 خطوات
متابع خط PID Atmega328P: 4 خطوات

فيديو: متابع خط PID Atmega328P: 4 خطوات

فيديو: متابع خط PID Atmega328P: 4 خطوات
فيديو: Line Follower Robot using Arduino and IR Sensor: Step-by-Step Tutorial 2024, شهر نوفمبر
Anonim
Image
Image

المقدمة

تدور هذه التعليمات حول إنشاء متابع خط فعال وموثوق به مع تحكم PID (مشتق متكامل) (رياضي) يعمل داخل دماغه (Atmega328P).

متابع الخط هو روبوت مستقل يتبع إما الخط الأسود باللون الأبيض أو الخط الأبيض في المنطقة السوداء. يجب أن يكون الروبوت قادرًا على اكتشاف خط معين ومتابعة متابعته.

لذلك ستكون هناك أجزاء / خطوات قليلة لعمل متابعة خط سأناقشها جميعًا خطوة بخطوة.

  1. مستشعر (عين لرؤية الخط)
  2. متحكم دقيق (يقوم الدماغ ببعض العمليات الحسابية)
  3. المحركات (قوة العضلات)
  4. سائق دراجه ناريه
  5. الهيكل
  6. البطارية (مصدر الطاقة)
  7. عجلة
  8. متفرقات

هنا هو فيديو متابعة الخط

في الخطوات التالية سأناقش بالتفصيل كل المكونات

الخطوة 1: جهاز الاستشعار (العين) QTR 8RC

حساس (عين) QTR 8RC
حساس (عين) QTR 8RC
حساس (عين) QTR 8RC
حساس (عين) QTR 8RC
حساس (عين) QTR 8RC
حساس (عين) QTR 8RC

بفضل تصنيع Polufor لهذا المستشعر الرائع.

الوحدة عبارة عن ناقل مناسب لثمانية أزواج من باعث ومستقبل الأشعة تحت الحمراء (ترانزستور ضوئي) متباعدة بشكل متساوٍ على فترات 0.375 بوصة (9.525 مم). لاستخدام جهاز استشعار ، يجب أولاً شحن عقدة الإخراج (شحن المكثف) عن طريق تطبيق جهد على دبوس OUT الخاص به.يمكنك بعد ذلك قراءة الانعكاس عن طريق سحب الجهد الموفر خارجيًا وتوقيت المدة التي يستغرقها جهد الخرج للانحلال بسبب الترانزستور الضوئي المدمج.وقت الانحلال الأقصر هو مؤشر على انعكاس أكبر.نهج القياس هذا له العديد من المزايا ، خاصة عند اقترانها بقدرة وحدة QTR-8RC على إيقاف تشغيل طاقة LED:

  • لا يلزم وجود محول تناظري رقمي (ADC).
  • حساسية محسنة على الإخراج التناظري مقسم الجهد.
  • القراءة المتوازية لأجهزة الاستشعار المتعددة ممكنة مع معظم المتحكمات الدقيقة.
  • تتيح القراءة المتوازية الاستخدام الأمثل لخيار تمكين طاقة LED

تحديد

  • الأبعاد: 2.95 بوصة × 0.5 بوصة × 0.125 بوصة (بدون تثبيت دبابيس الرأس)
  • جهد التشغيل: 3.3-5.0 فولت
  • العرض الحالي: 100 مللي أمبير
  • تنسيق الإخراج: 8 إشارات رقمية متوافقة مع الإدخال / الإخراج يمكن قراءتها كنبضة عالية موقوتة
  • مسافة الاستشعار المثلى: 0.125 بوصة (3 ملم) أقصى مسافة استشعار موصى بها: 0.375 بوصة (9.5 ملم)
  • الوزن بدون دبابيس الرأس: 0.11 أوقية (3.09 جم)

ربط مخرجات QTR-8RC بخطوط الإدخال / الإخراج الرقمية

تحتوي الوحدة النمطية QTR-8RC على ثمانية مخرجات مستشعر متطابقة تتطلب ، مثل Parallax QTI ، خط إدخال / إخراج رقمي قادر على دفع خط الإخراج عالياً ثم قياس وقت انحلال جهد الخرج. التسلسل النموذجي لقراءة المستشعر هو:

  1. قم بتشغيل IR LEDs (اختياري).
  2. اضبط خط الإدخال / الإخراج على الإخراج وقم بدفعه للأعلى.
  3. اترك 10 ميكروثانية على الأقل حتى يرتفع خرج المستشعر.
  4. اجعل خط الإدخال / الإخراج مدخلاً (مقاومة عالية).
  5. قم بقياس وقت انحلال الجهد عن طريق انتظار انخفاض خط الإدخال / الإخراج.
  6. قم بإيقاف تشغيل IR LEDs (اختياري).

يمكن عادةً تنفيذ هذه الخطوات بالتوازي على خطوط إدخال / إخراج متعددة.

مع الانعكاس القوي ، يمكن أن يكون وقت الاضمحلال منخفضًا يصل إلى عدة عشرات من الميكروثانية ؛ مع عدم وجود انعكاس ، يمكن أن يصل وقت الاضمحلال إلى بضعة أجزاء من الألف من الثانية. يعتمد الوقت الدقيق للانحلال على خصائص خط الإدخال / الإخراج بوحدة التحكم الدقيقة. يمكن أن تتوفر نتائج ذات مغزى في غضون 1 مللي ثانية في الحالات النموذجية (أي عند عدم محاولة قياس الفروق الدقيقة في سيناريوهات الانعكاس المنخفض) ، مما يسمح بأخذ عينات تصل إلى 1 كيلو هرتز لجميع أجهزة الاستشعار الثمانية. إذا كان أخذ العينات منخفض التردد كافياً ، فيمكن تحقيق وفورات كبيرة في الطاقة عن طريق إيقاف تشغيل مصابيح LED. على سبيل المثال ، إذا كان معدل أخذ العينات 100 هرتز مقبولاً ، فيمكن أن تنطفئ مصابيح LED بنسبة 90٪ من الوقت ، مما يقلل متوسط الاستهلاك الحالي من 100 مللي أمبير إلى 10 مللي أمبير.

الخطوة 2: متحكم (الدماغ) Atmega328P

متحكم (دماغ) Atmega328P
متحكم (دماغ) Atmega328P
متحكم (دماغ) Atmega328P
متحكم (دماغ) Atmega328P

بفضل شركة Atmel Corporation لتصنيع هذا المتحكم الدقيق الرائع AKA Atmega328.

المعلمات الرئيسية لـ ATmega328P

قيمة المعلمة

  • فلاش (كيلوبايت): 32 كيلوبايت
  • عدد الدبوس: 32
  • الأعلى. تشغيل التكرار. (ميجاهرتز): 20 ميجاهرتز
  • وحدة المعالجة المركزية: 8 بت AVR
  • الحد الأقصى لدبابيس الإدخال / الإخراج: 23
  • المقاطعات الإضافية: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • قنوات ADC: 8
  • قرار ADC (بت): 10
  • SRAM (كيلو بايت): 2
  • إيبروم (بايت): 1024
  • فئة توريد الإدخال / الإخراج: 1.8 إلى 5.5
  • جهد التشغيل (Vcc): 1.8 إلى 5.5
  • الموقتات: 3

للحصول على معلومات مفصلة ، انتقل إلى ورقة البيانات الخاصة بـ Atmega328P.

في هذا المشروع ، أستخدم Atmega328P لأسباب قليلة

  1. الرخيص
  2. لديه ذاكرة RAM كافية للحساب
  3. دبابيس I / O كافية لهذا المشروع
  4. يستخدم Atmega328P في Arduino…. قد تلاحظ U في الصورة والفيديو أن Arduino Uno ولكنني أستخدم Arduino IDE أو أي Arduino.. لقد استخدمت الأجهزة فقط كلوحة واجهة. لقد قمت بمسح محمل الإقلاع واستخدمت USB ASP لبرمجة الشريحة.

من أجل برمجة The Chip ، استخدمت Atmel Studio 6

كل كود المصدر موجود في GitHub قم بتنزيله وتحقق من ملف test.c.

لتجميع هذه الحزمة ، يجب عليك تنزيل وتثبيت POLOLU AVR LIBRARY SETUP تحقق من المرفقات …

أقوم أيضًا بتحميل ملف تخطيطي وملف مجلس تطوير Atmega328P … يمكنك تصنيعه بنفسك …

الخطوة 3: المحرك وسائق المحرك

سائق المحرك والموتور
سائق المحرك والموتور
سائق المحرك والموتور
سائق المحرك والموتور
سائق المحرك والموتور
سائق المحرك والموتور

لقد استخدمت 350RPM 12V BO Type Geared DC Motor كمشغل. لمعرفة المزيد من المعلومات … MOTOR LINK

كسائق محرك لقد استخدمت L293D H- bridge IC.

أنا أرفق ملف التخطيط والمجلس لنفسه.

الخطوة 4: الهيكل ومتفرقات

الهيكل ومتفرقات
الهيكل ومتفرقات
الهيكل ومتفرقات
الهيكل ومتفرقات
الهيكل ومتفرقات
الهيكل ومتفرقات

يتكون الروبوت من رقائق الخشب بسمك 6 مم.

موصى به: