- مقدمة إلى ESP8285
- مخطط دائرة مجلس تطوير ESP
- تصنيع لوحة التطوير ESP8285 الخاصة بنا
- طلب PCB من PCBWay
- تجميع وبرمجة لوحة ESP8285
- الاختبار باستخدام رسم بسيط وميض LED
- اختبار سكتش سيرفر الويب على ESP8285
أصبحت أدوات التحكم ESP من Espressif خيارًا شائعًا على نطاق واسع للتصميمات القائمة على إنترنت الأشياء. هناك العديد من أنواع وحدات ESP ولوحات التطوير المتوفرة بالفعل في السوق ، ومن بينها NodeMCU هو الأكثر شعبية. بصرف النظر عن ذلك ، فإن ESP-12E و ESP01 هي أيضًا خيارات شائعة. ولكن إذا كنت ترغب في جعل تصميمك أكثر مرونة وصغرًا ، فمن المحتمل أنه يتعين علينا تصميم وحدة ESP الخاصة بنا من مستوى الرقاقة ، بدلاً من استخدام وحدة متاحة بسهولة مباشرةً. في هذه المقالة ، سوف نتعلم كيفية تصميم دائرة و PCB لاستخدام وحدات التحكم ESP (ESP8285) مباشرة دون استخدام وحدة نمطية.
في هذا المشروع ، استخدمنا ESP8285 لأنها شريحة صغيرة مثيرة جدًا للاهتمام. إنها SoC صغيرة (نظام على رقاقة) ، مع IoT (إنترنت الأشياء) وإمكانيات النوم العميق. يتمتع بنفس قوة أخيه الأكبر ESP8266 وكمكافأة ، يأتي مزودًا بذاكرة فلاش مدمجة 1 ميجا بايت مع الكثير من وحدات GPIO. يمكنك أيضًا استخدام ESP8266 كبديل وستظل معظم الأشياء التي تمت مناقشتها في هذه المقالة كما هي.
في مقال سابق ، أوضحت لك كيف يمكنك تصميم هوائي ثنائي الفينيل متعدد الكلور خاص بك لـ 2.4 جيجا هرتز ، باستخدام نفس شريحة ESP8285 كمثال. يمكنك قراءة هذا المقال للتعرف على تصميم الهوائي لـ ESP8266 / ESP8285.
لذا في هذه المقالة ، سأغطي كيفية عمل جميع الدوائر ، وفي النهاية سيكون هناك فيديو يشرح كل شيء. لقد غطيت أيضًا بالتفصيل الإجراء الكامل لتصميم لوحات PCB وطلبها من PCBWay لتصميم وحدة ESP الخاصة بنا.
مقدمة إلى ESP8285
إذا كنت لا تعلم بشريحة ESP8285 متعددة الاستخدامات ، فإليك شرح سريع مع قائمة الميزات. ESP8285 عبارة عن شريحة صغيرة بها فلاش مدمج 1M وذاكرة الوصول العشوائي ، وهي تشبه إلى حد كبير وحدة ESP8286 ، ESP-01 ولكن ذاكرة الفلاش الداخلية تجعلها أكثر إحكاما وأرخص.
تحتوي هذه الشريحة على المعالج الأساسي L106 Diamond 32 بت من Tensilica وينطبق الشيء نفسه على ESP8266 أيضًا ، ولهذا السبب يمكن وميض كل رمز ESP8266 مباشرةً إلى هذه الشريحة دون أي تعديلات ، وله نفس مكدس الشبكة مثل جرعة ESp8266.
يدمج ESP8285 مفاتيح الهوائي ، و Balun RF ، ومضخم الطاقة ، ومضخم استقبال منخفض الضوضاء ، والفلاتر ، ووحدات إدارة الطاقة. يقلل التصميم المدمج حجم ثنائي الفينيل متعدد الكلور ، ويتطلب الحد الأدنى من الدوائر الخارجية. إذا كنت تريد معرفة المزيد حول هذا IC ، فيمكنك دائمًا التحقق من ورقة بيانات ESP8285 للجهاز في Espressif Systems.
مخطط دائرة مجلس تطوير ESP
الدائرة بسيطة للغاية وقمت بتقسيمها لفهم أفضل. يوضح مخطط ESP أدناه الدائرة بأكملها ، كما ترون هناك ثماني كتل وظيفية ، سأمر على كل منها وأشرح كل كتلة.
ESP8285 SOC:
في قلب المشروع يوجد ESP8285 SoC ، يتم هنا تحديد جميع GPIOs والوصلات الضرورية الأخرى.
مرشح الطاقة: يوجد 7 دبابيس طاقة على هذا IC ، أولاً هو دبوس الطاقة الخاص بـ ADC و IOs. لقد اختصرتهم معًا ، واستخدمت مكثف مرشح طاقة 47 فائق التوهج ، ومكثف فصل 0.1 فائق التوهج لتصفية إدخال 3.3 فولت تيار مستمر.
مرشح PI: يعد مرشح PI أحد أهم الكتل في هذا التصميم لأنه مسؤول عن تشغيل مضخم التردد اللاسلكي و LNA ، يمكن أن يكون أي ضوضاء داخلية أو خارجية وصفية لهذا القسم ، لذلك لن يعمل قسم RF. هذا هو السبب في أن مرشح الترددات المنخفضة لقسم LNA أمر بالغ الأهمية. يمكنك معرفة المزيد حول عوامل تصفية PI باتباع الارتباط.
المذبذب البلوري: يعمل مذبذب الكريستال 40 ميجاهرتز كمصدر ساعة لـ ESP8285 SoC ، وتمت إضافة مكثفات الفصل 10pF على النحو الموصى به في ورقة البيانات.
قسم LNA: القسم الآخر الأكثر أهمية في هذه الدائرة هو قسم LNA. هذا هو المكان الذي يتم فيه توصيل هوائي PCB بالدبوس المادي لـ ESP. وفقًا لتوصية ورقة البيانات ، يتم استخدام مكثف 5.6pF ، ويجب أن يعمل بشكل جيد مثل الدائرة المطابقة. لكنني أضفت عنصرين نائبين لمحرّثين كما لو كان في حالة عمل خلاف الدائرة المطابقة ، يمكنني دائمًا وضع بعض المحاثات ، لتعديل القيم لتتناسب مع مقاومة الهوائي.
يحتوي قسم LNA أيضًا على اثنين من وصلات العبور PCB مع موصل UFL. يتم تعيين هوائي PCB افتراضيًا ، ولكن إذا كان التطبيق الخاص بك يتطلب نطاقًا أكبر بقليل ، فيمكنك إلغاء توصيل وصلة PCB وتقصير العبور لموصل UFL ، ويمكنك توصيل هوائي خارجي مثل هذا تمامًا.
موصل إدخال البطارية:
يمكنك أن ترى أعلاه ، لقد وضعت ثلاثة أنواع من موصلات البطاريات على التوازي لأنه إذا لم تتمكن من العثور على واحد ، فيمكنك دائمًا وضع واحد آخر.
رؤوس GPIO ورؤوس البرمجة:
توجد رؤوس GPIO للوصول إلى دبابيس GPIO ورأس البرمجة موجود ليومض Soc الرئيسي.
دائرة إعادة الضبط التلقائي:
في هذه الكتلة ، اثنين من الترانزستورات NPN ، MMBT2222A يشكلان دائرة إعادة الضبط التلقائي عندما تضغط على زر التحميل في Arduino IDE ، تتلقى أداة python مكالمة ، وأداة python هي أداة الفلاش لأجهزة ESP ، وتعطي أداة pi هذه قم بالإشارة إلى محول UART لإعادة ضبط اللوحة أثناء تثبيت دبوس GPIO على الأرض. بعد ذلك ، تبدأ عملية التحميل والتحقق.
مؤشر الطاقة ، LED على اللوحة ، ومقسم الجهد:
مؤشر الطاقة LED: يحتوي مصباح الطاقة LED على وصلة مرور PCB إذا كنت تستخدم هذه اللوحة للتطبيقات التي تعمل بالبطارية ، فيمكنك لحام هذا الطائر لتوفير قدر كبير من الطاقة.
LED على متن الطائرة: تحتوي العديد من لوحات التطوير في السوق على مؤشر LED داخلي ، وهذه اللوحة ليست استثناء ؛ يتم توصيل GPIO16 الخاص بـ IC بمصباح على متن الطائرة. إلى جانب ذلك ، هناك عنصر نائب لمقاوم 0 أوم من خلال ملء المقاوم 0 أوم ، فأنت تقوم بتوصيل GPIO16 بإعادة الضبط ، وكما تعلم ، فهذه خطوة مهمة جدًا لوضع ESP في وضع السكون العميق.
مقسم الجهد: كما تعلم ، فإن الحد الأقصى لجهد الدخل في ADC هو 1 فولت. لذلك ، لتغيير نطاق الإدخال إلى 3.3 فولت ، يتم استخدام مقسم الجهد. تم إجراء التكوين بحيث يمكنك دائمًا إضافة المقاوم في سلسلة مع الدبوس لتغيير النطاق إلى 5V.
HT7333 LDO:
يتم استخدام LDO أو Low Dropout Voltage Regulator لتنظيم الجهد إلى ESP8285 من بطارية بأقل قدر من فقدان الطاقة.
الحد الأقصى لجهد الإدخال في HT7333 LDO هو 12 فولت ويستخدم لتحويل جهد البطارية إلى 3.3 فولت ، لقد اخترت HT7333 LDO لأنه جهاز ذو تيار هادئ منخفض جدًا. تُستخدم مكثفات الفصل 4.7 فائق التوهج لتثبيت LDO.
زر الضغط لوضع البرمجة:
يتم توصيل زر الضغط بـ GPIO0 ، إذا لم يكن محول UART الخاص بك يحتوي على دبوس RTS أو DTR ، فيمكنك استخدام زر الضغط هذا لسحب GPIO0 يدويًا إلى الأرض.
مقاومات السحب والسحب:
توجد مقاومات السحب والانسحاب على النحو الموصى به في ورقة البيانات.
بخلاف ذلك ، تم اتباع العديد من قواعد التصميم والمبادئ التوجيهية أثناء تصميم ثنائي الفينيل متعدد الكلور. إذا كنت تريد معرفة المزيد عن ذلك ، يمكنك أن تجد ذلك في دليل تصميم الأجهزة الخاص بـ ESP8266.
تصنيع لوحة التطوير ESP8285 الخاصة بنا
تم الانتهاء من التخطيطي ، ويمكننا المضي قدمًا في وضع PCB. لقد استخدمنا برنامج تصميم Eagle PCB لصنع ثنائي الفينيل متعدد الكلور ، ولكن يمكنك تصميم ثنائي الفينيل متعدد الكلور بالبرنامج المفضل لديك. يبدو تصميم ثنائي الفينيل متعدد الكلور الخاص بنا هكذا عند اكتماله.
تتوفر ملفات BOM و Gerber للتنزيل من الروابط التالية:
- ESP8282 Dev-Board ملفات جربر
- ESP8282 Dev-Board BOM
الآن ، بعد أن أصبح تصميمنا جاهزًا ، فقد حان الوقت لتصنيع مركبات ثنائي الفينيل متعدد الكلور باستخدام. للقيام بذلك ، ما عليك سوى اتباع الخطوات التالية:
طلب PCB من PCBWay
الخطوة 1: ادخل إلى https://www.pcbway.com/ ، قم بالتسجيل إذا كانت هذه هي المرة الأولى لك. ثم ، في علامة التبويب PCB Prototype ، أدخل أبعاد PCB وعدد الطبقات وعدد PCB الذي تحتاجه.
الخطوة 2: تابع بالنقر فوق الزر "اقتباس الآن". سيتم نقلك إلى صفحة حيث يتم تعيين بعض المعلمات الإضافية مثل نوع اللوحة ، والطبقات ، والمواد الخاصة بثنائي الفينيل متعدد الكلور ، والسمك ، والمزيد ، ويتم تحديد معظمها افتراضيًا ، إذا كنت تختار أي معلمات محددة ، يمكنك تحديد في السمع.
كما ترون ، كنا بحاجة إلى مركبات ثنائي الفينيل متعدد الكلور سوداء! لذلك ، قمت بتحديد اللون الأسود في قسم لون قناع اللحام.
الخطوة 3: الخطوة الأخيرة هي تحميل ملف Gerber ومتابعة الدفع. للتأكد من أن العملية سلسة ، يتحقق PCBWAY مما إذا كان ملف Gerber الخاص بك صالحًا قبل متابعة الدفع. بهذه الطريقة ، يمكنك التأكد من أن ثنائي الفينيل متعدد الكلور الخاص بك سهل التصنيع وسيصل إليك كما هو ملتزم.
تجميع وبرمجة لوحة ESP8285
بعد بضعة أيام ، تلقينا ثنائي الفينيل متعدد الكلور في صندوق تغليف أنيق ، وكانت جودة ثنائي الفينيل متعدد الكلور جيدة كما هو الحال دائمًا. الطبقة العليا والطبقة السفلية للوحة موضحة أدناه:
بعد استلام اللوحة ، بدأت على الفور في لحام اللوحة. لقد استخدمت محطة لحام بالهواء الساخن والكثير من تدفق اللحام لحام وحدة المعالجة المركزية الرئيسية ، ويتم لحام المكونات الأخرى الموجودة على PCB عبر مكواة لحام. يتم عرض الوحدة المجمعة أدناه.
بمجرد الانتهاء من ذلك ، قمت بتوصيل وحدة FTDI الموثوقة الخاصة بي لاختبار اللوحة عن طريق تحميل رسم ، والدبابيس المتصلة وصورة للوحة كما هو موضح أدناه:
وحدة ESP8285 Dev Board FTDI
3.3 فولت -> 3.3 فولت
TX -> Rx
Rx -> Tx
DTR -> DTR
RST -> RST
GND -> GND
بمجرد اكتمال جميع الاتصالات الضرورية ، قمت بإعداد Arduino IDE عن طريق تحديد لوحة ESP8285 العامة من Tools > Board > Generic ESP8285 Module .
الاختبار باستخدام رسم بسيط وميض LED
بعد ذلك ، حان الوقت لاختبار اللوحة عن طريق وميض LED ، لذلك استخدمت الكود التالي:
/ * ESP8285 وميض مؤشر LED الأزرق على الوحدة النمطية ESP828285 * / # تعريف LED_PIN 16 // تحديد إعداد فراغ دبوس LED الوامض () {pinMode (LED_PIN ، OUTPUT) ؛ // تهيئة دبوس LED كإخراج} // تعمل وظيفة الحلقة مرارًا وتكرارًا إلى الأبد حلقة فارغة () {digitalWrite (LED_PIN ، LOW) ؛ // قم بتشغيل LED (لاحظ أن LOW هو مستوى الجهد) تأخير (1000) ؛ // انتظر كتابة رقمية ثانية (LED_PIN، HIGH) ؛ // قم بإيقاف تشغيل LED بجعل الجهد العالي لتأخير (1000) ؛ // انتظر ثانيتين}
الرمز بسيط للغاية ، أولاً قمت بتعريف دبوس LED لهذه اللوحة ، وهو موجود في GPIO 16. بعد ذلك ، قمت بتعيين هذا الدبوس كمخرج في قسم الإعداد. وأخيرًا ، في قسم الحلقة ، قمت بتشغيل وإيقاف الدبوس مع تأخير لمدة ثانية واحدة بينهما.
اختبار سكتش سيرفر الويب على ESP8285
بمجرد أن يعمل ذلك بشكل جيد ، حان الوقت لاختبار رسم HelloServer من مثال ESP8266WebServer. أنا أستخدم مثال ESP8266 لأن معظم الكود متوافق مع شريحة esp8285. يمكن أيضًا العثور على رمز المثال في أسفل هذه الصفحة.
هذا الرمز بسيط جدًا أيضًا ، أولاً ، نحتاج إلى تحديد جميع المكتبات الضرورية ،
#تضمن
بعد ذلك ، نحتاج إلى إدخال اسم وكلمة مرور نقطة الاتصال.
#ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char * ssid = STASSID ؛ const char * password = STAPSK ؛
بعد ذلك ، نحتاج إلى تحديد كائن ESP8266WebServer. المثال هنا يعرفه بأنه خادم (80) و (80) هو رقم المنفذ.
بعد ذلك ، نحتاج إلى تحديد دبوس لمصباح LED في حالتي كان رقم التعريف الشخصي 16.
أدى كثافة العمليات = 16 ؛
بعد ذلك ، يتم تحديد وظيفة handleRoot () . سيتم استدعاء هذه الوظيفة عند الاتصال على عنوان IP من متصفحنا.
void handleRoot () {digitalWrite (led، 1)؛ server.send (200، "نص / عادي"، "مرحبًا من esp8266!") ؛ digitalWrite (الصمام ، 0) ؛ }
التالي هو وظيفة الإعداد ، نسمع أنه يتعين علينا تحديد جميع المعلمات الضرورية مثل-
pinMode (الصمام ، الإخراج) ؛ // لقد حددنا دبوس الصمام كإخراج Serial.begin (115200) ؛ // لقد بدأنا اتصالاً تسلسليًا مع 115200 باود WiFi.mode (WIFI_STA) ؛ // لقد قمنا بتعيين وضع wifi كمحطة WiFi.begin (ssid ، كلمة المرور) ؛ ثم نبدأ اتصال wifi Serial.println ("") ؛ // يعطي هذا السطر مسافة إضافية while (WiFi.status ()! = WL_CONNECTED) {delay (500)؛ Serial.print (".") ؛ } / * في حلقة while ، نقوم باختبار حالة الاتصال حيث يستطيع ESP الاتصال بنقطة الاتصال التي ستعمل بها الحلقة * / Serial.println ("") ؛ Serial.print ("متصل بـ") ؛ Serial.println (ssid) ؛ Serial.print ("عنوان IP:") ؛ Serial.println (WiFi.localIP ()) ؛
بعد ذلك ، نقوم بطباعة الاسم وعنوان IP الخاص بـ SSID المتصل إلى نافذة الشاشة التسلسلية.
server.on ("/" ، handleRoot) ؛ // يتم استدعاء methode الموجود في كائن الخادم للتعامل مع خادم وظيفة الجذر. ؛ // مرة أخرى قمنا باستدعاء on methode لـ / inline example server.begin () ؛ // بعد ذلك نبدأ الخادم بميثود البدء Serial.println ("بدأ خادم HTTP") ؛ // وأخيرًا نطبع بيانًا في الشاشة التسلسلية. } // الذي يشير إلى نهاية حلقة فارغة لوظيفة الإعداد (باطلة) {server.handleClient ()؛ }
في وظيفة الحلقة ، قمنا باستدعاء التابع handleClient () لتشغيل esp بشكل صحيح.
بمجرد الانتهاء من ذلك ، استغرقت لوحة ESP8285 بعض الوقت للاتصال بخادم الويب وعملت بنجاح كما هو متوقع مما يمثل نهاية هذا المشروع.
يمكن أيضًا العثور على عمل اللوحة الكامل في الفيديو المرتبط أدناه. أتمنى أن تكون قد استمتعت بهذا المقال وتعلمت شيئًا جديدًا منه. إذا كان لديك أي شك ، يمكنك أن تسأل في التعليقات أدناه أو يمكنك استخدام منتدياتنا لمناقشة مفصلة.