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

ESP8266 مولد الساعة والنبض: 3 خطوات
ESP8266 مولد الساعة والنبض: 3 خطوات

فيديو: ESP8266 مولد الساعة والنبض: 3 خطوات

فيديو: ESP8266 مولد الساعة والنبض: 3 خطوات
فيديو: وحدة مولد إشارة PWM مفيدة جدًا 2024, يوليو
Anonim
Esp8266 ساعة ومولد نبض
Esp8266 ساعة ومولد نبض

هذا الدليل مخصص لقطعة بسيطة من معدات الاختبار ؛ مولد ساعة ونبض.

يستخدم واجهة أجهزة i2S على esp8266 لتوليد ساعة اختبار أو تسلسل نبضي. هذا يجعل من السهل تجميعها حيث لا يلزم وجود أجهزة خاصة لنظام أساسي.

  • توليد الساعة من 2 هرتز إلى 20 ميجا هرتز
  • يمكن استخدام أي تردد
  • يبحث عن أفضل تطابق لفواصل الساعة وطول البت من الساعة الأساسية 160 ميجاهرتز
  • تطابق أفضل من 0.1٪ عادةً للترددات التي تقل عن 100 كيلو هرتز
  • تحديد نسبة مساحة الاختيار
  • قد يتم تخفيف تفاوت مطابقة التردد للحصول على معالجة أفضل لمساحة العلامات
  • توليد قطار النبض بناءً على التعريفات الموجودة في الملفات
  • واجهة المستخدم الرسومية المستندة إلى الويب تسمح بالتحكم من جهاز الكمبيوتر والهاتف والجهاز اللوحي
  • إدارة Wifi للسماح بإعداد جهاز التوجيه الأولي بسهولة
  • تحديث برنامج OTA
  • يستخدم مكتبة I2s خاصة (i2sTXcircular) تعطي تحكمًا مرنًا

الخطوة 1: الأجهزة

المعدات
المعدات
المعدات
المعدات

لقد قمت ببناء خاص بي في حاوية مطبوعة ثلاثية الأبعاد تحتوي على بطارية 18650 مع شاحن USB ، ومفتاح تشغيل / إيقاف ، وقابس رأس 3 سنون لإشارة الخرج.

يحتوي العلبة على فتحة ضيقة لتثبيت الأجهزة الإلكترونية بجوار البطارية.

تخرج الإشارة من دبوس GPIO3 (RX). يمكن استخدام هذا بشكل مباشر ولكن للحصول على قدرة محرك أعلى اخترت تضمين مخزن مؤقت صغير باستخدام 74LVC2G34. لقد قمت بموازاة المخزنين المؤقتين في هذا الجهاز لتوفير المزيد من القدرة على القيادة.

كل شيء يتم فقط في البرنامج الموجود بالجهاز ، ويتم التحكم من خلال توفير خادم ويب بحيث يوفر المتصفح الموجود على جهاز كمبيوتر أو هاتف أو جهاز لوحي تحكمًا كاملاً.

الخطوة 2: البرمجيات

لإنشاء البرنامج وإعداده ، استخدم الكود الموجود على

  • قم بتثبيت مكتبة i2sTXcircular (مضمنة)
  • قم بتثبيت مكتبة BaseSupport (https://github.com/roberttidey/BaseSupport)
  • أضف مكتبة WifiManager
  • تحرير كلمات المرور في BaseConfig.h
  • ترجمة وتحميل في بيئة Arduino
  • قم بإعداد إدارة شبكة wifi عن طريق الاتصال بـ AP والتصفح إلى 192.168.4.1
  • قم بتحميل مجموعة أساسية من الملفات من مجلد البيانات باستخدام STA ip / upload
  • يمكن بعد ذلك إجراء المزيد من التحميلات باستخدام ip / edit - الواجهة العادية هي ip /

كيف تعمل

تسمح مكتبة i2sTXcircular ببناء سلسلة دائرية من المخازن المؤقتة التي يتم إخراجها تلقائيًا بواسطة أجهزة i2S الموجودة على esp8266 باستخدام DMA بحيث لا يتم استخدام أي برنامج إضافي بمجرد بدء تشغيله.

الساعة الأساسية على الجهاز هي 160 ميجاهرتز مقسمة على زوج من المقسمات. ثم يتم تحديد إشارة الخرج من خلال البيانات التي يتم وضعها في المخازن المؤقتة التي يتم إخراجها بواسطة الساعة المقسمة لأسفل. عن طريق اختيار الفاصلين وباستخدام بتات بيانات متعددة محتملة لتمثيل كل نبضة ، يمكن تقريب التردد عن كثب. كما أنه يسمح بتغيير دورة العمل (نسبة العلامة / المسافة لنبضات الساعة).

يحاول رمز جافا سكريبت للمتصفح تحسين اختيار المعلمات لإعطاء تطابق وثيق مع أي تردد محدد.

على الرغم من أن الغرض الرئيسي هو توليد الساعات ، فمن الممكن أيضًا إنتاج قطارات نبض أكثر تعقيدًا عن طريق وضع تعريف في ملف نبضي يتحكم بعد ذلك في البيانات التي سيتم إنشاؤها ووضعها في المخزن المؤقت الدائري. التفاصيل موجودة في مثال ملفات النبض المضمنة.

الخطوة 3: العملية

يتم التحكم في التشغيل من خلال واجهة المتصفح الموضحة في الصورة الرئيسية.

لتوليد الساعة العادية ، ما عليك سوى تحديد الساعة المستهدفة وعلامة نسبة المساحة٪. يتم عرض الساعة الفعلية التي تم تحقيقها وخطأها. عند الضغط على زر إنشاء الساعة ، يتم إرسال المعلمات إلى الجهاز ويبدأ إنشاء الساعة باستخدام هذه المعلمات.

من خلال النقر على شريط "خيارات متقدمة" ، يمكن رؤية المزيد من التفاصيل.

تعرض ساعة البت المضاعف الفرعي لـ 160 ميجاهرتز والذي يتم استخدامه.

تُظهر بتات العلامة والمسافة عدد البتات المستخدمة لتمثيل العلامات والمسافات.

يُظهر Div1 و Div2 المقسمان اللذان تم اختيارهما لإنشاء أقرب ساعة بت.

عادةً ما يتم اختيار الفاصلين لإعطاء أقرب تطابق للتردد المختار ولزيادة عدد بتات البيانات المستخدمة مما يساعد على توفير المزيد من المرونة في السماح بدورات العمل المختلفة. ومع ذلك ، أحيانًا تؤدي أفضل النتائج إلى انخفاض عدد وحدات البت مما يترك مجالًا صغيرًا لتغيير دورة العمل. بتغيير قيمة النسبة المئوية للتسامح ، سيتم اختيار الفواصل لإعطاء تردد ضمن هذا التفاوت ولكن مع استخدام المزيد من بتات البيانات. جرب على سبيل المثال ضبط التسامح على 0.5 أو 1.

يمكنك أيضًا تعيين رقم بت لكل كلمة للتحكم في اختيار المعلمات. 0 (افتراضي) يعني اختيار أي بت لكل كلمة. الرقم الفردي (على سبيل المثال 24) يعني اختيار المعلمات التي تطابق هذا فقط. يمكنك أيضًا وضع نطاق (على سبيل المثال ، 24 ، 31). يعمل هذا فقط مع الهدف هرتز فوق 10 كيلو هرتز ، وسيسري مفعول القياس أدناه بحيث يتم مضاعفة الرقم.

يوضح حجم المخزن المؤقت إجمالي المخزن المؤقت المستخدم في كلمات 32 بت. يتم اختيار هذا لضمان تشكيل نبض الساعة بشكل دائري مثالي في المخزن المؤقت. داخليًا ، يتم تقسيم هذا المخزن المؤقت إلى عدد من العدادات الصغيرة للسماح لـ DMA المتسلسل بالعمل.

بالنسبة لعملية البقول ، اختر علامة تبويب البقول. يعرض هذا ملفات النبض المتاحة وزرًا بجوار كل منها ينتج عنه قطار نبضي بناءً على تعريفه. يمكنك مشاهدة محتويات الملف من خلال النقر على الرابط الخاص به. يمكن تحميل المزيد من ملفات النبض باستخدام مستعرض ملف IP / تحرير. يجب أن يبدأوا باسم نبض.

موصى به: