DIN rail Arduino klonas (taisyklės)

4 03 2014

Tęsiant DIN įrenginio aprašymo ciklą liko tik aprašyti kaip apsirašomos ir naudojamos taisyklės.  Taisyklės susies įėjimus su išėjimais, t.y. jos tikrins ar įėjimas tenkina taisyklės reikalavimą ir esant tokiai situacijai padarys išėjimą tokį koks numatytas taisyklėje. Viso yra 16 taisyklių kurias dabar pasakosiu kaip konfigūruoju, tikrinu ir pritaikau esant poreikiui.

Struktūra

Taisyklės turi sekančius laukus:

  • Įėjimas – daviklio adresas kurį stebime. Kuomet įėjimas yra nulinis laikome kad taisykle nesukonfigūruota ir jos tikrinti nereikia;
  • Išėjimas – išėjimas kurį keičiame kuomet įėjimas tenkina taisyklės sąlygas;
  • Įėjimo minimali reikšmė – reikšmė nuo kurios taisyklė tenkinama;
  • Įėjimo maksimali reikšmė – reikšmė iki kurios taisyklė tenkinama;
  • Išėjimo reikšmė – esant teisingai taisyklei nauja išėjimo būsena;

Turime net 16 taisyklių, o tik 8 įėjimus ir 8 išėjimus, ne veltui. Kelios taisyklės gali turėti ne tik tą patį išėjimą, bet skirtingus įėjimus, ar skirtingus įėjimų minimalius ir maksimalius rėžius. Atsiranda galimybė vieną išėjimą valdyti atsižvelgiant į kelis įėjimus, arba dar geriau – išėjimo stiprumą (PWM) valdyti priklausomai nuo įėjimo reikšmės. Apdorojant taisykles jos peržvelgiamos grupėmis pagal išėjimus, taip paeiliui nustatomas galutinis stipriausias išėjimas reikalingas šiam išėjimui.

Apdorojant taisykles programa atlieka tokią seką veikimų (trumpos rodyklės reikškia teigiama atsakymą, o ilgos neigiamą arba veiksmo užbaigimą):

Untitled 1

Lygiai tas pats ką prieš tai paminėjau 😀 Šiaip diagramoje nepaminėjau kad dar į tikrinimų eilė įeina ir praėjusių įėjimų reikšmių tikrinimas kad pamatytume ar pereiname iš vienos būsenos į kitą, bet diagramoje ir be to pakankamai painiavos 🙂

Taisyklių nustatymas programoje

Kaip ir seniau nufilmavau mažą pavyzdinį filmuką. Jame sukonfigūruoju vieną taisyklę, kuri stebi drėgmės sensorių ir jam rodant nuo 38% iki 100% noriu įjungti ventiliatoriaus išėjimą iki 20% PWM. Drėgmę sukeliu pūstelėdamas plaučių turinio, o vėliau laukiu kol drėgmę atsistatys savaime. Filmuke taip pat trumpam parodau išujimų langą kuriame matome dabartinę ventiliatoriaus būsena.

Dabar ruošiu kelis didesnius pavyzdžius kuriuos pateiksiu atskirame įrašę. Tam kartui tiek.


Veiksmai

Information

8 responses

13 03 2014
jarik

Na atrodo labai rimtai 🙂 Tik taip niekur ir neradau kam konkreciai bus naudojama? Sildyti sandeliuka/rusy ar pan. kazkaip neatrodo labai rimtas uzsiemimas 🙂

Beje, dar viena mintis apie valdyma – butu galima ikomponuoti koki wifi, arba taupant lesas, koki radio rysio moduliuka, tuomet padarius kita irenginuka jungiama prie kompo, butu galima visa tai valdyti ir reguliuoti per kompa, kas, manau, butu daug patogiau

14 03 2014
mindogas

Kaip jau minėjau anksčiau, panaudojimo sritys yra fantazijos vaisius. Tu tik sugalvok ką reikia valdyti ir kaip nors sugebėsime šitą įrenginį pritaikyti. Jei ne su standartine mano programa, tai perprogramavus savaip tai tikrai. Gaminti įrenginį vien šildyti/saldyti sandėliuką būtų nerimtas užsiėmimas, o įrenginuką kuris turėtu pritaikymą platesnį – čia jau iššūkis. Dabartinės būsenos įrenginys pilnai gali automatizuoti pvz vonios kambarį (drėgmės, temperatūros, užterštumo, judesio daviklio nuskaitymas ir ventiliatoriaus, apšvietimo, šildymo valdymas), gali valdyti vėjo turbiną (srovės, įtampos, rpm, temperatūros, baterijos talpos nuskaitymas ir tenų, įkroviklio valdymas), gali valdyti saule šildomo vandens sistemą (lauko, kolektoriaus, boilerio temperatūrų nuskaitymas ir siurblio bei voštuvų valdymas) ir tai tik kruopos. Fantazijos reikia, arba aišku konkrečių siekių.

Dabar atnaujintame įrenginuke įkėliau dar ir RTC laikrodį, tad bus galima į taisykles įkelti ir laiko parametrus. Nesenai baigiau su vienu kolega viščiukų perėjimo inkubatoriaus programavimą, tai galiu pilnai teigti kad nuo dabar šį darbą pilnai atliktu ir naujesnis kontroleris.
Tavo minėtas wifi žinoma yra trokštamas visų, bet ar tu bent žinai kiek anas kainuoja? įrenginio kaina šoka tango kuomet pradedi skaičiuoti. Komunikacijai su išore įkėliau RS485 sąsają, tad su ja be problemų bus galima kažkokių protokolų komunikuoti. Jei to maža visada gali prie programavimo Serial interfeiso jungti savo wifi, GSM ar mėlyno danties interfeisus, bet juos reiktu papildomai kažkur apgyvendinti (įrenginio viduje ar atskiroje DIN dėžutėje).
Greitoje ateityje padarysiu pora video įrašų kuriuose parodysiu keletą veikimo pavyzdžių, bet dabar su spinta užsidirbau..

14 03 2014
jarik

Na wifi kaip ir rasiau tikrai brangokas zaislas, bet va pvz koks NRF24L01+ uz baksa tai visai i tema butu 🙂

14 03 2014
mindogas

NRF24L01+ naudoja naudingus portus, tad jei jį naudosime jį turėsime net 4 įėjimus/išėjimus paaukoti.

14 03 2014
Evaldas

dėl pritaikymo dar papildomų įdėjų saulės kolektoriaus valdymas, naminukės aparatas (nesiūlau pijokaut tik idėja teko internete matyti veikiantį), šiltnamio priežiūra (laistymas, temperatūros reguliavimas, apsauga ir t.t.)

14 03 2014
mindogas

Su šiltnamiu geras variantas. Yra žmonių kurie gamino specialiai tam valdiklius valdančius ventiliatorius ir panašiai vien dėl vėdinimo ir temperatūros palaikymo. Tik vat Laikrodis tokiu atveju yra jau būtinas kaip kiaušinius perint.

14 03 2014
Evaldas

Aš mačiau kaip stoglangį darinėja ir laisto. Atidarymo mechanizmas paimtas nuo satelito lėkštės pasukimo ir valdo priklausomai nuo temperatūros, o laistymas, tai įjungia laikrodis. Autorius teigė nenorėjęs daug laiko ir pinigų investuti į daržoves, bet gali mažiau galvoti apie jas.

14 03 2014
mindogas

Vieni kaifą jaučia šiltnamį prižiūrėdami, kiti elektroniką krapštant, bet abu turi namie užaugintų daržovių. Visi laimingi 🙂

Parašykite komentarą

Įveskite savo duomenis žemiau arba prisijunkite per socialinį tinklą:

WordPress.com Logo

Jūs komentuojate naudodamiesi savo WordPress.com paskyra. Atsijungti / Keisti )

Twitter picture

Jūs komentuojate naudodamiesi savo Twitter paskyra. Atsijungti / Keisti )

Facebook photo

Jūs komentuojate naudodamiesi savo Facebook paskyra. Atsijungti / Keisti )

Google+ photo

Jūs komentuojate naudodamiesi savo Google+ paskyra. Atsijungti / Keisti )

Connecting to %s




%d bloggers like this: