সুচিপত্র:

ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার: 5 টি ধাপ
ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার: 5 টি ধাপ

ভিডিও: ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার: 5 টি ধাপ

ভিডিও: ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার: 5 টি ধাপ
ভিডিও: ১৩ কিঃমিঃ Wi-Fi ইন্টারনেট চলবে একটি রাউটার দিয়ে।Tp-Link CPE220 Outdoor Router Update Price। 2024, নভেম্বর
Anonim
ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার
ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার
ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার
ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার
ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার
ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার
ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার
ওয়্যারলেস ডোর সেন্সর - আল্ট্রা লো পাওয়ার

আরেকটি দরজা সেন্সর !! এই সেন্সরটি তৈরি করার জন্য আমার জন্য অনুপ্রেরণা ছিল যে আমি ইন্টারনেটে দেখেছি এমন অনেকের একটি সীমাবদ্ধতা বা অন্যটি ছিল। আমার জন্য সেন্সরের কিছু লক্ষ্য হল:

1. সেন্সরটি খুব দ্রুত হওয়া উচিত - বিশেষত 5 সেকেন্ডের কম

2. সেন্সরটি একটি 3.7V লি-আয়ন ব্যাটারি চালানো উচিত কারণ আমার কাছে কয়েক ডজন আছে

3. ব্যাটারির একক চার্জে সেন্সরটি অনেক মাস চলতে হবে। এটি ঘুমের মোডে <10uA খাওয়া উচিত

Battery. দরজাটি দীর্ঘ সময় ধরে কাজ না করলেও ব্যাটারির স্থিতির মতো গুরুত্বপূর্ণ তথ্য প্রেরণের জন্য সেন্সরটি জেগে উঠতে সক্ষম হওয়া উচিত।

5. দরজা খোলা এবং দরজা বন্ধ করার সময় সেন্সরের একটি MQTT বিষয়ে তথ্য প্রেরণ করা উচিত

6. দরজার অবস্থা নির্বিশেষে সেন্সরের একই পরিমাণ শক্তি ব্যবহার করা উচিত

সেন্সরের কাজ:

সেন্সরটিতে 2 টি প্রধান নিয়ামক রয়েছে। প্রথমটি হল ক্ষুদ্র মাইক্রো কন্ট্রোলার ATiny 13A। দ্বিতীয়টি হল ESP যা সাধারণত ঘুমের মোডে থাকে এবং জেগে ওঠে শুধুমাত্র যখন ATiny এটি সক্ষম করে। স্লিপ মোডে এটি ব্যবহার করে পুরো সার্কিটটি কেবল ইএসপি দ্বারা তৈরি করা যেতে পারে তবে এটি যে ব্যাবহার করে তা ব্যাটারির জন্য প্রয়োজনের চেয়ে অনেক বেশি মাস ধরে চলতে পারে তাই ATTiny উদ্ধার করতে আসে। এটি শুধুমাত্র প্রতি N সেকেন্ডে জেগে ওঠার উদ্দেশ্যে কাজ করে, একটি দরজা ইভেন্ট বা একটি স্বাস্থ্য পরীক্ষা ইভেন্টের সন্ধান করুন, যদি কোনটি থাকে, এটি ESP এর CH_PD পিনকে উচ্চ করে এবং ইএসপি -তে ইভেন্টের ধরণের উপযুক্ত সংকেত পাঠায় । এর ভূমিকা সেখানেই শেষ।

ইএসপি তখন দায়িত্ব নেয়, সিগন্যালের ধরন পড়ে, ওয়াইফাই/এমকিউটিটি -র সাথে সংযোগ করে, ব্যাটারি লেভেল সহ প্রয়োজনীয় বার্তা প্রকাশ করে এবং তারপর এন পিনকে লো -তে ফিরিয়ে এনে নিজেকে বন্ধ করে দেয়।

এই চিপগুলি ব্যবহার করে আমি ATTiny এর কম ঘুমের বর্তমান এবং ESP এর শূন্য নিষ্ক্রিয় কারেন্টের সুবিধা গ্রহণ করি যখন CH_PD পিনের মাধ্যমে চিপটি নিষ্ক্রিয় করা হয়।

সরবরাহ

প্রাক-অনুরোধ:

- একটি ATTiny এবং ESP 01 প্রোগ্রামিং জ্ঞান

- একটি পিসিবিতে সোল্ডারিং উপাদানগুলির জ্ঞান

ESP-01 (অথবা কোন ESP)

ATTiny 13A - AVR

LDO 7333 -A - নিম্ন ড্রপআউট ভোল্টেজ নিয়ন্ত্রক

প্রতিরোধক - 1 কে, 10 কে, 3 কে 3

ক্যাপাসিটার: 100uF, 0.1 uF

পুশবাটন সুইচ, মাইক্রো অন/অফ সুইচ - (উভয় alচ্ছিক)

ডায়োড - IN4148 (বা কোন সমতুল্য)

লি-আয়ন ব্যাটারি

খাগড়া সুইচ

সব কিছু রাখার জন্য একটি কেস

ঝাল, পিসিবি ইত্যাদি

ধাপ 1: স্কিম্যাটিক্স এবং সোর্স কোড

স্কিম্যাটিক্স এবং সোর্স কোড
স্কিম্যাটিক্স এবং সোর্স কোড

স্কিমেটিক্স সংযুক্ত ডায়াগ্রামে দেখানো হয়েছে।

আমি বিপরীত মেরুতা সুরক্ষার জন্য একটি পি চ্যানেল MOSFET অন্তর্ভুক্ত করেছি। আপনার যদি এটির প্রয়োজন না হয় তবে আপনি এটি বাদ দিতে পারেন। কম Rds ON সহ যেকোন P চ্যানেল MOSFET করবে।

বর্তমানে ESP এর OTA এর ক্ষমতা নেই কিন্তু এটি ভবিষ্যতের উন্নতির জন্য।

সোর্স কোড স্মার্ট-ডোর-সেন্সর

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

ATTiny কাজের প্রবাহ

এখানে জাদু ঘটে কিভাবে ATTiny দরজা সুইচের অবস্থান পর্যবেক্ষণ করে।

স্বাভাবিক বিকল্পটি হ'ল সুইচের সাথে একটি পুল আপ প্রতিরোধক সংযুক্ত করা এবং এটির অবস্থা পর্যবেক্ষণ করা। এই টান আপ প্রতিরোধক দ্বারা ধ্রুবক বর্তমানের ক্ষয়ক্ষতি আছে। এখানে যেভাবে এটি এড়ানো হয়েছে তা হল যে আমি একটির পরিবর্তে সুইচ নিরীক্ষণের জন্য দুটি পিন ব্যবহার করেছি। আমি এখানে PB3 এবং PB4 ব্যবহার করেছি। PB3 কে ইনপুট এবং PB4 কে PB3 তে অভ্যন্তরীণ INPUT_PULLUP দিয়ে আউটপুট হিসাবে সংজ্ঞায়িত করা হয়েছে। সাধারণত PB4 উচ্চ হয় যখন ATtiny ঘুম মোডে থাকে। যেমন। যদি সুইচ বন্ধ থাকে, PB3 এবং PB4 উভয়ই উচ্চ এবং তাই তাদের মধ্যে কোন প্রবাহ প্রবাহিত হয় না। যদি সুইচটি খোলা থাকে তবে তাদের মধ্যে কোনও পথ নেই এবং তাই বর্তমানটি শূন্য। যখন ATtiny জেগে ওঠে এটি PB4 এ একটি LOW লিখে তারপর PB3 এর অবস্থা পরীক্ষা করে। যদি PB3 উচ্চ হয় তবে রিড সুইচ খোলা হয় অন্যথায় এটি বন্ধ। এটি তারপর PB4 এ একটি উচ্চ লিখুন।

ATTiny এবং ESP এর মধ্যে যোগাযোগ ESP এর Tx / RX এর সাথে সংযুক্ত দুটি পিন PB1 / PB2 এর মাধ্যমে ঘটে। আমি সংকেত হিসাবে সংজ্ঞায়িত করেছি

PB1 PB2 ====== Tx Rx

0 0 ====== WAKE_UP (স্বাস্থ্য পরীক্ষা)

0 1 ====== সেন্সর_ওপেন

1 0 ====== সেন্সর_ক্লোজড

1 1 ====== অব্যবহৃত

ইএসপিতে সিগন্যাল পাঠানোর পাশাপাশি এটি পিবি 0 তে একটি উচ্চ পালস পাঠায় যা ইএসপি সিএইচ_পিডি পিনের সাথে সংযুক্ত। এটি ইএসপি জাগিয়ে তোলে। ESP প্রথম কাজটি GPIO0 HIGH ধরে রাখার জন্য করে যা CH_PD- এর সাথে সংযুক্ত থাকে যার ফলে ATTiny PB0 HIGH কে দূরে নিয়ে গেলেও তার ক্ষমতা নিশ্চিত করে। কবে নিয়ন্ত্রণ বন্ধ করতে চায় তা নির্ধারণের জন্য এখন নিয়ন্ত্রণটি ইএসপি -র হাতে।

এটি তারপর WiFi, MQTT- এর সাথে সংযোগ স্থাপন করে, বার্তাটি পোস্ট করে এবং GPIO0 তে LOW লিখে নিজেকে ক্ষমতা দেয়।

ESP 01 কাজের প্রবাহ:

ESP প্রবাহ সোজা এগিয়ে। এটি জেগে ওঠে এবং টিএক্স/আরএক্স পিনের মানগুলি পড়ার জন্য কোন ধরনের বার্তা পোস্ট করতে হবে তা নির্ধারণ করে।

পাওয়ার করার আগে, এটি আবার ইনপুট পিনের মানগুলি পরীক্ষা করে দেখে যে এটি শেষবার পড়ার পর থেকে পরিবর্তিত হয়েছে কিনা। এটি দরজা দ্রুত খোলার এবং বন্ধ করার যত্ন নেওয়া। যদি আপনার এই চেক না থাকে তবে কিছু ক্ষেত্রে আপনি যদি দরজা খোলার 5-6 সেকেন্ডের মধ্যে বন্ধ হয়ে যায় তবে আপনি বন্ধ করতে পারেন। দরজাটি 2 সেকেন্ডের মধ্যে খোলা এবং বন্ধ হওয়ার একটি বাস্তব দৃশ্যটি সময় লুপ দ্বারা ভালভাবে ধরা পড়ে যা বার্তাগুলি পোস্ট করতে থাকে যতক্ষণ না দরজার বর্তমান অবস্থা আগেরটির থেকে আলাদা। একমাত্র খোলা/বন্ধ ইভেন্ট রেকর্ড করতে মিস করতে পারে যখন 4-5 সেকেন্ডের জানালার মধ্যে দরজা বারবার খোলা/বন্ধ করা হয় যা খুবই অসম্ভব একটি কেস - সম্ভবত কোনো শিশু দরজার সাথে খেলার ঘটনা।

ধাপ 3: স্বাস্থ্য পরীক্ষা

আমি ইএসপি থেকে একটি স্বাস্থ্য পরীক্ষা বার্তা পেতে একটি উপায় প্রয়োজন যেখানে এটি ESP এর ব্যাটারি স্তর পাঠায় এবং নিশ্চিত করে যে সেন্সরটি ম্যানুয়াল পরিদর্শন ছাড়াই ঠিক কাজ করছে। এটির জন্য ATTiny প্রতি 12 ঘন্টা একটি WAKE_UP সিগন্যাল পাঠায়। এটি ATTiny কোডে WAKEUP_COUNT ভেরিয়েবলের মাধ্যমে কনফিগার করা যায়। এটি দরজা বা জানালার জন্য খুব দরকারী যা খুব কমই খোলা হয় এবং তাই সেন্সর বা তার ব্যাটারিতে কিছু ভুল হলে আপনি হয়তো জানতে পারবেন না।

যদি আপনার স্বাস্থ্য পরীক্ষা কার্যকারিতা প্রয়োজন না হয় তাহলে ATTiny ব্যবহার করার সম্পূর্ণ ধারণার প্রয়োজন নেই। সেক্ষেত্রে আপনি অন্য নকশাগুলি খুঁজে পেতে পারেন যা মানুষ তৈরি করেছে যেখানে ESP- এর সরবরাহ MOSFET এর মাধ্যমে খাওয়ানো হয় এবং তাই যখন দরজাটি পরিচালিত হচ্ছে না তখন আপনি শূন্য বর্তমান ড্র অর্জন করতে পারেন। দরজা খোলা এবং দরজা বন্ধ অবস্থানে বর্তমান ড্রয়ের মতো অন্যান্য জিনিসেরও যত্ন নেওয়া উচিত - এর জন্য আমি কোথাও একটি নকশা দেখেছি যা সাধারণ 2 রাজ্যের পরিবর্তে 3 টি রাজ্য রিড সুইচ ব্যবহার করেছে।

ধাপ 4: পাওয়ার মেজারমেন্ট এবং ব্যাটারি লাইফ

আমি সার্কিটের বর্তমান খরচ পরিমাপ করেছি এবং ঘুমানোর সময় এবং চারপাশে u 30uA লাগে। ATTiny এর ডেটশীট অনুসারে, এটি LDO এর নি currentশব্দ কারেন্ট সহ পুরো সার্কিটের জন্য 1-4 uA এর কাছাকাছি হওয়া উচিত কিন্তু তারপর আমার পরিমাপ 30 দেখায়। MOSFET এবং LDO তুচ্ছ কারেন্ট ব্যবহার করে।

সুতরাং একটি 800mAH ব্যাটারি একটি দীর্ঘ দীর্ঘ সময়ের জন্য স্থায়ী হওয়া উচিত। আমার কাছে সঠিক পরিসংখ্যান নেই কিন্তু আমি এটি আমার এক বছরেরও বেশি সময় ধরে আমার 2 টি দরজায় ব্যবহার করছি এবং প্রায় 800mAH সহ প্রতিটি 18650 সেল আমার মূল দরজায় প্রায় 5-6 মাস ধরে থাকে যা খোলে এবং বন্ধ হয় দিনে অন্তত 30 বার। ছাদের দরজায় যেটি সপ্তাহে মাত্র কয়েকবার খোলে, এটি 7-8 মাস স্থায়ী হয়।

ধাপ 5: ভবিষ্যতের উন্নতি

1. ESP MQTT বার্তার বিতরণ স্বীকার করে না। ডেলিভারি নিশ্চিত করার জন্য বার্তাটি প্রকাশ করে এমন সাবস্ক্রাইব করে প্রোগ্রামটি উন্নত করা যেতে পারে অথবা QoS 1 দিয়ে একটি বার্তা পোস্ট করতে একটি Async MQTT লাইব্রেরি ব্যবহার করা যেতে পারে।

2. ওটিএ আপডেট: একটি আপডেটের জন্য একটি এমকিউটিটি বিষয় পড়ার জন্য ইএসপি কোড পরিবর্তন করা যেতে পারে এবং তাই একটি ফাইল পাওয়ার জন্য একটি ওটিএ মোডে প্রবেশ করুন।

3. আরো ইনপুট পিন অ্যাক্সেস করার জন্য ESP01 কে ESP-12 দিয়ে প্রতিস্থাপিত করা যেতে পারে এবং একই সাথে আরো সেন্সর সংযুক্ত করতে পারে। সেক্ষেত্রে 2 বিট পদ্ধতির মাধ্যমে যোগাযোগ সম্ভব নয়। এটি ATTiny এবং ESP এর মধ্যে I2C যোগাযোগ বাস্তবায়নের জন্য উন্নত করা যেতে পারে। এটি একটু জটিল কিন্তু কার্যকরী। আমি এটি অন্য একটি সেট আপে কাজ করছি যেখানে একটি ATTiny I2C লাইনের উপর ESP- এ রোটারি এনকোডার মান পাঠায়।

4. বর্তমান সার্কিট ESP এর অভ্যন্তরীণ Vcc পর্যবেক্ষণ করে, যদি আমরা ESP12 ব্যবহার করি তাহলে এটি ADC পিনের মাধ্যমে আসল ব্যাটারি স্তর পড়ার জন্য পরিবর্তন করা যেতে পারে।

5. ভবিষ্যতে আমি এটিতে একটি পরিবর্তনও পোস্ট করব যা MQTT বা কোন হোম অটোমেশন সিস্টেমের প্রয়োজন ছাড়াই একটি স্বতন্ত্র সেন্সর হিসাবে ব্যবহার করা যেতে পারে। সেন্সরটি স্বতন্ত্রভাবে কাজ করবে এবং ট্রিগার করার সময় একটি ফোন কল করতে পারে - অবশ্যই এর জন্য একটি ইন্টারনেট সংযোগ প্রয়োজন।

6. এবং তালিকা চলতে থাকে …

7. বিপরীত ব্যাটারি সুরক্ষা - সম্পন্ন (প্রকৃত ডিভাইসের ছবি পুরানো এবং তাই MOSFET প্রতিফলিত হয় না)

প্রস্তাবিত: