Now that all the water stuff has been built and tested, I emptied the paludarium again. High time to start working on the backgrounds and waterfall.
The Aquatic background
It makes sense to start with the aquatic background, as I bought this background and do not plan on building it myself. As the paludarium will be amazonian, I choose the amazonian version from Akwaline, and after glueing it in it looks like this:
The Akwaline background glued in place.
I decided to align the background to the right (as I look straight into the right side of the paludarium as well. So the right side is glued directly against the Read more
One of the last things to build and test with all the water stuff, was rain. So I added a small installation with sprinklers that get fed directly from the tap water.
Rain Down On Me
The rain installation is controlled electronically (duh!). On the WaterWorks under the paludarium, I have one electromagnetic valve that can be opened to feed the rain installation:
The magnetic valves on the WaterWorks. The one on the left controls the osmosis filter, the center one inputs tap water into the aquatic part, and the rightmost has now been connected with a thin black tube to allow for rainfall.
The valve on the right has now been connected as well with a thin black tube. This tube is fed upwards, and Read more
Today I filled the paludarium fully. Now the water levels are exactly as projected, and overflow neatly into the sewer if there is any surplus.
Fully filled, the paludarium weighs around 370 kilos right now. And I still need the Canopy on there, sand inside… But the cabinet is holding up perfectly. Nothing bending through, nothing giving way.
If the tap water or the reverse osmosis unit is turned on, it fills the aquatic part. The aquatic part overflows in the dirty-water part in the rear. If that overflows, it is dumped straight into the sewer:
Detail of the sewer pipe in the paludarium. Any access water will flow straight into the sewer. Note how the water is exactly leveled to the edge of the drain.
The inside of the paludarium is a bit of a construction site right now. It looks like this:
Hoses ‘n stuff
Water in the paludarium fully filled. The aquatic part left is about to overflow to the dirty-water part (right) and in turn that water is drained to the sewer.
There are a lot of hoses inside the paludarium Read more
Today it was finally time… All the puzzle pieces for the WaterWorks could be put together! After testing the WaterWorks for leaks, it was time to mount the board under the paludarium, hook things up and test… For the very first time actual water inside the paludarium!
Mounting the WaterWorks
The waterworks were build on a separate board, outside of the paludariums cabinet. All parts that need to be under the paludarium that handle water are mounted here. The WaterWorks look like this:
The Paludarium WaterWorks. This board is mounted under the paludarium and it handles the water household.
Today I mounted this board in the cabinet under the Read more
I am so happy with my Raspberry Pi now able to obtain real-time measurements from the La Selva biological station. As much as this station measures, it does not measure water temperature. Time for some geeking out!
What I DO have
So the measurements I do get from the biological station are basically all the ingredients I need to synthesize the water temperature. Especially these values will determine the temperature:
- Light Intensity;
- Air Temperature;
- Previous Water Temperature.
I want to use some kind of calculation to create a synthetic water temperature. I’m assuming sunlight will heat the water. The water temperature will somewhat follow the air temperature. Finally rain will seriously cool down water.
Making up a formula to synthesize water temperature
Forming a formula that synthesizes water temperature is kind of hard to do. There are so many variables. In the wild, water will come flowing in from somewhere else. Deep water will flow slowly, and hardly heat up under sunlight. A small pool of 10cm of water will heat up extensively, unless it streams fast.
It is almost impossible to work with all these variables. So I figured to just build a simulation formula, and see how the water temperature will develop as I run through the days. I started out with a formula like this:
WaterTemp = WaterTemp + (Light/settings.get(“synth.lightFactor”))
WaterTemp = WaterTemp + (AirTemp-WaterTemp) / settings.get(“synth.AirTempFactor”)
RainDiff = Rain * ( WaterTemp – settings.get(“synth.rainTemp”) )
if (RainDiff < 0): RainDiff = 0
WaterTemp = WaterTemp - ( RainDiff / settings.get("synth.rainFactor") )
The first line will increase the water temperature from the last sample with (Light/factor). This is the heating of the water by the influence of sunlight.
The second line first calculates the difference between air and water temperature. The further apart, the bigger the effect will be. After dividing by a factor, I add this difference to the water temperature (this cal either heat or cool down the water)
The third line first calculates the difference in temperature between the water and the rain. Then I multiply this number by the number of millimeters of rain (more rain = more cooling). In case the rain is warmer than the water (should never occur), I do nothing.
Finally I subtract the calculated value from the water temperature divided by another factor. I use these factors to tweak and tune the simulation.
I still have to look at the effect in a longer run, maybe import a few weeks of simulated data into excel and graph it out. So far it seems to behave pretty well… Simulated temperatures normally run from 24 degrees centigrade (early morning) up to 27.5 degrees centigrade in the late afternoon (4PM). Rain cools it down 1-2 degrees. When looking at heavy rainfall (like September 11th 2013 where there was over 70mm of rainfall in 1,5 hours), the simulation delivered a water temperature of 21.4 degrees centigrade. Not bad at all!
I finally have all the stuff I need for the construction of all of the plumbing around the paludarium. So next was to decide where to place what. And that proves to be quite hard; I have less space than I initially anticipated…
How to place plumbing inside a cabinet
The first question was: How do I place all of the required plumbing in a cabinet while I’ll still be able to work on it properly without having to hang inside the cabinet all the time? The answer was to build everything onto a piece of multiplex and then placing the entire multiplex board inside the cabinet (and then connect up all of the hoses).
I ended up with something like this:
The wooden board where most of the plumbing will go.
At the top left tap water will be connected via the hose laying on top. This hose will connect Read more
In my previous post I managed to program the chips in the Canopy. Now I can adjust the code inside the Canopy where needed. Next thing to get working is to allow the Raspberry Pi to talk to the chips inside the Canopy.
Raspberry Pi, Atmel AVR and serial communications
Luckily the Raspberry Pi has a serial port, because the AVR controllers I used have one too, and they use this serial port to get commands from whoever is controlling the bus… Which should be the Raspberry Pi.
Problem is that the Raspberry Pi does not have a true RS232 serial port: the signals are there (on the GPIO headers), but they have 0-3.3V levels Read more
As I get closer to actually filling the paludarium with water, plants and eventually animals, I need to put a lot of focus on the electronics. The lighting armature on top, or as I like to call it, the Canopy is fully electronic. Without electronics the lights won’t even go on… High time to put some work into the Canopy to upgrade this piece of hardware to version 2.0.
First things first: Getting the code compiling again
Inside the Canopy I have 12 Atmel AVR controllers (ATtiny2013′s). These tiny controllers have been programmed in three flavors: LED, HALOGEN and FAN units. You guessed it, each type of controller has its own code. Luckily I programmed a single code, and when compiling this code I can tell the code which type it is supposed to compile. These little AVR controllers are programmed in C:
#include “timer.h” Read more
Posted in Automation, lighting, Paludarium
Tagged Atmel, Atmel AVR, Atmel Programmer, ATtiny2313, AVR, AVR Programmer, parallel port, parallel port programmer, PonyProg
Today I finally ordered most of the hardware I’ll require for the further construction of the paludarium. Not computer chips this time, but pumps, filters, pipes, heaters and other cool stuff. In this blog post I’ll highlight some of the components that I’ve selected.
Originally I used an Eheim 2222 external filter for Paludarium 1.0. However, this filter was already too small, so for the new Paludarium 2.0 it would definitely be too small, so I was in need of an upgrade. The price of the larger Eheim filters scared me a bit – So I decided to go for another vendor, JBL. They have a much cheaper filter line, the greenline filters:
The JBL Greenline 1501e external filter
I bought their 1501e version, which outputs an impressive 1400 litres per hour and Read more
Posted in Automation, Paludarium, Rain and Mist, Water physics
Tagged external filter, external heater, filter, hardware, heater, magnetic valve, pump, rain, valve
In version 1.0 of the paludarium, I had fetched an entire year of data, and I put that into the controlling software. That software in turn simulated that year of weather over and over again. But wouldn’t it be the coolest thing if I managed to pull the meteorologic data live from the web? With the Raspberry Pi I figured it should be possible. Todays goal was to fetch live meteorologic data from the La Selva biological station in Costa Rica. After some fighting with basic Python, I managed to get it going!
Where the data is
The data is actually freely available here: http://www.ots.ac.cr/meteoro/default.php?pestacion=2.
La Selva Biological Station in Costa Rica – Home of the meteo station who’s data I’ll be using!
I found out you can build a URL that will fetch half-hour data for one entire day. As an example: Read more