f t g m
Copyright 2024 - Custom text here
× kuvaus

Kanalan automaatio, Arduino/Raspberry ja modbus

  • mick
  • Topic Author
  • Visitor
  • Visitor
5 years 6 months ago - 5 years 6 months ago #1112 by mick

Ei ihan suoraan liity nyt tähän aiheeseen, Arduinoon tai Raspberryyn... Tai sen verran että jotakuinkin noille paikkeille on kanalan automaatio ajatuksissa laittaa. Sain siivoiltua tuon keskimmäisen huoneen eli pesuhuoneen. Pukuhuoneesta kannoin puuarkun tuohon, niin onpas mukava lämmittää kiukaasta rakennettavaa lämmitintä sitten tuossa puuarkun päällä istuen :) Paitsi tuo arkku oli 10 senttiä liian pitkä, eikä ovi sopinut enää kiinni! No, ei auttanut kuin lyhentää toisesta päästä. Hyvä tuli :)


Tuossa oli pata, jonka kannoin pois. Saunan puolelta kiuas tilalle. Sauna on siis kanojen koti nyt. Tuohon kiukaalle pitää laittaa rautaa, tiiltä, kiviä yms, niin eiköhän tuon avulla päästä yli pahimmat pakkaset. Vesijohto on alkanut pari vuotta sitten vuotamaan. Pitää ensi kesänä kaivella se esille oletetusta puhkeamispaikasta ja korjata, niin saa vedetkin tulemaan tuonne. Toinen vesijohto mikä tuonne tulee, tulee lähteeltä. Siinä on nähtävästi ollut käsipumppu. Nyt on ajatuksissa kääntää se lähteelle menevä putki kohti pressutallin nurkkaa, koska sinne tulee datakaapelit. Jos ujuttaisi putkea pitkin kaapelit sitten sisälle, tulee just oikeaan paikkaankin!


Infrapunalamppu tuli! 75W polttimolla. Tämä on nyt kytketty jatkoroikalla ja kellokytkimellä. Lähtee päälle aamulla kuudelta, ja sammuu yhdeksän aikoihin. Eipähän häiritse yöllä, koska tuo antaa kuitenkin punaista valoa. Kesäaikaan ei kannata tuota polttaa ollenkaan. Ja syksyllä/keväällä ei sillon kun luukku ulos on auki, eli päiväsaikaan. Ellei sitten rakentele jotain tuulensuojaa tuohon ulkoluukulle. Pitää vielä miettiä mihin tuo lämmitin lopulta sijoitetaan, onko tuossa paras paikka... Ja automaation peräänhän tuo tietenkin tulee!


Siellä se loistaa ja lämmittää :) Ulkoluukku pitää eristää ainakin. Ja siihen tulee tilatieto kytkimet, automaatiolle tieto siis onko luukku auki vai kiinni. Jos tuohon jonkinlaisen eristetyn "putken" kanoille kulkua varten rakentelisi, niin ei tuulikaan kävisi sitten kanalaan


Samalla kun tuli se infrapunalämmitin, niin tuli myös putkipatteri. Eli ylläpitolämmitin. http://joonaslokki.fi.www33.zoner-asiakas.fi/yllapitolammittimet/
Tuo 80W malli, IP55. Mutta suojaritilää en hoksannut ostaa samalla. Ja olis se kyllä jäänyt ostamatta, jos olisin nähnyt hinnan! Kalliimpi kuin itse lämmitin!!!


Pala peltiä, ja kanttikone


Tuollaisen taittelin. Patteri on nyt asennettuna orren alle, koska muuta paikkaa siellä kanalassa ei ollut oikein vapaana. Piti tehdä tuollainen kakkasuoja siis. Ja vähän katiska/minkkiverkkoa vielä ympärille, etteivät kanaparat polta itseään. Vaikkakin luin netistä, että kyllä ne kanat osaa tuota varoa, eli verkko olisi turha. No, laitan, jos saan kivan palan käsiini


Noniin, itse automaatiota jälleen. Arduinon laatikon kanteen reijän tekoa


Liimalla kiinni näyttö siihen äsken tekemääni reikään. Liimalla, että pysyy varmasti ja on tiivis. En halua pölyä tuonne koteloon


Ihan kiva tuli, kun teipillä ympäröin näytön reunat. Olishan tuon voinut tietenkin siistimminkin vielä tehdä. Ehkä seuraavassa päivityksessä :D Hmm, kaippa tuo näyttö tuli laitettua oikeinpäin..? :unsure:

/muokkaus! Muutin otsikkoa, koska tämä projekti koskee kanalaa :)
Last edit: 5 years 6 months ago by mick.

Please Kirjaudu to join the conversation.

  • mick
  • Topic Author
  • Visitor
  • Visitor
5 years 6 months ago #1116 by mick

Noniin, automaatiolaatikko on jo asennettu seinään :) Nyt vain tuon tuosta jakorasialta esim MMJ 5x1,5 johdolla jännitteen, nollan ja suojamaan automaatiolle, ja jää pari johtoa vapaaksi. Toisella johdolla ajattelin kytkeä kanalan valon automaation perään, koska se menee tuon saman rasian kautta. Vielä johdot antureille ja lämmitykselle ainakin :) Ai joo, ja ohjelmointi!

Please Kirjaudu to join the conversation.

  • mick
  • Topic Author
  • Visitor
  • Visitor
5 years 6 months ago - 5 years 5 months ago #1117 by mick
Jahas, pitääpäs alkaa perehtyä ohjelmointiin.

Valojen ohjauksen voisi tehdä hämäräkytkimen avustuksella, mutta se ei nyt toimisi. Haluan että valoja ohjataan ajan perusteella. Tietenkin valojen poltto valoisan aikaan voisi olla estetty..? Kanalassa kuitenkin on ikkuna. Tällä voisi säästää hieman sähkökuluissa.

Ok, eli aloitetaanpas vaikka lämmityksen ohjauksesta.
- Määritellään IO:
*ICSP pinnit LAN-shieldille
*D4 = *, LAN-shield
*D10= *, LAN-shield
*D16= *, päiväpimeää muistibitti
*D17= *, pimeää muistibitti
*D18= out, Hälytys1, kanalan lämpötila liian alhainen
*D19= out, Hälytys2, pesuhuoneen lämpötila liian alhainen
*D20= out, Hälytys3, yö ja luukku jäänyt auki
*D23= in, luukku kiinni
*D24= in, kellokytkin(1=päivä, 0=yö)
*D25= in, valokatkaisija
*D26= out, Rele1 Lämmitys kanala
*D28= out, Rele2 Päivänvalolamppu
*D30= out, Rele3 LISÄlämmitys
*D32= out, Rele4 Lämmitys "pesuhuone"

*A6=out, näyttö SDA
*A7=out, näyttö SCL
*A8= in, ulkolämpötila
*A9= in, valoanturi

Lan-shieldistä huomioita:
Jos lan-shield on painettuna suoraan Arduinon päälle, kytkeytyy kaikki pinnit. Mutta netistä luin, että osa pinneistä aiheuttaa jotain ongelmia, jumiutumista yms. Ja ne pinnit on D11, D12 ja D13. Eli pitänee kytkeä lan-shield johdoilla, niin saa juuri oikeat pinnit kytkettyä. ICSP -pinnit, D4 ja D10, ei muita.


- Luetaan kanalan lämpötila eli analog input 1(?). Inputissa on lämpötilalähetin (pt100 anturi, joka kytketty 0-10V lähettimeen. Lähetin säädetty niin että jännite ei normaali olosuhteissa nouse koskaan yli 5V jännitteen, joten jännitetieto suoraan Arduinon A-inputtiin)
- Jos lämpötila menee alle 12 asteen(olisiko tuo sopiva lämpötila?), niin lämmitys kytkeytyy päälle
- Jos lämpötila menee yli 14 asteen, niin lämmitys kytkeytyy pois päältä
- Jos lämpötila menee alle 10 asteen, niin LISÄlämmitys kytkeytyy päälle
- Jos lämpötila menee yli 12 asteen, niin LISÄlämmitys kytkeytyy pois päältä
- Jos kanalan luukku on auki, estetään LISÄlämmitys
- Jos lämpötila menee alle 8 asteen -> HÄLYTYS esim merkkivalo, ääni?
- Päivävalo lamppu syttyy aamulla kello 8.00, ja sammuu illalla kello 17.00.
- Jos ulkona valoisuus ylittää tietyn arvon, sammutetaan päivävalolamppu
- Jos painetaan valokytkintä, syttyy päivävalolamppu. Esim siivousta yms varten.
- Kanalan lämpötila, pesuhuoneen lämpötila ja ulkolämpötila luetaan ja muutetaan raaka-arvo celsius asteiksi ja kirjoitetaan näytölle
- Näytöllä myös luukun tila (auki/kiinni)
- Lämpötilat MODBUS kautta talosta sisältä luettaviksi
- Luukun tila myös MODBUS luettavaksi
- Hälytys, lämmitysten ja valaistuksen tila MODBUS

Oliskohan se ohjelma pääpiirteittäin siinä? Sitten vain koodiksi muuttamaan :)


www.instructables.com/id/Arduino-MegaEth...-DisplayAdvancedHMI/
zugiduino.wordpress.com/2012/07/11/how-t...ino-ethernet-shield/
Last edit: 5 years 5 months ago by mick.

Please Kirjaudu to join the conversation.

  • mick
  • Topic Author
  • Visitor
  • Visitor
5 years 6 months ago - 5 years 6 months ago #1118 by mick

Huippu kellokytkin pistorasiaan! Ainoa puute, että tämä ei ole tarkoitettu ulkokäyttöön. Auton talvilämmitystä varten minulla on ulkokäyttöön sopiva vastaava, ja sisällä ei ole tälle mitään käyttöä. Joten tämä joutaa ottaa mukaan projektiin :) Digitaalisesti ohjelmoitava kellokytkin siis, jossa 8kpl ohjelmoitavia sekä käynnistysrajoja että pysäytysrajoja. Voi asettaa tietylle viikonpäivälle, tai kaikille viikonpäiville. Tai arkipäiville, tai viikonlopuille. Ja muistaa kelloajan näköjään kesän yli, vaikkei ole pistorasiassa. Kaikenkaikkiaan siis todella näppärä laite!


Siinä avattuna. Hyvin yksinkertainen elektroniikka, ja näyttö näppäimineen näppärästi omana moduulinaan


Helppo homma oli irroittaa. Tarvitsee käyttöjännitteen, esimerkiksi verkkovirta käy mainiosti. Antaa jännitteen niihin johtoihin, mihin se normaalistikin tulisi


Ongelma on, että en halua tuosta ulos verkkojännitettä vaan pelkän kärkitiedon kelloajan perusteella. Arduinon +5VDC jännite menee siis kärkien kautta. Siksi liitin tuohon pakettiin 230VAC releen. Releen kärkitiedon saa mustan ja punaisen johdon kautta("sokeripala"). Ja paketoin koko systeemin ensin kuumaliimalla ja vielä sähköteipillä näppäräksi paketiksi. Sähköiskun vaaraa ei siis ole. Ja koko paketti sijoitetaan vielä asennuskotelon sisälle. Verkkojännite tuohon toiseen liitinrimaan, jossa paksummat johdot


Siinä toiminnassa

Ok, se siitä, mutta mitä tuolla on tarkoitus tehdä? Tuo on toinen vaihtoehto, toinen on käyttää real time clock -moduulia(eBay, hinta alle 1eur). Mutta tämä oli jo valmiiksi minulla, ja käyttämättömänä jo vuosia lojunut hyllyssä. Eli tavalla tai toisella tarkoitus kertoa Arduinolle, mitä vuorokauden aikaa tässä eletään. Ja nimenomaan valaistuksen ohjaukseen tulee.

Ajattelet: tuon kellokytkimen olisi voinut tietenkin laittaa myös suoraan valoille! Kyllä, näin on, mutta Arduinon kautta saan helposti varsinaisen valokytkimen viriteltyä vielä toimintaan. Eli jos tulee tarve valolle valaistusajan ulkopuolella, sen kun kytkee napista valot päälle. Ja kyllä, tämänkin olisi voinut viritellä jossain määrin tuon pelkän kellokytkimen kanssa, mutta siihen olisi pitänyt värkätä sähköjä jo hieman enemmän... Ja pitänyt asentaa pistorasiaa yms... Ei, näin minä haluan tämän tehdä :D
Last edit: 5 years 6 months ago by mick.

Please Kirjaudu to join the conversation.

  • mick
  • Topic Author
  • Visitor
  • Visitor
5 years 6 months ago #1120 by mick

Relekortti piti vielä kytkeä. Helppo homma :) Sopiva kaapeli, toisessa päässä piikit, toisessa reijät. Mustan johdon erotin toisesta päästä liittimestä, niin saa relekortille maan näppärästi sen kautta. Lisäksi vain jännitejohto, eli +5VDC punaisella johdolla. Pitäisi tuo johto vielä juottaa, kun ei ollut vapaata 5 voltin liitintä enää Arduinolla ja joutui toisesta johdosta ryöstämään jännitteen


Releitten ohjauspinnit ei mene numerojärjestyksessä, vaan on näemmä 26, 28, 30 ja 32. Ja rikottu liitin näkyy, musta erotettu siis tuosta...


Tuonne ylänurkkaan sopii se rakentamani kellokytkin näppärästi, kun vain keksin jonkin telineen sille


Joutas tulla jo ne lämpöanturit ja lähettimet, että saa tämän paketin tekemäänkin jotain

Please Kirjaudu to join the conversation.

  • mick
  • Topic Author
  • Visitor
  • Visitor
5 years 6 months ago - 5 years 6 months ago #1121 by mick
Projekti pysähtyi raudan osalta, kun odottelen PT100 antureiden ja jännitelähettimien saapumista. Ihan muita osia etsiessäni vastaan tuli joskus vuosia sitten tilaamani osat. Ovat vielä antistaattisissa suojapusseissaan, osissa lukee "Keyes 135047". Google osasi kertoa, että nämä voisi olla DX:stä tilattuja digitaalisia lämpöantureita! Kappas vain, en edes muistanut että olen tuollaisia joskus tilannut! Pitääpäs tutkia miten nämä toimii.
https://www.dx.com/fi/p/ds18b20-digital-temperature-sensor-module-for-arduino-55-125-c-135047#.W7zht_loTIU
Jotain sain DX:n sivulta lurkittua:
-55°C - +125°C +/-0,5°C tarkkuus
Dallas DS18B20 eli onewire piirillä
pull-down vastus ja LED samalla piirillä. Ledistä näkee kun Ardu lukee lämpötilaa.
Kirjastot löytyy tuolta, ja vähän muutakin tietoa: www.pjrc.com/teensy/td_libs_OneWire.html
Datalehti: datasheets.maximintegrated.com/en/ds/DS18B20.pdf
tkkrlab.nl/wiki/Arduino_KY-001_Temperature_sensor_module

Jostain luin että tuossa ei ole merkintöjä pinneillä, mikä on maa, mikä signaali tai jännite. Keskipinni on kuitenkin jännite, selvisi yhdestä noista linkeistä. Ei ole nyt itse anturi käsillä, enkä muista oliko siinä TO-92 lutikka, vai 8 jalkainen DS18B20Z tai DS18B20U piiri... Datalehden mukaan TO-92 vasemmanpuolimmainen on maa, DS18B20Z piirissä vitosjalka ja DS18B20U piirissä nelosjalka. Siitä vain mittaamaan mille pinnille se maa menee. Signaalijohtimeksi jää se viimeinen pinni.
Last edit: 5 years 6 months ago by mick.

Please Kirjaudu to join the conversation.

Time to create page: 0.169 seconds