- מהו חיישן מגע קיבולי וכיצד הוא עובד?
- בניית חיישן מגע קיבולי בעל ארבעה כיוונים
- חומרים הנדרשים למעגל מבוקר מגע ESP32
- מעגל בקרה לחיישן המגע הקיבולי שלנו
- תכנון PCB למעגל חיישני מגע קיבולי
- קוד Arduino לחיישן מגע קיבולי מבוסס ESP32
- בדיקת מעגל חיישני מגע מבוסס ESP32
- שיפורים נוספים
במקרים רבים משתמשים בחיישני מגע במקום בלחצני כפתור. היתרון הוא שאנחנו לא צריכים לספק כוח ללחוץ על כפתור, ואנחנו יכולים להפעיל מקש בלי לגעת בו באמצעות חיישני מגע. טכנולוגיית חישת מגע הופכת פופולרית מיום ליום. ובתוך העשור האחרון לערך, קשה היה לדמיין את העולם ללא אלקטרוניקה רגישה למגע. שניהם מגע התנגדות ו קיבולי שיטות יכול להיות מועסק על מנת לפתח חיישן מגע, וכן במאמר זה, נדון באופן גולמי של ביצוע חיישן מגע קיבולי עם ESP32, בעבר אנחנו גם לבנות כפתור מגע קיבולי עם pi פטל.
למרות שחיישני מגע ספציפיים ליישומים יכולים להיות מעט מסובכים, העיקרון הבסיסי העומד בבסיס הטכנולוגיה הזו נשאר זהה, ולכן במאמר זה נתמקד בפיתוח חיישן המגע הקיבולי שלנו בעזרת ה- ESP32 האהוב עלינו וחתיכת נחושת- לוח לבוש.
במדריך הקודם עשינו בקרת אורות ביתיים עם מגע באמצעות חיישן מגע TTP223 ו- Arduino UNO, כעת בפרויקט זה אנו בונים חיישן מגע ל ESP32 אך ניתן להשתמש בו גם עבור Arduino. כמו כן, השתמשנו בעבר בשיטות קלט מבוססות מגע באמצעות רפידות מגע קיבולי עם מיקרו-בקרים שונים כגון ממשק מקשי מגע עם ATmega32 מיקרו-בקר ומשטח מגע קיבולי עם Raspberry Pi, אתה יכול גם לבדוק אותם אם אתה מעוניין בכך.
מהו חיישן מגע קיבולי וכיצד הוא עובד?
קבלים מגיעים בצורות רבות. הנפוץ ביותר מגיע פעם בצורה של חבילה עופרת או אריזת הרכבה על פני השטח, אך כדי ליצור קיבול, אנו זקוקים למוליכים המופרדים על ידי חומר דיאלקטרי. לפיכך, קל ליצור אחד כזה. דוגמה טובה תהיה זו שאנו הולכים לפתח בדוגמה הבאה.
בהתחשב ב- PCB החרוט כחומר המוליך, המדבקה מתנהגת כחומר דיאלקטרי, אז כעת נותרה השאלה כיצד נגיעה בכרית הנחושת גורמת לשינוי הקיבול באופן שבקר חיישן המגע מסוגל לזהות? אצבע אנושית, כמובן.
ובכן, ישנן בעיקר שתי סיבות: הראשונה, האחת כוללת את המאפיינים הדיאלקטריים של האצבע שלנו, השנייה היא בגלל התכונות המוליכות של האצבע שלנו. אנו הולכים להשתמש במגע מבוסס קיבולי. אז נפנה את המיקוד שלנו לחיישן מגע מבוסס קיבולי. אך לפני שנדון בכל אלה, חשוב לציין כי אין התנהלות כלשהי והאצבע מבודדת בגלל הנייר המשמש במדבקה. לכן, האצבע אינה מסוגלת לפרוק את הקבל.
אצבע מתנהגת כדיאלקטרית:
ידוע כי לקבל יש ערך קבוע שניתן לממש אותו על ידי השטח של שתי הלוחות המוליכים, המרחק בין הלוחות וקבוע הדיאלקטרי שלו. איננו יכולים לשנות את שטח הקבל רק על ידי נגיעה בו, אך אנו יכולים לשנות את הקבוע הדיאלקטרי של הקבל מכיוון שלאצבע אנושית יש קבוע דיאלקטרי שונה מזה של החומר המציג אותו. במקרה שלנו, זה אוויר, אנחנו מחליפים אוויר באצבעות. אם אתה שואל איך? הסיבה לכך היא שהקבוע הדיאלקטרי של האוויר 1006 בטמפרטורת החדר בגובה פני הים והקבוע הדיאלקטרי של האצבע גבוה בהרבה סביב 80 מכיוון שאצבע אנושית מורכבת בעיקר ממים. לכן, האינטראקציה של האצבע עם השדה החשמלי של הקבל גורמת לעלייה בקבוע הדיאלקטרי ומכאן שהקיבול עולה.
עכשיו אחרי שהבנו את המנהל, בואו נעבור לייצור PCBs בפועל.
בניית חיישן מגע קיבולי בעל ארבעה כיוונים
חיישן מגע קיבולי בשימוש בפרויקט זה יש ארבעה ערוצים, וזה קל לעשות. להלן הזכרנו את התהליך המפורט להכנתו.
ראשית, יצרנו את ה- PCB לחיישן בעזרת כלי העיצוב PCB של Eagle, שנראה כמו התמונה למטה.
בעזרת הממדים והפוטושופ, הכנו את התבנית ולבסוף את המדבקה לחיישן, שנראית כמו התמונה למטה,
עכשיו, כשסיימנו עם המדבקה, נעבור להכנת תבנית הלוח המצופה בפועל בה נשתמש לייצור ה- PCB שלנו, שנראית כמו התמונה למטה,
כעת נוכל להדפיס קובץ זה ולהמשיך בתהליכים של יצירת PCB תוצרת בית. אם אתה חדש, אתה יכול לבדוק את המאמר כיצד לבנות PCB בבית. ניתן גם להוריד את קובצי ה- PDF והגרבר הנדרשים מהקישור למטה
- קובץ GERBER לחיישן מגע קיבולי בעל ארבעה ערוצים
לאחר שתסיים, ה- PCB החרוט בפועל נראה כמו התמונה למטה.
עכשיו הגיע הזמן לקדוח כמה חורים, ואנחנו מחברים כמה חוטים ל- PCB. כדי שנוכל לחבר אותו ללוח ESP32. לאחר שתסיים, זה נראה כמו התמונה למטה.
מכיוון שלא הכנסנו דרך PCB, הלחמה הגיעה לכל מקום בזמן ההלחמה, תיקנו את הטעות שלנו על ידי הצבת חור קידוח על ה- PCB, שתוכל למצוא בסעיף ההורדות שלמעלה. לבסוף הגיע הזמן לשים את המדבקה ולהפוך אותה לסופית. שנראה משהו כמו התמונה למטה.
עכשיו סיימנו עם לוח המגע, הגיע הזמן להכין את מעגל הבקרה עבור לוח המגע.
חומרים הנדרשים למעגל מבוקר מגע ESP32
הרכיבים הנדרשים לבניית קטע הבקר באמצעות ESP32 מובאים להלן, אתה אמור להיות מסוגל למצוא את רובם בחנות התחביבים המקומית.
רשמתי גם את הרכיבים בטבלה שלהלן עם סוג וכמות נדרשים, מכיוון שאנו מממשקים חיישן מגע בעל ארבעה ערוצים ושולטים בארבעה עומסי זרם חילופין, אנו נשתמש ב -4 ממסרים כדי להחליף את עומס ה- AC ו -4 טרנזיסטורים לבניית הממסר. מעגלי נהג.
לא |
חלקים |
סוּג |
כַּמוּת |
1 |
ממסר |
החלף |
4 |
2 |
BD139 |
טרָנזִיסטוֹר |
4 |
3 |
מסוף בורג |
מסוף בורג 5 מ"מ x 2 |
4 |
4 |
1N4007 |
דיודה |
5 |
5 |
0.1uF |
קַבָּל |
1 |
6 |
100uF, 25V |
קַבָּל |
2 |
7 |
LM7805 |
ווסת מתח |
1 |
8 |
1K |
נַגָד |
4 |
9 |
560R |
נַגָד |
4 |
10 |
נורית ענבר |
לד |
4 |
11 |
כותרת גברית |
מַחבֵּר |
4 |
12 |
כותרת נקבה |
מַחבֵּר |
30 |
13 |
נורית LED אדומה |
לד |
1 |
14 |
ESP32 Dev Board V1 |
לוח ESP32 |
1 |
12 |
לוח לבוש |
כללי 50x 50mm |
1 |
13 |
חוטי מגשר |
חוטים |
4 |
14 |
חוטי חיבור |
חוטים |
5 |
מעגל בקרה לחיישן המגע הקיבולי שלנו
התמונה למטה מציגה את דיאגרמת המעגל המלאה עבור חיישן המגע מבוסס ה- ESP32 שלנו .
כפי שאתה יכול לראות, זהו מעגל פשוט מאוד עם רכיבים מינימליים מאוד הנדרשים.
מכיוון שמדובר במעגל חיישני מגע פשוט, זה יכול להיות שימושי במקומות שבהם ברצונך לקיים אינטראקציה עם מכשיר באמצעות מגע, למשל, במקום להשתמש במתג טיפוסי המותקן בלוח, אתה יכול להפעיל / לכבות את המכשירים שלך באמצעות מגע.
בתרשים, שקע חבית DC משמש ככניסה בה אנו מספקים את הכוח הדרוש להפעלת המעגל, ומשם יש לנו את ווסת המתח 7805 הממיר את כניסת ה- DC הבלתי מוסדרת לזרם זרם קבוע של 5V DC שדרכו אנו מספקים את הכוח למודול ESP32.
לאחר מכן, בסכמה, יש לנו את מחברי המגע שלנו על פינים 25, 26, 27, 28, שם אנו הולכים לחבר את לוח המגע.
לאחר מכן, יש לנו את הממסרים שלנו המועברים באמצעות טרנזיסטור BD139, הדיודה D2, D3, D4, D5 נמצאת שם כדי להגן על המעגל מפני מתח חולף שנוצר כאשר הממסר מתחלף, הדיודות בתצורה זו ידועות בשם דיודה חזרה / דיודה חופשית. נגדי 560R בבסיס כל טרנזיסטור משמשים להגבלת זרימת הזרם דרך הבסיס.
תכנון PCB למעגל חיישני מגע קיבולי
ה- PCB למעגל חיישני המגע שלנו תוכנן עבור לוח חד צדדי. השתמשנו בנשר כדי לעצב את ה- PCB שלי, אבל אתה יכול להשתמש בכל תוכנת עיצוב לפי בחירתך. תמונת הדו-ממד של עיצוב הלוח שלנו מוצגת למטה.
נעשה שימוש בקוטר עקבות מספיק לייצור מסלולי הכוח, המשמשים לזרימת הזרם דרך המעגל. שמנו את מסוף הבורג בחלק העליון כי הרבה יותר קל לחבר את העומס שלך כך, ומחבר הכוח, שהוא שקע חבית DC, הוצב בצד, מה שגם נותן גישה נוחה. ניתן להוריד את קובץ העיצוב השלם עבור Eagle יחד עם הגרבר מהקישור למטה.
- קובץ GERBER עבור מעגל בקרת חיישן מגע מבוסס ESP32
עכשיו כשהעיצוב שלנו מוכן, הגיע הזמן לחרוט וללחם את הלוח. לאחר סיום תחריט, קידוח והלחמה, הלוח נראה כמו התמונה המוצגת למטה,
קוד Arduino לחיישן מגע קיבולי מבוסס ESP32
עבור פרויקט זה, אנו נתכנת את ה- ESP32 עם קוד מותאם אישית אותו נתאר בקרוב. הקוד פשוט מאוד וקל לשימוש, אנו מתחילים בהגדרת כל הפינים הנדרשים, במקרה שלנו אנו מגדירים את הפינים עבור חיישני המגע והממסרים שלנו.
#define Relay_PIN_1 15 #define Relay_PIN_2 2 #define Relay_PIN_3 4 #define Relay_PIN_4 16 #define TOUCH_SENSOR_PIN_1 13 #define TOUCH_SENSOR_PIN_2 12 #define TOUCH_SENSOR_PIN_3 14 #d_FIN_3
לאחר מכן, בסעיף ההתקנה, אנו מתחילים באתחול ה- UART לצורך ניפוי באגים, לאחר מכן הצגנו עיכוב של 1S אשר נותן לנו מעט זמן לפתיחת חלון Serial Monitor. לאחר מכן, אנו משתמשים בפונקציית pinMode של Arduinos כדי להפוך את סיכות הממסר לפלט, המסמן את סוף סעיף ההתקנה () .
הגדרת חלל () {Serial.begin (115200); עיכוב (1000); pinMode (Relay_PIN_1, OUTPUT); pinMode (Relay_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relay_PIN_4, OUTPUT); }
אנו מתחילים את קטע הלולאה שלנו בהצהרת if , הפונקציה המובנית touchRead (pin_no) משמשת כדי לקבוע אם נגע בסיכה או לא. TouchRead (pin_no) הפונקציה מחזירה טווחי ערך שלם (0 - 100), נשאר הערך ליד 100 כל זמן, אבל אם אנחנו נוגעים בסיכה הנבחרת, הערך יורד כמעט לאפס, וגם בעזרת הערך משתנה, אנו יכולים לקבוע אם הסיכה המסוימת נגעה באצבע או לא.
במשפט if , אנו בודקים כל שינוי בערכי המספר השלם, ואם הערך מגיע מתחת ל 28, אנו יכולים להיות בטוחים שהודענו במגע. לאחר אם האמירה הופכת נכונה, אנחנו מחכים 50ms ולבדוק את הפרמטר שוב, זה יעזור לנו לקבוע אם ערך החיישן היה הדק שקרי, לאחר מכן, אנו להפוך את המצב של הפינים באמצעות digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) , ושאר הקוד נשאר זהה.
אם (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("נגעה בחיישן אחד"); digitalWrite (Relay_PIN_1,! digitalRead (Relay_PIN_1)); }} אחרת אם (touchRead (TOUCH_SENSOR_PIN_2) <28) {if (touchRead (TOUCH_SENSOR_PIN_2) <28) {Serial.println ("נגע בחיישן שני"); digitalWrite (Relay_PIN_2,! digitalRead (Relay_PIN_2)); }} אחרת אם (touchRead (TOUCH_SENSOR_PIN_3) <28) {if (touchRead (TOUCH_SENSOR_PIN_3) <28) {Serial.println ("נגע בחיישן שלוש"); digitalWrite (Relay_PIN_3,! digitalRead (Relay_PIN_3)); }} אחר אם (touchRead (TOUCH_SENSOR_PIN_4) <28) {if (touchRead (TOUCH_SENSOR_PIN_4) <28) {Serial.println ("נגע בחיישן ארבע"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
לבסוף, אנו מסיימים את הקוד שלנו עם עיכוב נוסף של 200 מילישונים.
בדיקת מעגל חיישני מגע מבוסס ESP32
מכיוון שמדובר בפרויקט פשוט מאוד, ערכת הבדיקות פשוטה מאוד, כפי שאתה יכול לראות, חיברתי 4 נוריות עם נגדים הפועלים כעומסים, מכיוון שהיא מחוברת לממסר, תוכל לחבר בקלות כל עומס עד 3 אמפר.
שיפורים נוספים
למרות שה- PCB פשוט, עדיין יש מקום לשיפורים כפי שניתן לראות מהצד התחתון של ה- PCB בפועל, חיברתי נגדים רבים בניסיון לחבר ארבע נוריות אינדיקציה, ואת גודל ה- PCB ניתן לצמצם גם אם זה הופך לדרישה, מקווה שנהנית מהמאמר ולמדת משהו שימושי. אם יש לך שאלות, אתה יכול להשאיר אותן בסעיף ההערות למטה או להשתמש בפורומים שלנו כדי לפרסם שאלות טכניות אחרות.