فهرست مطالب:

12V LED PWM Dimmer با ESP8266: 3 مرحله
12V LED PWM Dimmer با ESP8266: 3 مرحله

تصویری: 12V LED PWM Dimmer با ESP8266: 3 مرحله

تصویری: 12V LED PWM Dimmer با ESP8266: 3 مرحله
تصویری: Complete Guide for 15A 400W MOSFET AOD4184A to control motor or load 2024, جولای
Anonim
12V LED PWM Dimmer با ESP8266
12V LED PWM Dimmer با ESP8266

در حالی که سعی می کردم خانواده ام را پایدارتر کنم ، لامپ های هالوژن را با چراغ های LED عوض می کردم. جایگزین های زیادی برای جایگزینی هر نوع لامپ وجود دارد. در حین انجام این کار ، با مشکل زیر روبرو شدم: یک چراغ برق داشتم که از 7 لامپ هالوژن 12 ولت ، هر 10 وات استفاده می کرد. این نور توسط یک دیمر کنترل می شد که خوب کار می کرد. وقتی لامپها را با چراغهای 12 ولت ، هر 1 وات عوض کردم ، دیمر بد کار می کرد: نور در حال سوسو زدن بود و کم نور تا حدودی نامنظم بود. این مشکل بسیاری از دیمرهای کلاسیک است: آنها دارای حداقل قدرت هستند که برای کار به آنها نیاز دارند.

بنابراین ، بر اساس سیستم domotics من ، تصمیم گرفتم این دیمر دستی را با یک دستگاه جدید عوض کنم ، که می تواند مزیت بیشتری برای کنترل از راه دور داشته باشد. من قبلاً با استفاده از MOSFET N-channel (IRF540) یک دیمر ساخته بودم ، که برای چنین مواردی بسیار مناسب است: می توان آن را با سیگنال PWM کنترل کرد و عملاً خراب نشدنی است ، با حداکثر توان 100 ولت و 33 آمپر ، برای این منظور به اندازه کافی کافی است (بررسی سریع: 7 * 1 وات = 7 وات ، تقسیم بر 12 ولت حداکثر جریان در حدود.58 آمپر). من می خواهم از این دیمر برای وسیله دیگری استفاده کنم که 12 لامپ دارد ، هر 2 وات ، که حداکثر 2 آمپر می دهد ، بنابراین این نیز کافی است. تنها چیزی که باید به آن توجه شود فرکانس سیگنال PWM است ، اما مقادیر معمول برای Arduino یا ESP8266 (500 هرتز یا 1 کیلوهرتز) مشکلی ندارند.

مرحله 1: مرحله 1: اجزاء

مرحله 1: اجزاء
مرحله 1: اجزاء
  1. درایور LED (مبدل DC 230 ولت AC به 12 ولت) به منظور من ، می خواهم حداکثر از 24 وات استفاده کنم ، بنابراین با یک درایور LED 12 ولت و 2 آمپر شروع کردم. من یکی را در یک سایت توزیع کننده چینی پیدا کردم. این درایور دارای ولتاژ 12 ولت ، 28 وات بود ، بنابراین برای رانندگی دستگاه به تنهایی کافی بود. بسته به وسایل خود ، می توانید از نسخه سبک تر یا سنگین تر استفاده کنید.
  2. ماسفت n-channel IRF540
  3. از آنجا که من می خواستم از وای فای استفاده کنم و محصولات Adafruit را بسیار دوست دارم ، این برد را انتخاب کردم: این ESP8266 را با یک برنامه نویسی مناسب ، یک تنظیم کننده قدرت روی برد و یک فرم زیبا به من می دهد. برای این پروژه کمی بیش از حد است ، اما آزمایش و اشکال زدایی را بسیار ساده تر می کند.
  4. مبدل DC-DC مبتنی بر LM2596 به منظور بدست آوردن قدرت برد ESP از ولتاژ 12 ولت ، به یک رگولاتور نیاز داشتم. این مبدل های کوچک بسیار کارآمد و بسیار ارزان هستند.
  5. رمزگذار روتاری با عملکرد دکمه ، با چراغ LED داخلی

    www.sparkfun.com/products/10596

    هر کدگذار دوار این کار را انجام می دهد ، اما من از ویژگی افزوده شده خوب یک LED داخلی خوشم آمد.

  6. دستگیره پلاستیکی شفاف

    www.sparkfun.com/products/10597

  7. مقاومت 4k7
  8. مقاومت 1k

مرحله 2: مرحله 2: مدار

مرحله 2: مدار
مرحله 2: مدار

این مداری است که من استفاده کردم: من از پین 4 و 5 به عنوان ورودی برای رمزگذار چرخشی و پین 0 برای دکمه استفاده کردم. پین 0 نیز به led قرمز روی صفحه متصل است ، بنابراین می توانم با مشاهده این led عملکرد دکمه روی کد را بررسی کنم.

پین 16 برای خروجی PWM استفاده می شود و من آن را مستقیماً به led سبز در رمزگذار Sparkfun وصل کردم. ESP8266 3 ، 3 ولت است و حتی با 100 output ، من فقط 2 ، 9 ولت خروجی را اندازه گیری کردم ، بنابراین آن را مستقیماً بدون مقاومت سری وصل کردم. این خروجی با استفاده از یک مقاومت 1 کیلو اهم به Gate of n-channel MOSFET می رود. این گیت توسط یک مقاومت 4.7 کیلو اهم به بالای 12 ولت کشیده می شود.

من از مبدل DC-DC برای تبدیل 12 ولت به 5.5 ولت استفاده کردم ، این به ورودی V+ برک آدافروت متصل است. من می توانستم از 3.3 ولت استفاده کنم و آن را مستقیماً وصل کنم ، اما این کمی امن تر است.

چراغ LED 12 ولت در مدار ، وسایل من است.

مرحله 3: مرحله 3: کد

مرحله 3: کد
مرحله 3: کد

کد را در GitHub قرار دادم:

طرح برای دیمر LED PWM ESP8266

این بر اساس یک ایده آموزنده دیگر است:

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

اما این کنترل کاملاً محلی بود ، بنابراین من راه حل domotics مبتنی بر MQTT خود را اضافه کردم. اساساً همان کار را انجام می دهد ، اما تفاوتهای اصلی آنها عبارتند از:

  • تعداد پیش فرض مراحل PWM با آردوینو 255 است ، با ESP8266 1023 است (همانطور که بعدا متوجه شدم ، در کل سعی می کنم بفهمم چرا چراغ LED من تا 100٪ روشنایی بالا نرفته است …)
  • من از مدار "Totempole" با 2 ترانزیستور استفاده نکردم ، زیرا PWM به هر حال DC بود و با IRF 540 خوب کار می کرد.
  • من از مقاومت های کششی 10k برای رمزگذار استفاده نکردم ، به کشش های داخلی ESP8266 اعتماد کردم.
  • ESP8266 برای آردوینو به جای 5 ولت از منطق 3.3 ولت استفاده می کند ، که برای IRF540 هیچ مشکلی نشان نداد

نرم افزار دارای ویژگی های زیر است:

  • با چرخاندن رمزگذار ، نور در CW (CW) یا پایین (CCW) از 0 تا 100٪ در 1023 مرحله کم می شود و برخی در سطوح پایین سرعت می گیرد.
  • با فشردن دکمه ، چراغ هنگام خاموش شدن ، با استفاده از آخرین سطح روشنایی ذخیره شده ، روشن می شود یا هنگامی که روشن است ، خاموش می شود.
  • با فشردن دکمه برای مدت طولانی تر در حالی که چراغ روشن است ، روشنایی فعلی به عنوان سطح پیش فرض ذخیره می شود.
  • با فشار دادن دکمه به مدت طولانی تر در حالی که نور خاموش است ، روشنایی را بدون تغییر سطح پیش فرض به 100٪ روشن می کند.
  • به تنظیمات WiFi تعریف شده توسط رشته های 'SECRET_SSID' و 'SECRET_PASS' متصل می شود که در یک فایل جداگانه در طرح من ذخیره شده است ، به نام 'secrets.h'
  • با استفاده از رشته های "MQTTSERVER" و "MQTTPORT" در یک فایل ، به یک سرور MQTT در شبکه WiFi متصل می شود.
  • می توانید از مبحث ورودی MQTT 'domus/esp/in' برای صدور دستورات: 'ON' یا 'OFF' برای روشن یا خاموش کردن چراغ یا از مقدار 0 تا 1023 برای تغییر روشنایی استفاده کنید.
  • این وضعیت را در مورد موضوعات MQTT 'domus/esp/uit' (وضعیت ON یا OFF) و 'domus/esp/uit/brightness' (مقدار روشنایی) گزارش می دهد.

توصیه شده: