সুচিপত্র:

Arduino - PV MPPT Solar Charger: 6 ধাপ (ছবি সহ)
Arduino - PV MPPT Solar Charger: 6 ধাপ (ছবি সহ)

ভিডিও: Arduino - PV MPPT Solar Charger: 6 ধাপ (ছবি সহ)

ভিডিও: Arduino - PV MPPT Solar Charger: 6 ধাপ (ছবি সহ)
ভিডিও: Review Dan Cara setting Menggunakan Solar Charge Controller PWM 2024, নভেম্বর
Anonim
Image
Image
বাক কনভার্টার
বাক কনভার্টার

বাজারে অনেক চার্জ কন্ট্রোলার পাওয়া যায়। সাধারণ সস্তা চার্জ কন্ট্রোলারগুলি সৌর প্যানেল থেকে সর্বাধিক শক্তি ব্যবহার করতে দক্ষ নয়। যেগুলি দক্ষ, সেগুলি খুব ব্যয়বহুল।

তাই আমি আমার নিজের চার্জ কন্ট্রোলার তৈরি করার সিদ্ধান্ত নিয়েছি যা দক্ষ, এবং ব্যাটারির চাহিদা এবং সৌর অবস্থার বোঝার জন্য যথেষ্ট স্মার্ট। এটি সৌর থেকে সর্বাধিক উপলব্ধ বিদ্যুৎ বের করতে এবং ব্যাটারির ভিতরে খুব দক্ষতার সাথে রাখার জন্য উপযুক্ত পদক্ষেপ নেয়।

যদি আপনি আমার ইফেক্ট পছন্দ করেন তবে এই নির্দেশাবলীর জন্য ভোট দিন।

ধাপ 1: এমপিপিটি কী এবং কেন আমাদের এটি দরকার?

আমাদের সোলার প্যানেলগুলি বোবা এবং ব্যাটারির অবস্থা বোঝার জন্য স্মার্ট নয়। ধরুন আমাদের একটি 12v/100 ওয়াট সোলার প্যানেল আছে এবং এটি 18V-21V এর মধ্যে একটি আউটপুট দেবে তা উৎপাদনের উপর নির্ভর করে, কিন্তু ব্যাটারিগুলিকে 12v নামমাত্র ভোল্টেজের জন্য রেট দেওয়া হয়, সম্পূর্ণ চার্জ অবস্থায় তারা 13.6v হবে এবং সম্পূর্ণ 11.0v হবে স্রাব এখন ধরে নেওয়া যাক আমাদের ব্যাটারি 13v চার্জিং এ আছে, প্যানেল 18v, 5.5A 100% কার্যক্ষমতায় দিচ্ছে (100% থাকা সম্ভব নয় কিন্তু অনুমান করা যাক)। সাধারণ কন্ট্রোলারের একটি PWM ভোল্টেজ রেগুলেটর ckt থাকে যা ভোল্টেজ 13.6 এ নামিয়ে দেয়, কিন্তু কারেন্টে কোন লাভ হয় না। এটি শুধুমাত্র রাতের সময় প্যানেলে অতিরিক্ত চার্জিং এবং ফুটো কারেন্টের বিরুদ্ধে সুরক্ষা প্রদান করে।

তাই আমাদের 13.6v*5.5A = 74.8 ওয়াট হচ্ছে।

আমরা প্রায় 25 ওয়াট আলগা।

এই সমস্যার মুখোমুখি হতে আমি smps বক কনভার্টার ব্যবহার করেছি। এই ধরনের রূপান্তর 90% এর উপরে দক্ষতা আছে।

আমাদের দ্বিতীয় সমস্যা হল সোলার প্যানেলের নন-লিনিয়ার আউটপুট। সর্বাধিক উপলব্ধ বিদ্যুৎ সংগ্রহের জন্য তাদের নির্দিষ্ট ভোল্টেজে চালানো প্রয়োজন। তাদের আউটপুট দিনভেদে পরিবর্তিত হয়।

এই সমস্যা সমাধানের জন্য MPPT অ্যালগরিদম ব্যবহার করা হয়। এমপিপিটি (ম্যাক্সিমাম পাওয়ার পয়েন্ট ট্র্যাকিং) নাম অনুসারে এই অ্যালগরিদম প্যানেল থেকে সর্বাধিক উপলব্ধ পাওয়ার ট্র্যাক করে এবং শর্ত বজায় রাখার জন্য আউটপুট পরামিতিগুলি পরিবর্তিত করে।

সুতরাং এমপিপিটি ব্যবহার করে আমাদের প্যানেলগুলি সর্বাধিক উপলব্ধ শক্তি উৎপন্ন করবে এবং বক কনভার্টার এই চার্জটি ব্যাটারিতে দক্ষতার সাথে স্থাপন করবে।

ধাপ 2: কিভাবে এমপিপিটি কাজ করে?

আমি এই বিষয়ে বিস্তারিত আলোচনা করবো না। তাই যদি আপনি বুঝতে চান যে এই লিঙ্কটি দেখুন -এমপিপিটি কী?

এই প্রকল্পে আমি ইনপুট V-I বৈশিষ্ট্য এবং আউটপুট V-I ট্র্যাক করেছি। ইনপুট V-I এবং আউটপুট V-I কে গুণ করে আমরা ওয়াটে শক্তি পেতে পারি।

ধরা যাক আমরা 17 V, 5 A অর্থাৎ 17x5 = 85 ওয়াট দিনের যে কোন সময় পেয়েছি। একই সময়ে আমাদের আউটপুট 13 V, 6A অর্থাৎ 13x6 = 78 ওয়াট।

এখন MPPT আগের ইনপুট/আউটপুট পাওয়ারের সাথে তুলনা করে আউটপুট ভোল্টেজ বাড়াবে বা কমাবে।

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

ধাপ 3: আরডুইনোতে এমপিপিটি বাস্তবায়ন

এই চার্জারের মস্তিষ্ক। আউটপুট নিয়ন্ত্রণ এবং এমপিপিটি একক কোড ব্লকে বাস্তবায়নের জন্য আরডুইনো কোড নিচে দেওয়া হল।

// Iout = আউটপুট কারেন্ট

// ভাউট = আউটপুট ভোল্টেজ

// ভিন = ইনপুট ভোল্টেজ

// পিন = ইনপুট শক্তি, Pin_previous = শেষ ইনপুট শক্তি

// Vout_last = শেষ আউটপুট ভোল্টেজ, Vout_sense = বর্তমান আউটপুট ভোল্টেজ

void regulate (float Iout, float Vin, float Vout) {if ((Vout> Vout_max) || (Iout> Iout_max) || ((Pin> Pin_previous && Vout_sense <Vout_last) ||

{

যদি (ডিউটি_সাইকেল> 0)

{

দায়িত্ব_সাইকেল -= 1;

}

analogWrite (buck_pin, duty_cycle);

}

অন্যথায় যদি ((VoutVout_last) || (পাই

{

যদি (দায়িত্ব_চক্র <240)

{কর্তব্য_সাইকেল+= 1;

}

analogWrite (buck_pin, duty_cycle);

}

Pin_previous = পিন;

Vin_last = ভিন;

Vout_last = Vout;

}

ধাপ 4: বাক কনভার্টার

আমি বক কনভার্টার বানাতে এন-চ্যানেল মোসফেট ব্যবহার করেছি। সাধারণত লোকেরা হাই সাইড স্যুইচিংয়ের জন্য পি-চ্যানেল মোসফেট বেছে নেয় এবং যদি তারা একই উদ্দেশ্যে এন-চ্যানেল মোসফেট বেছে নেয় তবে ড্রাইভার আইসি প্রয়োজন হবে বা বুট স্ট্র্যাপিং সিকেটি প্রয়োজন হবে।

কিন্তু আমি এন-চ্যানেল মোসফেট ব্যবহার করে একটি নিম্ন সাইড স্যুইচ করার জন্য বক কনভার্টার ckt পরিবর্তন করেছি। আমি, এন-চ্যানেল ব্যবহার করছি কারণ এগুলি কম খরচে, উচ্চ ক্ষমতার রেটিং এবং কম বিদ্যুৎ অপচয়। এই প্রকল্পটি IRFz44n লজিক লেভেলের মসফেট ব্যবহার করে, তাই এটি সরাসরি একটি Arduino PWM পিন দ্বারা চালিত হতে পারে।

উচ্চতর লোড কারেন্টের জন্য একটি ট্রানজিস্টার ব্যবহার করে গেটে 10V লাগাতে হবে যাতে মোসফেট সম্পূর্ণভাবে স্যাচুরেশনে চলে আসে এবং বিদ্যুতের অপচয় কমিয়ে আনে, আমিও একই কাজ করেছি।

যেমন আপনি উপরে ckt এ দেখতে পারেন আমি মোসফেট অন -ভোল্টেজ রেখেছি, এইভাবে প্যানেল থেকে +12v ব্যবহার করে স্থল হিসাবে। এই কনফিগারেশনটি আমাকে ন্যূনতম উপাদানগুলির সাথে বক কনভার্টারের জন্য একটি এন-চ্যানেল মোসফেট ব্যবহার করতে দেয়।

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

আমি আরডুইনোকে সোলার ইনপুট টার্মিনালে সংযুক্ত করেছি এবং এর -ve লাইনটি আরডুইনোকে স্থল হিসাবে ব্যবহার করেছি। আমরা আমাদের প্রয়োজনীয়তা অনুসারে ভোল্টেজ ডিভাইডার ckt ব্যবহার করে এই সময়ে সহজেই ইনপুট ভোল্টেজ পরিমাপ করতে পারি। কিন্তু আউটপুট ভোল্টেজ এত সহজে পরিমাপ করতে পারে না কারণ আমাদের একটি সাধারণ স্থল নেই।

এখন এটি করার জন্য একটি কৌশল আছে। ভোল্টেজ অ্যাক্রোস আউটপুট ক্যাপাসিটর পরিমাপ করার পরিবর্তে, আমি দুই -ভী লাইনের মধ্যে ভোল্টেজ পরিমাপ করেছি। arduino এবং আউটপুট -ve এর জন্য স্থল হিসাবে সৌর -ভী ব্যবহার করে সংকেত/ভোল্টেজ পরিমাপ করা। এই পরিমাপের সাথে আপনি যে মানটি পেয়েছেন তা পরিমাপ করা ইনপুট ভোল্টেজ থেকে বাদ দেওয়া উচিত এবং আপনি আউটপুট ক্যাপাসিটর জুড়ে আসল আউটপুট ভোল্টেজ পাবেন।

Vout_sense_temp = Vout_sense_temp*0.92+float (raw_vout)*volt_factor*0.08; // ইনপুট gnd এবং আউটপুট gnd জুড়ে ভোল্টেজ পরিমাপ করুন।

Vout_sense = Vin_sense-Vout_sense_temp-diode_volt; // আউটপুট ভোল্টেজের দুটি স্থানের মধ্যে ভোল্টেজ পার্থক্য পরিবর্তন করুন..

বর্তমান পরিমাপের জন্য আমি ACS-712 বর্তমান সেন্সিং মডিউল ব্যবহার করেছি। তারা arduino দ্বারা চালিত এবং ইনপুট gnd সংযুক্ত করা হয়েছে।

পিন D6 এ 62.5 Khz PWM লাভের জন্য অভ্যন্তরীণ টাইমারগুলি সংশোধন করা হয়েছে। যা মসফেট চালাতে ব্যবহৃত হয়। একটি আউটপুট ব্লকিং ডায়োডের প্রয়োজন হবে রিভার্স লিকেজ এবং রিভার্স পোলারিটি প্রোটেকশন প্রদান করতে এই উদ্দেশ্যে কাঙ্ক্ষিত বর্তমান রেটিং এর স্কটকি ডায়োড ব্যবহার করুন। প্রবর্তকের মান ফ্রিকোয়েন্সি এবং আউটপুট বর্তমান প্রয়োজনীয়তার উপর নির্ভর করে। আপনি অনলাইন উপলব্ধ বক কনভার্টার ক্যালকুলেটর ব্যবহার করতে পারেন অথবা 100uH 5A-10A লোড ব্যবহার করতে পারেন। ইন্ডাক্টরের সর্বাধিক আউটপুট কারেন্ট 80%-90%অতিক্রম করবেন না।

ধাপ 5: চূড়ান্ত টাচ আপ -

Image
Image

আপনি আপনার চার্জারে অতিরিক্ত বৈশিষ্ট্য যোগ করতে পারেন। আমার মত LCD ব্যবহারকারীর কাছ থেকে ইনপুট নিতে প্যারামিটার এবং 2 সুইচ প্রদর্শন করে।

আমি চূড়ান্ত কোড আপডেট করব এবং খুব শীঘ্রই ckt ডায়াগ্রাম সম্পূর্ণ করব।

ধাপ 6: আপডেট:- প্রকৃত সার্কিট ডায়াগ্রাম, বিওএম এবং কোড

আলো প্রতিযোগিতা 2017
আলো প্রতিযোগিতা 2017

হালনাগাদ:-

আমি কোড, বোমা এবং সার্কিট আপলোড করেছি। এটি আমার থেকে কিছুটা আলাদা, কারণ এটি তৈরি করা সহজ।

প্রস্তাবিত: