في هذا البرنامج التعليمي ، سنقوم بواجهة مشفر دوار مع متحكم ATmega8. ATmega8 هي سلسلة متحكم Atmel مصممة للتطبيقات المدمجة. يستخدم المشفر الدوار لمعرفة موضع الحركة والحركة الزاوية للمحرك أو المحور. إنه جهاز ذو ثلاثة أطراف عادةً ، مع قوة ودبوس أرضي يصل إلى خمسة. يتم عرض وحدة التشفير الدوارة أدناه.
دبابيس جهاز التشفير الدوار هي:
- أرض.
- إيجابي متصل بـ + 5 فولت
- إشارة الخرج دبوس
- خرج إشارة ب دبوس
- دبوس الساعة أو دبوس مشترك.
يوفر ENCODER نبضات تمثل التغيير في موضع العمود لكي تفهمه الأنظمة. ضع في اعتبارك أن التشفير الدوراني قد تم تشغيله وتحريك العمود.
كما هو موضح في الجدول أعلاه ، ضع في اعتبارك أن العمود يتحرك على مدار الساعة. مع هذا سيكون هناك Falling Edge عند المحطة A ثم عند المحطة B.
ضع في اعتبارك أن العمود يتحرك عكس اتجاه الساعة. مع هذا سيكون هناك Falling Edge عند المحطة B ثم عند المحطة A.
ستحدث هذه الحافة مرة واحدة لـ 360/20 = 18 درجة (هذا لجهاز تشفير مع 20 موضعًا ، وهذا يتغير من نوع إلى نوع ، وكلما زاد العدد زادت الدقة).
مع كلتا الحالتين المذكورتين أعلاه ، يمكننا الحصول على الاتجاه ودرجة الدوران. وهكذا نحصل على المعلمات المطلوبة للحصول على موضع العمود.
مكونات
الأجهزة: ATMEGA8 ، دبابيس توصيل ، مبرمج AVR-ISP ، مقاوم 220Ω ، LED (ثماني قطع) ، مقاوم 1KΩ ، مقاوم 220Ω (قطعتان) ، مكثف 100nF (قطعتان) ، لوح الخبز.
البرنامج: Atmel studio 6.1، progisp or flash magic.
مخطط الدائرة وشرح العمل
المكثفات هنا لتحييد تأثير ارتداد التلامس في ENCODER. بدون هذه المكثفات ستكون هناك بعض المشاكل الخطيرة في قراءة الموضع.
عندما يتم نقل العمود سيكون هناك فرق زمني بين خرج دبابيس الإخراج. سيتعرف ATMEGA8 على هذا الفارق الزمني في اتجاه عقارب الساعة للدوران المضاد للساعة.
إذا كان الدوران في اتجاه عقارب الساعة ، يتم زيادة العد الثنائي بمقدار واحد ، ويظهر هذا العدد في منفذ LED كما هو موضح في الشكل.
إذا كان الدوران ضد عقارب الساعة ، فسيتم إنقاص العدد الثنائي بمقدار واحد ويظهر العد الثنائي في بايت LED.
تذكر هنا أننا لا نضع أي فتيل من atmega8 ، لذلك ستعمل وحدة التحكم على بلورة داخلية افتراضية 1 ميجا هرتز.
يتم شرح عمل ربط المشفر الدوار مع متحكم ATmega8 في الكود أدناه.