- מבוא ל- ESP8285
- תרשים מעגלים של מועצת הפיתוח ESP
- ייצור לוח ה- ESP8285 שלנו
- הזמנת PCB מ- PCBWay
- הרכבה ותכנות של לוח ESP8285
- בדיקה באמצעות סקיצה נורית LED פשוטה
- בדיקת סקיצה של שרת האינטרנט ב- ESP8285
בקרי ה- ESP מבית אספרסיף הופכים לבחירה פופולרית ביותר עבור עיצובים מבוססי IoT. ישנם סוגים רבים של מודולי ESP ולוחות פיתוח שכבר קיימים בשוק, ביניהם NodeMCU הוא הפופולרי ביותר. מלבד זאת, ESP-12E, ESP01 הן גם אפשרויות פופולריות. אך אם ברצונך להפוך את העיצוב שלך לגמיש וקומפקטי יותר, רוב הסיכויים שעלינו לעצב מודול ESP משלנו מרמת השבב, במקום להשתמש ישירות במודול זמין. במאמר זה נלמד כיצד לתכנן מעגל ו- PCB לשימוש בבקרי ESP (ESP8285) ישירות מבלי להשתמש במודול.
בפרויקט זה השתמשנו ב- ESP8285 כי זה שבב קטן מאוד מעניין. זהו SoC זעיר (System on Chip) עם יכולות IoT (Internet of Things) ויכולות שינה עמוקות. יש לו כוח זהה לאחיו הגדול ESP8266 וכבונוס, הוא מגיע עם זיכרון פלאש בנפח 1 מגה-בייט עם הרבה GPIO. אתה יכול גם להשתמש ב- ESP8266 כחלופה ורוב הדברים הנדונים במאמר זה עדיין יהיו זהים.
במאמר קודם, הראיתי לכם כיצד תוכלו לעצב אנטנת PCB משלכם עבור 2.4 GHz, תוך שימוש באותו שבב ESP8285 כדוגמה. אתה יכול לקרוא מאמר זה כדי ללמוד על עיצוב אנטנות עבור ESP8266 / ESP8285.
אז במאמר זה, אעסוק כיצד כל המעגלים עובדים ולבסוף יהיה סרטון המסביר את הכל. כמו כן, סקרתי בפירוט את ההליך המלא לעיצוב והזמנת לוחות ה- PCB מ- PCBWay לצורך עיצוב מודול ה- ESP שלנו.
מבוא ל- ESP8285
אם אינך יודע על שבב ESP8285 רב-תכליתי זה, הנה הסבר מהיר עם רשימת תכונות. ESP8285 הוא שבב קטן עם פלאש RAM 1M מובנה, הוא די דומה למודול ESP8286, ESP-01 אבל זיכרון הפלאש הפנימי הופך אותו להרבה יותר קומפקטי וזול יותר.
שבב זה מכיל את מעבד הליבה L106 Diamond 32 סיביות של Tensilica וכך גם לגבי ESP8266, ולכן ניתן להבהב את כל הקוד עבור ESP8266 ישירות לשבב זה ללא כל שינוי, ויש לו את אותה מחסנית רשת כמו מינון ESp8266..
ה- ESP8285 משלב מתגי אנטנה, RF balun, מגבר הספק, מגבר קבלת רעש נמוך, פילטרים ומודולי ניהול חשמל. העיצוב הקומפקטי ממזער את גודל ה- PCB, והוא דורש מעגלים חיצוניים מינימליים. אם אתה רוצה ללמוד עוד על IC זה, אתה תמיד יכול לבדוק את גליון הנתונים של ESP8285 של המכשיר ב- Espressif Systems.
תרשים מעגלים של מועצת הפיתוח ESP
המעגל פשוט מאוד ושברתי אותו להבנה טובה יותר. התרשים ESP שלהלן מציג את כל המעגל, כפי שניתן לראות שיש שמונה בלוקים פונקציונליים, אני אעבור על כל אחד ואסביר על כל בלוק.
ESP8285 SOC:
לב הפרויקט הוא ה- ESP8285 SoC, כל ה- GPIOs והקשרים הנחוצים האחרים מוגדרים כאן.
מסנן חשמל: יש 7 פינים חשמליים על ה- IC הזה, הראשון הוא סיכת החשמל של ה- ADC וה- IO. קיצרתי אותם יחד, ומשתמש בקבל מסנן כוח 47uF ובקבלת ניתוק של 0.1uF לסינון כניסת ה- 3.3V DC.
מסנן PI: מסנן ה- PI הוא אחד הבלוקים החשובים ביותר בתכנון זה מכיוון שהוא אחראי על הפעלת מגבר ה- RF וה- 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, כלי הפיתון מקבל שיחה, כלי הפיתון הזה הוא כלי הפלאש למכשירי ESP, כלי ה- pi הזה נותן את אות לממיר UART לאיפוס הלוח תוך החזקת סיכת GPIO לקרקע. לאחר מכן מתחיל תהליך ההעלאה והאימות.
נורית חשמל, נורית לוח ומחלק מתח:
נורית חשמל: נורית החשמל כוללת מגשר PCB אם אתה משתמש בלוח זה כמו ליישום המופעל על ידי סוללה, אתה יכול לבצע הלחמה של מגשר זה כדי לחסוך לא מעט כוח.
נורית LED: לוחות-התקנים רבים בשוק כוללים נורית LED, ולוח זה אינו יוצא מן הכלל; ה- GPIO16 של ה- IC מחובר למוביל מובנה. לצד זאת, יש מציין מיקום לנגד של 0 OHM על ידי אכלוס הנגד של 0 אוהם, אתה מחבר את ה- GPIO16 לאיפוס, וכפי שאתה אולי יודע, זהו צעד חשוב מאוד להכניס ESP למצב שינה עמוק.
מחלק מתח: כידוע, מתח הכניסה המרבי של ה- ADC הוא 1V. לכן, כדי לשנות את טווח הקלט ל -3.3 וולט, מחלק המתח משמש. התצורה כל כך עשויה שתמיד תוכלו להוסיף נגד בסדרה עם הסיכה כדי לשנות את הטווח ל- 5V.
HT7333 LDO:
נעשה שימוש בווסת מתח נמוך נשירה LDO לוויסות המתח ל- ESP8285 מסוללה עם אובדן כוח מינימלי.
מתח הקלט המרבי של ה- HT7333 LDO הוא 12 וולט והוא משמש להמרת מתח הסוללה ל -3.3 וולט, בחרתי ב- HT7333 LDO זה מכיוון שמדובר במכשיר עם זרם שקט נמוך מאוד. קבלים הניתוק של 4.7uF משמשים לייצוב ה- LDO.
לחצן למצב תכנות:
כפתור הלחיצה מחובר ל- GPIO0, אם לממיר ה- UART שלך אין סיכת RTS או DTR, אתה יכול להשתמש בכפתור זה כדי למשוך את GPIO0 באופן ידני לקרקע.
נגדי Pullup ו- Pulldown:
נגדי המשיכה והנפתח נמצאים שם בהתאם להמלצת גיליון הנתונים.
מלבד זאת, נורמות והנחיות עיצוב רבות הושמעו בעת תכנון ה- PCB. אם אתה רוצה לדעת יותר על כך, תוכל למצוא זאת במדריך לעיצוב החומרה של ה- ESP8266.
ייצור לוח ה- ESP8285 שלנו
הסכימה נעשית ואנחנו יכולים להמשיך בהנחת ה- PCB. השתמשנו בתוכנת עיצוב PCB של Eagle כדי לייצר את ה- PCB, אך אתה יכול לעצב את ה- PCB עם התוכנה המועדפת עליך. עיצוב ה- PCB שלנו נראה ככה כשהוא הושלם.
ניתן להוריד את קובצי ה- BOM ואת גרבר מהקישורים הבאים:
- ESP8282 קבצי גרבר ב- Dev-Board
- ESP8282 BOM של לוח התקנים
עכשיו, כשהעיצוב שלנו מוכן, הגיע הזמן לייצר את לוחות ה- PCB באמצעות. לשם כך, פשוט בצע את השלבים הבאים:
הזמנת PCB מ- PCBWay
שלב 1: היכנס https://www.pcbway.com/, הירשם אם זו הפעם הראשונה שלך. לאחר מכן, בכרטיסיה אב טיפוס של PCB, הזן את הממדים של ה- PCB שלך, את מספר השכבות ואת מספר ה- PCB שאתה צריך.
שלב 2: המשך על ידי לחיצה על כפתור 'ציטוט עכשיו'. תועבר לדף שבו ניתן להגדיר כמה פרמטרים נוספים כמו סוג הלוח, שכבות, חומר ל- PCB, עובי ועוד, רובם נבחרים כברירת מחדל, אם אתה בוחר בפרמטרים ספציפיים כלשהם, תוכל לבחור זה בשמיעה.
כפי שאתה יכול לראות, היינו זקוקים למחשבי PCB שלנו בשחור! אז בחרתי שחור בקטע צבעי מסיכות הלחמה.
שלב 3: השלב האחרון הוא העלאת קובץ גרבר והמשך התשלום. כדי לוודא שהתהליך חלק, PCBWAY מאמת אם קובץ הגרבר שלך תקף לפני שתמשיך בתשלום. בדרך זו, אתה יכול להיות בטוח שה- PCB שלך הוא ידידותי לייצור ויגיע אליך כמחויב.
הרכבה ותכנות של לוח ESP8285
לאחר מספר ימים קיבלנו את ה- PCB שלנו בקופסת אריזה מסודרת, ואיכות ה- PCB הייתה טובה כמו תמיד. השכבה העליונה והשכבה התחתונה של הלוח מוצגות למטה:
לאחר שקיבלתי את הלוח התחלתי מיד להלחין את הלוח. השתמשתי בתחנת הלחמה באוויר החם ובשטף הלחמה רב כדי להלחין את המעבד הראשי, ורכיבים אחרים על הלוח מולחמים באמצעות מלחם. המודול שהורכב מוצג להלן.
ברגע שזה נעשה, חיברתי את מודול ה- FTDI האמין שלי לבדיקת הלוח על ידי העלאת סקיצה, הסיכות המחוברות ותמונה של הלוח שמוצג להלן:
ESP8285 לוח מודול FTDI
3.3V -> 3.3V
Tx -> Rx
Rx -> Tx
DTR -> DTR
RST -> RST
GND -> GND
לאחר השלמת כל החיבורים הדרושים, הגדרתי את ה- IDE של ארדואינו על ידי בחירה בלוח ה- Generic ESP8285 מ- Tools > Board > Generic ESP8285 Module .
בדיקה באמצעות סקיצה נורית LED פשוטה
לאחר מכן, הגיע הזמן לבדוק את הלוח על ידי מהבהב נורית, לשם כך השתמשתי בקוד הבא:
/ * ESP8285 מהבהב מהבהב את הנורית הכחולה במודול ESP828285 * / #define LED_PIN 16 // הגדר הגדרת חלל פינים של LED מהבהב () {pinMode (LED_PIN, OUTPUT); // אתחל את פין ה- LED כפלט} // פונקציית הלולאה פועלת שוב ושוב לולאה בטלה לנצח () {digitalWrite (LED_PIN, LOW); // הפעל את הנורית (שים לב ש- LOW הוא רמת המתח) עיכוב (1000); // המתן ל- DigitalWrite שני (LED_PIN, HIGH); // כבה את הנורית על ידי עיכוב המתח HIGH (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 * סיסמה = STAPSK;
לאחר מכן, עלינו להגדיר את האובייקט ESP8266WebServer. הדוגמה כאן מגדירה אותו כשרת (80) ה- (80) הוא מספר היציאה.
בשלב הבא עלינו להגדיר סיכה עבור נורית LED במקרה שלי זה היה סיכה מס '16.
const int led = 16;
לאחר מכן מוגדרת פונקציית handleRoot () . פונקציה זו תיקרא כאשר השיחה בכתובת ה- IP מהדפדפן שלנו.
בטל handleRoot () {digitalWrite (led, 1); server.send (200, "טקסט / רגיל", "שלום מ- esp8266!"); digitalWrite (led, 0); }
הבא הוא פונקציית ההתקנה, שמע שיש להגדיר את כל הפרמטרים הדרושים כמו-
pinMode (led, OUTPUT); // הגדרנו את סיכת ה- led כפלט Serial.begin (115200); // התחלנו חיבור סדרתי עם 115200 baud WiFi.mode (WIFI_STA); // הגדרנו את מצב ה- wifi כתחנת WiFi.begin (ssid, סיסמה); ואז אנו מתחילים את חיבור ה- wifi Serial.println (""); // שורה זו נותנת מקום נוסף בעוד (WiFi.status ()! = WL_CONNECTED) {עיכוב (500); Serial.print ("."); } / * בזמן הלולאה שאנו בודקים את מצב החיבור כזה ש- ESP מסוגל לחבר לנקודה החמה הלולאה תבלום * / Serial.println (""); Serial.print ("מחובר ל"); Serial.println (ssid); Serial.print ("כתובת IP:"); Serial.println (WiFi.localIP ());
לאחר מכן אנו מדפיסים את השם ואת כתובת ה- IP של ה- SSID המחובר לחלון המסך הטורי.
server.on ("/", handleRoot); // המתודה המופעלת של אובייקט השרת נקרא להחליף את שרת פונקציית השורש. on ("/ inline", () {server.send (200, "text / plain", "זה עובד גם כן");}); // שוב קראנו למתודה המופעלת עבור שרת / inline לדוגמא. begin (); // הבא אנו מפעילים את השרת עם המתודה התחילה Serial.println ("שרת HTTP התחיל"); // ולבסוף אנו מדפיסים הצהרה בצג הסדרתי. } // המסמן את סוף הפונקציה void loop (void) {server.handleClient (); }
בפונקציית הלולאה, קראנו לשיטות handleClient () להפעלת ה- esp כראוי.
לאחר שנעשה זאת, לקח ללוח ESP8285 זמן מה להתחבר לשרת האינטרנט ועבד בהצלחה כצפוי, מה שסימן את סיום הפרויקט הזה.
את העבודה המלאה של הלוח ניתן למצוא בסרטון המקושר למטה. אני מקווה שנהנית מהמאמר הזה ולמדת ממנו משהו חדש. אם יש לך ספק, אתה יכול לשאול בתגובות למטה או להשתמש בפורומים שלנו לדיון מפורט.