תוכן עניינים:

12V LED PWM דימר עם ESP8266: 3 שלבים
12V LED PWM דימר עם ESP8266: 3 שלבים

וִידֵאוֹ: 12V LED PWM דימר עם ESP8266: 3 שלבים

וִידֵאוֹ: 12V LED PWM דימר עם ESP8266: 3 שלבים
וִידֵאוֹ: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, יולי
Anonim
12V LED PWM דימר עם ESP8266
12V LED PWM דימר עם ESP8266

בזמן שניסיתי להפוך את משק הבית שלי לקיים יותר, החלפתי נורות הלוגן בנורות לד. יש הרבה חלופות זמינות להחלפת כל סוג של נורה. תוך כדי פעולה זו נתקלתי בבעיה הבאה: היה לי גוף תאורה שהשתמש 7 נורות הלוגן 12 וולט, כל 10 וואט. אור זה נשלט על ידי דימר, שעבד מצוין. כשהחלפתי את הנורות באורות לד של 12 וולט, כל 1 ואט, העמעם עבד רע: האור מהבהב והעמעם קצת לא יציב. זו בעיה עם הרבה דימרים קלאסיים: יש להם דירוג הספק מינימלי, שהם צריכים כדי לעבוד.

אז, בהתבסס על מערכת הדומוטיקה שלי, החלטתי להחליף דימר ידני זה על ידי אחד חדש, שיהיה לו יתרון נוסף של יכולת שליטה מרחוק. כבר בניתי דימר באמצעות MOSFET ערוצי N (IRF540), שהוא מושלם לדברים מסוג זה: ניתן לשלוט בו באמצעות אות PWM, והוא כמעט בלתי ניתן להריסה, עם דירוג מקסימלי של 100 וולט ו -33 אמפר, מספיק מספיק למטרה זו (בדיקה מהירה: 7 x 1 וואט = 7 וואט, מחולק ב -12 וולט נותן זרם מרבי של כ.58 אמפר). אני רוצה להשתמש בדימר הזה למתקן נוסף הכולל 12 נורות, כל 2 וואט, מה שנותן מקסימום 2 אמפר, כך שזה גם מספיק. הדבר היחיד שיש להיזהר ממנו בתדירות האות PWM, אך הערכים הרגילים עבור Arduino או ESP8266 (500 הרץ או 1 קילוהרץ) אינם מהווים בעיה.

שלב 1: שלב 1: הרכיבים

שלב 1: הרכיבים
שלב 1: הרכיבים
  1. דרייבר לד (230 וולט AC ל 12 וולט ממיר DC) למטרה שלי, אני רוצה להשתמש לכל היותר 24 וואט, אז התחלתי עם נהג LED של 12 וולט ו -2 אמפר. מצאתי אחד באתר מפיצים סיני. נהג זה דורג 12 וולט, 28 וואט, כך שהספיק להניע את המתקן לבד. למצב שלך, תוכל להשתמש בגרסה קלה או כבדה יותר, בהתאם למתקן שלך.
  2. IRF540 n-channel MOSFET
  3. Adafruit Huzzah ESP8266 Breakout מכיוון שרציתי להשתמש ב- WiFi, ואני בהחלט אוהב את המוצרים של Adafruit, בחרתי בלוח הזה: הוא נותן לי ESP8266 עם תכנות נוח לתכנות, ווסת כוח על הלוח וגורם צורה אלגנטי. זה קצת מוגזם לפרויקט הזה, אבל זה הופך את הבדיקה והניפוי באגים לקלים הרבה יותר.
  4. ממיר DC-DC מבוסס LM2596 על מנת להפיק את הכוח ללוח ה- ESP מ -12 וולט, הייתי צריך וסת; הממירים הקטנים האלה יעילים מאוד וזולים מאוד.
  5. מקודד סיבובי עם פונקציית כפתורים, עם אור מובנה:

    www.sparkfun.com/products/10596

    כל מקודד סיבובי יעשה, אבל אהבתי את התכונה הנוספת והנאה של LED מובנה.

  6. ידית פלסטיק שקופה

    www.sparkfun.com/products/10597

  7. הנגד 4k7
  8. הנגד 1k

שלב 2: שלב 2: המעגל

שלב 2: המעגל
שלב 2: המעגל

זהו המעגל בו השתמשתי: השתמשתי בסיכות 4 & 5 ככניסות למקודד הסיבובי, ובסיכה 0 לכפתור. סיכה 0 מחוברת גם לנורית האדומה המשולבת על הלוח, כך שאוכל לבדוק את תפקוד הכפתור בקודד על ידי צפייה בלד הזה.

סיכה 16 משמשת ליציאת PWM, וחיברתי זאת ישירות לדלק הירוק על מקודד Sparkfun. ה- ESP8266 הוא 3, 3 וולט, ואפילו עם 100%, מדדתי רק פלט של 2, 9 וולט, אז חיברתי אותו ישירות ללא נגד סדרה. פלט זה עובר לשער של ה- MOSFET בערוץ n, באמצעות נגד של 1 קאוהם. שער זה נמשך גבוה ל -12 וולט על ידי נגד של 4.7 קאוהם.

השתמשתי בממיר DC-DC כדי להמיר את 12 וולט ל- 5.5 וולט, זה מחובר לכניסת V+ של התפרצות Adafruit. יכולתי להשתמש ב -3.3 וולט ולחבר אותו ישירות, אבל זה קצת יותר בטוח.

מנורת LED 12 וולט במעגל היא המתקן שלי.

שלב 3: שלב 3: הקוד

שלב 3: הקוד
שלב 3: הקוד

שמתי את הקוד ב- GitHub:

סקיצה עבור דימר ESP8266 LED PWM

הוא מבוסס על רעיון שניתן להנחות אותו עוד:

www.instructables.com/id/Arduino-PWM-LED-D…

אבל זו הייתה שליטה מקומית בלבד, אז הוספתי פתרון דומיוטיקה משלי המבוסס על MQTT. זה בעצם עושה את אותו הדבר, אבל ההבדלים העיקריים הם:

  • מספר ברירת המחדל של שלבי PWM עם Arduino הוא 255, עם ESP8266 הוא 1023 (כפי שגיליתי מאוחר יותר, מנסה לברר מדוע גוף LED שלי לא עלה עד 100% בהירות …)
  • לא השתמשתי במעגל 'Totempole' עם 2 הטרנזיסטורים, מכיוון שבכל זאת ה- PWM היה DC ועבד מצוין עם ה- IRF 540.
  • לא השתמשתי בנגדי המשיכה של 10k למקודד, סמכתי על האפקטים המובנים של ה- ESP8266.
  • ה- ESP8266 משתמש בהיגיון של 3.3 וולט במקום 5 וולט עבור Arduino, מה שלא הוכיח שום בעיה עבור IRF540

התוכנה כוללת את התכונות הבאות:

  • סיבוב המקודד יעמעם את האור (CW) או יורד (CCW), מ -0 עד 100%, ב -1023 צעדים, עם מעט מהירות ברמות הנמוכות.
  • לחיצה על הכפתור תדליק את האור כאשר הוא כבוי, באמצעות רמת הבהירות האחרונה שנשמרה, או תכבה אותו כשהוא דולק.
  • לחיצה על הכפתור למשך זמן רב יותר כשהנורה דולקת תחסוך את הבהירות הנוכחית כרמת ברירת המחדל.
  • לחיצה על הכפתור למשך זמן רב יותר כשהאור כבוי תדליק את האור ל 100% בהירות, מבלי לשנות את רמת ברירת המחדל.
  • הוא יתחבר להגדרות ה- WiFi המוגדרות על ידי מחרוזות 'SECRET_SSID' ו- 'SECRET_PASS', השמורות בקובץ נפרד בסקיצה שלי, הנקראות 'secrets.h'
  • הוא יתחבר לשרת MQTT ברשת ה- WiFi, באמצעות מחרוזות 'MQTTSERVER' ו- 'MQTTPORT' באותו קובץ.
  • אתה יכול להשתמש בנושא הנכנס MQTT 'domus/esp/in' כדי להוציא פקודות: 'ON' או 'OFF' כדי להדליק או לכבות את האור, או ערך מ -0 עד 1023 לשינוי הבהירות.
  • הוא ידווח על המצב בנושאי MQTT 'domus/esp/uit' (מצב ON או OFF) ו- 'domus/esp/uit/brightness' (ערך הבהירות).

מוּמלָץ: