Sometimes LM35 analog temperature sensors give inconsistent readings. Reading fluctuations are simply too high. Specially if LM35 sensor is connected using a cable that is a meter long or longer. There are some techniques tu compensate for those fluctuations and get more consistent readings.… Read the rest
Starting from hardware side of things, all components were tested separately on breadboard. Putting all this together in a manageable package is just a bit of work.
The compnents used here are:
1x Arduino Duemilanove board
As usual a lot of work is done because there is an itch to scratch. The reason for this heater controller project is simple. My house has a underfloor water heating system, where water is warmed up by direct flow electric heater from www.starlevel.ee. A fireplace is also used for heating.
Connecting Arduino to a network need a bit of hardware - a shield in Arduino terms. http://www.nuelectronics.com/ makes some nice hardware for Arduino, including an ethernet shield. Unfortunately software and libraries that does come with their ethernet shield are weak.
Internet and open source comes to rescue again. Much more useful library can be found at http://blog.thiseldo.co.uk/?cat=14. works much, much better.
Only one big issue - it does not now nothing about MTU. If you want to send data that is longer than MTU (usually 1500 bytes) then you are out of luck.
The next logical step for using sensors, in this case LM35 and DS18B20 temperature sensors, is to shield them somehow from elements. I am not very comfortable installing a bare sensor outside, into the rain for example.
Some kind of small metal pipe should bee good enough. I did find some electric cable connectors for a thick power cable in local hardware store.
I used some plasticine like stuff, which hardens in about an hour and is intended for emergency car repairs, to plug one end of that tube.
Playing with temperature sensors on breadboard is cool, but usually, if one has more than one sensor, one likes to get some distance between them.
These are no scientific tests, but in my real world application, LM35 likes shorter cables. The shorter the better, or it will get large fluctuations in measurements.
A cable about 3 meters is as long as I would go. Cable length of 5 meters got me into trouble. Consecutive readings did vary in more than 5 degrees. Not good.
To move something in the real world, more volts and amperes are needed than Arduino can put out bu itself. Relay to the rescue.
A relay is an electrically operated switch. Very nice description by http://en.wikipedia.org/wiki/Relay
Unfortunately, connecting a relay directly to Arduino is not possible or at least not feasible.
Relays usually need more than 40mA at 5V to operate. And that is the maximum, Arduino can supply. So more electronic components are needed.
At least three good stories, implementing almost the same schematics are http://www.glacialwanderer.com/hobbyrobotics/?p=9,
Finally got this DS18B20 working. Actually three of them. And in two modes. Parasite power mode and main mode.
A 4.7K ohm resistor is the key.
Starting with the main mode, three wires are needed, as this sensor has three pins.
Datasheet is here http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf.
Connection is almost simple.
Pin 1 to Arduino ground
Pin 2 to Arduino digital input
Pin 3 to Arduino 5V
And a 4.7K resistor between pin 2 and pin 3
Works with three wires, as seen on the followind illustration.
Checked out my local electronics store http://www.oomipood.ee yesterday and got some stuff.
First, a breadboard and some wires. Also got me a soldering iron. Those are just for testing. At least I do not have to twist wires together now.
Then I thought, LED-s are cool for something, right? There is a nice site http://www.ladyada.net/learn/arduino/lesson3.html. So I did get 10 1/4W 1K ohm resistors, and some leds, specifically 2 red, 2 blue and 2 green. 3mm and somewhere near 2000-4000 mcd.
Looking around, I decided to get one plain Arduino Duemilanove. Luckily a local dealer is near so I did place an order on it at 15:48 and made a bank transfer. At 17:03, less than 1.5 hours later I got an e-mail stating that I can get my hands on it around 19 o'clock. After a quick call, I got confirmation, that my transfer had gone through and couple of hours and a small trip later I was a enthusiastic owner of an Arduino Duemilanove.
Great thanks for http://ittgroup.ee/ and Zazou in particular.