সুচিপত্র:

XOD- চালিত রিচার্জেবল সোলার ল্যাম্প: 9 টি ধাপ (ছবি সহ)
XOD- চালিত রিচার্জেবল সোলার ল্যাম্প: 9 টি ধাপ (ছবি সহ)

ভিডিও: XOD- চালিত রিচার্জেবল সোলার ল্যাম্প: 9 টি ধাপ (ছবি সহ)

ভিডিও: XOD- চালিত রিচার্জেবল সোলার ল্যাম্প: 9 টি ধাপ (ছবি সহ)
ভিডিও: এয়ারেটর সোলার এবং কারেন্টের ব্যবহারের জন্য || fish pond aeration pump solar and electricity 2024, ডিসেম্বর
Anonim
XOD- চালিত রিচার্জেবল সোলার ল্যাম্প
XOD- চালিত রিচার্জেবল সোলার ল্যাম্প

বেশিরভাগ গৃহ সামগ্রী এবং হার্ডওয়্যার দোকানে সস্তা সৌর বাগান/ওয়াকওয়ে ল্যাম্প পাওয়া যায়। কিন্তু পুরাতন প্রবাদ হিসাবে, আপনি সাধারণত আপনি কি জন্য টাকা পেতে। তারা যে সাধারণ চার্জিং এবং আলোকসজ্জা সার্কিটগুলি ব্যবহার করে তা সহজ এবং সস্তা, তবে আপনি যে হালকা আউটপুট পান তা চিত্তাকর্ষক (কিন্তু যে কেউ আপনার ওয়াকওয়ে ব্যবহার করে তারা কোথায় যাচ্ছে তা দেখার জন্য যথেষ্ট নয়!)

এটি একটি অফ-গ্রিড আলো মডিউল ডিজাইন করার আমার প্রচেষ্টা যা একটি উল্লেখযোগ্য উন্নতি, যদিও এখনও তুলনামূলকভাবে সস্তা। এটি কিছু "মস্তিষ্ক" দিয়ে। XOD.io হল একটি নতুন IDE যা Arduino এমবেডেড ডেভেলপমেন্ট প্ল্যাটফর্মের সাথে সামঞ্জস্যপূর্ণ, যেখানে আপনি গ্রাফিক্যালভাবে কোড "লিখতে" পারেন। পরিবেশ আপনার গ্রাফিক্যাল স্কেচকে আধুনিক C ++ তে স্থানান্তরিত করে, যা কম্প্যাক্ট কোড তৈরিতে উল্লেখযোগ্যভাবে দক্ষ, এবং আরও বাহ্যিক নির্ভরতার প্রয়োজন ছাড়াই স্টক Arduino IDE এর সাথে সম্পূর্ণরূপে সামঞ্জস্যপূর্ণ উৎস তৈরি করে। এইভাবে সীমিত প্রোগ্রাম এবং ডেটা স্টোরেজ রিসোর্স সহ ছোট, সস্তা মাইক্রোকন্ট্রোলারগুলিকে জটিল কাজগুলি করার জন্য নিযুক্ত করা যেতে পারে।

এই প্রকল্পটি দেখায় কিভাবে দুটি Arduino- সামঞ্জস্যপূর্ণ ATTiny85 মাইক্রোকন্ট্রোলার একসাথে কাজ করে প্রদীপের বিদ্যুতের প্রয়োজনীয়তাগুলি পরিচালনা করতে ব্যবহার করা যেতে পারে। প্রথম প্রসেসর বাহ্যিক হার্ডওয়্যার থেকে সেন্সিং এনভায়রনমেন্ট ডেটা পরিচালনা করে, এবং দ্বিতীয়টি দিনের বেলায় সূর্য থেকে সবচেয়ে বেশি শক্তি সংগ্রহের চেষ্টা করে, এবং তারপর রাতে একটি স্টোরেজ ব্যাটারি নি discসরণ হিসাবে একটি উচ্চ-শক্তি LED এর আলোকসজ্জা নিয়ন্ত্রণ করে। দ্বিতীয় প্রসেসর "ফাজি লজিক" নিয়ন্ত্রণের একটি কমপ্যাক্ট বাস্তবায়নের মাধ্যমে তার কাজ সম্পন্ন করে। উভয় চিপের জন্য সফ্টওয়্যারটি XOD পরিবেশের মধ্যে একচেটিয়াভাবে বিকশিত হয়েছিল।

ধাপ 1: প্রয়োজনীয় উপকরণ

Arduino IDE, সর্বশেষ সংস্করণ, ATTinyCore এক্সটেনশন সহ "বোর্ড" ম্যানেজার থেকে ইনস্টল করা হয়েছে

Sparkfun USBTinyISP ATTiny প্রোগ্রামার, 11801 বা সমতুল্য স্পার্কফুন পণ্য পৃষ্ঠা

Pololu অ্যাডজাস্টেবল লো-ভোল্টেজ বুস্ট কনভার্টার শাটডাউন ইনপুট, U1V11A বা সমতুল্য Pololu প্রোডাক্ট পৃষ্ঠা

হিটসিংক, সাধারণ অ্যানোড, অ্যাডাফ্রুট 2524 বা সমতুল্য অ্যাডাফ্রুট পণ্য পৃষ্ঠা সহ হাই পাওয়ার হোয়াইট বা আরজিবি এলইডি

8-পিন ডিআইপি প্যাকেজে মাইক্রোচিপ ATTiny85, 2 মাউসার প্রোডাক্ট পেজ

8 পিন ডিআইপি আইসি সকেট, 2

বাল্ক স্টোরেজ ক্যাপাসিটর, 16 v 220 uF

আউটপুট ক্যাপাসিটর, 6.3v 47uF

বর্তমান-সীমাবদ্ধ প্রতিরোধক, 50 ওহম 1/4 ওয়াট

i2c পুল-আপ প্রতিরোধক, 4.7k, 2

প্যানেল ভোল্টেজ সেন্স ডিভাইডার প্রতিরোধক, 1/4 ওয়াট, 100 কে, 470 কে

বর্তমান জ্ঞান প্রতিরোধক, 10 ওহম 1⁄2 ওয়াট 1% সহনশীলতা

বাইপাস ক্যাপাসিটার, 0.1uF সিরামিক, 2

2 3.7 v 100mAh লিথিয়াম-আয়ন রিচার্জেবল ব্যাটারি, PKCELL LP401 বা সমতুল্য

প্যানেলের জন্য ব্যারেল প্লাগ ইনপুট জ্যাক, 1

মিনি টার্মিনাল ব্লক 3 "x3" সোল্ডার-প্যাড বোর্ড এবং সংযোগ তৈরির জন্য পাতলা সলিড-কোর তার

পরীক্ষার জন্য একটি অসিলোস্কোপ, মাল্টিমিটার এবং বেঞ্চ পাওয়ার সাপ্লাই প্রায় প্রয়োজন হবে

পদক্ষেপ 2: পরিবেশ সেটআপ

পরিবেশ সেটআপ
পরিবেশ সেটআপ

XOD পরিবেশ বক্সের বাইরে ATTiny সিরিজের প্রসেসরগুলিকে সমর্থন করে না, তবে Arduino মহাবিশ্ব থেকে একটি তৃতীয় পক্ষের লাইব্রেরি ব্যবহার করে AVR- এর এই সিরিজের জন্য সমর্থন যোগ করা সহজবোধ্য। প্রথম ধাপ হল Arduino IDE- এর "Tools → Board → Board Manager" ড্রপডাউন মেনু থেকে "ATTinyCore" লাইব্রেরি ইনস্টল করা। নিশ্চিত করুন যে অন্তর্ভুক্ত ছবিতে দেখানো সেটিংস ঠিক আছে - মনে রাখবেন যে কোনও কোড আপলোড করার আগে ব্রাউনআউট ভোল্টেজ এবং ক্লক স্পিড সেটিং ফিউজ পরিবর্তন করতে আপনাকে "বার্ন বুটলোডার" টিপতে হবে!

এই লাইব্রেরির সোর্স কোড এখানে পাওয়া যায়:

সংগ্রহস্থল থেকে আরেকটি সহায়ক লাইব্রেরি হল "ফিক্সড পয়েন্টস", যা আরডুইনো-সমর্থিত প্রসেসরগুলির জন্য নির্দিষ্ট বিন্দু গণিতের সংকলন-সময় বাস্তবায়ন। ATTiny সীমিত SRAM এবং প্রোগ্রাম মেমরি আছে, এবং এটি একটি ফ্লোটিং পয়েন্ট টাইপের পরিবর্তে সাধারণ ডেটা স্টোরেজের জন্য একটি 2 বাইট পূর্ণসংখ্যা ব্যবহার করতে চূড়ান্ত স্কেচ আকার সঙ্কুচিত করতে অনেক সাহায্য করে, যার জন্য AVR- এ 4 বাইট প্রয়োজন। এক্সিকিউশনের গতিও উন্নত করা উচিত কারণ এটিটিনিতে হার্ডওয়্যার-গুণক ইউনিট নেই, অনেক কম হার্ডওয়্যার ফ্লোটিং পয়েন্ট!

সোর্স কোড এখানে পাওয়া যায়:

কিভাবে XOD গ্রাফিক্যাল স্কেচ তৈরি, ট্রান্সপাইল এবং স্থাপন করতে হয় সে সম্পর্কে টিউটোরিয়াল: https://github.com/Pharap/FixedPointsArduino কিভাবে অন্তর্ভুক্ত সোর্স ফাইল তৈরি করা হয়েছে তা বুঝতে সাহায্য করবে।

ধাপ 3: ডিজাইন ওভারভিউ

ডিজাইন ওভারভিউ
ডিজাইন ওভারভিউ
ডিজাইন ওভারভিউ
ডিজাইন ওভারভিউ

বোর্ডে দুটি ATTiny85 প্রসেসর একটি i2c ইন্টারফেসের মাধ্যমে সংযুক্ত, এবং সৌর প্যানেলের ভোল্টেজ সেন্সিং পরিচালনা করার জন্য একসঙ্গে কাজ করা হয় তাপমাত্রা

বুস্ট কনভার্টার হল টেক্সাস ইন্সট্রুমেন্টস TPS6120 IC এর উপর ভিত্তি করে অফ-দ্য-শেলফ মডিউল, যা 0.5 ভোল্টের মতো ইনপুট ভোল্টেজ নিতে পারে এবং এটি 2 ভোল্ট থেকে 5 ভোল্ট পর্যন্ত যেকোনো জায়গায় উন্নীত করতে পারে। সেন্সর কোরটিতে বেশ কয়েকটি কার্যকরী ব্লক রয়েছে। সোলার প্যানেল ইনপুট থেকে বুস্ট কনভার্টারে বিদ্যুৎ প্রয়োগ করার সাথে সাথে মাস্টার ক্লক চলতে শুরু করে। এটি স্কেচ এক্সিকিউটিভ শুরু করে, এবং প্রথম জিনিসটি নির্ধারণ করা হয় যে প্যানেলটি ব্যাটারিতে চার্জিং কারেন্ট সরবরাহ করার জন্য যথেষ্ট আলোকিত কিনা।

দুটি ডিজিটাল ফিল্টার থাকলেও সোলার প্যানেলের ভোল্টেজ পাস করা হয়, এবং যদি এটি একটি নির্দিষ্ট প্রান্তিকের উপরে থাকে তবে সিস্টেম নির্ধারণ করে যে প্যানেলটি আলোকিত এবং মাস্টার ঘড়িটিকে কারেন্ট-সেন্স মনিটরে প্রবেশ করে। এটি চিপের ডিজিটাল কনভার্টার চ্যানেলের একটি এনালগ, আলাদাভাবে কনফিগার করা, যা বুস্ট কনভার্টারের আউটপুট এবং ব্যাটারি ইনপুটের মধ্যে সিরিজের সাথে সংযুক্ত 10 ওম 1% সহনশীলতা প্রতিরোধক জুড়ে ভোল্টেজ অনুভব করে। যখন প্যানেলটি আলোকিত হয় না তখন এই ATTiny দ্বিতীয় ATTiny কে একটি সংকেত পাঠায় যে এটি পাওয়ার চার্জ করার পরিবর্তে LED পাওয়ার নিরীক্ষণ করতে বলে, এবং বুস্ট কনভার্টারটি বন্ধ করে এবং ইনপুটটি বিচ্ছিন্ন করে যাতে ব্যাটারি প্যানেলের মাধ্যমে কারেন্ট ফিরে না যায় ।

দ্বিতীয় ATTiny কোর হল যেখানে LED কন্ট্রোলার এবং ব্যাটারি চার্জ মনিটরিং সিস্টেম কার্যকর হয়। প্যানেল ভোল্টেজ, ব্যাটারি ভোল্টেজ, এবং ব্যাটারি চার্জিং বর্তমান ডেটা এই কোরে একটি ফাজি-লজিক নেটওয়ার্কের মাধ্যমে প্রক্রিয়াকরণের জন্য পাঠানো হয়, যা SHTDN পিনে প্রয়োগ করার জন্য একটি উপযুক্ত PWM সংকেত তৈরি করার চেষ্টা করে, যার ফলে ব্যাটারিতে প্রেরিত কারেন্টের পরিমাণ নিয়ন্ত্রণ করে আলোকিত হলে এটি চার্জ করতে-সর্বাধিক পাওয়ার-পয়েন্ট ট্র্যাকিং (এমপিপিটি) এর একটি মৌলিক রূপ এটি সেন্সর কোর থেকে একটি সংকেত গ্রহণ করে যা বলে যে এটি LED চালু বা বন্ধ করা উচিত কিনা তা সেন্সর কোর এর দিনের আউটপুটের উপর নির্ভর করে/ রাতের ফ্লিপ ফ্লপ।

LED যখন রাতে সক্রিয় থাকে তখন এই ATTiny তার বন্ধু থেকে পাঠানো ব্যাটারি ভোল্টেজ ডেটা এবং তার নিজস্ব অন-চিপ তাপমাত্রা সেন্সর পর্যবেক্ষণ করে, যাতে LED তে কতটা শক্তি ঠেলে দেওয়া হয় তার মোটামুটি অনুমান পাওয়া যায় (ব্যাটারির ভোল্টেজ কমে যায়) এবং চিপের তাপমাত্রা তার পিন থেকে বেরিয়ে আসা কারেন্টের সাথে বৃদ্ধি পায়।) LED PWM প্যাচের সাথে যুক্ত ফাজি-লজিক নেটওয়ার্ক কতটা ব্যাটারি পাওয়ার এখনও পাওয়া যায় সে বিষয়ে একটি বিচার করার চেষ্টা করে এবং ব্যাটারি শেষ হয়ে যাওয়ায় LED এর তীব্রতা হ্রাস করে।

ধাপ 4: XOD কোর লাইব্রেরি থেকে কাস্টম প্যাচ তৈরি করা

XOD কোর লাইব্রেরি থেকে কাস্টম প্যাচ তৈরি করা
XOD কোর লাইব্রেরি থেকে কাস্টম প্যাচ তৈরি করা
XOD কোর লাইব্রেরি থেকে কাস্টম প্যাচ তৈরি করা
XOD কোর লাইব্রেরি থেকে কাস্টম প্যাচ তৈরি করা

এই ডিজাইনের জন্য বেশ কয়েকটি কাস্টম প্যাচ নোড ব্যবহার করা হয়েছিল, যার মধ্যে কয়েকটি সহজেই অন্তর্ভুক্ত XOD নোডগুলি থেকে সম্পূর্ণরূপে তৈরি করা যেতে পারে এবং কিছু যা C ++ এ প্রয়োগ করা হয়েছিল।

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

ছবিতে নোডের কাঠামোটি প্রবন্ধে স্থানান্তর ফাংশনের একটি সরাসরি গ্রাফিকাল উপস্থাপনা, উপযুক্ত ইনপুট থেকে আউটপুট পর্যন্ত লিঙ্ক ব্যবহার করে সংযুক্ত। লাইব্রেরি থেকে একটি ডিফার নোড রয়েছে যা একটি ফিডব্যাক লুপ তৈরি করতে দেয় (XOD এক্সিকিউশন মডেলে বর্ণিত লুপে বিলম্ব না করে আপনি যদি ফিডব্যাক লুপ তৈরি করেন তবে XOD আপনাকে সতর্ক করবে।) প্যাচ ভাল কাজ করে, এটি সহজ।

দ্বিতীয় কাস্টম প্যাচ নোড হল XOD- এর সাথে অন্তর্ভুক্ত স্টক ফ্লিপ-ফ্লপের একটি ভিন্নতা, যা ফিল্টার করা প্যানেল ভোল্টেজের সাথে খাওয়ানো হয়। ইনপুট সিগন্যাল একটি নির্দিষ্ট থ্রেশহোল্ডের উপরে বা নিচে কিনা তার উপর নির্ভর করে এটি উচ্চ বা নিম্ন ল্যাচ করে। কাস্ট নোডগুলি বুলিয়ান আউটপুট মানগুলিকে পালস ডেটা টাইপে রূপান্তর করতে ব্যবহৃত হয়, যেমন ফ্লিপ ফ্লপকে ট্রিগার করে, যেহেতু রাষ্ট্র নিম্ন থেকে উচ্চতর রূপান্তর করে। এই প্যাচ নোডের নকশাটি স্ক্রিনশট থেকে কিছুটা স্ব-ব্যাখ্যামূলক হওয়া উচিত।

ধাপ 5: C ++ ব্যবহার করে কাস্টম প্যাচ তৈরি করা

C ++ ব্যবহার করে কাস্টম প্যাচ তৈরি করা
C ++ ব্যবহার করে কাস্টম প্যাচ তৈরি করা

বিশেষ প্রয়োজনীয়তার জন্য যেখানে নোডের কার্যকারিতা প্রয়োজন খুব সহজেই গ্রাফিক্যালি ফুটিয়ে তুলতে পারে, অথবা যা Arduino লাইব্রেরির উপর নির্ভর করে স্টক Arduino পরিবেশের নেটিভ নয়, XOD কিছু C/C ++ জ্ঞান সম্পন্নদের জন্য কামড়ের আকারের অংশগুলি লেখা সহজ করে তোলে কোড যা তারপর অন্য কোনো ব্যবহারকারীর তৈরি বা স্টক নোডের মতো প্যাচে একত্রিত হতে পারে। ফাইল মেনু থেকে "একটি নতুন প্যাচ তৈরি করুন" নির্বাচন করে কাজ করার জন্য একটি ফাঁকা শীট তৈরি করে এবং মূল লাইব্রেরির "নোড" বিভাগ থেকে ইনপুট এবং আউটপুট নোডগুলি টেনে আনতে পারে। তারপরে "নন-ইমপ্লিমেন্টেড-ইন-এক্সোড" নোডটি টেনে আনতে পারে এবং যখন এটি ক্লিক করা হয় তখন এটি একটি টেক্সট এডিটর নিয়ে আসে যেখানে C ++ এ প্রয়োজনীয় কার্যকারিতা প্রয়োগ করা যায়। অভ্যন্তরীণ অবস্থা কীভাবে পরিচালনা করবেন এবং C ++ কোড থেকে ইনপুট এবং আউটপুট পোর্টগুলি অ্যাক্সেস করবেন তা এখানে অন্তর্ভুক্ত।

C ++ এ কাস্টম প্যাচ বাস্তবায়নের উদাহরণ হিসাবে, ড্রাইভার কোর এর সরবরাহের ভোল্টেজ এবং কোর তাপমাত্রার অনুমান বের করার জন্য ড্রাইভার কোরের জন্য আরও দুটি কাস্টম প্যাচ ব্যবহার করা হয়। তার অস্পষ্ট নেটওয়ার্কের সাথে এটি অন্ধকার হলে LEDs কে পাওয়ার জন্য উপলব্ধ অবশিষ্ট ব্যাটারি শক্তির মোটামুটি অনুমান করতে পারে।

তাপমাত্রা সেন্সর প্যাচ একটি ভাল অনুমান পাওয়ার জন্য সরবরাহ ভোল্টেজ সেন্সরের আউটপুটের সাথেও খাওয়ানো হয় - কোর তাপমাত্রা সেন্সিং আমাদের LEDs তে কত বিদ্যুৎ জ্বলছে তার মোটামুটি অনুমান করতে দেয় এবং সরবরাহ ভোল্টেজ পড়ার সাথে মিলিত হয় ব্যাটারি চালানো কতটা ব্যাটারি শক্তি অবশিষ্ট আছে তার আরও মোটামুটি অনুমান। এটি অতি নির্ভুল হতে হবে না; যদি কোরটি "জানে" যে এলইডিগুলি প্রচুর পরিমাণে কারেন্ট আঁকছে কিন্তু ব্যাটারির ভোল্টেজ দ্রুত হ্রাস পাচ্ছে তবে সম্ভবত এটি বলা নিরাপদ যে ব্যাটারির শক্তি বেশি দিন চলবে না, এবং ল্যাম্পটি বন্ধ করার সময় এসেছে।

ধাপ 6: নির্মাণ

নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ

আমি প্রোটোটাইপিং বোর্ডের একটি ছোট টুকরাতে থ্রু-হোল অংশগুলির জন্য তামার প্যাড দিয়ে প্রকল্পটি তৈরি করেছি। আইসিগুলির জন্য সকেট ব্যবহার করা প্রোগ্রামিং/পরিবর্তন/পরীক্ষার জন্য অনেক সাহায্য করে; স্পার্কফুনের ইউএসবিটিনি আইএসপি এর বোর্ডে একটি অনুরূপ সকেট রয়েছে তাই দুটি চিপের প্রোগ্রামিংয়ে কেবল একটি পিসি ইউএসবি পোর্টে প্রোগ্রামারকে প্লাগ করা, অন্তর্ভুক্ত Arduino.ino ফাইলগুলি থেকে ট্রান্সপাইলড XOD কোড আপলোড করা উপযুক্ত বোর্ড এবং প্রোগ্রামার সেটিংস সহ, এবং তারপরে প্রোগ্রামার সকেট থেকে আলতো করে চিপগুলি সরিয়ে প্রোটোবোর্ড সকেটে insুকিয়ে দিন।

পোলোলু টিপিএস 6120 ভিত্তিক বুস্ট রূপান্তরকারী মডিউলটি পিন হেডারের প্রোটোবোর্ডে সোল্ডার করা একটি রাইজার বোর্ডে আসে, তাই নীচে কিছু উপাদান মাউন্ট করে স্থান বাঁচানো সম্ভব। আমার প্রোটোটাইপে আমি দুটি 4.7k পুলআপ প্রতিরোধক নীচে রেখেছি। চিপগুলির মধ্যে i2c বাসের সঠিকভাবে কাজ করার জন্য এগুলি প্রয়োজন - সেগুলি ছাড়া যোগাযোগ ঠিক কাজ করবে না! বোর্ডের ডান দিকে সোলার প্যানেলের প্লাগ এবং ইনপুট স্টোরেজ ক্যাপাসিটরের জন্য ইনপুট জ্যাক রয়েছে। যতটা সম্ভব কম প্রতিরোধের পথ পেতে, জ্যাক এবং এই টুপিটি সরাসরি সোল্ডারের "রান" দিয়ে সংযুক্ত করার চেষ্টা করা ভাল, হুকআপ ওয়্যার নয়। স্টোরেজ ক্যাপাসিটরের ধনাত্মক টার্মিনালকে সরাসরি বুস্ট মডিউলের ইনপুট ভোল্টেজ টার্মিনালে এবং বুস্ট মডিউলের গ্রাউন্ড পিনকে সরাসরি জ্যাকের গ্রাউন্ড পিনের সাথে সংযুক্ত করতে ব্যবহার করা হয়।

দুটি ATTinys এর জন্য সকেটের ডান এবং বামে 0.1uF despike/deglitching ক্যাপাসিটার। এই উপাদানগুলি না ছেড়ে দেওয়াও গুরুত্বপূর্ণ, এবং আইসিএস পাওয়ার এবং গ্রাউন্ড পিনের সাথে যতটা সম্ভব সংক্ষিপ্ত এবং যতটা সম্ভব একটি পথ নির্দেশ করা উচিত। 10 ওহম কারেন্ট সেন্স রেসিস্টরটি বাম দিকে, এটি বুস্ট কনভার্টার থেকে আউটপুটের সাথে সংযুক্ত এবং প্রতিটি সেন্সর কোর ইনপুট পিনের সাথে সংযুক্ত - এই পিনগুলি পরোক্ষভাবে পরিমাপ করার জন্য ডিফারেনশিয়াল এডিসি হিসাবে কাজ করার জন্য সেট আপ করা হয়েছে ব্যাটারিতে কারেন্ট। আই 2 সি বাসের জন্য আইসি পিন এবং বুস্ট কনভার্টার শাটডাউন পিন ইত্যাদির মধ্যে সংযোগ প্রোটোবোর্ডের নীচে হুকআপ ওয়্যার ব্যবহার করে তৈরি করা যেতে পারে, খুব পাতলা সলিড-কোর হুকআপ ওয়্যার এর জন্য দারুণ কাজ করে। এটি পরিবর্তনগুলি সহজ করে তোলে এবং উপরের ছিদ্রের মধ্যে জাম্পার চালানোর চেয়ে অনেক বেশি পরিষ্কার দেখায়।

আমি যে LED মডিউলটি ব্যবহার করেছি তা ছিল একটি ত্রি-রঙের RGB ইউনিট, আমার পরিকল্পনা ছিল যখন তিনটি ব্যাটারি প্রায় পুরোপুরি চার্জ হওয়ার সময় সাদা উৎপাদনের জন্য সক্রিয় থাকবে এবং চার্জ শেষ হয়ে যাওয়ায় নীল LED হলুদ হয়ে যাবে। কিন্তু এই বৈশিষ্ট্যটি এখনও বাস্তবায়িত হয়নি। একটি বর্তমান-সীমিত প্রতিরোধক সহ একটি একক সাদা LED ঠিক আছে, কাজ করবে।

ধাপ 7: পরীক্ষা, পর্ব 1

পরীক্ষা, পর্ব 1
পরীক্ষা, পর্ব 1

Arduino পরিবেশ থেকে USB প্রোগ্রামারের মাধ্যমে অন্তর্ভুক্ত স্কেচ ফাইল সহ ATTiny ICs উভয় প্রোগ্রাম করার পর এটি পরীক্ষা করতে সাহায্য করে যে সৌর প্যানেল থেকে ব্যাটারি চার্জ করার চেষ্টা করার আগে প্রোটোটাইপের দুটি কোর সঠিকভাবে কাজ করছে। আদর্শভাবে এর জন্য একটি বেসিক অসিলস্কোপ, মাল্টিমিটার এবং বেঞ্চ পাওয়ার সাপ্লাই প্রয়োজন।

প্রথমেই যাচাই করতে হবে যে, সম্ভাব্য ক্ষতি এড়াতে ICS, ব্যাটারি এবং প্যানেলে পকেট লাগানোর আগে বোর্ডে কোথাও কোনো শর্ট সার্কিট নেই! এটি করার সবচেয়ে সহজ উপায় হল একটি বেঞ্চ পাওয়ার সাপ্লাই ব্যবহার করা যা সেই অবস্থার ক্ষেত্রে তার আউটপুট কারেন্টকে নিরাপদ মানের মধ্যে সীমাবদ্ধ রাখতে পারে। আমি সৌর প্যানেল ইনপুট জ্যাক টার্মিনালের সাথে ধনাত্মক এবং নেতিবাচক বিদ্যুৎ সরবরাহের জন্য সংযুক্ত 3 ভোল্ট এবং 100 এমএ সীমায় আমার বেঞ্চ সরবরাহ ব্যবহার করেছি। প্যাসিভ কম্পোনেন্ট ছাড়া অন্য কিছু ইনস্টল করা নেই, পাওয়ার সাপ্লাই এর বর্তমান মনিটরে কথা বলার জন্য মূলত কোন বর্তমান ড্র রেজিস্টার করা উচিত নয়। যদি উল্লেখযোগ্য বর্তমান প্রবাহ থাকে, বা সরবরাহ বর্তমান-সীমাবদ্ধতায় চলে যায়, কিছু ভুল হয়েছে এবং বিপরীত মেরুতা সহ কোনও ভুল সংযোগ বা ক্যাপাসিটার নেই তা নিশ্চিত করার জন্য বোর্ডটি পরীক্ষা করা উচিত।

পরবর্তী ধাপ হল বুস্ট কনভার্টার সঠিকভাবে কাজ করছে তা নিশ্চিত করা। বোর্ডে একটি স্ক্রু-পোটেন্টিওমিটার রয়েছে, বিদ্যুৎ সরবরাহ এখনও সংযুক্ত রয়েছে এবং কনভার্টারের চারটি পিন যথাযথভাবে সংযুক্ত করা হয়েছে পটেন্টিওমিটারটি একটি ছোট স্ক্রু ড্রাইভার টিপ দিয়ে চালু করা উচিত যতক্ষণ না মডিউলের আউটপুট টার্মিনালে ভোল্টেজটি প্রায় 3.8 থেকে 3.9 ভোল্টে পড়ে। এই ডিসি মান অপারেশন চলাকালীন পরিবর্তন হবে না, ড্রাইভার কোর মডিউল এর শাটডাউন পিন pulsing মাধ্যমে গড় আউটপুট ভোল্টেজ নিয়ন্ত্রণ করবে।

ধাপ 8: পরীক্ষা, অংশ 2

পরীক্ষা, পার্ট 2
পরীক্ষা, পার্ট 2
পরীক্ষা, পার্ট 2
পরীক্ষা, পার্ট 2

পরেরটি যাচাই করতে হবে যে i2c কমিউনিকেশন ঠিকঠাক কাজ করছে, বোর্ডটি বেঞ্চ পাওয়ার বন্ধ করে সেন্সর কোর আইসি ইনস্টল করা যেতে পারে। একটি অসিলোস্কোপে ফিজিক্যাল চিপের পিন 5 এবং পিন 7 উভয় ক্ষেত্রেই স্পন্দন সংকেত থাকা উচিত, চিপের এই i2c ড্রাইভার তার বন্ধুকে ডেটা পাঠানোর চেষ্টা করছে। বন্ধ করার পরে ড্রাইভার কোর ইনস্টল করা যায় এবং সংযোগটি আবার অসিলোস্কোপ দিয়ে চেক করা হয়, উভয় লাইনে ডাল দৃশ্যমানের একটি বড় ক্রম থাকা উচিত। এর মানে হল যে চিপগুলি সঠিকভাবে যোগাযোগ করছে।

এটি চূড়ান্ত পূর্ণ পরীক্ষার জন্য ব্যাটারি সামান্য চার্জ করতে সাহায্য করে। এটি সম্পন্ন করার জন্য বেঞ্চ সরবরাহও ব্যবহার করা যেতে পারে, যার বর্তমান সীমা প্রায় 50 এমএ এবং ভোল্টেজ এখনও 3.8 ভোল্টে রয়েছে, যার ফলে লিপো ব্যাটারি কয়েক মিনিটের জন্য সরাসরি সংযুক্ত থাকে।

চূড়ান্ত ধাপ হল সম্পূর্ণ সিস্টেমটি পরীক্ষা করা - সবকিছু সংযুক্ত থাকলে যদি প্যানেলটি দশ বা 15 সেকেন্ডের জন্য আবৃত থাকে তবে ড্রাইভারটি কোর পিডব্লিউএম আউটপুটের মাধ্যমে আলো চালিত হওয়া উচিত। উজ্জ্বল সূর্যের আলোতে প্যানেলের সাথে, বুস্ট কনভার্টারের আউটপুট থেকে ব্যাটারি চার্জ করা উচিত। বুজি কনভার্টারের শাটডাউন পিন চালানো PWM লাইন দেখে এটি সঠিকভাবে কাজ করছে কিনা তা দেখতে অস্পষ্ট লজিক নেটওয়ার্ক পরোক্ষভাবে পরিদর্শন করা যেতে পারে; ব্যাটারির সাথে আলোকসজ্জা বাড়ার সাথে চার্জের কম অবস্থার সাথে পালস প্রস্থ বৃদ্ধি হওয়া উচিত, যা দেখায় যে সূর্যের আলো থেকে আরও শক্তি পাওয়া যায়, ড্রাইভার কোর ইঙ্গিত দিচ্ছে যে ব্যাটারিতে আরও শক্তি পাঠানো হবে!

ধাপ 9: অস্পষ্ট লজিকের পরিশিষ্ট

ফাজি লজিকের পরিশিষ্ট
ফাজি লজিকের পরিশিষ্ট

ফাজি লজিক হল একটি মেশিন লার্নিং কৌশল যা হার্ডওয়্যার সিস্টেমের নিয়ন্ত্রণে ব্যবহার করা যেতে পারে যেখানে সিস্টেমের অনেকগুলি প্যারামিটারে অনিশ্চয়তা রয়েছে, যা গাণিতিকভাবে লক্ষ্য করা কঠিন লক্ষ্যের জন্য আউটপুট কন্ট্রোল সলিউশনে একটি স্পষ্ট ইনপুট তৈরি করে। এটি লজিক্যাল মান ব্যবহার করে সম্পন্ন হয় যা 0 (মিথ্যা) এবং 1 (সত্য) এর মধ্যে কোথাও পড়ে, মান যেমন অনিশ্চয়তা প্রকাশ করে তেমনি একজন মানুষের মত ("বেশিরভাগ সত্য" বা "সত্য নয়") এবং aa ধূসর অঞ্চলকে অনুমতি দেয় বিবৃতিগুলির মধ্যে যা 100% সত্য এবং 100% মিথ্যা। এটি যেভাবে সম্পন্ন করা হয় তা হল প্রথমে ইনপুট ভেরিয়েবলের নমুনা গ্রহণের মাধ্যমে যার উপর ভিত্তি করে একটি সিদ্ধান্ত নেওয়া প্রয়োজন এবং তাদের "ফাজিফাইজিং" করা উচিত।

যে কোনও অস্পষ্ট যুক্তি ব্যবস্থার হৃদয় একটি "অস্পষ্ট সহযোগী স্মৃতি"। এটি একটি ম্যাট্রিক্সের কথা মনে করিয়ে দেয়, যেখানে ব্যাটারি চার্জিং সার্কিটের ক্ষেত্রে 0 এবং 1 এর মধ্যে 3x3 সেট মান সংরক্ষণ করা হয়। ম্যাট্রিক্সের মানগুলি মোটামুটিভাবে যুক্ত হতে পারে যে কিভাবে একজন মানুষ বুস্ট কনভার্টারের SHTDN পিনকে নিয়ন্ত্রণ করে PWM ফ্যাক্টর কেমন হওয়া উচিত তার উপর নির্ভর করে, উপরের সদস্যপদ ফাংশন কিভাবে ইনপুটগুলির একটি নির্দিষ্ট সেটকে যোগ্যতা দেয় তার উপর নির্ভর করে। উদাহরণস্বরূপ যদি প্যানেল ইনপুট ভোল্টেজ বেশি হয়, কিন্তু ব্যাটারির মধ্যে বর্তমানের টানা কম হয়, সম্ভবত এর মানে হল যে আরো শক্তি টানা যেতে পারে এবং PWM সেটিং অনুকূল নয় এবং এটি বৃদ্ধি করা উচিত। বিপরীতভাবে, যদি প্যানেলের ভোল্টেজ কম যায় কিন্তু চার্জার এখনও ব্যাটারির শক্তিতে একটি বড় কারেন্ট ঠেলে দেওয়ার চেষ্টা করছে তাও নষ্ট হয়ে যাবে, তাই বুস্ট কনভার্টারে PWM সংকেত কমিয়ে দেওয়া ভাল। একবার ইনপুট সিগন্যালগুলিকে একটি অস্পষ্ট সেটে "অস্পষ্ট" করা হলে, তারা এই মান দ্বারা গুণিত হয়, যেভাবে একটি ভেক্টর একটি ম্যাট্রিক্স দ্বারা গুণিত হয়, একটি রূপান্তরিত সেট উৎপন্ন করার জন্য যা "জ্ঞান" কোষের কতটা ভারী প্রতিনিধিত্ব করে ম্যাট্রিক্স চূড়ান্ত সমন্বয় ফাংশন মধ্যে ফ্যাক্টর করা উচিত।

"নন-ইমপ্লিমেন্টেড-ইন-এক্সোড" নোড ব্যবহার করে যা XOD নোডগুলিকে অনুমোদন করে যা কাস্টম কার্যকারিতা বাস্তবায়নের জন্য স্টক বিল্ডিং ব্লক থেকে যুক্তিসঙ্গত হতে খুব জটিল এবং সামান্য আরডুইনো-স্টাইলের C ++, সহযোগী মেমরি, ওয়েটিং ফাংশন এবং " এই রেফারেন্সে বর্ণিত ব্লকের মতো ফাজিফায়ার:

প্রস্তাবিত: