Jump to content

Banner.jpg.b89429c566825f6ab32bcafbada449c9.jpg

Arduino dew heater control


Gina

Recommended Posts

I thought of that but liked the MOSFET approach with their almost non-existant heating. I did use the complementary darlington in the frost heater for my weather station rain gauge.

Link to comment
Share on other sites

  • Replies 238
  • Created
  • Last Reply

Just got my Pulse Power supply. Worked fine when I connected green wire to ground - then I removed a lot of the wires from the bundle

just leaving 3 common (black) and 3 Yellow (12v) and the green wire (to ground).

Now when I switch on the fan kicks on for about a second and stops - no power output.

Could I have killed it so quickly?

Trev

Link to comment
Share on other sites

As I understand it the green wire just needs to touch the black ones momentarily, once for on, once for off, if you have ever powered on your pc and the button got stuck you know it switches off again after a few seconds :cool:

Link to comment
Share on other sites

I Made a bench top power supply a couple of years ago using an atx psu, following a guide on the net.

As I recall the green wire was switched to ground to turn it on or off, but there was also a brown wire that sensed 3.3v. If this was not connected to 3.3v output (orange wire) the psu would not stay on. There was also a 10ohm power resistor on the 5v line to create a load for the same reason.

Jason.

Link to comment
Share on other sites

I have my green wire on the Pulse PSU permanently connected to ground. It has been fine like this for the three weeks or so that I've had it. It doesn't need any resistors in line. Look up ATX PSU connections on the web, you will find plenty out there which gives good info. You could also query it with the vendor. He will tell its out of warranty by messing with it, but we all know that.

Have you made sure that the two 12V rails are kept separate? You can check this as they are each slightly different in actual voltage. 12.1 and 12.2 if I remember rightly. Also check the -12V and 3.3V and 5V for output; even if not using them, this may indicate whether the PSU is working at all.

Link to comment
Share on other sites

Thanks Auntystatic and Jas

If I momentarily touch the green to the black common it just spins the fan up for about a second and then cuts off. Same each time I do that - I don't have a brown wire in this setup re the 3.3v as Jas mentioned. So I am still stumped!

Wish now I had left all the loom wires intact!

Trev

Link to comment
Share on other sites

Thanks Phil for your comment

Supply is dead - no momentary power outputs on switching on - just the initial spin of the fan for about a second - its as if the PSU is not firing up properley.

I have kept V1 and V2 12 volt wires apart.

Don't really understand all those wires to the plugs looked like single connections to me before I removed them.

Did you remove most of the wires from the loom on yours?

Perhaps it is just a stroke of bad luck on my part!

Trev.

Link to comment
Share on other sites

  • 3 months later...

Hi All,

I am selling up all my kit, including the Arduino dew control system. Fully functional and amazingly good. If you are interested in saving yourself time, money and frustration please ask me about it.

Link to comment
Share on other sites

  • 3 months later...

i am trying to build my own arduino dew heater and i have a small question since there is a steep learning curve. I want to save digital ports on my board and from the datasheet i see that the DHT22  and the D18b20 sensor are one wire compatible. Can i connect them at the same pin?

Link to comment
Share on other sites

  • 3 months later...

I am building my own dew controller with an arduino Leonardo board and i have a problem and i would like some help. At my hardware i have a 20 column 4 row LCD display and along with the sensors i need i want to place an external EEPROM chip in order to store calibration data for the sensors and a value in order to dim the LCD backlight. The EEPROM chip i have is the 24LC256. At my sketch i need to include the wire.h library in order to initialize later on the I2C bus. When i do that at the setup function the program freezes and at the display i get random garbage eg. 3''''' and so on. Another solution would be to use the I2C Master Library http://dsscircuits.com/articles/arduino-i2c-master-library.html best suited for the Leonardo board but when i use the commands i can't get it to work in order to read/write data. Any help would be much appreciated

Here is a part of the start of my code along with the most important parts of the setup function

#include <LiquidCrystal.h> //LCD Library
#include <MenuBackend.h> //MenuBackend library - copyright by Alexander Brevig
#include <OneWire.h> //Onewire Library
#include <DallasTemperature.h> // Dallas library
#include <Wire.h> //I2C Library for external EEPROM
#include "DHT.h" // DHT Library

#define DHTPIN 8 // DHT sensor pin on arduino
#define DHTTYPE DHT22 // DHT22 sensor
#define ONE_WIRE_BUS 12 //pin where one bus sensor is connected
#define EEPROM_ADDRESS 0x50 //address for external EEPROM

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire); //Pass oneWire reference to Dallas Temperature.
DeviceAddress HeaterTemp = {
0x28, 0x57, 0xFF, 0x08, 0x04, 0x00, 0x00, 0x0FE }; //Dallas sensor address
DHT dht(DHTPIN, DHTTYPE); //define the dht instance
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //LCD pins

boolean ButtonPushed = 0;
float temperature = 0;
int humidity = 0;
float dew = 0;
float ota = 0;
int read_button = 0;
boolean menus = 0; //case for menus
byte lcd_brightness; //starting amount of brightness for lcd the will be read form EEPROM
int fadeAmount = 5; //amount of lcd fading
int reading = 0; //initial reading for analog buttons

const int HeaterPin = 10; //FET pin No.
const int Buzzer = 11; //buzzer pin
const int backlightPin = 13; //LCD backlight dim pin

byte newChar[8] = {
B00110,
B01001,
B01001,
B00110,
B00000,
B00000,
B00000,
B00000};

void setup(){
Serial.begin(9600); //used for debugging
//while(!Serial); //whether it is as comment or active this command does nothing
Wire.begin(); //initialize I2C bus HERE THE PROGRAM CRASHES
delay(15); //delay to make sure the EEPROM is initialized
pinMode(HeaterPin, OUTPUT); //mode of FET pin
pinMode(Buzzer, OUTPUT); // Mode of buzzer pin
pinMode(backlightPin, OUTPUT); // pinmode for lcd pin


lcd_brightness=(eepromRead(0,0),DEC); //read value from EEPROM
// Serial.println(lcd_brightness);
lcd.begin(20, 4); //initialize 20 char 4 line lcd
lcd.createChar(0, newChar);
lcd.setCursor(0,0);

//---opening test text---
analogWrite(backlightPin, lcd_brightness);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Kostas Dew Buster");
lcd.setCursor(0,1);
lcd.print("Version 0.15");
lcd.setCursor(0,2);
lcd.print("Test Build 0.5");
lcd.setCursor(0,3);
lcd.print("====================");
delay(5000);
lcd.clear();

//---initialize sensors---
dht.begin();
sensors.begin();
sensors.setResolution(HeaterTemp, 9); //set resolution of Dallas sensor to 9 bits i.e. 0,5C
}


and here is a test program with the I2C master library in order to read/write data at the external EEPROM, The problem i have with this code is that i can't read the specified register address at the EEPROM

#include  <I2C.h>
#define ADDRESS 0x50

int test;

void setup()
{
Serial.begin(9600);
I2c.begin();
I2c.write(ADDRESS,0x00,0x00,35);
test = I2c.read(ADDRESS,0x00,1);
delay(5000);
Serial.println( test);

}

void loop()
{
}

Link to comment
Share on other sites

On a general note about driving your dew heater with PWM...

I see a lot of low-side FET designs, for instance the one suggestion starting this thread. Bear in mind that any low-side switched application, although easier to implement, comes with the strict isolation requirement for all parts involved.

My suggestion is to use a high-side switch so that GND is always GND and not something that is turned on/off. The design with discrete FETs are somewhat messy as you need to take the gate voltage above the source voltage, often with a charge-pump design. There is, however, many complete high-side switches available on the market, most of them at reasonable prices.

The advantages of a true high-side switch are:

  • They accept logic levels for control
  • They switch the high side, in this case the 12V side of the dew heater, not the GND
  • They come with built-in over-current protection and even current sensing in some cases

One such device to look at is http://uk.farnell.com/infineon/its621l1/ic-mosfet-profet-8a-to-220-7/dp/1426200, another is http://uk.farnell.com/infineon/its428l2/ic-high-side-power-sw-41v-to252/dp/1426195

There are many more. They are really simple to use!

/per

Link to comment
Share on other sites

This is what I did - high side power MOSFET switching.  I think the diagram is further back in this thread.  I didn't like the idea of the normal GND side being "hot" either and I wanted to use standard phono connectors.

EDIT... Yes, post #187

Link to comment
Share on other sites

Of course i would like to have a look but the problem i had with my lcd showing garbage was that the SDA and SCL pins on the Leonardo board are also used by the digital pins 3 and 4 so there was a conflict of the external EEPROM and the LCD. Now that this problem is solved i am back at coding the rest of the functions of my controller. At my dew controller i also include a menu which is enabled by pushing the "Enter" button, one of four buttons i have. At the submenus i can adjust brightness, calibration points for the sensors, alarms that are also audible with the help of a buzzer and a dew enable point. Here is a photo of my project.

post-4387-0-79358300-1389521444_thumb.jp

Link to comment
Share on other sites

Afraid not, but it is broadly similar to how the majority have constructed in this thread with logic level FETs, PWM and the PID functionality of Arduino.  I haven't even done a circuit diagram, which I suppose I should do as I am bound to forget how it went together and then need to fix something later on! :) 

I used 4pin DIN plugs and sockets to connect the dew heaters to the box and a stereo 3.5mm plug for the DHT22.  Temperature sensors are inside the dew band.  The temperature sensors ID associated with a PWM output are still hard coded.  I was going to automate the detection of which sensor was plugged in to which port but in the end I didn't bother. I just have to remember port 0 is my main scope heater and port 1 is my finder scope heater :)

The dew point gap between what I try and keep the straps at vrs calculated is just a hardcoded 10 degrees.  That seems to work fine for me at the moment.

Once the PIDs are setup, the main routine just cycles round polling the sensors, updating the output PWM based on the last calculated power output from the PID and updating the LCD & Serial port with stuff (temp, dew point, humidity, power demand etc)

Link to comment
Share on other sites

  • 1 month later...

I have a small problem with the FET implementation and i would like some help. I use the ITS621L1 and according to the datasheet http://www.farnell.com/datasheets/85678.pdf i need to have the pins 3 and 2 to the arduino signal pin and GND respectively. On the other hand i need to have pin 4 connected at +12V and pin 1, which is the output, at the positive of my dew strap, the GND of the dew strap is connected at the battery's negative pole. When i turn on the circuit the output voltage to my dew strap is +12V even though the arduino doesn't send any commands at the FET. I checked for any short circuits but i have none at the FET. The resistance between pins 4 and 1 (for the output section) is 570Ω both at On and OFF states. Any ideas on the problem? Am i missing something?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.