0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeModularna vremenska postaja (4)

    Modularna vremenska postaja (4)

    V ponudbah številnih trgovcev z elektroniko za domačo rabo zasledimo take ali drugačne vremenske postaje. Modularna vremenska postaja je naprednejša in cenejša od komercialnih izdelkov, saj omogoča ne le merjenje in beleženje podatkov o temperaturi, vlagi in zračnem tlaku ter brezžičen sprejem podatkov iz zunanjih modulov, temveč je dostopna tudi preko vodila USB, od tam pa preko PC, tudi iz interneta.

    Slike niV preteklem nadaljevanju smo priklopili tipali za vlago (HopeRF TH02) in zračni tlak (HopeRF HP03). Priklop obeh na vodilo I2C načeloma ni zahteven, je pa potrebno kar nekaj računanja, da pridemo do dejanskih vrednosti relativne vlažnosti zraka in zračnega tlaka. Strojna enota za podporo vodilu I2C zahteva uporabo točno določenih priključkov mikrokontrolerja, ki smo jih namenili že povezavi SPI in 4-bitni povezavi z LCD. Zato smo uporabili prilagodljivi programski vmesnik I2C.

    Tokrat bomo podrobno predstavili delovanje algoritmov bazne enote in odzivnika ter poenostavljeno uporabo vremenske postaje iz PC. Vso v članku omenjeno programsko opremo in primere uporabe lahko prenesete s spletne strani https://sites.google.com/site/pcusbprojects/6-downloads Zadnje informacije razvoju vremenske postaje najdete na spletni strani: https://sites.google.com/site/pcusbprojects/5-custom-projects/bg-weather-station

    Samostojno delovanje vremenske postaje

    V preteklem nadaljevanju smo videli, da je potrebno digitalizirane vrednosti, ki jih neposredno zajamemo iz A/D pretvornikov elektronskih tipal za merjenje relativne vlažnosti zrake, zračnega pritiska in temperature, še ustrezno preračunati. Čeprav je morda v kakem PCjevskem programu za Microsoftove Windows to nadvse enostavno, se je potrebno precej potruditi, da matematične algoritme prenesemo v 8-bitni mikrokontroler.

    Slike niMikrokontroler PIC18F26J50 delovnega pomnilnika nima ravno v izobilju. Čeprav je po procesorski zmogljivosti in velikosti RAM med najzmogljivejšimi Microchipovimi 8-bitnimi mikrokontrolerji, moramo v bore 4 kB RAM stlačiti kopico spremenljivk in programskih izravnalnikov, ki omogočajo nemoteno brezžično komunikacijo in komunikacijo preko USB. USB bi se lahko odpovedali, ampak tega nočemo, saj želimo ohraniti povezljivost in vsestranskost vremenske postaje.

    Za samostojno delovanje vremenske postaje moramo v mikrokontroler namestiti vgrajeno programsko opremo PIC18F26J50 firmware v2.7.1. Datoteka FWI za pripravo ustrezne podrazličice datoteke HEX in program PC USB Projects HEX Editor v3.0.NET2.exe sta priložena. Če želimo tudi komunikacijo preko USB, potrebujemo še programsko knjižnico LIB_PCUSBProjects v5.6.NET4(x64).dll ali novejšo. Primera uporabe knjižnice najdemo v datotekah: PIC18F2xJ50 Digital Clock with LCD example v3 x64.zip, Weather Station v2.6 x64.zip, Weather Station v2.7.zip, Weather Station v2.7 x64.zip. Prvi (v2.6) omogoča prikaz digitalne ure namesto prikaza relativne vlage, drugi (v2.7, ki je v 32-bitni in 64-bitni različici) pa zajema podatke iz vremenske postaje neposredno v PC.

    Weather Station v2.6, zajema vrednosti neposredno iz registrov tipal in jih sam preračunava. Naprednejši, Weather Station v2.7 (x64) namesto tega izkorišča možnost, da iz mikrokontrolerja pridobi že zajete grobe podatke s tipal, ali pa kar preračunane podatke. S tem je delovanje tudi bolj zanesljivo. Program 0 dokazuje, da ima programer v Visual Basicu.NET4 (VB.NET) zares malo dela, da pride do izmerjenih vrednosti, ki jih vremenska postaja obenem prikazuje tudi na svojem LCD.

    PIC.WeatherStationGetData()
    temp = PIC.ReadBufferSingle(0)
    ap = PIC.ReadBufferSingle(4)
    temp_hs = PIC.ReadBufferSingle(8)
    hum = PIC.ReadBufferSingle(12)

    Branje preračunanih vrednosti temperatur tipala za zračni pritisk (temp) in vlago (temp_s), zračnega pritiska (ap) in relativne vlage (hum) je res enostavno. Poklicati moramo le funkcijo WeatherStationGetData, nato pa iz izravnalnika preberemo vse štiri vrednosti v zapisu single (4-bajtna vrednost v zapisu s plavajočo vejico po standardu IEEE). PC lahko brez pretvorbe prebere vrednost v plavajoči vejici iz PIC18.

    Celotni članek

    Modularna vremenska postaja (4)

    www.svet-el.si

    2014_SE223_25