Talaan ng mga Nilalaman:

Pinapagana ng XOD na Rechargeable Solar Lamp: 9 Mga Hakbang (na may Mga Larawan)
Pinapagana ng XOD na Rechargeable Solar Lamp: 9 Mga Hakbang (na may Mga Larawan)

Video: Pinapagana ng XOD na Rechargeable Solar Lamp: 9 Mga Hakbang (na may Mga Larawan)

Video: Pinapagana ng XOD na Rechargeable Solar Lamp: 9 Mga Hakbang (na may Mga Larawan)
Video: Campark TC21 Solar Trail Camera - Full In-Depth Review 2024, Nobyembre
Anonim
Pinapagana ng XOD na Rechargeable Solar Lamp
Pinapagana ng XOD na Rechargeable Solar Lamp

May mga murang solar garden / lampara lamp na magagamit sa karamihan ng mga kalakal sa bahay at mga tindahan ng hardware. Ngunit tulad ng sinabi ng matandang kasabihan, karaniwang nakukuha mo ang binabayaran mo. Ang karaniwang pag-charge at pag-iilaw ng mga circuit na ginagamit nila ay simple at murang, ngunit ang light output na nakukuha mo ay anumang kahanga-hanga (at halos hindi sapat para sa sinumang gumagamit ng iyong walkway upang makita kung saan sila pupunta!)

Ito ang aking pagtatangka sa pagdidisenyo ng isang off-grid module ng pag-iilaw na isang makabuluhang pagpapabuti, habang medyo mura pa rin ang gagawin. Sa pamamagitan ng pagbibigay nito ng ilang "utak." Ang XOD.io ay isang bagong IDE na katugma sa Arduino naka-embed na platform ng pag-unlad, kung saan maaari kang "sumulat" ng code nang graphic. Binabago ng kapaligiran ang iyong grapikong sketch sa modernong C ++, na lubos na mahusay sa pagbuo ng compact code, at bumubuo ng mapagkukunang ganap na katugma sa stock na Arduino IDE nang hindi nangangailangan ng karagdagang mga panlabas na dependency. Sa ganoong paraan kahit na maliit, murang mga microcontroller na may limitadong programa at mga mapagkukunan ng imbakan ng data ay maaaring gamitin upang makagawa ng mga kumplikadong gawain.

Ipinapakita ng proyektong ito kung paano ang dalawang Arduino-compatible ATTiny85 microcontroller na nagtutulungan ay maaaring magamit upang pamahalaan ang mga kinakailangan sa kuryente ng lampara. Humahawak ang unang processor ng data ng pang-kapaligiran na sensing mula sa panlabas na hardware, at ang pangalawa ay sumusubok na ani ang pinakamaraming enerhiya mula sa araw na maaari nito sa araw, at pagkatapos ay makontrol ang pag-iilaw ng isang mataas na lakas na LED bilang isang imbakan ng baterya na naglalabas sa gabi. Tinatapos ng pangalawang processor ang trabaho nito sa pamamagitan ng isang compact na pagpapatupad ng "fuzzy logic" control. Ang software para sa parehong chips ay eksklusibong binuo sa loob ng kapaligiran ng XOD.

Hakbang 1: Mga Kinakailangan na Materyales

Ang Arduino IDE, pinakabagong bersyon, na may naka-install na extension na ATTinyCore mula sa "Boards" manager

Sparkfun USBTinyISP ATTiny programmer, 11801 o katumbas na pahina ng produkto ng Sparkfun

Ang naaayos na Pololu adjustable low-voltage boost converter na may shutdown input, U1V11A o katumbas na pahina ng produkto ng Pololu

Puting mataas ang kapangyarihan o RGB LED na may heatsink, karaniwang anode, Adafruit 2524 o katumbas na pahina ng produkto ng Adafruit

Microchip ATTiny85 sa 8-pin DIP package, pahina ng produkto ng 2 Mouser

8 pin DIP IC sockets, 2

Maramihang capacitor ng imbakan, 16 v 220 uF

Output capacitor, 6.3v 47uF

Kasalukuyang-nililimitahan ang mga resistors, 50 ohm 1/4 watt

i2c pull-up resistors, 4.7k, 2

Ang resistors ng divider ng boltahe ng panel, 1/4 watt, 100k, 470k

Kasalukuyang sense resistor, 10 ohm ⁄ watt 1% tolerance

Mga capacitor ng bypass, 0.1uF ceramic, 2

2 3.7 v 100mAh lithium-ion rechargable na baterya, PKCELL LP401 o katumbas

Barrel plug jack para sa panel, 1

Pinipigilan ng mini terminal ang 3 "x3" solder-pad board, at manipis na solid-core wire para sa paggawa ng mga koneksyon

Ang isang oscilloscope, multimeter, at bench power supply ay halos tiyak na kinakailangan para sa pagsubok

Hakbang 2: Pag-setup ng Kapaligiran

Pag-setup ng Kapaligiran
Pag-setup ng Kapaligiran

Hindi sinusuportahan ng kapaligiran ng XOD ang serye ng mga processor na ATTiny sa labas ng kahon, ngunit ang paggamit ng isang pares ng mga third-party na aklatan mula sa Arduino uniberso na prangka na magdagdag ng suporta para sa seryeng ito ng mga AVR. Ang unang hakbang ay i-install ang librong "ATTinyCore" mula sa dropdown na menu ng "Mga Tool → Lupon → Board Manager" ng Arduino IDE. Siguraduhin na ang mga setting tulad ng ipinakita sa kasama na imahe ay tama - tandaan na kailangan mong pindutin ang "Burn bootloader" upang baguhin ang boltahe ng brownout at mga setting ng bilis ng orasan bago mag-upload ng anumang code!

Ang source code para sa library na ito ay magagamit sa:

Ang isa pang kapaki-pakinabang na silid-aklatan na magkaroon mula sa pag-iimbak ay ang "FixedPoints", na isang pagpapatupad-oras na pagpapatupad ng nakapirming point matematika para sa mga prosesor na suportado ng Arduino. Ang ATTiny ay may limitadong SRAM at memorya ng programa, at malaki ang naitutulong nito sa pag-urong ng huling laki ng sketch upang magamit ang isang 2 byte integer para sa pangkalahatang imbakan ng data, sa halip na isang uri ng lumulutang na punto, na nangangailangan ng 4 bytes sa AVR. Ang bilis ng pagpapatupad ay dapat ding pagbutihin dahil ang ATTiny ay walang unit ng pagpaparami ng hardware, higit na mas mababa ang floating point ng hardware!

Magagamit ang source code sa:

Ang tutorial sa kung paano lumikha, magbalhin, at mag-deploy ng mga grapikong sketch ng XOD sa: https://github.com/Pharap/FixedPointsArduino ay makakatulong ng maraming sa pag-unawa kung paano nilikha ang kasama na mga file ng pinagmulan.

Hakbang 3: Pangkalahatang-ideya ng Disenyo

Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo

Sa board ang dalawang mga processor ng ATTiny85 ay konektado sa pamamagitan ng isang interface ng i2c, at ginagamit na nagtutulungan upang mapamahalaan ang boltahe ng solar panel, kasalukuyang dumadaloy sa baterya mula sa boost converter habang ang panel ay naiilawan, ang boltahe ng baterya, at ang baterya temperatura

Ang boost converter ay isang off-the-shelf module batay sa isang Texas Instruments TPS6120 IC, na maaaring tumagal ng isang boltahe ng pag-input na mas mababa sa 0.5 volts at palakasin ito kahit saan mula sa 2 volts hanggang 5 volts. Ang core ng sensor ay naglalaman ng maraming mga bloke ng pag-andar. Ang master clock ay nagsisimulang tumakbo kaagad na ang lakas ay inilapat sa boost converter mula sa input ng solar panel. Sinimulan nito ang pagpapatupad ng sketch, at ang unang bagay ay upang matukoy kung ang panel ay sapat na naiilawan upang magbigay ng kasalukuyang singilin sa baterya.

Ang boltahe ng solar panel ay naipasa kahit na dalawang mga digital na filter, at kung ito ay nasa itaas ng isang tiyak na threshold tinutukoy ng system na ang panel ay naiilawan at pinto ang master clock sa kasalukuyang-sense monitor. Ito ay isang analog sa digital converter channel ng maliit na tilad, nai-configure nang magkakaiba, na nakikita ang boltahe sa isang 10 ohm 1% tolerance resistor na konektado sa serye sa pagitan ng output ng boost converter at ang input ng baterya. Kapag ang panel ay hindi naiilawan ang ATTiny na ito ay nagpapadala ng isang senyas sa pangalawang ATTiny na nagsasabi dito na subaybayan ang LED power sa halip na singilin ang lakas, at patayin ang boost converter at ihiwalay ang input upang ang baterya ay hindi magpadala ng kasalukuyang pabalik sa pamamagitan ng panel.

Ang pangalawang core ng ATTiny ay kung saan nagaganap ang LED controller at pagsubaybay ng singil ng baterya. Ang boltahe ng panel, boltahe ng baterya, at kasalukuyang pagsingil ng baterya ay ipinadala sa core na ito para sa pagproseso sa pamamagitan ng isang fuzzy-logic network, na nagtatangka upang makabuo ng isang naaangkop na signal ng PWM upang mailapat sa SHTDN pin, sa ganoong pagkontrol sa dami ng kasalukuyang ipinadala sa baterya upang singilin ito kapag nag-iilaw - isang pangunahing anyo ng maximum na pagsubaybay sa power-point (MPPT.) Nakatanggap din ito ng isang senyas mula sa core ng sensor na nagsasabi dito kung dapat nito i-on o i-off ang LED, depende sa output ng araw ng core core / flip flop ng gabi.

Kapag ang LED ay aktibo sa gabi sinusubaybayan ng ATTiny na ito ang data ng boltahe ng baterya na ipinadala dito mula sa kaibigan nito, at ng sarili nitong on-chip na sensor ng temperatura, upang makakuha ng isang magaspang na pagtatantya sa kung magkano ang lakas na itinutulak sa LED (ang boltahe ng baterya ay bumababa at ang temperatura ng maliit na tilad ay tumataas sa kasalukuyang inilabas mula sa mga pin nito.) Ang malabo na lohika-lohika network na nauugnay sa LED PWM patch pagtatangka upang gumawa ng isang paghatol sa kung magkano ang lakas ng baterya ay magagamit pa rin, at bawasan ang LED intensity habang ang baterya ay naubos.

Hakbang 4: Lumilikha ng Mga Pasadyang Patches Mula sa XOD Core Library

Lumilikha ng Pasadyang Mga Patch Mula sa XOD Core Library
Lumilikha ng Pasadyang Mga Patch Mula sa XOD Core Library
Lumilikha ng Pasadyang Mga Patch Mula sa XOD Core Library
Lumilikha ng Pasadyang Mga Patch Mula sa XOD Core Library

Maraming mga pasadyang patch node ang ginamit para sa disenyo na ito, na ang ilan ay maaaring madaling maitayo nang buo mula sa kasama na mga node ng XOD, at ang ilan ay ipinatupad sa C ++.

Ang una sa dalawang pasadyang mga node ng patch sa mga larawan ng isang pagpapatupad ng isang exponential na paglipat-average na filter. Ito ay isang low-overhead low-pass digital filter na ginamit sa serye sa sketch, isang beses upang salain ang papasok na boltahe ng solar panel para sa core ng lohika, at minsan pa upang pakainin ang gatilyo na tumutukoy sa pang-matagalang pag-iilaw sa paligid. Tingnan ang entry sa Wikipedia sa exponential smoothing.

Ang istraktura ng node sa imahe ay isang direktang grapikong representasyon lamang ng pag-andar ng paglipat sa artikulo, na konektado nang magkasama gamit ang mga link mula sa mga naaangkop na input sa mga output. Mayroong isang defer node mula sa silid-aklatan na nagpapahintulot sa isang feedback loop na malikha (babalaan ka ng XOD kung lumikha ka ng isang loop ng feedback nang hindi pinapasok ang isang pagkaantala sa loop, tulad ng inilarawan sa modelo ng pagpapatupad ng XOD.) Sa detalyeng iyon ay inalagaan ang gumagana nang maayos ang patch, simple lang iyon.

Ang pangalawang pasadyang patch node ay isang pagkakaiba-iba sa stock flip-flop na kasama ng XOD, na pinakain ng na-filter na boltahe ng panel. Ito ay latches mataas o mababa depende sa kung ang input signal ay nasa itaas o sa ibaba ng isang tiyak na threshold. Ginagamit ang mga node ng cast upang mai-convert ang mga halaga ng output ng Boolean sa uri ng data ng pulso upang ma-trigger ang flip flop, habang ang paglipat ng estado mula mababa hanggang mataas. Ang disenyo ng patch node na ito ay dapat na sana ay medyo nagpapaliwanag mula sa screenshot.

Hakbang 5: Lumilikha ng Mga Pasadyang Patches Gamit ang C ++

Lumilikha ng Mga Pasadyang Patches Gamit ang C ++
Lumilikha ng Mga Pasadyang Patches Gamit ang C ++

Para sa mga espesyal na kinakailangan kung saan kinakailangan ang pag-andar ng node ay magiging masyadong kumplikado upang madaling mailarawan ang grapiko, o kung saan umaasa sa mga library ng Arduino na hindi katutubong sa stock na Arduino na kapaligiran, ginagawang madali ng XOD para sa mga may ilang kaalaman sa C / C ++ na magsulat ng mga sukat na sukat ng code na maaaring maisama sa isang patch na kapareho ng anumang iba pang nilikha ng gumagamit o stock node. Ang pagpili ng "lumikha ng isang bagong patch" mula sa menu ng file ay lumilikha ng isang blangko sheet upang gumana, at ang mga input at output node ay maaaring ma-drag mula sa seksyong "node" ng pangunahing aklatan. Pagkatapos ang "hindi-ipinatupad-sa-xod" na node ay maaaring ma-drag, at kapag na-click ay magdadala ito ng isang text editor kung saan ang kinakailangang pagpapaandar ay maaaring ipatupad sa C ++. Paano hawakan ang panloob na estado at pag-access sa mga input at output port mula sa C ++ code ay sakop dito.

Bilang isang halimbawa ng pagpapatupad ng mga pasadyang patch sa C ++, ginagamit ang dalawang karagdagang pasadyang mga patch para sa core ng driver para sa paglalagay ng isang pagtatantya ng boltahe ng suplay ng core ng driver at temperatura ng pangunahing temperatura. Kasabay ng malabo na network nito pinapayagan nito ang isang magaspang na pagtatantya ng natitirang lakas ng baterya na magagamit upang mapagana ang mga LED kapag madilim.

Ang patch ng sensor ng temperatura ay pinapakain din ng output ng supply boltahe sensor upang makakuha ng isang mas mahusay na pagtatantya - ang sensing core na temperatura ay nagbibigay-daan sa amin upang makakuha ng isang magaspang na pagtatantya ng kung magkano ang kapangyarihan ay sinusunog sa mga LED, at isinama sa pagbasa ng boltahe ng supply kapag tumatakbo sa baterya ng isang karagdagang magaspang na pagtatantya ng kung magkano ang natitirang lakas ng baterya. Hindi ito kailangang maging sobrang tumpak; kung ang pangunahing "alam" na ang mga LED ay gumuhit ng maraming kasalukuyang ngunit ang boltahe ng baterya ay mabilis na bumabagsak marahil ay ligtas na sabihin na ang lakas ng baterya ay hindi magtatagal nang mas matagal, at oras na upang patayin ang lampara.

Hakbang 6: Konstruksiyon

Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon

Itinayo ko ang proyekto sa isang maliit na piraso ng prototyping board na may mga tanso na tanso para sa mga bahagi na butas. Ang paggamit ng mga socket para sa mga IC ay nakakatulong nang malaki para sa pag-program / pagbabago / pagsubok; ang USBTiny ISP mula sa Sparkfun ay may katulad na socket sa board nito kaya ang pagprograma sa dalawang chips ay binubuo lamang ng paglalagay ng programmer sa isang PC USB port, pag-upload ng transaksyon na XOD code mula sa kasama na mga Arduino.ino file na may naaangkop na mga setting ng board at programmer, at pagkatapos ay dahan-dahang alisin ang mga chips mula sa socket ng programmer at ipasok ang mga ito sa mga protoboard socket.

Ang module ng boost converter na batay sa Pololu TPS6120 ay dumating sa isang riser board na solder sa protoboard sa mga header ng pin, kaya posible na makatipid ng puwang sa pamamagitan ng pag-mount ng ilang mga sangkap sa ilalim. Sa aking prototype inilagay ko ang dalawang 4.7k na pullup resistors sa ilalim. Kinakailangan ang mga ito para sa i2c bus sa pagitan ng mga chips upang gumana nang tama - ang komunikasyon ay hindi gagana nang tama nang wala sila! Sa kanang bahagi ng pisara ay ang input jack para sa plug ng solar panel at ang input capacitor ng imbakan. Mahusay na subukang ikonekta ang jack at ang cap na ito nang direkta na magkasama sa pamamagitan ng "pagpapatakbo" ng panghinang, hindi wire ng hookup, upang makakuha ng mababang resistensya sa isang landas hangga't maaari. Ang pagpapatakbo ng solidong solder ay ginagamit pagkatapos upang ikonekta ang positibong terminal ng imbakan ng kapasitor nang direkta sa input voltage terminal ng boost module, at ang ground pin ng boost module na direkta sa ground pin ng jack.

Sa kanan at kaliwa ng mga socket para sa dalawang ATTinys ay 0.1uF despike / deglitching capacitors. Ang mga sangkap na ito ay mahalaga din na huwag iwanan, at dapat na konektado sa lakas ng IC at mga pin ng lupa sa pamamagitan ng maikli at magdirekta ng isang landas hangga't maaari. Ang 10 ohm kasalukuyang sense resistor ay nasa kaliwa, ito ay konektado sa linya kasama ang output mula sa boost converter at ang bawat panig ay konektado sa isang sensor core input pin - ang mga pin na ito ay naka-set up upang gumana bilang isang kaugalian ADC upang hindi direktang masukat ang kasalukuyang sa baterya. Ang mga koneksyon sa pagitan ng mga IC pin para sa i2c bus at sa boost converter shutdown pin, atbp ay maaaring gawin gamit ang hookup wire sa ilalim ng protoboard, ang napaka manipis na solid-core hookup wire ay mahusay para dito. Ginagawa nitong mas madali ang mga pagbabago at mukhang mas malinis din kaysa sa pagpapatakbo ng mga jumper sa pagitan ng mga butas sa itaas.

Ang LED module na ginamit ko ay isang tri-color RGB unit, ang plano ko ay aktibo ang lahat ng tatlong LEDs upang makabuo ng puti nang halos buong singil ang baterya, at dahan-dahang mawala ang asul na LED sa dilaw habang naubos ang singil. Ngunit ang tampok na ito ay hindi pa maipapatupad. Ang isang solong puting LED na may isang kasalukuyang-nililimitahan na risistor ay gagana OK din.

Hakbang 7: Pagsubok, Bahagi 1

Pagsubok, Bahagi 1
Pagsubok, Bahagi 1

Pagkatapos ng programa sa parehong mga ATTiny IC na may kasamang mga sketch file sa pamamagitan ng USB programmer mula sa Arduino na kapaligiran makakatulong itong subukan na ang dalawang mga core sa prototype ay gumagana nang maayos bago subukan na singilin ang baterya mula sa solar panel. Sa isip na ito ay nangangailangan ng isang pangunahing oscillscope, multimeter, at bench power supply.

Ang unang bagay na suriin ay walang mga maikling circuit sa kahit saan sa board bago ang pag-plug sa mga IC, baterya, at panel sa kanilang mga socket upang maiwasan ang posibleng pinsala! Ang pinakamadaling paraan upang gawin ito ay ang paggamit ng isang bench power supply na maaaring limitahan ang kasalukuyang output sa isang ligtas na halaga sa kaso ng sitwasyong iyon. Ginamit ko ang aking bench supply set sa 3 volts at 100 mA limit na konektado sa mga solar panel input jack terminal sa mga positibo at negatibong lead ng power supply. Walang iba kundi ang mga naka-install na passive na bahagi, dapat mayroong mahalagang walang kasalukuyang gumuhit na nakarehistro sa kasalukuyang monitor ng power supply upang pag-usapan. Kung mayroong makabuluhang kasalukuyang daloy, o ang supply ay napupunta sa kasalukuyang nililimitahan, may isang bagay na nagkamali at dapat suriin ang board upang matiyak na walang mga miswired na koneksyon o capacitor na may baligtad na polarity.

Ang susunod na hakbang ay upang matiyak na gumagana nang tama ang boost converter. Mayroong isang tornilyo-potensyomiter sa pisara, na konektado pa rin ang suplay ng kuryente at ang apat na mga pin ng converter ay konektado nang naaangkop na potensyomiter ay dapat na i-on sa isang maliit na tip ng birador hanggang sa ang boltahe sa output terminal ng module ay magbasa sa paligid ng 3.8 hanggang 3.9 volts. Ang halagang DC na ito ay hindi magbabago sa panahon ng pagpapatakbo, makokontrol ng core ng driver ang average na boltahe ng output sa pamamagitan ng pag-pulso ng shutdown pin ng module.

Hakbang 8: Pagsubok, Bahagi 2

Pagsubok, Bahagi 2
Pagsubok, Bahagi 2
Pagsubok, Bahagi 2
Pagsubok, Bahagi 2

Susunod na bagay na suriin ay ang i2c communicaton ay gumagana OK, sa board na tumatakbo sa bench power ang sensor core IC ay maaaring mai-install. Sa isang oscilloscope dapat mayroong mga signal ng pulso sa parehong pin 5 at pin 7 ng pisikal na maliit na tilad, ang driver ng i2c na ito sa chip na nagtatangkang magpadala ng data sa buddy nito. Matapos i-shut down ang driver core ay maaaring mai-install at ang koneksyon ay naka-check sa isang oscilloscope muli, dapat mayroong isang mas malaking pagkakasunud-sunod ng pulses visibile sa magkabilang linya. Nangangahulugan ito na ang mga chips ay nakikipag-usap nang tama.

Nakakatulong na magkaroon ng bahagyang singilin ang baterya para sa pangwakas na buong pagsubok. Maaari ring magamit ang supply ng bench upang magawa ito, na may kasalukuyang limitasyon na nakatakda sa halos 50 mA at ang boltahe ay nasa 3.8 volts pa rin, naiwan nang direktang nakakonekta ang baterya ng LiPo ng ilang minuto.

Ang pangwakas na hakbang ay upang subukan ang buong system - kasama ang lahat kung nakakonekta kung ang panel ay natatakpan ng sampu o 15 segundo ang ilaw ay dapat na ma-drive sa pamamagitan ng output ng PWM ng driver core. Gamit ang panel sa maliwanag na sikat ng araw, dapat mag-charge ang baterya mula sa output ng boost converter. Ang malabo na network ng lohika ay maaaring hindi direktang masuri upang makita kung gumagana ito nang tama sa pamamagitan ng pagtingin sa linya ng PWM na nagmamaneho ng shutdown pin ng boost converter; habang ang pag-iilaw ay tumataas sa baterya na may mababang estado ng pagsingil ang lapad ng pulso ay dapat na tumaas, na ipinapakita na mas maraming lakas ang magagamit mula sa sikat ng araw, ang core ng driver ay sumisenyas na mas maraming kuryente ang ipinapadala sa baterya!

Hakbang 9: Appendix sa Fuzzy Logic

Apendiks sa Fuzzy Logic
Apendiks sa Fuzzy Logic

Ang malabo na lohika ay isang diskarte sa pag-aaral ng makina na maaaring magamit sa pagkontrol ng mga system ng hardware kung saan walang katiyakan sa marami sa mga parameter ng system na kinokontrol, na gumagawa ng isang malinaw na input sa output control solution para sa layunin na mahirap isulat ang matematika. Ito ay nagagawa sa pamamagitan ng paggamit ng mga lohikal na halagang nasa pagitan ng 0 (maling) at 1 (totoo), na nagpapahayag ng kawalan ng katiyakan sa isang halagang katulad ng paraan ng isang tao ("karamihan totoo" o "hindi talaga totoo") at pinapayagan ang isang kulay-abo na lugar sa pagitan ng mga pahayag na 100% totoo at 100% hindi totoo. Ang paraan na ito ay nagagawa ay sa pamamagitan ng unang pagkuha ng mga sample ng mga variable ng pag-input kung saan kailangang ibase ang isang desisyon at "pasinguhin" ang mga ito.

Ang puso ng anumang malabo na sistema ng lohika ay isang "malabo na naiugnay na memorya." Ito ay nakapagpapaalala ng isang matrix, kung saan sa kaso ng baterya ng singilin ang baterya isang 3x3 na hanay ng mga halagang nasa pagitan ng 0 at 1 ay nakaimbak. Ang mga halaga sa matrix ay maaaring maiugnay sa kung paano ang dahilan ng isang tao tungkol sa kung ano ang dapat na kadahilanan ng PWM na pagkontrol sa SHTDN pin ng boost converter, depende sa kung paano kwalipikado ang pagpapaandar ng membership sa itaas ng isang naibigay na hanay ng mga input. Halimbawa kung ang boltahe ng pag-input ng panel ay mataas, ngunit ang kasalukuyang iginuhit sa baterya ay mababa, maaaring nangangahulugan ito na mas maraming lakas ang maaaring iguhit at ang setting ng PWM ay hindi optimal at dapat dagdagan. Sa kabaligtaran, kung ang boltahe ng panel ay bumaba ngunit ang charger ay sumusubok pa rin na itulak ang isang malaking kasalukuyang sa lakas ng baterya ay masasayang din, kaya't pinakamahusay na bawasan ang signal ng PWM sa boost converter. Kapag ang mga input signal ay "fuzzified" sa isang malabo na hanay, pinarami ng mga halagang ito, katulad ng paraan ng pag-multiply ng isang vector ng isang matrix, upang makabuo ng isang nabagong hanay na kinatawan ng kung gaano kalaki ang nilalaman ng "kaalaman" na naglalaman ng cell ng matrix ay dapat na factored sa panghuling pag-andar ng kumbinasyon.

Gamit ang node na "hindi ipinatupad-in-xod" na nagpapahintulot sa mga node ng XOD na nagpapatupad ng pasadyang pagpapaandar na masyadong kumplikado upang maging makatuwiran na gawin mula sa mga stock building block, at isang maliit na style na Arduino na C ++, ang associate memory, weighting function, at " ang fuzzifier "na katulad ng mga bloke na inilarawan sa sanggunian na ito: https://www.drdobbs.com/cpp/fuzzy-logic-in-c/184408940 ay prangka na gawin, at mas madaling mag-eksperimento.

Inirerekumendang: