View Single Post
  #1  
Old 10-04-2016, 05:04 PM
ChrisV's Avatar
ChrisV (Chris)
Registered User

ChrisV is offline
 
Join Date: Aug 2015
Location: Sydney
Posts: 1,738
Really easy to make arduino dew heater controller

EASY TO MAKE ARDUINO DEW HEATER CONTROLLER

I needed a dew heater, so thought it was a good time to revisit the excellent Dew Heater controller built in IceInSpace 2010 by Bob Stephens. I had two reasons for doing this:
1. There are some great modular arduino products which make it extremely easy to make. The Nano has a great extension I/O board so all the components CAN BE attached with pre-made connectors. There is NO circuit board making. There is NO soldering onto circuit boards. The ONLY soldering is for the plugs and sockets to connect it to the outside world.
2. Arduino based modules are now very cheap. Apart from the heater straps it costs ~$40 for a 1x channel build (Jan-Feb 2016).
3. Except for the heater it uses very little power. In fact, you can leave it on all the time to monitor temp/humidity – only plug in the heater if needed.
The 1st attached pic show it connected and its inside connections

How the controller works & software
The controller is similar to the build by Bob Stephens (with additional liberation of software from other sources) so I won’t go into details. It is Arduino based and feedback controlled, briefly:
1. DHT22 senses ambient temperature & humidity. The dew point is calculated.
2. DS18B20 temperature sensor placed inside the heater strap senses the temperature of the element to be heated. You’ll need 1x for each bit of glass to be heated. I haven’t done the code for multiple channels yet, but will do so if any interest.
3. Calculate the difference = ( heated element - ambient dew point ).
4. Send a PWM output from the Arduino based on this difference. I have used a threshold for activation of the heater of 5oC above ambient dew point (this is what most seem to use - can be changed in the software). So the PWM output = 0% at +5 oC (and above this) to 100% at 0 oC.
5. This PWM output drives the heater strap via a MOSFET driver module. The heater output increases as the temperature difference between heated element and ambient decreases.
6. The display swaps between showing (1) the ambient temperature, humidity and dew point and (2) the heater temperature, difference to dew point, and heater drive level.

The parts
The parts as follows. The 2nd attached pic shows the main Arduino bits.
• Arduino bits ($10-11 – ebay O/S vendors): Arduino Nano; Nano V3.0 prototype shield I/O extension board expansion module.
• The sensors ($10.50 – ebay O/S vendors): DHT22 Digital temperature/humidity sensor; DS18B20 digital temperature 1-wire sensor (need an extra DS18B20 for each additional heater). The beauty of these is that they are digital – they are plug and play as they do not need calibrating.
• Display ($7 - $12 – ebay local & O/S vendors). I used a 0.96” I2C SPI serial 128x64 OLED display - it is small, so if you only want 1x heater channel it all fits in a small light (box) that I Velcro onto the scope. You can use other display eg 20x4 red LCD display. Any display is fine just as long it is an I2C serial display as it only require 2x connection leads (it wont use up all of the Arduino analog/digital ports if you need multiple heater channels) plus 2x power leads.
• MOSFET driver for heater (ebay O/S vendors). $3.50 1x channel module and ($10 for a 4x channel module).
• Hardware (Jaycar). ~$10-15 for Jiffy box, plugs/sockets, wires and 1x resistor.
• Heater strap (Jaycar & Bunnings). Whatever you want. I won’t describe the heater straps here – I use nichrome as its much easier than resistors (and not difficult to connect to wire as some would have you believe).

The nice thing about the extension I/O board is that each Arduino analog/digital/I2C input/output has pins for that input/output & +5VDCC/GND. So you can just plug the pre-made connectors into the IO board. For the MOSFET driver and display just plug the other end into that module. For the sensors (DHT22, DS18B20), just cut one end off and solder onto the appropriate lead or socket (and cover with heatshrink = wonderful stuff).

The circuit
The circuit and how you put it together as follows (shown in the 3rd attached pic). A few things to note:
• The DHT22 attaches to the outside of the box. So get 3x connectors, cut off one end, solder to the DHT22 leads and cover soldering with heatshrink (1.5 – 2.55mm). See the 4th attached pic.
• Have used parasitic mode for the BS18B20 (so only need 2x wires instead of 3x). So you can’t go wrong wiring it up. Just connect the 2 outside ones together – these go to GND; the central one goes to the signal of digital 12. If you cover up all the solder joints and its connections to the 2 core wire with heatshrink it is nice and watertight (see 4th attached pic). There might also have to be a one line change to code in the library of you find it doesn’t work (I can provide details).
• The serial display – just needs 4x wires. Don’t forget to swap over the SCL & SDA connections between display and extension I/O board.
• MOSFET driver connections = easy.
• Power – run the 12V input to both the Arduino extension IO board and the MOSFET driver.

Getting it going
Before you do the whole build its best to put it together in stages and test each bit.
1. First put Arduino on your PC or Mac, load up the attached sketch (it will need a few libraries uploaded – should happen automatically). Don’t worry if you haven’t used Arduino before – its not too hard.
2. At this stage its best to put it together in stages to check it works. (1) plug in the DHT22 and check that it reads the ambient temp/humidity. (2) plug in the Ds18B20 and check that it reads heater sensor temp and calculates the heater output. (3) Plug in MOSFET driver and heater strap – does it heat it.
3. Put it all together in a jiffy box.


Cheers, Chris
Attached Thumbnails
Click for full-size image (Slide1.JPG)
141.4 KB1280 views
Click for full-size image (Slide2.jpg)
139.7 KB1214 views
Click for full-size image (Slide3.jpg)
105.5 KB1401 views
Click for full-size image (Slide4.jpg)
134.0 KB1162 views
Click for full-size image (Slide5.jpg)
90.0 KB1165 views
Attached Files
File Type: zip DewHeaterControllerV3.zip (2.6 KB, 458 views)
Reply With Quote