সুচিপত্র:

12V LED PWM Dimmer সঙ্গে ESP8266: 3 ধাপ
12V LED PWM Dimmer সঙ্গে ESP8266: 3 ধাপ

ভিডিও: 12V LED PWM Dimmer সঙ্গে ESP8266: 3 ধাপ

ভিডিও: 12V LED PWM Dimmer সঙ্গে ESP8266: 3 ধাপ
ভিডিও: Dimmer 3 Canal (RGB) pour 12V 4A*3 2024, জুলাই
Anonim
ESP8266 এর সাথে 12V LED PWM Dimmer
ESP8266 এর সাথে 12V LED PWM Dimmer

আমার পরিবারকে আরও টেকসই করার চেষ্টা করার সময়, আমি নেতৃত্বাধীন লাইটের জন্য হ্যালোজেন বাল্ব বিনিময় করছিলাম। যে কোন ধরণের আলোর বাল্ব প্রতিস্থাপনের জন্য প্রচুর বিকল্প রয়েছে। এটি করার সময়, আমি নিম্নলিখিত সমস্যার সম্মুখীন হয়েছি: আমার একটি হালকা ফিক্সচার ছিল যা 7 12 ভোল্ট হ্যালোজেন বাল্ব ব্যবহার করেছিল, প্রতিটি 10 ওয়াট। এই আলো একটি dimmer দ্বারা নিয়ন্ত্রিত ছিল, যা সূক্ষ্ম কাজ করে। যখন আমি 12 ভোল্ট নেতৃত্বাধীন লাইটের জন্য বাল্ব বিনিময় করেছিলাম, প্রতিটি 1 ওয়াট, ডিমার খারাপভাবে কাজ করেছিল: আলো ঝলকানি ছিল, এবং ডিমিং কিছুটা অনিয়মিত ছিল। এটি অনেক শাস্ত্রীয় dimmers সঙ্গে একটি সমস্যা: তাদের একটি ন্যূনতম শক্তি রেটিং আছে, যা তাদের কাজ করার জন্য প্রয়োজন।

সুতরাং, আমার ডোমোটিকস সিস্টেমের উপর ভিত্তি করে, আমি এই ম্যানুয়াল ডিমারটি নতুন দ্বারা বিনিময় করার সিদ্ধান্ত নিয়েছি, যা দূর থেকে নিয়ন্ত্রণ করা সম্ভব হওয়ার অতিরিক্ত সুবিধা হবে। আমি ইতিমধ্যে একটি N- চ্যানেল MOSFET (IRF540) ব্যবহার করে একটি ডিমার তৈরি করেছি, যা এই ধরনের জিনিসের জন্য নিখুঁত: এটি একটি PWM সংকেত দ্বারা নিয়ন্ত্রিত হতে পারে, এবং এটি কার্যত অবিনাশী, সর্বাধিক 100 ভোল্ট এবং 33 Amps রেটিং সহ, এই উদ্দেশ্যে যথেষ্ট পরিমাণে যথেষ্ট আমি এই ডিমারটি অন্য একটি ফিক্সচারের জন্য ব্যবহার করতে চাই যার 12 টি বাল্ব, প্রতিটি 2 ওয়াট, যা সর্বাধিক 2 এম্পস দেয়, তাই এটিও যথেষ্ট। PWM সিগন্যালের ফ্রিকোয়েন্সি দেখার জন্য একমাত্র জিনিস, কিন্তু Arduino বা ESP8266 (500 Hz বা 1kHz) এর স্বাভাবিক মানগুলি কোনও সমস্যা নয়।

ধাপ 1: ধাপ 1: উপাদান

ধাপ 1: উপাদান
ধাপ 1: উপাদান
  1. এলইডি ড্রাইভার (230 ভোল্ট এসি থেকে 12 ভোল্ট ডিসি কনভার্টার) আমার উদ্দেশ্যে, আমি সর্বাধিক 24 ওয়াট ব্যবহার করতে চাই, তাই আমি 12 ভোল্ট এবং 2 অ্যাম্পের একটি এলইডি ড্রাইভার দিয়ে শুরু করেছি। আমি একটি চীনা পরিবেশক সাইটে খুঁজে পেয়েছি। এই ড্রাইভারকে 12 ভোল্ট, 28 ওয়াট রেট দেওয়া হয়েছিল, তাই এটি নিজেই ফিক্সচার চালানোর জন্য যথেষ্ট ছিল। আপনার নিজের অবস্থার জন্য, আপনি আপনার ফিক্সচারের উপর নির্ভর করে একটি হালকা বা ভারী সংস্করণ ব্যবহার করতে পারেন।
  2. IRF540 n- চ্যানেল MOSFET
  3. Adafruit Huzzah ESP8266 ব্রেকআউট কারণ আমি ওয়াইফাই ব্যবহার করতে চেয়েছিলাম, এবং আমি একেবারে Adafruit এর পণ্য পছন্দ করি, আমি এই বোর্ডটি বেছে নিয়েছি: এটি আমাকে একটি সুবিধাজনক প্রোগ্রামিং পিনআউট, একটি অন-বোর্ড পাওয়ার রেগুলেটর এবং একটি মার্জিত ফর্ম ফ্যাক্টর সহ একটি ESP8266 দেয়। এই প্রকল্পের জন্য এটি একটু বেশি ওভারকিল, কিন্তু এটি পরীক্ষা এবং ডিবাগিংকে অনেক সহজ করে তোলে।
  4. LM2596 ভিত্তিক ডিসি-ডিসি কনভার্টার 12 ভোল্ট থেকে ইএসপি বোর্ডের শক্তি পাওয়ার জন্য, আমার একটি নিয়ন্ত্রক দরকার; এই ছোট রূপান্তরকারীগুলি খুব দক্ষ এবং খুব সস্তা।
  5. বোতাম ফাংশন সহ রোটারি এনকোডার, অন্তর্নির্মিত নেতৃত্বাধীন আলো সহ:

    www.sparkfun.com/products/10596

    যে কোন রোটারি এনকোডার করবে, কিন্তু আমি একটি অন্তর্নির্মিত LED এর চমৎকার যোগ বৈশিষ্ট্য পছন্দ করেছি।

  6. পরিষ্কার প্লাস্টিকের গিঁট

    www.sparkfun.com/products/10597

  7. প্রতিরোধক 4k7
  8. প্রতিরোধক 1 কে

ধাপ 2: ধাপ 2: সার্কিট

ধাপ 2: সার্কিট
ধাপ 2: সার্কিট

আমি যে সার্কিটটি ব্যবহার করেছি তা হল: আমি রোটারি এনকোডারের ইনপুট হিসাবে 4 এবং 5 পিন ব্যবহার করেছি এবং বোতামের জন্য 0 পিন। পিন 0 এছাড়াও অন-বোর্ড লাল নেতৃত্বের সাথে সংযুক্ত, তাই আমি এই নেতৃত্ব দেখে এনকোডের বোতামটির কার্যকারিতা পরীক্ষা করতে পারি।

পিন 16 PWM আউটপুটের জন্য ব্যবহার করা হয়, এবং আমি এটি স্পার্কফুন এনকোডারের নেতৃত্বে সবুজের সাথে সরাসরি সংযুক্ত করেছি। ESP8266 হল 3, 3 ভোল্ট, এবং এমনকি 100%এর সাথে, আমি মাত্র 2, 9 ভোল্টের আউটপুট পরিমাপ করেছি, তাই আমি এটিকে একটি সিরিজ রোধক ছাড়া সরাসরি সংযুক্ত করেছি। এই একই আউটপুটটি 1kOhm রোধকের মাধ্যমে n- চ্যানেল MOSFET এর গেটে যায়।

আমি 12-ভোল্টকে 5.5 ভোল্টে রূপান্তর করতে ডিসি-ডিসি কনভার্টার ব্যবহার করেছি, এটি অ্যাডাফ্রুট ব্রেকআউটের ভি+ ইনপুটের সাথে সংযুক্ত। আমি 3.3 ভোল্ট ব্যবহার করতে পারতাম এবং এটি সরাসরি সংযুক্ত করতে পারতাম, কিন্তু এটি কিছুটা নিরাপদ।

সার্কিটে 12 V LED ল্যাম্প আমার ফিক্সচার।

ধাপ 3: ধাপ 3: কোড

ধাপ 3: কোড
ধাপ 3: কোড

আমি GitHub এ কোডটি রেখেছি:

ESP8266 LED PWM dimmer এর জন্য স্কেচ

এটি একটি ধারণার উপর ভিত্তি করে আরেকটি নির্দেশযোগ্য:

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

কিন্তু এটি ছিল সম্পূর্ণ স্থানীয় নিয়ন্ত্রণ, তাই আমি আমার নিজের MQTT- ভিত্তিক ডোমোটিকস সমাধান যোগ করেছি। এটি মূলত একই কাজ করে, কিন্তু প্রধান পার্থক্য হল:

  • একটি Arduino এর সাথে PWM ধাপের ডিফল্ট সংখ্যা 255, ESP8266 এর সাথে এটি 1023 (যেমন আমি পরে জানতে পেরেছি, আমার LED ফিক্সচার 100% উজ্জ্বলতার দিকে কেন গেল না তা বোঝার পুরো চেষ্টা …)
  • আমি 2 ট্রানজিস্টরের সাথে 'টোটেমপোল' সার্কিট ব্যবহার করিনি, যেহেতু পিডব্লিউএম যাইহোক ডিসি ছিল, এবং আইআরএফ 540 এর সাথে ভাল কাজ করেছিল।
  • আমি এনকোডারের জন্য 10k পুল-আপ প্রতিরোধক ব্যবহার করিনি, আমি ESP8266 এর অন্তর্নির্মিত পুলআপগুলিতে বিশ্বাস করেছি।
  • ESP8266 Arduino এর জন্য 5 ভোল্টের পরিবর্তে 3.3 ভোল্ট লজিক ব্যবহার করে, যা IRF540 এর জন্য কোন সমস্যা প্রমাণিত হয়নি

সফটওয়্যারটিতে নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

  • এনকোডার ঘুরিয়ে 1023 ধাপে 0 থেকে 100%পর্যন্ত 0 থেকে 100%পর্যন্ত আলো কমিয়ে দেবে (CW) অথবা ডাউন (CCW)
  • বাটন টিপলে আলো বন্ধ হয়ে যাবে, শেষ সংরক্ষিত উজ্জ্বলতা স্তর ব্যবহার করে, অথবা এটি চালু হলে এটি বন্ধ করে দেবে।
  • আলো জ্বালানোর সময় দীর্ঘ সময় ধরে বোতাম টিপলে বর্তমান উজ্জ্বলতা ডিফল্ট স্তর হিসাবে সংরক্ষণ হবে।
  • আলো বন্ধ থাকাকালীন দীর্ঘ সময় ধরে বোতাম টিপলে ডিফল্ট স্তর পরিবর্তন না করেই আলো 100% উজ্জ্বলতায় পরিণত হবে।
  • এটি 'SECRET_SSID' এবং 'SECRET_PASS' স্ট্রিং দ্বারা সংজ্ঞায়িত ওয়াইফাই সেটিংসের সাথে সংযুক্ত হবে, যা আমার স্কেচে একটি পৃথক ফাইলে সংরক্ষিত আছে, যাকে 'secrets.h' বলা হয়
  • এটি একই ফাইলের 'MQTTSERVER' এবং 'MQTTPORT' স্ট্রিং ব্যবহার করে ওয়াইফাই নেটওয়ার্কের একটি MQTT সার্ভারের সাথে সংযুক্ত হবে।
  • আপনি MQTT ইনকামিং টপিক 'domus/esp/in' কমান্ড ইস্যু করতে ব্যবহার করতে পারেন: 'চালু' বা 'বন্ধ' আলো চালু বা বন্ধ করতে, অথবা উজ্জ্বলতা পরিবর্তন করতে 0 থেকে 1023 এর মান।
  • এটি MQTT বিষয়গুলির 'domus/esp/uit' (ON বা OFF অবস্থা) এবং 'domus/esp/uit/brightness' (উজ্জ্বলতার মান) বিষয়ে রাজ্যের প্রতিবেদন করবে।

প্রস্তাবিত: