Arduino - PV MPPT күн батареясы: 6 кадам (сүрөттөр менен)
Arduino - PV MPPT күн батареясы: 6 кадам (сүрөттөр менен)
Anonim
Image
Image
Бак Конвертер
Бак Конвертер

Базарда көптөгөн заряд контроллери бар. кадимки арзан заряд контроллери күн панелдеринен максималдуу энергияны колдонуу үчүн натыйжалуу эмес. Эффективдүү болгондор абдан кымбат.

Ошентип, мен өзүмдүн кубаттоочу контролерумду Эффективдүү жана батарейканын муктаждыктарын жана күндүн шарттарын түшүнүү үчүн жетиштүү акылдуу кылууну чечтим. күндөн максималдуу болгон энергияны алуу жана батарейканын ичине абдан натыйжалуу коюу үчүн тиешелүү иш -аракеттерди жасайт.

ЭГЕР СИЗГЕ МЕНИН КҮЧТҮРҮМДҮ ЖАКТЫРСАҢЫЗ, БУЛ НАСААТТАРГА ДОБУШ БЕРИҢИЗ.

1 -кадам: MPPT деген эмне жана ал бизге эмне үчүн керек?

Биздин Күн панелдери дүлөй жана батарейканын шарттарын түшүнүү үчүн акылдуу эмес. Бизде 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 buck converter колдондум. бул түрдөгү конверттин натыйжалуулугу 90% дан жогору.

Экинчи көйгөй-күн батареяларынын сызыктуу эмес чыгышы. максималдуу кубаттуулукту алуу үчүн алар белгилүү бир чыңалууда иштеши керек. Алардын өндүрүмдүүлүгү күн бою өзгөрүп турат.

Бул маселени чечүү үчүн MPPT алгоритмдери колдонулат. MPPT (Maximum Power Point Tracking) аталышынан көрүнүп тургандай, бул алгоритм панелдердин максималдуу кубаттуулугун көзөмөлдөйт жана шартты сактоо үчүн чыгаруу параметрлерин өзгөртөт.

Ошентип, MPPTти колдонуу менен биздин панелдер максималдуу колдо болгон кубаттуулукту өндүрүшөт жана конвертер бул зарядды батарейкаларга эффективдүү киргизет.

2 -кадам: MPPT КАНТИП ИШТЕЙТ?

Мен муну майда -чүйдөсүнө чейин талкуулабайм. Демек, эгер сиз аны түшүнгүңүз келсе, бул шилтемени караңыз -MPPT деген эмне?

Бул долбоордо мен V-I киргизүү мүнөздөмөлөрүн жана V-I чыгарылышын байкадым. киргизүү V-I жана V-I чыгаруу көбөйтүү менен биз ватт кубаттуулукка ээ боло алабыз.

Келгиле, бизде күндүн каалаган убагында 17 V, 5 A, башкача айтканда 17x5 = 85 ватт бар. ошол эле учурда биздин өндүрүш 13 В, 6А б.а. 13x6 = 78 Ватт.

Эми MPPT мурунку киргизүү/чыгаруу кубаттуулугуна салыштырмалуу чыгаруу чыңалуусун жогорулатат же төмөндөтөт.

эгер мурунку киргизүү күчү жогору болсо жана чыгаруу чыңалуусу азыркыдан төмөн болсо, анда кайра жогорку кубаттуулукка кайтуу үчүн кайра кайра төмөн болот жана эгерде чыңалуу жогору болсо, анда азыркы чыңалуу мурунку деңгээлге көтөрүлөт. Ошентип, ал максималдуу күч чекитинин айланасында термелет. Бул термелүүлөр натыйжалуу MPPT алгоритмдери менен минималдаштырылган.

3 -кадам: Ардуино боюнча MPPTти ишке ашыруу

Бул кубаттагычтын мээси. Төмөндө Arduino коду бир код блогунда чыгарууну жана ишке ашырууну жөнгө салуу үчүн.

// Iout = чыгаруу агымы

// Vout = чыгаруу чыңалуусу

// Вин = киргизүү чыңалуусу

// Pin = киргизүү күчү, 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) || (PinVout_last)))

{

эгер (duty_cycle> 0)

{

duty_cycle -= 1;

}

analogWrite (buck_pin, duty_cycle);

}

эгерде ((VoutVout_last) || (Пи

{

эгерде (duty_cycle <240)

{duty_cycle+= 1;

}

analogWrite (buck_pin, duty_cycle);

}

Pin_previous = Pin;

Vin_last = Vin;

Vout_last = Vout;

}

4 -кадам: Бак Converter

Мен N-канал mosfetти колдонуп, долларды айландырдым. Адатта, адамдар P-каналдын мосфетин жогорку капталга которуу үчүн тандашат жана эгерде алар N-каналдын мосфетин ушул эле максатта тандаса, айдоочудан IC талап кылынат же жүктөөчү cCT.

бирок мен N-каналдын мосфетин колдонуп, төмөнкү жагын которуштуруу үчүн ckt buck Converter'ди өзгөрттүм. Мен, N-каналды колдонуп жатам, анткени булар арзан, жогорку кубаттуулуктагы рейтингдер жана электр кубатынын төмөндүгү. Бул долбоор IRFz44n логикалык деңгээлдеги мосфетти колдонот, андыктан аны түздөн -түз arduino PWM пини менен башкарса болот.

жогорку жүк агымы үчүн транзисторду колдонуп, дарбазага 10В колдонуу керек, мосфетти толугу менен каныктыруу жана электр энергиясынын таралышын азайтуу үчүн, мен дагы ошондой кылдым.

cktте көрүнүп тургандай, мен мосфетти -ve чыңалуусуна койгом, ошентип панелден +12v жерди колдоном. Бул конфигурация минималдуу компоненттери бар бак конвертери үчүн N-канал мосфетин колдонууга мүмкүнчүлүк берет.

бирок анын кээ бир кемчиликтери да бар. Сизде эки тарап тең -чыңалуу бөлүнгөндүктөн, жалпы маалымдамаңыз жок. Ошентип, чыңалууну өлчөө өтө татаал.

Мен Arduino -ны Solar киргизүү терминалдарына туташтырдым жана анын -ve линиясын arduino үчүн негиз катары колдоном. биз талапка ылайык чыңалуу бөлүштүргүч cktти колдонуу менен, бул учурда киргизүү volateg'ин оңой эле өлчөй алабыз. бирок чыгыштын чыңалуусун оңой эле өлчөй албайбыз, анткени бизде жалпы негиз жок.

Эми муну жасоо үчүн бир амал бар. чыгуу конденсаторунун чыңалуусун өлчөөнүн ордуна, мен эки вет линиясынын ортосундагы чыңалууну өлчөдүм. өлчөө үчүн сигнал/чыңалуу катары arduino үчүн күн -ve жана -ve жерди колдонуу. Бул өлчөө менен алган баалуулугуңуз кирүүчү чыңалуудан алынып салынышы керек жана сиз чыгуучу конденсатор боюнча реалдуу чыгуу чыңалуусун аласыз.

Vout_sense_temp = Vout_sense_temp*0.92+float (raw_vout)*volt_factor*0.08; // киргизүү gnd жана чыгаруу gnd боюнча volatge өлчөө.

Vout_sense = Vin_sense-Vout_sense_temp-diode_volt; // эки негиздин ортосундагы чыңалуу айырмасын чыгаруу чыңалуусуна өзгөртүү..

Учурдагы өлчөөлөр үчүн мен ACS-712 учурдагы сезүү модулдарын колдондум. Алар arduino менен иштейт жана gnd киргизүү менен туташат.

ички таймерлер D6 пининде 62,5 кГц PWMге ээ болуу үчүн өзгөртүлгөн. бул мосфетти айдоо үчүн колдонулат. бул максат үчүн керектүү учурдагы рейтингдин schottky диодунун тескери агып кетүүсүн жана тескери полярдыктын корголушун камсыз кылуу үчүн чыгууга бөгөт коюучу диод талап кылынат. Индуктордун мааниси жыштыкка жана чыгуучу токтун талаптарына көз каранды. Сиз Интернетте бар долларды алмаштыруучу эсептегичтерди колдоно аласыз же 100uH 5A-10A жүгүн колдоно аласыз. эч качан индуктордун максималдуу өндүрүштүк агымынан 80%-90%ашпасын.

5 -кадам: Акыркы тийүү -

Image
Image

заряддагыч түзүлүшкө кошумча функцияларды кошо аласыз. меникиндей эле ЖК да параметрлерди жана 2 өчүргүчтү колдонуучудан киргизүү үчүн көрсөтөт.

Мен акыркы кодду жаңыртып, ckt диаграммасын жакында бүтүрөм.

6-кадам: UPDATE:- Чыныгы схема, БОМ жана код

Жарыктар сынагы 2017
Жарыктар сынагы 2017

UPDATE:-

Мен кодду, бомду жана схеманы жүктөдүм. Бул меникинен бир аз айырмаланат, анткени муну жасоо оңой.

Сунушталууда: