40
The Hot Water Balloon Wookey [email protected] - Debian / Embedded Debian / Balloonboard.org / iEndian / Toby Churchill Ltd Embedded Linux Conference - Europe 2008 Ede Wookey The Hot Water Balloon

The Hot Water Balloon

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Hot Water Balloon

The Hot Water Balloon

[email protected]

-Debian / Embedded Debian / Balloonboard.org / iEndian / Toby Churchill Ltd

Embedded Linux Conference - Europe 2008Ede

Wookey The Hot Water Balloon

Page 2: The Hot Water Balloon

What is this talk about?

Solar Thermal crash courseControllers1-wire hackery how-toResults Analysis

Wookey The Hot Water Balloon

Page 3: The Hot Water Balloon

Evacuated Tube

Vacuum tube with heat-pipe

Wookey The Hot Water Balloon

Page 4: The Hot Water Balloon

Solar Thermal System

Wookey The Hot Water Balloon

Page 5: The Hot Water Balloon

Solar Thermal System

Wookey The Hot Water Balloon

Page 6: The Hot Water Balloon

Wook’s System

plate heat exchanger (PHE) layout

Wookey The Hot Water Balloon

Page 7: The Hot Water Balloon

Panel Fitting

Wookey The Hot Water Balloon

Page 8: The Hot Water Balloon

Plumbing

Wookey The Hot Water Balloon

Page 9: The Hot Water Balloon

Thermosiphon

Existing TankThermosiphonAnti-siphon dip

Wookey The Hot Water Balloon

Page 10: The Hot Water Balloon

Commercial Controllers

Standard: 164ewith Vbus: 230eDatalogger: 260eRemote Display: 68e10 sensors, 7 outputs: 388e

3 sensors, 2 outputs: 162eEthernet connection: 454e

Wookey The Hot Water Balloon

Page 11: The Hot Water Balloon

Balloonboard

PXA270, 1GB flash384MB RAM, FPGAUSB host, VGA displayOpen HardwareDistro choice, package management

Wookey The Hot Water Balloon

Page 12: The Hot Water Balloon

CUED IO Espansion board

I2C, 8 digital IO6x 10bit ADC15V/5V crowbarred supplyUSB host/slavePWM motor driver

Wookey The Hot Water Balloon

Page 13: The Hot Water Balloon

Hardware 1-wire

8 multiplexed 1-wire busesData: 14Kbit/s maxScan: 13 devices/secondMeasurement: 94-750msI2C 400Kbit/s

Wookey The Hot Water Balloon

Page 14: The Hot Water Balloon

Hardware - Switching

PCF8574a8 channel IOI2C interface‘On’ pulls pin low - PNPRelay needed for 12Vputs out 45mA max

Wookey The Hot Water Balloon

Page 15: The Hot Water Balloon

Hardware - Building

4 wires - I2CData, I2CClk, GND, +5V

Wookey The Hot Water Balloon

Page 16: The Hot Water Balloon

1-wire Sensors

Wookey The Hot Water Balloon

Page 17: The Hot Water Balloon

Fitting Sensors

Wookey The Hot Water Balloon

Page 18: The Hot Water Balloon

Wook’s tidy airing cupboard

Balloon, extra IO board, USB ethernet adaptor

Wookey The Hot Water Balloon

Page 19: The Hot Water Balloon

Software - I2C modules and adressing

modprobe i2c-pxamodprobe i2c-dev/dev/i2c-0 /dev/i2c-1bus 0 is general, bus 1 is powerI2C addresses fixed.7bit - bottom bit is r/won DS2482 Address is 0011nnn0x18-0x1Fpull all three pins low to get 0x18

Wookey The Hot Water Balloon

Page 20: The Hot Water Balloon

Software - I2C access

i2cdump 0 0x180 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef

00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX b5 XXXXXXXXXXXXXXX?10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX b5 XX XXXXXXXXXXXXXX?X20: XX XX XX XX XX XX XX XX XX XX XX XX XX b5 XX XX XXXXXXXXXXXXX?XX30: XX XX XX XX XX XX XX XX XX XX XX XX b5 XX XX XX XXXXXXXXXXXX?XXX{\ldots}e0: XX 00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX X.XXXXXXXXXXXXXXf0: 18 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX ?XXXXXXXXXXXXXXX

pcf8574a on 0x38i2cdump from lm-sensors or i2c-toolsOn: echo “0” > /sys/bus/i2c/devices/0-0038/writeOff: echo “255” > /sys/bus/i2c/devices/0-0038/write

Wookey The Hot Water Balloon

Page 21: The Hot Water Balloon

Software - OWFS

FUSE filesystemconfigure in /etc/default/owfs

SERVER_OPTS=”-d /dev/i2c-0”CLIENT_OPTS=”-s localhost:4304”

run with /etc/init.d/owfs startNew on lenny (on etch needs older python, swig, libfuse)apt-get install owfs libowfs26 libfuse

Wookey The Hot Water Balloon

Page 22: The Hot Water Balloon

Software - OWFS

Discover: owdir -s 430 /28.D23974010000

Read: owread -s 4304 /28.D23974010000/temperature34.25

Wookey The Hot Water Balloon

Page 23: The Hot Water Balloon

Manual rrdtool - create database

Create Round Robin DatabaseFilled in with rrdupdate

sudo r r d t o o l c reate / var / log / so l a r . r r d −s 10\DS: panel :GAUGE:40:−20:125\DS: tanktop :GAUGE:40:−20:125\DS: t ankbo t t :GAUGE:40:−20:125 \DS: pump :GAUGE: 4 0 : 0 : 1 RRA:AVERAGE: 0 . 5 : 1 : 2 0 1 6 0 \RRA: LAST:0 .5 :1 :20160 RRA:MAX:0 .5 :60 :1120

Should be 9 days, actually 2.5

Wookey The Hot Water Balloon

Page 24: The Hot Water Balloon

Manual rrdtool - generate graph

sudo r r d t o o l graph −−end 18:00d −−s t a r t 06:00d / tmp/ s o l a r d e t a i l . png −M − i \

− t ‘ ‘Wook ’ s so la r system ’ ’ −v ‘ ‘Temp (C) ’ ’ −h 200−w 800\

DEF: pump=/ var / log / so l a r . r r d : pump : LAST TICK : pump#000000:0 .05 : ’ ’ So lar Pump on ’ ’ \

DEF: panel =/ var / log / so l a r . r r d : panel : LAST LINE2 :panel#FF0000 : ’ ’ Panel Temp ’ ’ \

DEF: tanktop =/ var / log / so l a r . r r d : tanktop : LAST LINE2: tanktop#00FF00 : ’ ’ Top of Tank ’ ’ \

DEF: tankbo t t = / var / log / so l a r . r r d : t ankbo t t : LASTLINE2 : t ankbo t t #00 f f f f ’ ’ : Bottom of Tank ’ ’

Wookey The Hot Water Balloon

Page 25: The Hot Water Balloon

Munin

local and remote munin setupshides rrdtool detailsEasy plugin scriptsMunin-graph uses 85% of cpuMunin broken on arm

Wookey The Hot Water Balloon

Page 26: The Hot Water Balloon

Munin plugins

Any languageCalled with config: prints variablesCalled normally: prints values

sudo munin-run panels

panelin.value 10.875panel1.value 9.5625panel2.value 10.4pump.value 0

Wookey The Hot Water Balloon

Page 27: The Hot Water Balloon

Munin plugin for panel

sudo munin-run panels config

graph_title Solar Panel Temperaturesgraph_order panelin panel1 panel2 pumpgraph_vlabel Degrees Celciusgraph_info This graph shows solar panel temperatures.graph_period minutepanelin.label panels-inpanelin.draw LINE1panelin.max 126panelin.min -2panelin.type GAUGEpanelin.info Temp flow into solar panels

Wookey The Hot Water Balloon

Page 28: The Hot Water Balloon

What did I discover

It works!Thermosiphon reacts very quickly (<30 seconds)Control is interesting question

Wookey The Hot Water Balloon

Page 29: The Hot Water Balloon

Panels

15◦C rise across panels68◦C in October

Wookey The Hot Water Balloon

Page 30: The Hot Water Balloon

Monthly summary

Provided hot water about 23 days of 31

Wookey The Hot Water Balloon

Page 31: The Hot Water Balloon

Control

if panel >tank_bot + 20 or panel >tank_top + 4 : pump onif panel <tank_bot + 10 : pump offif tank_top >80 : pump offHorrible shell scriptDecimal temp readings - bcDIYzoning. . . PID control

Wookey The Hot Water Balloon

Page 32: The Hot Water Balloon

Stratification

Tank stays stratified during loadingTank hotter than panel!?

Wookey The Hot Water Balloon

Page 33: The Hot Water Balloon

Stratification

Tank stays stratified during loadingTank hotter than panel!?

Wookey The Hot Water Balloon

Page 34: The Hot Water Balloon

Medium day

Hysteresis between +10◦C and +20◦C

Wookey The Hot Water Balloon

Page 35: The Hot Water Balloon

Reliability

Uptime: 87 days load average: 1.02owserver crashed once in 5 monthsSome 1-wire glitchesDisk full survived

Wookey The Hot Water Balloon

Page 36: The Hot Water Balloon

Temp accuracy

Nominal 0.5◦C accuracy (0-55◦C)2◦C accuracy (below 0◦C, above 55◦C)3.8◦C differenceStuck at 85◦C, and 10% low

Wookey The Hot Water Balloon

Page 37: The Hot Water Balloon

Flowmeter

Swissflow SF800 - optical sensorBattery-backed Counter board

Wookey The Hot Water Balloon

Page 38: The Hot Water Balloon

Flowmeter

1.3 million pulses4◦C temp drop6100 pulse/litre1.6 l/minSpecificheat(kWh/KgC ∗ Mass(Kg) ∗ Tempd iff (C) =Energy(Kwh)

0.00116 ∗ 1327532/6100 ∗ 4 = 1kWhWookey The Hot Water Balloon

Page 39: The Hot Water Balloon

What’s missing/Future?

power-fail proofingLocal User InterfaceSolar: Display tank temp, Bath status, Energy gainHouse: Room temps, Active zonesInputs: ‘Make a bath’ button, Leaving house, +1hrConfiguration: Sensor allocation, Rule adding/adjustingHow?: Browser, GTK, Misterhouse, GladeMythTV plugin, SMSInterfaces: xAP, wireless sensors, moon on stickUpload data for comparison, to AMEE

Wookey The Hot Water Balloon

Page 40: The Hot Water Balloon

Conclusions

Solar Thermal is great1-wire is greatUI is harder - needs workI have a very tolerant wife

Wookey The Hot Water Balloon