PIC WX full – Meteostanička (T,P,H) pro APRS s PIC 12F675

Rozhraní: COM port (9600 8N1)
Obslužný SW/HW: UniTrack, GPS-SMT-AX-WX LCD modul, WxLcdDisplay, PicSWX (pro spolupráci se SW DigiNed, UiSMT), Pic3Com
Procesor: PIC 12F675 (cena v GM listopad 2003 cca 50,- )
Snímané veličiny/Čidla: Teplota+vlhkost SHT-11, tlak MPX 4115 (DataSheet čidla MPX 4115  DataSheet čidla SHT 11)

Schema (Schéma ve vyšším rozlišení):

 

Osazovací plán:

 

Připojení čidla k meteostaničce:

SHT11 svorka
zem X4-2
data X3-2
hodiny X4-1
+5V X3-1

 

(je označeno i na pl. spoji)

Předloha desky plošných spojů:

Eagle 4.03 (zobrazená bitmapa není v měřítku)

Fotografie hotové WX a desky s čidlem SHT11

(u čidla je mezi +5V a zem připojen blokovací kondenzátor 100n a do +5V vložena dioda 1N4148 jako ochrana proti přepólování)

Seznam použitých součástek

Díl Hodnota

C1 100n
C2 100n
C3 33u
C4 100n
C8 470p
D1 1N4148
IC1 78L05
IC3 PIC12F675P
IC7 LM2904N
JP1 jumper
JP2 jumper
MPX1 MPX4115
R1 10k
R2 330
R3 100K
R6 9k1 1%
R7 8k2 1%
R8 10k 1%
R9 10k 1%
R10 2k2
R11 4k7 1%
R12 1k8 1%
R13 4k7 (pull-up rezistor pro DATA signál SHT-11)
X1 W237-02P (šroubovací svorkovnička 2póly/5mm)
X2 F09H (Canon 9 samice do pl. spoje)
X3 W237-02P (šroubovací svorkovnička 2póly/5mm)
X4 W237-02P (šroubovací svorkovnička 2póly/5mm)
SHT-11 čidlo teploty a vlhkosti firmy Sensirion

Napájení

V případě napájení stabilizovanými 5V se IC1 (stabilizátor) nahradí drátovým spojem. Jinak je napájecí napětí v rozsahu 7-30V.

 

Zdrojový kód programu PIC

P5WX-SHTP-2.zip (formát pro Microchip assembler) 5.8.2004 opraven výpočet vlhkosti

HEX přeložený program

pro PIC 12F675    5.8.2004 opraven výpočet vlhkosti

Před programováním si prosím načtěte a někam (třeba na spodní stranu pouzdra obvodu) zapište hodnotu z posledního byte programové paměti – jde o kalibrační konstantu vnitřního oscilátoru.

Postřehy a rady získané při vývoji a stavbě meteostaničky

Vřele doporučuji si pro čidlo SHT-11 udělat desku podobnou té na fotografii a čidlo pájet podle návodu v datasheetu – max. 5 sekund a max. 350C, a dále čidlo uložit na min. 24 hodin do prostředí s vlhkostí >74%, aby se zregeneroval pájením vysušený polymer čidla.

Prostředí s cca 90% vlhkostí lze dosáhnout např. ve sklenici s vodou, kterou zcela přikryjeme látkou, třeba několikrát přeloženým větším kapesníkem.

Hodnota R13 (4k7) vyhovuje pro cca 30-90cm dlouhý kabel k čidlu (pro miniaturní mikrofonní stíněnou dvoulinku). Pro kratší vzdálenosti může být pull-up rezistor 10k, pro delší bude možná potřeba hodnota nižší. Pokud Vám bude meteostanička (byť jen občas) posílat podezřelá data (mě posílala 8% vlhkosti a -39.9C), je třeba vyzkoušet nižší hodnotu pull-up rezistoru R13. Pokud bude posílat trvale 1% vlhkosti a -39.9C, čidlo nekomunikuje. Může být přerušený některý z připojných vodičů nebo je čidlo zničeno (pájením, přepólováním, vysokým napájecím napětím) nebo je rušen signál hodin. Pro vzdálenosti 30-90cm se mi osvědčilo použití stíněné dvoulinky s tím, že stínění signálu hodin vede zem a stínění signálu DATA vede +5V.

 

Použití

Tato meteostanička měřící teplotu, vlhkost a tlak je navržena pro přímou spolupráci s APRS modulátorem UniTrack. Pro použití s programem DigiNed, UiSMT je nutno její výstup zformátovat např. pomocí PICSWX firmware pro PICWX 2.0 desku.
V režimu měření (oba jumpery jsou otevřeny) meteostanička 1x za cca 5s (doba měření) pošle na RS-232 výstup APRS WX datový řetězec ve formátu: <Esc>w000/000g000tnnnbnnnnnhnn<CR>znnnC
kde nn jsou naměřené hodnoty
a z je znaménko “-” pro zápornou teplotu stupňů Celsia nebo mezera pro kladnou

V režimu konfigurace, do kterého se vstoupí zkratováním JP2 (jde vlastně pouze o kalibraci tlaku), meteostanička reaguje na následující příkazy (“^” je znak “ESC”)
^U – upload obsahu EEPROM (odešle obsah EEPROM po RS-232)
^D – download obsahu EEPROM (zapíše do EEPROM data přicházející bezprostředně po příkazu)
^M – provede jedno měření a výsledek pošle standardně po RS-232, pokud během doby měření (cca 5s) odpojíte zkratovací propojku z JP2, přejde meteostanička do režimu měření, jinak zůstává v režimu konfigurace.
Režim konfigurace je indikován promptem “>”

 

 

Čidlo MPX 4115 lze získat na dobírku na adrese Petr Sysala nebo (od roku 2005) i u GM Electronic za cca 700kč.
Čidlo SHT-11 lze získat u firmy
RothSware
za cca 640kč.
Ceny jsou platné na jaře 2005

 

Konfigurace

 

Pro stažení obsahu EEPROM do souboru a jeho nahrání zpět doporučujeme používat pro Windows program Piceerw plná instalace 1.4MB; pouze exe,vyžaduje ocx knihovny (36kB)).

Jediná věc kterou je nutno konfigurovat je tlak. Ten je nutno zkalibrovat, neboť čidlo měří absolutní tlak vzhledem k hladině moře, ale námi kýžený tlak (přepočtený na hladinu moře) v jiných nadmořských výškách je od absolutního posunut. Hodnota posunu, která se přičítá k naměřernému tlaku je uložena v EEPROM procesoru.

Vlastní kalibrace tlaku je uložena v EEPROM od adresy 0Fh a jsou to 4 BYTY ve formatu FLO32. Potřebné číslo ve formátu FLO32 získáte pomocí programu Fprep.exe. Toto číslo pomocí hexadecimálního editoru zapište na adresy 0Fh až 12h souboru s obsahem EEPROM. Při zjišování čísla pro kalibraci tlaku postupujte tak, že na uvedené adresy uložíte 4x 00h, tím bude tlak měřen bez kalibrace. Porovnáním naměřené hodnoty tlaku s tlakem skutečným zjistíte hodnotu, kterou po převodu na číslo FLO32 formátu PIC uložíte do EEPROM. Meteostanička interně počítá tlak v desetinách hPa, potřebujete-li přičíst k nekalibrovanému tlaku např 19.2hPa, budete programem Fprep převádět číslo 192!

 

Windowsí program pro kalibraci tlaku (bez nutnosti převodu na FLO32)P5WXpresscalib.exe (zatím není naprogramován).

 

Kontakt: případné dotazy směrujte na: Tomáš OK1VCF

 

Tomáš OK1VCF & Petr OK1MAB