Tee-se-itse tuulimittarin kytkentäkaavio. Kotitekoinen tuulimittari tuulen nopeuden mittaamiseen. PC-ohjelmisto

Anemometri on laite tuulen nopeuden mittaamiseen. Klassinen kupillinen tuulimittari on puhtaasti mekaaninen instrumentti, joka pystyy mittaamaan tuulen nopeudet välillä 2-20 m/s. Tuulimittari yksinkertaisesti laskee juoksupyörän kierrosten määrän. Tuulen nopeuden määrittämiseksi on tarpeen mitata kierrosten lukumäärä tietyn ajanjakson aikana, esimerkiksi 30 s, ja laskea sitten jakojen määrä, jonka tuulimittarin neula kulkee 1 sekunnissa. Sen jälkeen tuulen nopeuden määrittämiseksi sinun tulee käyttää kuvaajaa.

Helpoin on suunnitella sen analogi, joka perustuu pienitehoiseen sähkömoottoriin, esimerkiksi DM-03-3AM 3 91, joka toimii generaattorina. Neliteräinen tuulimittarin juoksupyörä otettiin valmiiksi, ostettiin Aliexpressistä noin 1 dollarilla.

Juoksupyörän halkaisija on 10 cm ja korkeus 6 cm.

Sähkömoottori sijaitsee kylmähitsaussäiliöstä tehdyssä kotelossa, jonka kanteen on leikattu reikä sähkömoottorin akselille ja moottorista lähteville johtimille.

Schottky-diodeihin 1N5817 koottu diodisilta VD1 on kytketty sähkömoottoriin. Diodisillan lähtöön on kytketty elektrolyyttikondensaattori C1 1000 uF x 16 V.

Anemometrin kytkentäkaavio

Schottky-diodit valitaan siksi, että juoksupyörän pyörimisnopeus normaaleissa olosuhteissa (jos hurrikaania ei ole) ei ole kovin korkea. Noin 6 m/s tuulen nopeudella laitteen lähtöön ilmestyy jännite noin 0,5 V. Tällaisissa olosuhteissa on järkevää minimoida kaikkien piirielementtien häviöt. Samasta syystä liitäntäjohtoina käytetään poikkileikkaukseltaan liian suuria johtimia.

Tasasuuntaajan liittimiin voidaan kytkeä mikä tahansa 2 V DC volttimittari.Yleismittari hoitaa tehtävänsä erinomaisesti. Vaikka erillisen osoitinlaitteen avulla voit kalibroida asteikon suoraan tuulen nopeudessa.

Koska laitetta oli tarkoitus käyttää kadulla, diodisilta täytettiin epoksihartsi. Kuten kävi ilmi, kondensaattori otettiin liian tilavaksi, jotta laite ei pysty havaitsemaan nopeita jännitehäviöitä ja vastaavasti tuulenpuuskia. Arvostellut: Denev.

DIY tuulen nopeusmittari

Tehtävänä oli koota yhteen projektiin tuulimittari niin, että USB-liitännän kautta oli mahdollista ottaa dataa tietokoneelle. Artikkeli keskittyy enemmän itse tuulimittariin kuin sen tietojenkäsittelyjärjestelmään:

1. Komponentit

Joten tuotteen valmistukseen tarvittiin seuraavat komponentit:
Mitsumi pallohiiri - 1 kpl.
Ping-pong pallo - 2 kpl.
Oikean kokoinen pleksilasi
Kuparilanka, jonka poikkileikkaus on 2,5 mm2 - 3 cm
Kuulakärkikynä - 1 kpl.
Chupa Chups karkkitikku - 1 kpl.
Kaapelipidike - 1 kpl.
Ontto messinkitynnyri 1 kpl.

2. Juoksupyörän valmistus

3 kappaletta kuparilankaa, kukin 1 cm pitkä 120 asteen kulmassa, juotettiin messinkitynnyriin. Tynnyrin reikään juotin kiinalaisen soittimen telineen, jonka päässä oli lanka.

Leikkasin karamellisesta putken kolmeen osaan, noin 2 cm pitkäksi.

Leikkasin 2 palloa kahtia ja käyttämällä saman soittimen pieniä ruuveja ja polystyreeniliimaa (liimapistoolilla) kiinnitin pallon puolikkaat tikkariputkiin.

Laitoin putket pallon puolikkaineen juotettujen lankapalojen päälle ja kiinnitin kaiken päälle liimalla.

3. Pääosan valmistus

Tuulimittarin laakerielementti on kuulakärkikynästä saatu metallitanko. Tangon alaosaan (johon korkki asetettiin) asetin levyn hiirestä (enkooderista). Itse hiiren suunnittelussa anturin alaosa lepäsi hiiren runkoa vasten muodostaen pistelaakerin, siellä oli rasvaa, joten kooderi kääntyi helposti. Mutta oli tarpeen kiinnittää tangon yläosa, tätä varten otin sopivan muovipalan, jossa oli reikä tarkalleen tangon halkaisijan verran (sellainen pala leikattiin CD-ROMa-vaunun jatkojärjestelmästä). Jäi ongelman ratkominen niin, että enkooderin tanko ei pudonnut pistelaakerista, joten juotin muutama pisara juotetta tangolle suoraan kiinnityselementin eteen. Näin tanko pyöri vapaasti kiinnitysrakenteessa, mutta ei pudonnut ulos laakerista.

Syy siihen, miksi enkooderipiiri valittiin, on seuraava: kaikki kotitekoisia tuulimittareita käsittelevät artikkelit Internetissä kuvasivat niiden valmistusta soittimen, CD-ROM- tai muun tuotteen tasavirtamoottorin perusteella. Tällaisten laitteiden ongelmana on ensinnäkin niiden kalibrointi ja alhainen tarkkuus alhaisilla tuulennopeuksilla ja toiseksi tuulen nopeuden epälineaarinen ominaisuus suhteessa lähtöjännitteeseen, ts. Tietojen siirtämiseksi tietokoneeseen on tiettyjä ongelmia, sinun on laskettava jännitteen tai virran muutoksen laki tuulen nopeudesta. Enkooderia käytettäessä tällaista ongelmaa ei ole, koska riippuvuus on lineaarinen. Tarkkuus on suurin, koska enkooderi antaa noin 50 pulssia per tuulimittarin akselin kierros, mutta muunninpiiri on hieman monimutkaisempi, jossa on mikro-ohjain, joka laskee pulssien määrän sekunnissa yhdellä porteista ja lähdöistä tämä arvo USB-porttiin.

4. Testaus ja kalibrointi

Kalibrointiin käytettiin laboratorion tuulimittaria.


Tekemällä hyvin yksinkertaisen laitteen omin käsin ja käyttämällä tätä sovellusta, saat oikean tuulimittarin tuulen nopeuden tai ilmavirran mittaamiseen ilmastointijärjestelmä. Voit valita tuulimittarin suunnittelun, joka sopii parhaiten tarpeisiisi.

Tuulen nopeuden määritys perustuu magneetin pyörimisnopeuden mittaamiseen puhelimen magnetometrillä. Jokaiselle tuulimittarin mallille määritetään pyörimisnopeuden riippuvuus ilman virtausnopeudesta. Näitä riippuvuuksia voidaan muokata.

Voit parantaa ehdotettuja malleja tai tehdä omia ja kalibroida ne.

Valitse yksiköt (m/s, km/h, ft/s, mph, solmut, Bft, Hz (kierrosta sekunnissa), RPM (kierrosta minuutissa)) tai keskiarvoa ("Avg1" on viimeinen arvo, "Avg3" " ja "Avg7" - keskiarvo) paina seitsemän segmentin näyttöä.

Älä unohda puhelimen koteloa.

"Ulkona" tuulimittari




Jos sinun on mitattava tuulen nopeus ulkona, niin tämä tyyppi sopii tähän parhaiten. Tuulen suunta (siipituulemittari) ei vaikuta muutoksiin eikä voimakas tuulenpuuska puhalla siipipyörää pois ("Sensitive" tuulimittari).

Tekniset tiedot:
Mittausalue 0,5 m/s - 15 m/s.
Tarkkuus 0,5 m/s.


Tuulimittarin valmistamiseksi sinun on leikattava 3 x 3 tuuman (7,6 x 7,6 cm) neliö alumiinipurkista.








Tuloksena olevalle arkille on tehtävä merkintä.




Leikkaa saksilla merkintöihin.




Kiinnitä erittäin huolellisesti haluttu muoto. Jos juoksupyörä ei heti ota haluttua muotoa, se voi kohdistaa reiän tekemisen jälkeen keskelle.










Kaikki terävät kulmat on leikattava pois. Tämä on tehtävä niin, että leikattu kulma ei pääse jonkun silmään.




Juoksupyörä ruuvataan kuulakärkikynän akseliin. Tangon sisähalkaisija voi vaihdella suuresti. Siksi on vaikea kirjoittaa, minkä kokoinen ruuvi sopii. Kuvassa käytetään ruuvia, jonka kierrekoko on 2x6 mm. Ruuvin kannan tulee olla tasainen (vastaan ​​upotettu), koska magneetin on oltava hyvin sen päällä. Pozidriv-ruuvin (PZ) ura on edullinen tällainen paikka tarvitaan tuulimittarin toisessa mallissa.




Ruuvin sijasta voit käyttää hyvin pieniä ruuveja, nauloja tai jopa liimata juoksupyörän ja magneetin purukumi(kumin tulee antaa kuivua). Jos neilikka on hieman vähemmän kuin tarpeen, tee siihen lovet.








Nyt sinun on tehtävä pieni risti 1/2 tuuman (1,2 cm) neliöstä, jossa on pieni sisennys keskellä. Voit käyttää pienempää neliötä, jos esimerkiksi kahvan sisähalkaisija on pienempi.




Risti työnnetään varovasti kahvaan ja työnnetään kokonaan.






Tuulimittari on melkein valmis. Sen pitäisi pyöriä helposti, kun siihen puhaltaa. VAPA TULIS KOSKETA VAIN RISTIIN PALLOLLA (ehkä tätä varten sinun täytyy tehdä rististä hieman pienempi). TÄMÄN TÄMÄN KÄYTTÖKYNÄN TÄYTYY OLLA LÄPINÄKYVÄ.


Nyt sinun on varmistettava, että sauva ei roikku kahvassa. Leikkaa tätä varten tulpan yläosa kerros kerrokselta reiän kokoiseksi, kun tanko pääsee pyörimään vapaasti.






Vielä on kiinnitettävä magneetti ja tuulimittari on valmis. käytetty Neodyymimagneetti koko 4x4x4 mm (isompi neodyymimagneetti ei keskity kunnolla ruuvin päähän ja se on liimattava). Magneetin napojen on oltava radiaalisesti suunnattuja. Toinen magneetti auttaa sinua löytämään kuution navat. Jos sinulla on merkki, muista merkitä se magneetilla.




Jotta siipipyörä ei lennä pois kahvasta voimakkaalla tuulenpuuskalla, voidaan useita kerroksia teippiä kääriä tulpan halkaisijaan asti, joka ei mene reikään. Et voi kelata liikaa kerroksia, jotta kahvaa ei kosketa pyörimisen aikana.




Muun tyyppisiä kahvoja (esim. "Bic Cristal") voidaan käyttää tuulimittarin valmistamiseen.


Irrota pistoke asettamalla veitsen terä kuvan osoittamalla tavalla ja työntämällä.


Tätä kynää varten sinun on käytettävä pienempää ristiä, joka on valmistettu 3/8 tuuman (9 mm) neliöstä.










Käytettävän ruuvin koko on 2,5x6mm (#3) (tai 1,8mm piikkinaula).


Jos et voi ostaa pientä neodyymimagneettia, voit käyttää taulumagneetteja.








Taipuisat magneetit ovat erittäin heikkoja eikä niitä voi käyttää.


Pyörimistaajuuden riippuvuus tuulen nopeudesta:
2 Hz - 1,5 m/s
4 Hz - 2,7 m/s
6 Hz - 3,8 m/s

"Herkkä" tuulimittari


Tekniset tiedot:
Mittausalue 0,5 m/s - 3,5 m/s.
Tarkkuus 0,5 m/s.
Päivitysväli 2-5 sekuntia.


Leikkaa 3 x 2 tuuman (7,6 x 5,1 cm) suorakulmio.






Merkitse kolme suorakulmiota, joiden leveys on 1 tuuma (2,53 cm).






















On erittäin tärkeää käyttää Pozidriv (PZ) -ruuvia. Koska tällaisessa aukossa neula ei kosketa sivuseiniä. Ruuvin pituuden tulee olla mahdollisimman lyhyt, jotta magneetti on mahdollisimman alhaalla. Kuvassa on käytetty 2x6mm ruuvia.


Ruuvin kiristyksen jälkeen "siivet" irrotetaan varovasti ja siipipyörät saavat halutun muodon.










Jotta magneetti pysyisi hyvin ruuvissa, sinun on kiinnitettävä toinen mutteri. Mutta älä väännä sitä.




Neodyymimagneetin (4x4x4 mm) kiinnityksestä johtuen juoksupyörän painopiste nousee ja se muuttuu epävakaaksi neulan päällä. Painopisteen laskemiseksi "siipien" SISÄpuolelle on liimattava painot (käytetään 4 mm:n ruuvin aluslevyjä).


Juoksupyörä voi pyöriä naskalin lisäksi myös ERITTÄIN HYVIN teroitettujen kynien tai kynään kiinnitetyn ompeluneulan päällä. Ompeluneulassa juoksupyörä pyörii parhaiten, mutta tämä vaihtoehto vaatii suurta huolellisuutta, eikä se ERITTÄIN SOVELLE LAPSILLE.




Pyörimistaajuuden riippuvuus tuulen nopeudesta (mekaanisella kynällä 0,5 mm):
1,5 Hz - 1,4 m/s
4 Hz - 2,85 m/s
6 Hz - 3,4 m/s

siipituulemittari


Suunniteltu mittaamaan ilman virtausnopeutta ilmanvaihtojärjestelmissä.

Tekniset tiedot:
Mittausalue 1,75 m/s - 3,0 m/s.
Tarkkuus 0,2 m/s.
Päivitysväli 2-5 sekuntia.

Tämä tuulimittari on valmistettu tuulettimesta, jossa on vierintälaakeri. Voit valita minkä kokoisen tuulettimen tahansa, mutta muista, että mitä pienempi tuuletin on, sitä pienempi on tuulimittarin herkkyys. Se käyttää 80x80x25mm tuuletinta.


Jotta tuuletin pyörii helposti, sinun on vedettävä siitä rengasmagneetti.




Kiinnitysrengasta irrotettaessa on pidettävä sitä käsin, jotta se ei lennä pois eikä katoa.






Rengasmagneetin irrottamiseksi sinun on asetettava tasapäinen ruuvimeisseli sen alle ja käännettävä ruuvimeisseliä hieman. Tämän pitäisi työntää magneettia hieman ulos. Toistamalla tämän toiminnon sinun on nostettava TASAVALTAIN koko magneetti.




Kun magneetti nousee asentoon, jossa sitä ei voi enää nostaa ruuvimeisselillä, on käytettävä ruuvia (4x30(>30) mm).









Nyt tuuletin käy. Ja jos et laita kiinnitysrengasta, tuuletin on helpompi pyörittää, mutta juoksupyörä voi pudota.

Pyörimisnopeuden riippuvuus ilman virtausnopeudesta:
4 Hz - 1,85 m/s
6 Hz - 2,3 m/s
8 Hz - 2,55 m/s
12 Hz - 2,7 m/s
18 Hz - 2,8 m/s

Jos jokin on epäselvää, muista kirjoittaa sähköpostia.

Ilmavirran nopeutta mittaavan laitteen valmistukseen tarvitaan improvisoituja keinoja. Esimerkiksi muovisten pääsiäismunien puolikkaita voidaan käyttää tuulimittarin terinä. Tarvitset myös kompaktin kestomagneettiharjattoman moottorin. Tärkeintä on, että moottorin akselin laakerien vastus on minimaalinen. Tämä vaatimus johtuu siitä, että tuuli voi olla erittäin heikko, ja sitten moottorin akseli ei yksinkertaisesti käänny. Tuulimittarin luomiseen riittää vanhan kiintolevyn moottori.

Suurin vaikeus tuulimittarin kokoamisessa on tehdä tasapainotettu roottori. Moottori on asennettava massiiviselle alustalle, ja sen roottoriin tulee asettaa paksu muovilevy. Sitten muovimunista on leikattava varovasti kolme identtistä pallonpuoliskoa. Ne kiinnitetään levyyn nastoilla tai terästankoilla. Tässä tapauksessa levy on ensin jaettava 120 asteen sektoreihin.

Tasapainotus on suositeltavaa suorittaa huoneessa, jossa ei ole lainkaan tuulen liikkeitä. Tuulimittarin akselin on oltava vaakasuorassa asennossa. Painon säätö tehdään yleensä neulaviiloilla. Asia on siinä, että roottori pysähtyy mihin tahansa asentoon, ei samaan.

Laitteen kalibrointi

Kotitekoinen laite on kalibroitava. Paras tapa kalibroida on käyttää autoa. Mutta jonkinlainen masto tarvitaan, jotta se ei pääse auton luomalle häiriintyneelle ilmalle. Muuten lukemat vääristyvät voimakkaasti.

Kalibrointi tulee suorittaa vain tyyninä päivänä. Silloin prosessi ei viivästy. Jos tuuli puhaltaa, sinun on ajettava tietä pitkin pitkään ja laskettava tuulen nopeuden keskiarvot. Muista, että nopeusmittari mitataan yksikössä km/h ja tuulen nopeus m/s. Niiden välinen suhde on 3,6. Tämä tarkoittaa, että nopeusmittarin lukemat on jaettava tällä numerolla.

Jotkut ihmiset käyttävät ääninauhuria kalibrointiprosessin aikana. Voit yksinkertaisesti sanella nopeusmittarin ja tuulimittarin lukemat elektroniseen laitteeseen. Voit luoda uuden asteikon kotitekoiselle tuulimittarillesi. Vain oikein kalibroidun laitteen avulla saadaan luotettavaa tietoa tuulitilanteesta vaaditulla alueella.

Sääasema on rakennettu Revolution Education Ltd:n Picaxe-mikrokontrolleriin ja koostuu kahdesta pääosasta: ulkoyksikkö, joka lähettää tietonsa 2 sekunnin välein 433 MHz:n lähettimen avulla. Ja sisäyksikkö, joka näyttää vastaanotetut tiedot 20 x 4 LCD-näytöllä sekä ilmanpaineen, joka mitataan paikallisesti sisäyksikössä.

Yritin pitää suunnittelun mahdollisimman yksinkertaisena ja toimivana. Laite kommunikoi tietokoneen kanssa COM-portin kautta. Tällä hetkellä tietokoneelle rakennetaan jatkuvasti kaavioita saaduista arvoista, ja arvot näytetään myös tavanomaisilla indikaattoreilla. Kaaviot ja anturilukemat ovat saatavilla sisäänrakennetulla verkkopalvelimella, kaikki tiedot tallennetaan ja niin edelleen. Voit tarkastella tietoja miltä tahansa ajanjaksolta.

Sääaseman rakentaminen kesti useita kuukausia suunnittelusta valmistumiseen, ja kaiken kaikkiaan olen erittäin tyytyväinen lopputulokseen. Olen erityisen iloinen siitä, että sain rakentaa kaiken alusta alkaen tavallisilla työkaluilla. Se sopii minulle täysin, mutta täydellisyydellä ei ole rajaa, ja tämä pätee erityisesti graafiseen käyttöliittymään. En ole yrittänyt kaupallistaa sääasemaa, mutta jos harkitset sääaseman rakentamista itsellesi, niin tämä on hyvä valinta.

Ulkoiset anturit

Antureilla mitataan lämpötilaa, kosteutta, sademäärää, tuulen suuntaa ja nopeutta. Anturit ovat yhdistelmä mekaanisia ja elektronisia laitteita.

Lämpötila- ja suhteellinen kosteusanturi

Lämpötilan mittaaminen on ehkä helpoin. Tätä varten käytetään DS18B20-anturia. HIH-3610:tä käytettiin mittaamaan kosteutta ja se antoi jännitteen 0,8 - 3,9 V kosteudessa 0 - 100 %

Asensin molemmat anturit pieneen painettu piirilevy. Levy asennetaan kotitekoiseen koteloon, joka estää sateen ja muut ulkoiset tekijät.

Jokaisen anturin yksinkertaistettu koodi on esitetty alla. Tarkempi koodi, joka lukee arvot yhden desimaalin tarkkuudella, näkyy Peter Andersonin verkkosivuilla. Sen koodia käytetään sääaseman lopullisessa versiossa.

Lämpötila-anturin tarkkuus on ± 0,5 °C. Kosteusanturi tarjoaa jopa ± 2 % tarkkuuden, joten sillä ei ole väliä, kuinka monta desimaaleja on käytettävissä!

Esimerkki kaaviosta PC:llä toimivasta ohjelmistosta.

Lämpötila

Main: readtemp B.6, b1 ; lue arvo osaksi b1, jos b1 > 127 sitten neg ; testaa negatiivinen sertxd (#b1, cr, lf) ; lähetä arvo PE-päätteeseen tauko 5000 goto main neg: b1 = b1 - 128 ; säädä neg-arvo sertxt("-") ; lähetä negatiivinen symboli sertxt (#b1, cr, lf) ; lähetä arvo PE-liittimeen tauko 5000 goto main

Kosteus

Pää: readadc B.7,b1 ; lue kosteusarvo b1 = b1 - 41 * 100 / 157 ; vaihda arvoon %RH sertxd (#b1, "%", cr, lf) tauko 5000 ; odota 5 sekuntia pääset päätilaan

Kosteusanturin laskenta

Laskelmat on otettu Honeywell HIH-3610 anturin dokumentaatiosta. Kaavio näyttää standardikäyrän 0 °C:ssa.

Anturin jännite mitataan Picaxe 18M2 -mikrokontrollerin ADC-tulosta (B.7). Yllä esitetyssä koodissa arvo, joka esitetään numerona 0-255 (eli 256 arvoa), on tallennettu b1-muuttujaan.

Piirimme saa virtansa 5 V:sta, joten jokainen ADC-vaihe on:
5/256 = 0,0195 V.

Kaavio näyttää ADC:n 0,8 V:n alkuarvon:
0.8 / 0.0195 = 41

Kun otetaan arvot kaaviosta, kaavion kaltevuus (ottaen huomioon siirtymä) on noin:
Lähtöjännite / % RH tai
(2,65 - 0,8) / 60 = 0,0308 V % RH
(Dokumentaatiossa 0.0306)

Lasketaan ADC-vaiheiden lukumäärä 1 % kosteudelle:
(V per % RH) / (ADC-vaihe)
0.0308 / 0.0195 = 1.57

%RH = ADC-arvo - ADC-poikkeama / (ADC-portaat %RH:ssa) tai
%RH = ADC-arvo - 41 / 1,57

Mikrokontrollerin lopullinen laskentakaava näyttää tältä: %RH = ADC-arvo - 41 * 100/157

Suojaava kotelo

Aloita leikkaamalla jokainen paneeli kahtia. Yhden osan lankut kiinnitetään tiukasti molemmilta puolilta ja toisen osan vain toiselta puolelta. Älä heitä näitä osia pois - ne ovat käytettyjä.

Kiinnitä kaksi kokonaisia ​​osia puiset tangot 20 mm x 20 mm ylhäältä ja alhaalta ja ruuvaa muut osat niihin.

Leikkaa yksi kappaleista, joiden toinen puoli on kokonainen, sopivan kokoiseksi ja liimaa se toisen sivun sisäpuolelle. Varmista, että lankut on liimattu niin, että ne muodostavat "^"-muodon yhdessä. Tee tämä kaikille puolille.

Tuulen nopeus- ja suuntamittari

Mekaaninen

Tuulen nopeus- ja suuntaanturit ovat yhdistelmä mekaanisia ja elektronisia komponentteja. Mekaaninen osa on identtinen molemmissa antureissa.

PVC-putken ja putken yläpäässä olevan ruostumattomasta teräksestä valmistetun kiekon väliin sijoitetaan 12 mm:n vanerilevy (merikerros). Laakeri on liimattu ruostumattomasta teräksestä valmistettuun kiekkoon ja se pysyy paikallaan ruostumattomalla teräslevyllä.

Kun kaikki on koottu ja asennettu, paljaat alueet tiivistetään tiivisteellä vesitiiviyden varmistamiseksi.

Kuvan kolme muuta reikää ovat teriä varten. 80 mm pitkät terät antavat kääntösäteen 95 mm. Kupit halkaisijaltaan 50 mm. Näihin käytin rajattuja Kölnin pulloja, jotka ovat muodoltaan lähes pallomaisia. En ole varma niiden luotettavuudesta, joten tein niistä helposti vaihdettavia.

Elektroninen osa

Tuulennopeusanturin elektroniikka koostuu vain transistorikytkimestä, valodiodista ja kahdesta vastuksesta. Ne on asennettu pienelle pyöreälle piirilevylle, jonka halkaisija on 32 mm. Ne asennetaan vapaasti putkeen niin, että kosteus, jos se pääsee sisään, valuu alas koskematta elektroniikkaan.

Tuulimittari on yksi kolmesta kalibroitavasta anturista (kaksi muuta ovat sademäärälaskuri ja ilmanpaineanturi)

Valodiodi tuottaa kaksi pulssia per kierros. Yksinkertaisessa "sarja"järjestelmässä, jota tavoittelin (kaikki anturit kyselyt vuorotellen), jokaisen anturin kyselyyn käytetyn ajan (tässä tapauksessa pulssien laskentaan) ja järjestelmän reagointikyvyn välillä on oltava kompromissi. kokonaisena. Ihannetapauksessa kaikkien antureiden kyselyn koko sykli ei saa kestää yli 2-3 sekuntia.

Yllä olevassa kuvassa anturin tarkistus säädettävällä moottorilla.

; LCD-kohtaiset komennot näkyvät sinisenä hsersetup B9600_4, %10000 ; Käytä LCD-nastaa 1, ei hseriiniä hserout 0, (13) : tauko 100 ; Alusta LCD hserout 0, (13) : tauko 100 hserout 0, (13) : tauko 100 tauko 500 hserout 0, ("ac1", 13) ; Tyhjennä näytön tauko 50 hserout 0, ("acc", 13) hserout 0, ("ac81", 13, "adcount: ", 13) ; Tulosta otsikot tauko 10 hserout 0, ("ac95", 13, "adpulsin: ", 13) ; Tulosta otsikot tauko 10 do count C.2, 1000, w0 ; Laske pulssit (kaksi per kierros) w1 = 0, kun b8 = 1 - 2 ; Mittaa pulssin pituus kahdesti pulsiini C.2, 1, w2 ; kierrosta kohden ja... w1 = w1 + w2 seuraava w1 = w1 / 2 ; ...laske keskimääräinen hserout 0, ("ac89", 13, "ad", #w0, " ", 13) ;Tulosta laskenta-arvo hserout 0, ("ac9d", 13, "ad", #w1, " ", 13) ;Tulosta pulssin pituusarvon tauko 100 silmukka

Halusin kalibroida sen ajon aikana, mutta siihen ei ollut aikaa. Asun suhteellisen tasaisella alueella muutaman kilometrin päässä lentokentästä, joten kalibroin anturin vertaamalla tuulen nopeuslukemia lentokentän lukemiin.

Jos meillä olisi 100 % tehokkuus ja siivet pyöriisivät tuulen nopeudella, niin:
Roottorin säde = 3,75"
Roottorin halkaisija = 7,5" = 0,625 jalkaa
Roottorin ympärysmitta = 1,9642 jalkaa

1 ft/min = 0,0113636 m/h,
1,9642 ft/min = 1 rpm = 0,02232 m/h
1 m/h = 1 / 0,02232 kierrosta

1 m/h = 44,8 rpm
? m/h = kierros / 44,8
= (rpm * 60) / 44,8

Koska kierrosta kohti on kaksi pulssia
? m/h = (pulssia sekunnissa * 30) / 44,8
= (pulssia sekunnissa) / 448

Tuulen suunta-anturi - mekaaninen osa

Tuulensuunta-anturissa käytetään magneettia alumiinilevyn sijasta ja erityistä AS5040-sirua (magneettinen kooderi) optoelektronisen yksikön sijaan.

Alla olevassa kuvassa on 5 mm:n magneetti, joka on asennettu keskiruuvin päähän. Magneetin kohdistus sirun kanssa on erittäin tärkeää. Magneetin tulee olla tarkasti keskitetty noin 1 mm sirun yläpuolelle. Kun kaikki on kohdistettu tarkasti, anturi toimii oikein.

Tuulen suunta-anturi - elektroninen osa

Tuulen suunnan mittaamiseen on olemassa erilaisia ​​järjestelmiä. Periaatteessa ne koostuvat joko kahdeksasta kielikytkimestä, jotka on sijoitettu 45 asteen välein pyörivän magneetin välein tai täysin pyöritettävästä potentiometristä.

Molemmilla tavoilla on hyvät ja huonot puolensa. Suurin etu on, että ne ovat molemmat helppoja toteuttaa. Haittana on, että ne ovat alttiina kulumiselle - erityisesti potentiometrit. Vaihtoehtona reed-kytkimien käytölle olisi käyttää Hall-anturia mekaanisen kulumisen käsittelyyn, mutta ne on silti rajoitettu 8 eri asentoon... Ihannetapauksessa kokeilisin jotain erilaista ja päätin lopulta pyörivän magneettisen IC-anturin. Vaikka se on pinta-asennuslaite (jota yritän välttää), sillä on useita etuja, jotka tekevät siitä houkuttelevan käytön!

Siinä on useita eri tulostusmuotoja, joista kaksi on tarkoitukseemme sopivinta. Paras tarkkuus saavutetaan SSI-rajapinnalla. AS5040 toimittaa pulsseja 1 µs:sta 0°:ssa 1024 µs:iin 359,6°:ssa

Tuulen suunta-anturin kalibroinnin tarkistus:

Do readadc10 B.3, w0 ;Lue AS5040 magneettilaakerin tauko 100 w0 = w0 * 64 / 182 ; Muunna 0 - 360 (astetta) debug ; Näytä Prog/Edit debug-ikkunasilmukassa

Sademäärä mittari

Mahdollisuuksien mukaan tein sademittarin muovista ja ruostumattomasta teräksestä, pohja 3 mm paksusta alumiinista jäykkyyden vuoksi.

Sademittarissa on kaksi ämpäriä. Kuhunkin astiaan mahtuu jopa 6 ml vettä ennen kuin se siirtää painopistettään, jolloin se kaataa vettä sankoon ja antaa signaalin anturille. Kun kauha kaatuu, alumiinilippu kulkee optisen anturin läpi, joka lähettää signaalin ulkoyksikön elektroniikkaan.

Toistaiseksi olen jättänyt sen läpinäkyviin seiniin (koska sen toimimista on hauska seurata!). Mutta epäilen, että se on maalattava valkoiseksi heijastamaan lämpöä kesällä haihtumisen välttämiseksi. En löytänyt pientä suppiloa, joten minun piti tehdä oma. Kiinnitä huomiota suppilon sisällä ja kourun keskellä olevaan lankaan. Tämä auttaa pysäyttämään suppilossa olevan veden pintajännityksen ja auttaa vettä tippumaan. Ilman lankaa sade pyrkii "pyörtelemään" ja sen liikerata olisi arvaamaton.

Optosensorit lähikuva:

Sademittarin elektroninen osa

Anturin satunnaisen luonteen vuoksi ohjelmistokeskeytys ulkoyksikön MCU:ssa vaikutti loogiselta lähestymistavalta. Valitettavasti jotkut ohjelmakäskyt poistavat keskeytysmekanismin käytöstä, kun niitä suoritetaan. on mahdollista, että signaali ei mene minnekään. Näistä syistä sademittarissa on oma 08M Picaxe -mikro-ohjain.

Erillisen sirun avulla sitä voidaan käyttää luomaan 1 tunnin viive, joka on riittävän tarkka ämpärien laskemiseen tunnissa.

Kalibrointi

Picaxe 18m2 vastaanottaa nykyisen ämpärimäärän tunnissa ja näyttää sen näytöllä ja tietokoneella.

Lähtökohtana käytän seuraavia tietoja:
Suppilon halkaisija 120 mm ja säiliön pinta-ala 11 311 mm2
1 mm sadetta = 11,311 mm3 tai 11,3 ml.
Jokainen ämpäri on 5,65 ml. Näin ollen 2 ämpäriä 2 x 5,65 = 11,3 ml (tai 1 mm) sadetta. Yksi ämpäri = 0,5 mm sadetta.

Vertailun vuoksi ostin halvan sademittarin.

Yllä oleva piiri ja 08M Picaxe -piiri käyttävät samaa piirilevyasettelua anturille. Laite saa virtansa 12V 7Ah akusta 7805 stabilisaattorin kautta.
Käytin RF Connect -sarjaa 433 MHz langattomalle taajuudelle. Sarja sisältää pari erityisesti ohjelmoitua PIC-ohjainta. Langattomien moduulien sarja osoittautui testien aikana varsin luotettavaksi.

PP:hen on asennettu 08M Picaxe ja 18m2. Jokaisella niistä on oma ohjelmointiliitin. Jokaiselle anturille - paitsi lämpötilalle ja kosteudelle - on varattu erilliset liittimet, joista jokaisella on oma +5V.

Huomaa, että piirsin piirustuksen Paintshop Prossa, joten en voi taata nastavälin tarkkuutta.

sisäyksikkö

Sisäyksikkö käyttää 18m2 Picaxea, paineanturia ja LCD-näyttöä. Mukana on myös 5V jännitteensäädin.

Painemittari

Useiden epäonnistuneiden yritysten jälkeen päädyin MPX4115A:han. Vaikka muilla antureilla on hieman suurempi mittausalue, niihin on vaikea päästä käsiksi. Lisäksi muut anturit toimivat yleensä 3,3 V:lla ja vaativat lisäsäätimen. MPX4115A tarjoaa paineeseen verrannollisen analogisen jännitteen 3,79 V - 4,25 V. Vaikka tämä on melkein riittävä resoluutio 1 mbar:n paineenmuutoksen havaitsemiseen, lisäsin keskustelun jälkeen MCP3422 ADC:n. Se voi toimia 16-bittisessä (tai uudemmassa) tilassa verrattuna Picaxen 10-bittiseen tilaan. MCP3422 voidaan kytkeä (kuten piirissämme) differentiaalitilassa anturista tulevan analogisen tulon avulla. Suurin etu on, että tämä mahdollistaa anturin ulostulon korjaamisen, mikä kompensoi helposti MPX4115A-virheet ja tarjoaa helpon tavan kalibroida anturin.

MPC3422:ssa on itse asiassa kaksi differentiaalituloa, mutta koska toista ei käytetä, ne ovat oikosulussa. MCP3422:n lähdössä on I2C-liitäntä, ja se liitetään 18 m2:n Picaxen SDA- ja SCL-nastoihin - nastat B.1 ja B.4. Minun näkökulmastani MCP3422:n käytön ainoa haittapuoli on, että se on pieni pinta-asennuslaite, mutta juotin sen sovittimeen. I2C-liitännän lisäksi MCP3422 18m2 yksinkertaisesti käsittelee 433MHz:n langattomasta vastaanottimesta tulevat tiedot, näyttää tiedot näytöllä ja siirtää tiedot PC:lle. Tietokone ei vastaa sisäyksikön virheiden välttämiseksi, kun tietokone ei toimi. sisäyksikkö siirtää tiedot ja jatkaa eteenpäin. Se lähettää tietoja noin 2 sekunnin välein, jotta tiedon menetys kompensoituu nopeasti seuraavalla kerralla. Käytin 18m2:n käyttämättömiä portteja etupaneelin painikkeen yhdistämiseen. Kytkintä S1 (tulo C.5) käytetään LCD-näytön taustavalon kytkemiseen päälle. Kytkin S2 (tulo C.0) nollaa painearvon (mbar) LCD-näytössä. Kytkin S3 (tulo C.1) vaihtaa LCD-näytöllä näkyvän sademäärän edellisen tunnin ja nykyisen tunnin välillä. Painikkeita on pidettävä painettuna yli 1 sekunnin ajan, jotta ne reagoivat.

Sisäyksikön kokoaminen

Kuten ulkoyksikön piirilevyn kanssa, piirsin layoutin käsin Paintshop Prolla, joten etäisyyksissä saattaa olla virheitä.

Levy on hieman suurempi kuin on tarpeen mahtuakseen alumiinikotelon koloihin.
Tein ohjelmointiliittimen tarkoituksella hieman "sisäänpäin" levyn reunasta, jotta se ei koskettaisi koteloa. LCD-näytön aukko porataan ja leikataan tarkkojen mittojen mukaan.

Kuvassa näkyy kaikki jo asennettuna koteloon.

Levyssä olevat nastat vaikeuttavat sen asentamista koteloon, joten jouduin purkamaan juotosten ja juottamaan näytön johtoihin levyyn.

Ulkoyksikkö - Picaxe-koodi

; =================================================== =============== ; Picaxe-sääaseman ulkoyksikön (lähetin) pääkoodi 18M2 ; Desimaalitarkkuus Kosteus- ja lämpötilarutiinit, ; tekijänoikeus, Peter H Anderson, Baltimore, MD, tammikuu, "04 ; ; =================================== ============================== #Picaxe 18M2 symboli HArvo = w0 Symboli HighWord = w1 Symbol LowWord = w2 Symboli RH10 = w3 Symboli HQuotient = b0 Symboli HFract = b1 Symboli X = b0 Symboli aDig = b1 Symboli TFaktor = b2 Symboli Tc = b3 Symboli SignBit = b4 Symboli TV-arvo = w4 Symboli TQuotient = b10 Symboli TFract = b11 Symboli TempC_100 = w6 Symboli MagDir = w6 = b14-symboli MagDirHi = b15-symboli WindSpeed ​​​​= w8-symboli WindSpeedLo = b16-symboli WindSpeedHi = b17-symboli ThisHour = b18-symboli LastHour = b19-symboli RainRequest = b20-symboli Laitteistosymboli SuuntaRaw = B.7-symboli B = Lämpötila R 3 Symboli Nopeus = B,0 do ;Lue kosteus ReadADC10 HumidRaw, HArvo ;Hae kosteus (HValue) HighWord = 1613 ** HValue ;laske RH LowWord = 1613 * RHarvo RH10 = LowWord / 1024 RH1H = 0 + LowWord RH10 = RH10 - 258 tauko 100 ; Rea d lämpötila Readtemp12 TempRaw, TValue ; Hae lämpötila SignBit = TVarvo / 256 / 128 jos SignBit = 0 niin positiivinen ; Se on negatiivinen, joten TValue = TValue ^ $ffff + 1; ota kaksinkertainen comp positiivinen: TempC_100 = TValue * 6 ; TC = arvo * 0,0625 TValue = TValue * 25 / 100 TempC_100 = TempC_100 + TValue TQuotient = TempC_100 /TFract0 TempC_100 % 100 / 10 X = TQuotient / 10 ; Laske lämpötilan korjauskerroin kosteudelle, jos SignBit = 0 sitten SignBit = " " else SignBit = "-" endif jos SignBit = "-" niin X = 4 - X muuten X = X + 4 endif GoSub TempCorrection ;kompensoi RH osamäärä = RH10 / 10 ;Laske RH osamäärä ja... HFract = RH10 % 10 ;...desimaalipaikka.jos HOsaosa > 99 sitten ;Yli vaihteluvälin H Osamäärä = 99 HOosamäärä, jos HO19 endif = 2 sitten ; Alueen alapuolella HQuotient = 0 HFract = 0 endif ; Lue AS540 magneettinen enkooderi tuulen suunnalle readadc10 DirRaw, MagDir ; Lue AS5040 magneettilaakerin tauko 100 ; Lue rpm tuulen nopeuslaskurista. noin 1 minuutti), pyydä sademittaritiedot yritykseltä 08M inc RainRequest if RainR equest >= 30 sitten korkea C.1 seriini , C.0, N2400, ("r"), LastHour, ThisHour ; Sademittarit matalat C.1 RainRequest = 0 endif ; Lähetä tiedot sisäyksikköön 8 tavun lohkoissa; Ensimmäinen ryhmä ei tarvitse kalibrointia, joten laskelmat tehdään ensin tässä. ; Toinen ryhmä tarvitsee "säätöä" - helpompi tehdä sisäpäässä. serout C.2, N2400, ("t", SignBit, TQuotient, TFract, HQuotient, HFract, "A", "B") tauko 100 serout C.2, N2400, ("m", MagDirHi, MagDirLo, WindSpeedHi, WindSpeedLo, LastHour, ThisHour, "C") silmukan lämpötilakorjaus: Haku X, (87, 89, 91, 93, 95, 97, 99, 101, 103, 106, 108, 110, 113, 116, 21,1 ), TFactor " -40 -30 -20 -10 0 10 20 30 40 50 60 70 80 90 100 110 120 jos TFactor< 100 then aDig = TFactor / 10 RH10 = RH10 * aDig / 10 TFactor = TFactor % 10 aDig = TFactor RH10 = RH10 * aDig / 100 + RH10 else TFactor = TFactor % 100 aDig = TFactor / 10 RH10 = RH10 * aDig / 10 + RH10 TFactor = TFactor % 10 aDig = TFactor RH10 = RH10 * aDig / 100 + RH10 endif return

Käytetty muisti = 295 tavua 2048:sta

Sademäärälaskuri - 08M koodi

#picaxe 08M -symboli ThisHour = b2 ; Tallenna senhetkinen anturin määrä kenttään b2 Symboli LastHour = b3 ; Tallenna edellisten tuntien määrä b3:ssa ; Laitteistomääritykset Symboli DataRequest = pin3 Symboli BucketSensor = pin4 asetus %00010000, %00010000 ; Pin4 on keskeytysnastan pää: varten w0 = 1 - 60000 ; Silmukka 1 tunnin tauko = Tämä seuraava H. Päivitä viimeisten tuntien määrä arvolla ThisHour = 0 ; nykyinen tunti & nollaa nykyinen tunti goto main ; Tee seuraavan tunnin keskeytys: setint %00010000, %00010000 ; Palauta keskeytys, jos DataRequest = 1, niin ; Oliko keskeytys 18M2:sta? serout 2, N2400, ("r", LastHour, ThisHour); Kyllä, joten lähetä edellisen tunnin määrä ja nykyinen määrä. tee: silmukka kun DataRequest = 1 ; Odota kunnes 18M2 lopettaa pyynnön ennen kuin jatkat endif jos BucketSensor = 1 sitten ; Oliko keskeytys sadetunnistimesta? inc ThisHour ; Kyllä, joten lisää bucket-tip count do: loop kun BucketSensor = 1 ; Varmista, että lippu on tyhjennetty ennen endif-palautuksen jatkamista

Sisäyksikkö - Picaxe-koodi

;================================================== ========================== ; Pääsisäohjelma (vastaanotin). ; ; Vastaanottaa tiedot ulkoyksiköstä, näyttää LCD-näytöllä ja siirtää tiedot PC:lle; Mittaa myös ilmanpaineen ("motherpin" ansiosta) ;===================================== = ====================================== #PICAXE 18M2 ; Muuttujien määritelmät (b2 - b5 käytetään uudelleen mBar-koodissa, kun ne tulevat saataville) symboli Osamäärä = b2 symboli Frakti = b3 symboli SignBit = b4 symboli Kosteus = b5 symboli HFract = b14 symboli Dir = w5 symboli DirLo = b10 symboli DirHi = b11 symboli Nopeus = w3 symboli SpeedLo = b6 symboli SpeedHi = b7 symboli RainCountThisHour = b12 symboli SadelaskentaViimeinen tunti = b13 symboli LCDRainWhole = b21 symboli LCDRainFract = b22 symboli Viimeinen tai tämä = b23 ; MCP3422 ADC-muuttujien symboli mb900 = 17429; ADC:n lukema 900 Mbar:lle, ja lisää sitten 72,288 lukemaa mbaria kohden symboli adj0 = 72 symboli mBarADCValue = w0 symboli adj1 = b4 ; käytetään lisäämään 1 määrä joka 4 mbar symboli adj2 = b5 ; käytetään lisäämään 1 luku joka 24 mbar symboli mBar = w4 ; Talousmuuttujien symboli lastmbar = w8 ; Muista edellinen mBar lukusymboli RiseFall = b18 ; Paineen nousun tai laskun ilmaisin (nuoli ylös tai alas) symboli aktiivinen = b19 ; Merkkivalo näyttää toimintaa LCD-näytöllä symboli LCD_Status = b20; Onko LCD-taustavalo päällä vai pois päältä (0 tai 1)? ; Laitteistomääritelmät symboli Langaton = C.7; Saapuva yhteys langattomasta vastaanottimesta/dekooderista Tietokone = C.2 ; Lähtevä sarjaliitäntä tietokoneeseen symboli LCD = pinC.5 ; Etupaneelin painike LCD-näytön taustavalon symbolin tyhjentämiseksi/poistamiseksi ClearRiseFall = pinC.0 ; Etupaneelin painike paineen nousevan/laskevan ilmaisimen symbolin poistamiseksi LastOrThisSwitch = pinC.1 ; Etupaneelin painike nykyisen tai edellisen tunnin sademäärän näyttämiseen Init: hsersetup B9600_4, %10000 ; Käytä LCD-nastaa 1, ei hseriiniä ; ByVac 20x4 IASI-2 Serial LCD hi2csetup i2cmaster, %11010000, In2Ci2cbyteal, M2Ci2cfast ADC chip.hi2cout (%00011000) ;aseta MCP3422 16-bittiselle jatkuvalle muunnostaukolle 500 hserout 0, (13) : tauko 100 ;Alusta LCD hserout 0, (13) : tauko 100 hserout 0, (13) 0 tauko 510 : tauko hserout 0, ("ac50", 13) hserout 0, ("mainos", 32, 32, 32, 32, 49, 42, 36, 32, 13) ; Määrittele alanuolimerkki (merkki 10) hserout 0, (" ac1", 13) ; Tyhjennä näytön tauko 50 hserout 0, ("acc", 13) ; Piilota kohdistin hserout 0, ("ac81", 13, "ad ", $df, "C", 13) ; Tulosta otsikot hserout 0, ("ac88", 13, "admBar", 13) hserout 0, ("ac8e", 13, "adRH %", 13) hserout 0, ("acd5", 13, "ad", "dir" , 13) ; Tulosta pohjat hserout 0, ("acdc", 13, "ad", "mph", 13) ; hserout 0, ("ace3", 13, "ad", "mm", 13) lastmbar = 0 ; Alusta muuttujat LastOrThis = "c" ;==== =================================================== ==================== ; Pääsilmukka ;=============================================== ========================== pää: ; Tarkista, onko etupaneelin kytkintä painettu. Picaxen keskeytysmekanismi on ; lähes pysyvästi poissa käytöstä serin- ja serout-komentojen suuren määrän vuoksi; joten kastelemalla ohjelmaa "gosub-kytkimillä" kytkimen tilan tarkistamiseksi on enemmän ; tehokas, joka keskeyttää. gosub-kytkimet; Hanki ensimmäinen arvoryhmä ulkoyksiköstä 433 MHz:n radiolinkin kautta. serin Wireless, N2400, ("t"), SignBit, osamäärä, fraktio, kosteus, HFract, b15, b15; LCD-näytöllä vilkkuva "ilmaisin" ilmaisemaan aktiivisuutta ja onnistunutta "seriiniä" langattomasti. gosub ilmaisin; Näytä ensimmäinen ryhmä LCD-näytöllä hserout 0, ("acc0", 13) hserout 0, ("ad", SignBit, #Quotient, ".", #Fract, " ", 13) hserout 0, ("acce", 13) hserout 0, ("ad", #Humidity,".", #HFract, " ", 13) gosub-kytkimet ; Lähetä ensimmäinen ryhmä tietokoneen COM-porttiin; Jokaisella ryhmällä on aloitustunniste, data ja lopputunniste: ; Alku = "xS", loppu on "xE" esim. Wind Start on WS, Wind End on WE ; Useat tiedot erotetaan yhdellä välilyönnillä. serout Computer, N2400, ("TS", SignBit, #Quotient," ", #Fract, "TE") ; Lämpötilan serout-tietokone, N2400, ("HS", #Kosteus, " ", #HFract, "HE" ); Kosteus ; Tarkista kytkimet uudelleen ja säännöllisin väliajoin koko ohjelman ajan. gosub-kytkimet; Hanki toinen arvoryhmä ulkoyksikön radiolinkistä. serin Wireless, N2400, ("m"), DirHi, DirLo, SpeedHi, SpeedLo, RainCountLastHour, RainCountThisHour, b15 gosub ilmaisin Nopeus = nopeus * 300 / 448 ; Arvioitu muunnos pulsseista sekunnissa mph:ksi Dir = Dir * 64 / 182 ; Muunna 0 - 1023 0 - 359 astetta ; Tarkkuuden säilyttämiseksi sademittari on kalibroitava säätämällä ; mekaaniset pysäyttimet kippikauhassa niin, että 1 kärki on 0,5 mm sadetta. jos LastOrThis = "c" niin ; Päätä, näytetäänkö edellisen tunnin "s LCDRainWhole = RainCountThisHour / 2 ; sademäärä vai nykyinen tunti"s. LCDRainFract = RainCountThisHour * 5 // 10 else LCDRainWhole = RainCountLastHour / 2 ; LCDRainFract = RainCountLastHour * 5 // 10 endif ; Lähetä toinen ryhmä LCD-näytölle hserout 0, ("ac95", 13) hserout 0, ("ad", #Dir, " ", 13) hserout 0, ("ac9c", 13) hserout 0, ("ad", # Nopeus, " ", 13) hserout 0, ("aca1", 13) hserout 0, ("ad", LastOrThis, " ", #LCDRainWhole, ".", #LCDRainFract, " ", 13) ; Lähetä toinen ryhmä tietokoneeseen COM-portin serout Tietokone, N2400, ("WS", #Dir", ", #Speed, "WE") ; Wind serout Computer, N2400, ("RS", #RainCountLastHour," ", #RainCountThisHour, "RE" ); Rain gosub kytkimet ; Kiitos Picaxe-foorumin "matherp" mbar-koodisilmukasta: ; Ilmanpaineen mittaus MPX4115A:lla ; Analogia-digitaalimuunnos käyttämällä MCP3422:ta; MPX-lähtö V+, 2. 5 V - V-; ADC 16-bittisessä tilassa hi2cin (b1,b0,b2); Lue ADC-lukemat ja tilatavu MCP3422:sta adj1 = 0 adj2 = 0 w1 = mb900 mbar = 900 do, kun mBarADCValue > w1; mBarADCValue = w0 = b1:b0 inc mbar w1 = w1 + adj0 inc adj1 jos adj1 = 4 sitten inc adj2 w1 = w1 + 1 adj1 = 0 endif jos adj2 = 6 sitten w1 = w1 + 1 adj2 = 0 endif silmukan gosub ilmaisin; Lähetä paine tietokoneen COM-portin serout-tietokoneeseen, N2400, ("PS:", #mbar, "PE") ; Alusta edellinen painelukema (lastmbar), jos sitä ei ole jo asetettu, jos lastmbar = 0, niin lastmbar = mbar RiseFall = " " endif ; Näytä ylös- tai alanuoli, jos paine on muuttunut, jos mbar > lastmbar sitten RiseFall = "^" ; ^ lastmbar = mbar endif jos mbar< lastmbar then RiseFall = 10 ; Custom LCD character. Down arrow lastmbar = mbar endif hserout 0, ("acc7", 13) hserout 0, ("ad", RiseFall, #mbar, " ",13) gosub telltale goto main ; Check if one of the front panel buttons is pressed. switches: if LCD = 1 then ; LCD Backlight on/off Button is pressed if LCD_Status = 0 then ; Backlight is on so... hserout 0, ("ab0", 13) ; Turn it off LCD_Status = 1 else hserout 0, ("ab1", 13) ; Else turn it on. LCD_Status = 0 endif do: loop while LCD = 1 ; Don"t return while button is pressed endif if ClearRiseFall = 1 then ; Pressure rise/fall button is pressed RiseFall = " " ; Clear indicator and... hserout 0, ("acc7", 13) ; ... update display. hserout 0, ("ad", RiseFall, #mbar, " ",13) do: loop while ClearRiseFall = 1 endif if LastOrThisSwitch = 1 then ; Rain Previous Hour / Last Hour button. if LastOrThis = "c" then LastOrThis = "p" LCDRainWhole = RainCountLastHour / 2 ; Recalculate values and re-display to LCDRainFract = RainCountLastHour * 5 // 10 ; give visual confirmation of button-press else LastorThis = "c" LCDRainWhole = RainCountThisHour / 2 ; LCDRainFract = RainCountThisHour * 5 // 10 endif hserout 0, ("aca1", 13) hserout 0, ("ad", LastOrThis, " ", #LCDRainWhole, ".", #LCDRainFract, " ", 13) do: loop while LastOrThisSwitch = 1 endif return ; Flash "tell-tale" on LCD display to show activity telltale: if active = "*" then active = " " else active = "*" endif hserout 0, ("ac80", 13, "ad", active, 13) return

Käytetty muisti = 764 tavua 2048:sta

PC-ohjelmisto

PC:llä toimiva ohjelmisto on kirjoitettu Borland Delphi 7:llä. Se on aika alkeellista nykymuodossaan, mutta se ainakin näyttää yhteyden Picaxen ja tietokoneen välillä.

Kaaviot voidaan valita näytettäväksi 1 tunnin tai 12 tunnin aikana. Kaavioita voi vierittää edestakaisin hiirellä. Ne voidaan pelastaa. Voit tehdä tämän napsauttamalla niitä hiiren kakkospainikkeella ja määrittämällä tiedoston nimen ja arvon. Voit määrittää rajoitetun joukon APRS-tietoja, jotka kirjoitetaan kerran minuutissa kullekin APRS.TXT-tiedoston riville ja tallennetaan samaan kansioon kuin Weather.exe. Huomaa, että lämpötilat ovat Fahrenheit-asteina ja sademäärä on 1/100 tuumaa kohti.

Luettelo radioelementeistä

Nimitys Tyyppi Nimitys Määrä HuomautusMyymäläOma muistilehtiö
Lämpötila- ja suhteellinen kosteusanturi
lämpösensori

DS18B20

1 Muistilehtiöön
KosteusanturiHIH-36101 Muistilehtiöön
Vastus

4,7 kOhm

1 Muistilehtiöön
Tuulen nopeus- ja suuntamittari
ValotransistoriIR1 Muistilehtiöön
ValodiodiIR1 Muistilehtiöön
Vastus

220 ohmia

1 Muistilehtiöön
Vastus

4,7 kOhm

1 Muistilehtiöön
Magneettinen kooderi1 Muistilehtiöön
elektrolyyttikondensaattori10 uF4 Muistilehtiöön
Kondensaattori100 nF1 Muistilehtiöön
Vastus

4,7 kOhm

1 Muistilehtiöön
Vastus

10 kOhm

1 Muistilehtiöön
Sademäärä mittari
MK PICAXE

PICAXE-08M

1 Muistilehtiöön
tasasuuntaajan diodi

1N4148

2 Muistilehtiöön
Kondensaattori100 nF1 Muistilehtiöön
Vastus

4,7 kOhm

1 Muistilehtiöön
Vastus

10 kOhm

4 Muistilehtiöön
Vastus

22 kOhm

1 Muistilehtiöön
Vastus

220 ohmia

2 Muistilehtiöön
ValodiodiIR1
Ylös