PIC WX full

Interface:   COM port (9600 8N1)  Czech version
Control SW/HW:   UniTrack, GPS-SMT-AX-WX LCD module, WxLcdDisplay, PicSWX (for communication with SW DigiNed, UiSMT), Pic3Com  
Processor:   PIC 12F675  
Tracked values/sensors:   Temperature+humidity SHT-11, pressure MPX 4115  MPX 4115 DataSheet
 SHT 11 DataSheet
Schematics

Schematics in higher resolution

Mounting board

 

 

Connection between SHT-11 and weather station:
 
SHT11pin
GNDX4-2
DATAX3-2
CLOCKX4-1
+5VX3-1

(printed on the circuit board too)

Circuit board

 

 

Eagle 4.03 (displayed bitmap may not give the accurate dimensions)

Foto of the completted weather station with SHT11 sensor

(there is a 100n cond. connected between GND and +5V on the sensor board
and +5V is secured by 1N4148 diode to prevent incorrect power supply connection)

 

 

Part list
Part      Value

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 for DATA signal SHT-11)
X1       W237-02P (screw connector 2pin/5mm)
X2       F09H (Canon 9 female to PCB)
X3       W237-02P (screw connector 2pin/5mm)
X4       W237-02P (screw connector 2pin/5mm)
SHT-11   temperature and humiditi sensor made by Sensirion
    
 
Power supply in the case that You are using stabilised 5V IC2 (78L05) is replaced by the wire only.

Otherwise Power supply could by from 7 to 30V.

Source code of PIC program  P5WX-SHTP-2.zip (in the Microchip assembler format)  5.8.2004 fixed error in humidity computing
HEX assembled program for PIC 12F675  5.8.2004 fixed error in humidity computing
  Note: The last byte in processor's program memory is the calibration byte for internal osc. You should prevent this value from overwritting during programming!  
My recommendations for wx station build You really should made some board for SHT-11 sensor (as is one on the picture above). And follow soldering instructions from datasheet (max. 5 seconds and max. 350 degrees of Celsius, and after soldering enable sensor's polymer to regenerate (for 24 hours in place with humidity >74%.

A glass of water closed only by a pice of textil gives aprox. 90% humidity.

Value of R13 (4k7) is designed for 30-90cm long cable between WX and the sensor. If You get something like 8% humidity and -39.9C temperature You should try lower value of R13. If You get still only 1% humidity and -39.9C it is highly possible, that sensor does not communicate with WX station or the sensor is broken.

 
Usage This simple weather station measures temperature, humidity and pressure and is designed for direct connection to APRS modulator UniTrack.
In the measurement mode (both jumpers are open) wx station is sending (every 5 seconds) to the RS-232 output APRS WX data string in following format: <Esc>w000/000g000tnnnbnnnnnhnn<CR>znnnC
where nn are measured values
and z is sign "-" for temperature below zero Celsius degree or space for temperature above zero Celsius

In configuration mode (JP2 is closed) wx station accepts following commands:
^U - upload EEPROM to RS-232 port
^D - download EEPROM - writes following bytes to EEPROM (there must be a delay min. 80ms between bytes)
^M - measures once and returns standard string to the RS-232, if You open JP2 during measurement (aprox. 5s) wx station leaves configuration mode and enters measurement mode. Otherwise it continues in configuration mode.
Configuration mode is indicated by ">" prompt
^ is ESC character

 
Configuration

For download EEPROM contents and upload back into processor's EEPROM use of Piceerw program is recomended. full installation 1.4MB; exe only, needs ocx libraries (36kB)).

The only thing which needs to be configured is pressure. MPX 4115 measures absolute pressure. So You need to add a constant value which depends on the above see level on Your location. This value is stored in processor's EEPROM from address 0Fh to 12h (4 bytes) and it is a number in FLO32 format. For conversion the number to FLO32 format You can use Fprep.exe program.

The value for calibration You may count by storing four 00h on addresses 0Fh to 12h in EEPROM, measure the pressure and compare it with pressure supplied by weather service in Your region. Difference is the needed value. Multiply this value by 10 (value in EEPROM is expected to be in tens of hectopascals), convert it to FLO32 and write it to the file with EEPROM data. Write this file back to EEPROM and You should receive right pressure from now.

 
Contact In case of questions please contact me: Tomáš OK1VCF

Tomáš OK1VCF & Petr OK1MAB