Pagkukumpuni Disenyo Muwebles

ATmega. PWM pulse counter. Ikinonekta namin ang Arduino sa metro ng kuryente Arduino project reversible meter na may mga LED indicator

3

Hindi mo lang magagawa ito nang walang interrupt handler, magagawa mo ito sa kaunti o walang software at haharapin ang mas mabilis na mga pulso na posible sa software polling o interrupt counting.

Atmel AVR na karamihan sa mga Arduino ay nakabatay sa counter/timer hardware na direktang bibilangin ang pulso sa input pin. Ang kailangan mo lang gawin ay i-configure ang hardware upang patakbuhin ang counter at basahin ang counter register. Mayroong kaunting komplikasyon para sa 16-bit na mga counter sa isang 8-bit na device, ngunit madali itong madaig. Ang Arduino ay nagko-configure ng mga timer para sa mga operasyon ng PWM bilang default, ngunit ito ay maaaring ma-override gaya ng inilarawan (tingnan ang AVR User's Guide para sa mga detalye) - kailangan mong gumamit ng timer/counter sa CTC mode.

Ang Arduninos based ARM at halos anumang iba pang microcontroller ay magkakaroon ng katulad na hardware; ang ilan ay may higit na kakayahang umangkop upang ang mga pin ay magagamit sa pagbilang ng kagamitan.

Sa AVR mayroon kang 8 at 16 bit na mga counter, kung kailangan mo ng malalaking bilang maaaring kailanganin mong pangasiwaan ang overflow interrupt. Kung regular mong susuriin ang counter, maaari mo itong iproseso nang walang pagkaantala, na makakapag-poll sa mas mabagal at posibleng aperiodic rate kaysa sa input pulse rate sa pamamagitan lamang ng pagboto sa overflow flag bago ang susunod na overflow.

Sa iyong kaso, malamang na kailangan mong basahin ang bilang ng mga pulso sa isang regular na panahon na mas mababa kaysa sa oras kung saan ang counter ay aapaw sa maximum na inaasahang pulse rate. Kaya, halimbawa, kung gumagamit ka ng 8-bit na counter at ang maximum na tibok ng puso ay 1 kHz, kakailanganin mong mag-poll bawat 256/1000 segundo o mas kaunti, ngunit ang pinakamalaking katumpakan ay maaaring makuha sa pamamagitan ng paggawa ng panahong ito hangga't maaari. Kaya halimbawa maaari kang magkaroon ng isang bagay tulad ng sumusunod (ito ay hindi aktwal na code, at isang snippet lamang):

Para sa(;;) ( delayMS(250); frequency = 4 * readCounter() ; )

Isang alternatibong makakakuha ng mas linear na tugon ngunit ang isang hindi tiyak na bilang ay magpo-poll para sa mga overflow at susukatin ang oras na kinakailangan upang mabilang ang isang nakapirming bilang ng mga pulso, at samakatuwid ay tukuyin ang iyong pagsukat mula sa isang punto sa oras para sa isang nakapirming bilang sa halip na bawat bilangin para sa isang nakapirming oras.

Para sa(;;) ( int start = getMillisec() ; while(!counterOVF()) ( // Walang gawin (o isang bagay na kapaki-pakinabang ngunit mabilis) ) int t = getMillisec() - start ; frequency = 256 * t/1000 ; )

0

Maraming salamat sa iyong katanungan. Kung naiintindihan ko nang tama, ang iyong unang ideya ay huwag paganahin ang mga pulso gamit ang hardware, at ang pangalawa ay huwag paganahin ang mga pulso sa lahat ng oras kapag abala ang CPU. Ang problema ay ang aking microcontroller ay ganap na na-load (kaya ang isang simpleng ISR incrementing isang count variable ay hindi gagana) at hindi maaaring polled dahil ito ay may iba pang mga gawain na gawin. At saka, wala na akong anumang mga counter ng hardware. Mayroon bang iba pang mga alternatibo? Narinig ko na posible ito gamit ang mga analog port (umaasa sa pagkakatulad sa PWM). Maraming salamat - manattta Agosto 28 14 2014-08-28 08:16:36

0

Sa parehong mga kaso ang counter ng hardware ang nagbibilang, sa pangalawang halimbawa ang aking poll check para sa overflow flag, ngunit iyon ay para lamang ipakita ang prinsipyo, ito ay hindi isang pangunahing solusyon; maaari rin itong maging isang interrupt handler - ang kalamangan ay nakakakuha ka ng isang interrupt para sa bawat 256 na pulso (ipagpalagay na isang 8 bit counter) kaysa sa bawat pulso, kaya ang interrupt na overhead ay mas mababa. - Clifford Agosto 28 14 2014-08-28 11:10:07

0

Maaari ka lang gumamit ng analog input kung ang output ng sensor ay isang fixed frequency PWM (at nagdagdag ka ng angkop na analog filtering na may cutoff na medyo mas mababa sa frequency na iyon), ngunit ang iyong tanong ay nagpapahiwatig na ito ay isang variable frequency at hindi isang PWM (kung hindi man. paano makakatulong ang pagbibilang ng mga pulso? ). -

Para sa karagdagang gawain

Diagram ng eskematiko

Scheme sa breadboard

tala

    Sa eksperimentong ito, gumagamit kami ng chip sa unang pagkakataon, sa kasong ito ay isang 74HC595 output shift register. Ang mga microcircuits ay kapaki-pakinabang dahil pinapayagan ka nitong malutas ang isang partikular na problema nang hindi nag-iipon ng isang karaniwang circuit sa bawat oras.

    Ang isang output shift register ay nagbibigay-daan sa amin na "i-save" ang mga digital na output sa pamamagitan ng paggamit lamang ng 3 sa halip na 8. Ang isang register cascade ay magbibigay-daan sa amin upang makagawa ng 16, atbp. signal sa pamamagitan ng parehong tatlong pin.

    Bago gamitin ang microcircuit, kailangan mong maingat na pag-aralan ang diagram ng koneksyon nito sa datasheet. Upang maunawaan kung saan mabibilang ang mga binti ng microcircuit, mayroong isang kalahating bilog na bingaw sa isang gilid ng mga ito. Kung ipoposisyon namin ang aming 74HC595 na may bingaw sa kaliwa, ang ilalim na hilera ay magkakaroon ng mga binti 1-8, at ang itaas na hilera ay magkakaroon ng 16-9.

    Sa circuit diagram ng aming eksperimento, ang mga binti ay nakaayos sa ibang pagkakasunud-sunod upang maiwasan ang pagkalito sa mga koneksyon. Ang mga pagtatalaga ng pin ayon sa datasheet ay may label sa loob ng larawan ng microcircuit, ang mga numero ng pin ay nasa labas.

    Alalahanin natin na ang imahe ng tagapagpahiwatig ng pitong-segment ay may label na may mga numero ng mga binti nito at ang kanilang mga sulat sa mga segment.

Sketch

Upang maipadala ang isang piraso ng data na ipapadala sa pamamagitan ng shift register, kailangan nating mag-apply ng LOW sa latch pin (ST cp input ng chip), pagkatapos ay ipadala ang data, at pagkatapos ay ipadala ang HIGH sa latch pin, pagkatapos kung saan ang ipinadala na kumbinasyon ng mataas at mababang antas ng signal.

Upang maglipat ng data ginamit namin ang function shiftOut(dataPin, clockPin, bitOrder, value) . Ang function ay hindi nagbabalik ng anuman, ngunit kailangan itong sabihin bilang mga parameter

  • Arduino pin, na konektado sa DS input ng chip (data pin),

Hindi, ang artikulong ito ay hindi tungkol sa isa pang paraan para linlangin ang kapus-palad na device na ito. Dito ay pag-uusapan natin kung paano gamitin ang Arduino at ang LabView environment para gawing power consumption monitor o kahit ammeter ang iyong metro ng kuryente!


Ang pinakaunang metro ng kuryente ay induction. Ang prinsipyo ng pagpapatakbo nito ay katawa-tawa simple - ito ay mahalagang isang de-koryenteng motor, ang rotor na kung saan ay isang aluminum disk na umiikot sa dial. Ang mas maraming kasalukuyang natupok, mas mabilis na umiikot ang disk. Ang aparato ay purong analog.

Gayunpaman, ngayon, ang mga induction meter ay nawawalan ng lupa, na nagbibigay-daan sa kanilang mas murang mga elektronikong katapat. At isa lang sa ganoong tao ang magiging paksa ng pagsubok:

Ang prinsipyo ng operasyon ay hindi gaanong nagbago - sa kasong ito, ang disk ay pinalitan ng mga electronics, na bumubuo ng mga pulso alinsunod sa dami ng kuryente na natupok. Bilang isang patakaran, sa karamihan ng mga aparato ang mga pulso na ito ay ipinapakita ng isang tagapagpahiwatig ng LED. Alinsunod dito, ang mas mabilis na ilaw na ito ay kumukurap, mas mahalagang kW ang nasusunog.
Bilang karagdagan, sa front panel ng anumang device ay may meter gear ratio A- bilang ng mga pulso bawat 1 kWh. Tulad ng makikita mula sa larawan, ang paksa ng pagsusulit ay may A = 12800. Mula sa impormasyong ito ang mga sumusunod na konklusyon ay maaaring makuha:

Sa bawat pulso, ang metro ay nagtatala ng pagkonsumo na katumbas ng 1/12800 ng 1 kWh. Kung ikinonekta mo ang isang load sa metro at sisimulan lamang ang pagbibilang ng mga pulso, pagkatapos ay madali mong makuha ang dami ng kuryenteng nakonsumo nito (kWh) sa pamamagitan ng paghahati sa bilang ng mga pulso sa ratio ng gear.

Dahil binabago ng indicator ang bilis ng pagkislap nito, posibleng magkaroon ng kaugnayan sa pagitan ng power (kW) at ng oras ng isang metrong pulso, na magbibigay ng data sa power / current.
Hindi namin ilo-load ang artikulo ng mga kalkulasyon, ngunit kung kinakailangan,

nandito na sila

Tunay, ang ratio ng gear ng metro ay isang magandang bagay, dahil alam mo ito maaari mong ipahayag ang parehong kapangyarihan at kasalukuyang:
Gumawa tayo ng isang proporsyon mula sa ating gear ratio (A = 12800 imp/kWh) at ang hindi kilalang gear ratio, na nasa load X at sa panahon ng isang solong pulso (nagpapakurap ng bumbilya):

Narito ang X ay ang hindi kilalang kapangyarihan, at ang t ay ang oras ng isang pulso. Ipinapahayag namin ang hindi kilalang kapangyarihan mula dito at narito:

Kinakalkula ang kasalukuyang gamit ang sumusunod na proporsyon ng mga ratio ng paglipat at mga alon na kilala at hindi alam sa load X.:


Na sa pangkalahatan ay humahantong sa isang magkaparehong formula, ngunit para sa kasalukuyang (kasalukuyan ay sinusukat sa Amperes at ang mga indeks ay nagpapahiwatig ng pagkarga kung saan magaganap ang kasalukuyang ito):

Dito maaari mong mapansin ang isang pitfall - kailangan mong malaman ang kasalukuyang sa isang perpektong pagkarga ng 1 kW. Kung kinakailangan ang mahusay na katumpakan, mas mahusay na sukatin ito sa iyong sarili, at kung hindi, maaari mong humigit-kumulang na kalkulahin ito gamit ang formula (alam ang boltahe at kapangyarihan), ngunit ito ay magiging mas magaspang, dahil ang power factor ay hindi isinasaalang-alang. account.


Kaya, ang lahat ay bumaba sa pagsukat ng oras ng isang salpok (pagkurap ng tagapagpahiwatig). Sa aking pananaliksik ay umasa ako sa napakahusay na proyektong ito. Isang Italyano ang gumawa ng interface para sa power monitoring sa Labview environment at gumawa ng circuit para sa pagsukat ng mga pulso. Ngunit may malaking depekto ang kanyang proyekto - angkop lamang ito para sa mga metro na may gear ratio na 1000 imp/kWh.

Ang itaas na graph ay ang average na kapangyarihan para sa 5 minuto, ang ibaba ay nasa real time. Ang interface ay medyo nababaluktot at madaling mabago upang umangkop sa iyong mga pangangailangan. Kung hindi ka pa nakikitungo sa kapaligiran ng LabView, inirerekumenda kong kilalanin mo.

Upang gumana ang lahat, sapat na upang magdagdag ng isang solong bloke sa algorithm ng programa, alinsunod sa formula sa itaas.

Parang ganito


Mukhang simple, ngunit kailangan mo pa ring isipin ito!

Kaya, kung magpasya ka pa ring ipatupad ang pagsubaybay sa kapangyarihan, mayroong dalawang pagpipilian:

1. Ang iyong metro ay sarado at selyado, kaya huwag paglaruan ito. Nangangahulugan ito na ang mga pulso ay mababasa lamang gamit ang isang photoresistor na tumutugon sa pagkislap ng isang bumbilya. Dapat itong ikabit ng asul na electrical tape sa tapat ng LED indicator sa front panel ng meter.
Ang diagram ay magiging ganito:

Circuit para sa contactless pulse pickup


Inihahambing lamang ng programa ang halaga ng paglaban sa photoresistor at potentiometer. Bukod dito, pinapayagan ka ng huli na itakda ang sensitivity ng naturang sensor upang maiwasan ang mga maling positibo at ayusin sa liwanag ng indicator.

2. Mayroon kang access sa output ng pulso ng counter. Maraming mga modelo ang may output ng pulso na duplicate ang pagkislap ng liwanag. Ginagawa ito upang posible na ikonekta ang aparato sa isang awtomatikong sistema ng accounting. Ito ay isang transistor na bubukas kapag ang indicator ay naka-on at nagsasara kapag ito ay lumabas. Ang direktang pagkonekta dito ay hindi mahirap - nangangailangan lamang ito ng isang pull-up na risistor. Gayunpaman, bago mo gawin ito, siguraduhin na ito ay isang output ng pulso at hindi ibang bagay! (laging may diagram sa pasaporte)

Diagram para sa pagkonekta sa output ng telemetry


Sa aking kaso, ito ay ganap na pag-access, kaya hindi ako masyadong nag-abala. I-install ang LabView at simulan ang pagsukat! Ang lahat ng mga graph ay kumakatawan sa kapangyarihan (W) sa real time.
Ang unang ipinamahagi ay ang mahabang pagtitiis na tsarera. Sinasabi ng takip na ang kapangyarihan nito ay 2.2 kW, ngunit sa paghusga sa pamamagitan ng graph, regular itong kumonsumo lamang ng 1700 W. Tandaan na ang pagkonsumo ay higit o hindi gaanong pare-pareho sa paglipas ng panahon. Nangangahulugan ito na ang elemento ng pag-init (malamang na nichrome) ay napakaliit na nagbabago sa paglaban nito sa buong proseso ng pagkulo.

Ang isang pandikit na baril ay isang ganap na naiibang bagay - ang nakasaad na kapangyarihan ay 20 W. Ito ay kumikilos alinsunod sa mga batas ng pisika - kapag pinainit, ang paglaban ng pampainit ay tumataas, at ang kasalukuyang bumababa nang naaayon. Sinuri ko ito gamit ang isang multimeter at lahat ay maayos.

Lumang radio receiver na "Spring". Dito tumaas ang graph sa simula dahil sa ang katunayan na sinimulan ko ang pagsukat sa panahon ng pulso, na nakaapekto sa data nang naaayon. Ipinapakita ng mga slide sa graph kung paano ko pinihit ang volume knob. Kung gaano ito kalakas, mas kumakain ang radyo.

Isang hammer drill na may nakasaad na kapangyarihan na 700 W. Pinindot ko ang pindutan ng buong paraan, naghintay ng kaunti at pinakawalan ito, ngunit hindi maayos. Malinaw na ipinapakita ng graph ang kasalukuyang surge kapag sinisimulan ang makina. Ito ang dahilan kung bakit kumukurap ang ilaw kapag nagsimulang magmartilyo ang isang mabait na kapitbahay sa paborito niyang dingding.

Ngayon ay dumating ang masayang bahagi. Nagsagawa ako ng isang maliit na eksperimento sa aking lumang laptop, ang resulta nito ay ipinapakita sa larawan:

Ang orange na tuldok ay nagmamarka ng oras kung kailan ako naglunsad ng ilang "mabigat" na programa nang sabay-sabay. Tulad ng nakikita mo, ang mga graph ng pag-load ng processor at pagtaas ng pagkonsumo ay may isang bagay na karaniwan. Kamakailan lang ay ako

Ang artikulong ito ay naglalaman ng lahat ng data tungkol sa Arduino-based na metro ng kuryente, kabilang ang mga diagram, firmware, mga komento sa mga pagpapabuti sa kasalukuyang bersyon ng firmware at disenyo.

Ito ang hitsura nito sa huli.

Sa una, hinati ko ang lahat ng impormasyon sa isang malaking tumpok ng maliliit na artikulo - na naging dahilan para hindi ito mahanap at ulitin ang device na ito. Itinutuwid ng artikulong ito ang sitwasyong ito.

Bahagi 1. Ideya, disenyo at pag-iisip nang malakas.

Ilang oras na ang nakalipas ay nag-install ako ng two-zone na metro ng kuryente para samantalahin ang mas kanais-nais na taripa sa gabi (50% mula 2300 hanggang 0800). Lumalabas na 45% ng kuryente ang ating kinokonsumo sa gabi. Ngunit ang sagot ay kung paano nangyayari ang pagkonsumo sa mga tuntunin ng mga lugar ng pagkonsumo. Siyempre ang device na ito ay hindi.

Samakatuwid, nagkaroon ng pangangailangan para sa isang mas detalyadong presentasyon ng data ng pagkonsumo. Sa una, napagpasyahan na gumawa ng device na nagpapakita ng sumusunod na data:

  1. Kasalukuyang kapangyarihan ng pagkarga
  2. Pagkonsumo mula sa simula ng araw
  3. Pagkonsumo mula sa simula ng buwan
  4. Porsiyento ng pagkonsumo sa gabi sa %

Dapat ding ipadala ng device, sa isang custom na Internet address, ang data ng pagkonsumo sa huling 24 na oras, sa anyo ng 24 na bilang. Transmission interval - itinakda sa minuto 1...120.

Mga parameter na itinakda sa menu:

  1. Oras sa RTC
  2. Minuto sa RTC
  3. Isang araw sa RTC
  4. Buwan sa RTC
  5. Taon sa RTC
  6. Nagbibilang ng pagitan 1…120
  7. address ng network na nagsasaad ng mga positional na simbolo: "a-z0-9_-/: ". Dapat na naka-highlight ang na-edit na simbolo upang maging malinaw kung ano ang eksaktong ini-edit.

Ang unang bersyon ng device ay gagawin batay sa sumusunod na hanay ng mga module:

  1. (paglilinaw tungkol sa pagkonekta ng indicator sa mega 2560)

Interesado ang device na linawin kung gaano karami ang ginagamit ng workshop, media device, at mga kagamitan sa kusina. Bilang resulta, kailangan mong kumuha ng data sa anyo ng mga graph, sa Internet o sa isang lokal na server ng network ()

Paunang diagram ng koneksyon para sa yunit ng pagsukat.

Hiniram ko ang circuit ng pagsukat ng kapangyarihan at boltahe. Ang average na kapangyarihan ay kinakalkula, at hindi lamang, maraming iba pang mga parameter, tulad ng dalas, power factor. Una kailangan mong mag-ipon ng tulad ng isang maliit na stand para sa pagsukat.

Kumuha ako ng breadboard, maghanap ng angkop na transpormer upang sukatin ang boltahe (nakukuha ko ito mula sa ATX desk), at umalis ako.

UPD. Unit ng pagsukat

Bahagi 2.1 Mga tala sa mga kamangha-manghang tampok ng ENC28J60

Kamangha-manghang bagay. Ngayon nagsimula akong maghukay ng isang module para sa pagtatrabaho sa Ethernet para sa "counter" na proyekto. Sino ang magdududa, ito ay masaya, at lahat ay gumana sa huli.

Sa pamamagitan ng koneksyon. Tingnan natin kung saan mahahanap ang interface ng SPI sa Arduino Mega, o sa iyo. Kumonekta tayo. Isinasabit namin ang output ng CS (pagpili ng chip) saanman namin gusto, pagkatapos ay tinukoy nang hiwalay sa pagsisimula ng library. "Isinabit" ko ito sa pin 42, maaaring may iba ka. Ang natitirang MOSI/MISO/SS/OV/3.3V ay konektado sa kaukulang Arduino pin.

Ito ay lumabas na upang mabawasan ang paggamit ng memorya, nagpasya ang developer ng "kahanga-hangang" library ng EtherCard na magpadala ng ilang mga string para sa isang kahilingan sa GET sa memorya ng programa. Iyon ay, isipin na ang isang tiyak na freelance programmer ay biglang nagpasya na gawin ang kanyang sarili bilang isang counter. Para maging matalino ang lahat, nagpasya siyang i-edit ang linya ng URL kung saan ipinapadala ang data. At ginawa ko pa ito ngayon:

At kaya, ikinonekta niya ang silid-aklatan, at iniisip na ngayon ay madali siyang makakagawa ng isang kahilingan sa isang panlabas na server. Pero hindi. Pagkatapos ng lahat, tinukoy niya ang server bilang isang string. At ang isang linya, sa kasamaang-palad, ay hindi memorya ng programa. Arkitektura ng Harvard. Lahat ay nahahati.

Wala, mabilis akong pumunta sa silid-aklatan, natagpuan ang lugar kung saan pinupunan ang kahilingan, ginulo ito, inalis ang lahat ng "hindi kailangan" sa aking opinyon, siyempre. Sa huli lahat ay gumagana nang mahusay.

Nag-attach ako ng isang library at isang halimbawa ng pagtatrabaho sa isang server na gumagana para sa mga string. at hindi lamang para sa mga halaga na hindi mababago sa programa. Kasama ang isang halimbawa -

Habang umuusad ang proyekto, tanging ang problema sa bahagi ng pagsukat ang nananatiling lutasin; lahat ng iba pa ay nalutas na. Ang pinakamahirap na bahagi ng programa ay ang pag-edit ng string ng URL.

Ang tampok na koneksyon ay DHCP lamang, hindi ako magtatakda ng isang static na IP at pumili, lahat ay gumagana nang tama, at hindi na kailangang magdagdag ng pag-andar na hindi ko kailangan.

Bahagi 3. Paunang pag-debug ng software ng metro

Ngayon ko tinkered ng kaunti sa pag-debug ng counter software. Ang katotohanan ay nagkamali akong hindi nag-install ng isang step-down na risistor sa CT sensor at, bilang isang resulta, masyadong maraming boltahe ang tumagos sa input, pati na rin ang sobrang ingay. Itinama ito, nag-solder ng 150 ohms na kahanay sa CT sensor, sa kabuuan ito ay naging mga 100 ohms.

Kinailangan kong bahagyang i-adjust ang coefficients sa program. Inayos ko ito... ayon sa Chinese counter. Pagkatapos ay sa voltmeter. Inilapit ko ito hangga't maaari.

Bilang resulta, ang pagsukat sa pagkonsumo ng EH para sa pagpapakulo ng takure ay nagpakita ng parehong bagay tulad ng sa Chinese wattmeter. Mabuti na, ngunit kailangan mong suriin ito gamit ang pangunahing counter kahit papaano.

Ang titik h pagkatapos ng kW ay hindi magkasya sa display, ngunit dapat mong maunawaan na ito ay naroroon. Ipinapakita ng numero ang pagkonsumo mula sa simula ng kasalukuyang oras. Sa pagtatapos ng oras na ito ay ipinadala sa server at i-reset sa zero. Pagkatapos, malamang na i-reset ko ito isang beses sa isang araw.

Meter software, sa kasalukuyang anyo nito -

Bahagi 4. Paggawa ng unang bahagi ng katawan

Ginawa ko ang kaso ngayon, ang materyal ay kapareho ng huling oras - 11 mm caprolon. Ang pangkabit ay talagang nasa M4 na mga tornilyo sa ulo, noong huling pagkakataon ay mayroong M3 sa lahat ng dako. Ito ay medyo mahina para sa katawan.

Para sa sukat, inilagay ko ang air mouse sa loob.

Ang natitira na lang ay gawin ang front panel, i-secure ang mga module, gumawa ng paggiling para sa USB at 12V power. Sa kaso ng device na ito, marahil ay sapat na ang 0.7A, iyon ay, maaari kang gumamit ng isang bagay na maliit ang laki.

Bahagi 5 Paggawa ng front panel

Bahagi 9. Na-update ang software batay sa mga resulta ng pagpapatakbo ng device

Sa panahon ng operasyon sa loob ng halos isang buwan, napagpasyahan ko na kailangang magdagdag ng paghahatid ng kasalukuyang natupok na kapangyarihan, sa simula ng buwan. Bilang karagdagan, inilipat ko ang web server ng koleksyon sa loob ng aking subnet at huminto sa pagpapadala ng data sa labas. Dahil ang ilan ay hindi nakarating. Kaya, tumaas ang pagiging maaasahan ng pangongolekta ng data. Well, narito ang pinakabagong firmware - .

Upd 2015-09-23. Ngayon ay sumulat ako ng isang interface para sa pagtingin sa data ng pagsubaybay. Kasabay nito, na-optimize ko ang firmware at nakakita ng mga error dito. Itinaas ko ang internal DNS server, ilang minuto lang.

Ipinakita ko lang ang huling 48 oras (nawala ko ang mga istatistika, kaya mas kaunti ang nasa graph) sa anyo ng isang makinis na graph. Ang splash ay ang simula ng pagpapatakbo ng washing machine, ayon sa U - ang presyo sa Hryvnia para sa kasalukuyang oras, na isinasaalang-alang ang taripa sa gabi, siyempre. Sa pamamagitan ng X - petsa/oras.

Ngayon ay maaari mong makita nang kaunti kung ano ang nangyayari. Isang maliit na nuance - Inilagay ko ang lahat sa home network para sa higit na katatagan.

Sumulat ako kanina na sinubukan ko ang isang karaniwang software upang ipakita ang pagkonsumo ng kuryente (emoncms). Isang paradigm at diskarte na hindi ko maintindihan. Doon, isang beses bawat tatlong segundo nagpapadala ito ng data sa server at nagpapakita ng isang bagay. Iba ang ginawa ko - nag-iipon ng data ang device sa loob ng 1 oras, pagkatapos ay ipinapadala ito sa huling 24 na oras. Ang web server ay hindi pa nagsisimula, ito ay isang NAS na may mababang paggamit ng kuryente.

UPD. Ito ay hindi ito ang Internet na mayroon ako, ang aparatong ito kung minsan ay hindi nagpapadala ng data. Hindi malinaw kung ano ang sanhi nito, at mahirap mahuli, kaya pumunta ako sa ibang paraan - sa pamamagitan ng pagkalkula ng mga intermediate na pagbabasa batay sa kasalukuyang rate ng daloy. Nag-crash ito mga 1-2 beses sa isang araw. Ang scheme na ito ay nagpapahintulot sa iyo na tumanggi na mag-imbak ng oras-oras na data sa eeprom, na sa ilang kadahilanan ay hindi rin gumagana nang tama.

UPD. Nakumpleto ko ang kaunting software ng website na nagpapakita ng data. Ngayon ay may boltahe sa oras, oras-oras at pang-araw-araw na gastos.

Iniisip ko ang tungkol sa pag-post ng software sa Github. Siguro. kaya ito ay magiging.