# My condensation management setup worked!



## dewbane (Mar 7, 2018)

My username is also the name of the shop equipment condensation management system I spent a couple of weeks putting together.  It's finally alive, and it's working!

I could afford equipment or building, but not both, and it's hard to make stuff with a building.  I have an unheated, uninsulated shop with a dirt floor, and I've been battling serious condensation problems all winter.   I ran across a guy on Youtube who had put together an Arduino-based system to manage this problem, but he wasn't very forthcoming with the details.  He provided the operating theory, but I had to go off and learn enough to put a system together and make it happen for myself.  This was rewarding, but it was not fun.

I spent a couple weeks of spare time working on this thing.  I get temperature and relative humidity from a sensor, and use that to calculate the dew point with some math I stole off the internet and could never explain.  I have a temperature sensor mounted on my mill and my lathe, and each machine has a pair of silicone pad heaters plugged into a relay for that machine.  The system logic turns on the heat as required to warm the equipment to 1°C above the dew point.  I bench tested it thoroughly, and after all these hours of banging my head against the wall chasing bugs in both the hardware and the software, I finally deployed the system in my shop yesterday.

It's cold outside and very foggy, so I rushed out to the shop as soon as I got home to see how the system was working.  I was greeted with this display:
	

		
			
		

		
	




Here's what the box looks like (doubling as a handy hanger for my parallel keeper), along with the lathe relay box:



I will tidy up the wiring tangle after I establish that my sensor placement is going to work.  I drilled a hole in the lathe bed casting at the headstock end (g0602), just above the tunnel.  If I ever run into a combination of change gears that interferes with that, I'll have to back up and punt.  On the mill (g0704), I mounted the sensor in the plastic box that used to house the worthless chip shield that was constantly in my way.  On the lathe, I mounted one heater toward the far end where the tailstock is usually parked, and I mounted the other just below the ways, as close to the headstock as possible.  On the mill, I ended up mounting both of the heaters on the back of the column, because nothing else seemed workable.

Time till tell how the system performs, but so far, so good!  Dew point 34°F, very high relative humidity, but my equipment is at 35 and 36, and it's bone dry.  I don't yet have any idea how fast the equipment will heat up, what temperatures it can reach, or if this system has enough potential to keep my equipment condensation free under all circumstances.  It's off to a good start, and I was stoked to come home and find the system had done its job.


----------



## Brento (Mar 7, 2018)

This sounds awesome let me know how it works bc im gonna be in the same boat you are in


----------



## jwmelvin (Mar 7, 2018)

Nice work. This type of thing is how Ingot into micro controllers in the first place (making a temperature controller for cooking) and I now have a long list of things I have made. I like your idea.


----------



## T Bredehoft (Mar 7, 2018)

Good idea, while the initial investment of time and thought was considerable it negates worry about condensation and rust without heating an entire building.


----------



## chips&more (Mar 7, 2018)

Very clever idea! Good job! Also, when you get back to us, maybe give an insight on what your before and after electric bill looks like?


----------



## jwmelvin (Mar 7, 2018)

I can't imagine this is a large power use. Can you give info regarding the heaters you used? The only thing that occurred to me is that you may want heaters in the xy table too.


----------



## middle.road (Mar 7, 2018)

Great idea! Pad Heaters? I hadn't thought of that. 

In your post you stated "_I will tidy up the wiring tangle after I establish that my sensor placement is going to work_".
And as soon as your back is turned they will re-entwine themselves like spaghetti in a pan...


----------



## Bob Korves (Mar 7, 2018)

chips&more said:


> Very clever idea! Good job! Also, when you get back to us, maybe give an insight on what your before and after electric bill looks like?


It would be interesting to hook it up to one or more Kill-A-Watt meters that keep track of electrical cost.
http://www.p3international.com/products/P4400.html
https://www.homedepot.com/p/Kill-A-Watt-Electricity-Monitor-P4400/202196386
https://en.wikipedia.org/wiki/Kill_A_Watt
I use a similar device to keep track of the heating cost in my house.  Last winter I used 14.98 kWh of electricity to heat my house, costing less than $2.50, and yes, that is for the entire winter.  I did not use my operational central heating system at all.  Yes, this is the California central valley, but still, it gets below 20F here at times, and foggy for days, and my 1983 vintage house has just barely to 1983 code insulation, single pane windows, and a slab floor exposed to daylight at the edges.  I have been doing that for about 10 years.

Edit:  Come on spring time!


----------



## chips&more (Mar 7, 2018)

Bob Korves said:


> It would be interesting to hook it up to one or more Kill-A-Watt meters that keep track of electrical cost.
> http://www.p3international.com/products/P4400.html
> https://www.homedepot.com/p/Kill-A-Watt-Electricity-Monitor-P4400/202196386
> https://en.wikipedia.org/wiki/Kill_A_Watt
> ...


Bob, I like your way of thinking. But unfortunately, around my house the wife knows exactly where the thermostats are! And how to operate them! It’s a good thing I installed a photovoltaic solar system. Wait for it…Wait for it…Wait for it. Because it makes my living space spouse proof from light switches, appliances and thermostats…Dave


----------



## markba633csi (Mar 7, 2018)

If it's like many projects I have worked on, it'll stop working (or go into unexplainable oscillation) as soon as you
clean up the wiring   seriously though, cool (warm) project
Mark


----------



## Bob Korves (Mar 7, 2018)

markba633csi said:


> If it's like many projects I have worked on, it'll stop working (or go into unexplainable oscillation) as soon as you
> clean up the wiring


Yes, or the first time you show somebody how good it works...  "It was working just fine until now..."


----------



## brino (Mar 7, 2018)

@dewbane,

First, Welcome to the Hobby-Machinist!

Second, what a great way to jump in and share! Very cool project!

Some questions:
Is your system also Arduino based?
If so, what board did you use? and is the display integrated to the Arduino board or something you add-on?
Can you post a link to the temp sensors and heating pads you used?
Were there already libraries to support those parts, or did you write your own code?

I am not out to steal/recreate your idea, just very curious.

Thanks,
-brino


----------



## dewbane (Mar 7, 2018)

I used an Elegoo Uno R3 Arduino clone with a prototype expansion shield.  The shield provided enough tie-ins for power and ground wires to run everything.  I used a SunFounder 20x4 display with I2C backpack board (four-wire hook up), an AM2302 for temperature and humidity, and two DS18B20 as temperature sensors.  For power control, I went with IoT Relay boxes from Digital Loggers for convenience and elegance.

I had a lot of trouble sourcing the kind of heaters I wanted at a reasonable cost.  I finally found the right form factor at Banggood, and they were less than $8 each.  If I had paid $40 I would have gotten a Chinese heater either way, so we're giving this a shot.  Last but not least, I used telephone wire to extend everything, and I wired it all through a pair of VGA connectors that had the pins expanded out to screw terminals.  Wiring a bunch of things using idential red/green/yellow/black wires was fun to keep straight.  The DS18B20 require a 4.7 kOhm pull-up resistor wired between data and power, and I simply soldered these in where my wires entered the connector terminals, with a little heat shrink tubing to protect them from shorting out by accident.

Here is the sensor bundle tangle (resistors are inside that plug):




The DS18B20 are One Wire sensors that can share a bus, but I had plenty of unused data pins and it was less complicated to wire them into separate buses.  Each sensor has a unique address, which means you can address them individually on the same bus, but it also means you can't swap a component without changing the address in code.

Here are the parts that got installed into the case.  Actually, this is an old picture.  The resistor ended up in the plug, and I moved the relay wires from pins 0 and 1 to pins 10 and 11.  Something, somewhere was interfering with 0 and 1, which took me forever to figure out.  I never did figure out what.  Moving the wires to different pins got everything working, and I lived happily ever after:




There are public libraries for all components.  So many public libraries that finding one that worked for me was one of the hardest challenges  For the curious, here's the code.  I didn't invest effort making it elegant, because I didn't really expect to post it in public, but I don't really see any reason not to publish it.  What, I was going to manufacture these things?  Not on your life!

Incidentally, I went live with the system with the 5-second delay, because I never uploaded the code again after changing it to a 60-second delay.  I was worried about switching things off and on too rapidly, but the sensors an heaters are both slow, and I think this will be fine as is.

/*
Dewbane Condensation Management System

Prevents condensation on equipment by keeping its temperature
elevated above the dew point.  This system is designed to manage
one lathe and one mill from a single unit.

Copyright (c) 2018 D. Michael McIntyre
michael@highlanddragonforge.com

This code was developed for an Arduino Uno R3 using the following:
        1 AM2302 temperature and humidity sensor
        2 DS18B20 temperature sensors (on separate buses for convenience)
        2 IoT Relay enclosed high-power power relay
        4 100W silicone heaters (2 per machine)

        Lathe: yellow zip ties

The theory of operation is as follows:
        * poll AM2302 to get temperature in Celsius and relative humidity
        * use temperature and humidity to calculate dew point
        * for equipment 1, equipment 2 do
        * poll the DS18B20 for the equipment n
        * turn off IoT relay for equipment n heaters if lathe is above dew point
        * else turn on IoT relay for equipment n heaters
        * update LCD display to reflect current status
        * loop infinitely             

*/


#include "cactus_io_AM2302.h"
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include "cactus_io_DS18B20.h"


// set the LCD address to 0x27 
LiquidCrystal_I2C lcd(0x27, 20, 4);

// pin defines
#define AM2302_PIN   2 // temp/humidity data pin
#define LATHE_T_PIN  8 // lathe temp data pin
#define MILL_T_PIN   9 // mill temp data pin
#define LATHE_R_PIN 10 // lathe heat relay
#define MILL_R_PIN  11 // mill heat relay

// set to 60000 for production, 5000 for debugging
//#define LOOP_DELAY 60000
#define LOOP_DELAY 5000

// Create DS18B20 objects
DS18B20 LATHE(LATHE_T_PIN);
DS18B20 MILL(MILL_T_PIN);

bool latheHeat = false;
bool millHeat = false;
float dewPoint = 0.0;
float displayTemperature = 0.0;
float displayHumidity = 0.0;
float latheTemperature = 0.0;
float millTemperature = 0.0;

// degree symbol
byte degreeSymbol[8] = {
                0b00110,
                0b01001,
                0b01001,
                0b00110,
                0b00000,
                0b00000,
                0b00000,
                0b00000
};

// Initialize DHT sensor for normal 16mhz Arduino. 
AM2302 dht(AM2302_PIN);

void setup() {
    // set relay pins as output and turn them off  
    pinMode(LATHE_R_PIN, OUTPUT); 
    pinMode(MILL_R_PIN, OUTPUT); 
    digitalWrite(LATHE_R_PIN, LOW);
    digitalWrite(MILL_R_PIN, LOW);


    Serial.begin(9600); 
    Serial.println("Dewbane by Highland Dragon Forge");
    Serial.println("Initializing AM2302...");

    dht.begin();

    Serial.println("Initializing DS18B20 lathe sensor...");
    LATHE.readSensor();

    Serial.println("Initializing DS18B20 mill sensor...");
    MILL.readSensor();

    Serial.println("Initializing display...");
    // initialize the lcd
    lcd.init();
    // turn on the backlight
    lcd.backlight();
    // create degree custom character
    lcd.createChar(0, degreeSymbol);
}

void loop() {
    // read AM2302 to get temperature and humidity
    //
    // Reading temperature or humidity takes about 250 milliseconds!
    // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
    dht.readHumidity();
    dht.readTemperature();

    // Check if any reads failed and exit early (to try again).
    if (isnan(dht.humidity) || isnan(dht.temperature_C)) {
        Serial.println("DHT sensor read failure!");
        return;
    }

    // calculate our dew point 
    dewPoint = dewPointFast(dht.temperature_C, dht.humidity);
    displayTemperature = dht.temperature_F;
    displayHumidity = dht.humidity;

    // read lathe temperature
    LATHE.readSensor();
    latheTemperature = LATHE.getTemperature_C();

    // read mill temperature
    MILL.readSensor();
    millTemperature = MILL.getTemperature_C();

    // toggle heaters
    processHeat();

    // update the display at the end of each loop
    updateDisplay();

    // Wait 60 seconds before looping, to give everything time to settle before
    // a new round of decision making
    delay(LOOP_DELAY);

}

// reference: http://en.wikipedia.org/wiki/Dew_point
double dewPointFast(double celsius, double humidity) {
    double a = 17.271;
    double b = 237.7;
    double temp = (a * celsius) / (b + celsius) + log(humidity*0.01);
    double Td = (b * temp) / (a - temp);
    return Td;
}

// quick hack to figure out how many spaces to use for a number
int len(float data) {
    if (data > 100.0) return 3;
    else if (data > 10.0) return 2;
    else if (data > 1.0) return 1;
    else if (data < -100.0) return 4;
    else if (data < -10.0) return 3;
    else if (data < -1.0) return 2;
}

float convF(float data) {
    return data * 1.8 + 32;
}

void updateDisplay() {
    int row = 0;
    lcd.setCursor(0,row);
    lcd.print("      [Dewbane]     ");
    lcd.setCursor(0, row);
    int temp = (int) displayTemperature;
    int humi = (int) displayHumidity;
    lcd.print(temp);
    lcd.print((char)0);
    lcd.print("F");
    lcd.setCursor((20 - len(humi) - 1), row);
    lcd.print(humi);
    lcd.print("%");

    row++;
    lcd.setCursor(0,row);
    lcd.print("Dew Point:");
    float dpF = convF(dewPoint);
    // move cursor to right minus string length
    lcd.setCursor((20 - len(dpF) - 2), row);
    int intF = (int) dpF;
    lcd.print(intF);
    lcd.print((char)0);
    lcd.print("F");

    row++;
    lcd.setCursor(0, row);
    lcd.print("Lathe ");
    int l = (int) convF(latheTemperature);
    lcd.print(l);
    lcd.print((char)0);
    lcd.print("F     "); // intentional trailing spaces
    lcd.setCursor(16, row);
    if (latheHeat) lcd.print("HEAT");
    else lcd.print(" OK ");

    row++;
    lcd.setCursor(0, row);
    lcd.print("Mill ");
    l = (int) convF(millTemperature);
    lcd.print(l);
    lcd.print((char)0);
    lcd.print("F     "); // intentional trailing spaces
    lcd.setCursor(16, row);
    if (millHeat) lcd.print("HEAT");
    else lcd.print(" OK ");

}

// keep the equipment at least 1.0 C above the dew point at all times
void processHeat() {
    if (latheTemperature <= (dewPoint + 1.0)) {
        // turn on heat
        digitalWrite(LATHE_R_PIN, HIGH);
        latheHeat = true;
    } else {
        // turn off heat
        digitalWrite(LATHE_R_PIN, LOW);
        latheHeat = false;
    }

    if (millTemperature <= (dewPoint + 1.0)) {
        // turn on heat
        digitalWrite(MILL_R_PIN, HIGH);
        millHeat = true;
    } else {
        // turn off heat
        digitalWrite(MILL_R_PIN, LOW);
        millHeat = false;
    }
}


----------



## Brento (Mar 7, 2018)

If this works well i would honestly pay you for a system setup.


----------



## brino (Mar 7, 2018)

dewbane said:


> What, I was going to manufacture these things? Not on your life!



I bet you could find a few customers here.....



dewbane said:


> Incidentally, I went live with the system with the 5-second delay, because I never uploaded the code again after changing it to a 60-second delay. I was worried about switching things off and on too rapidly, but the sensors an heaters are both slow, and I think this will be fine as is.



If you have the heaters and sensors placed well, then the thermal mass of the machines will slow the feedback down substantially.

I gotta say I am very impressed with your system. It's got an actual need, some research, applied science, real novelty.
Well done!
..and thanks for sharing so much detail it is appreciated.

/rant on
I get really frustrated with the avalanche of microprocessor and especially IoT projects that don't do anything useful.
So many projects seem to be done "because they can" not because it fills a need (1).
I don't need my frig to talk to my toilet, it's rediculous!
(1) okay maybe the benefit of _some _of those projects is for the person to learn about the system, that's great I support education, but to act like it's useful and gonna help society and save the world come on, open your eyes!
/rant off

I hope you keep us updated with the beta testing. 

Thanks!
-brino


----------



## dewbane (Mar 8, 2018)

brino said:


> I bet you could find a few customers here.....


I've been mulling it over, but there are a lot of things to work through to develop a real commercial product.  Maybe I should set up a Kickstarter or something.


> I gotta say I am very impressed with your system. It's got an actual need, some research, applied science, real novelty.
> Well done!
> ..and thanks for sharing so much detail it is appreciated.


I didn't do it first, but I did it prettier.


> I get really frustrated with the avalanche of microprocessor and especially IoT projects that don't do anything useful.


That's why it took me so long to do a project, even though I always could have.  Really, this just reflects the approach I've always taken to everything. I've never been a fan of exercises and sample problems.  Give me a real problem I can get my hands on, and I can probably figure it out.


----------



## dewbane (Mar 8, 2018)

jwmelvin said:


> I can't imagine this is a large power use. Can you give info regarding the heaters you used? The only thing that occurred to me is that you may want heaters in the xy table too.


They're 100 watt "oil pan heaters" straight from China.  I have definite concerns about not putting a heater directly on the tables, but there just isn't anywhere to mount one except up top.  The underside is all open air and screw.  I do have a 5" vise on this little mill/drill, and there is a big overhang where I could mount a heater there.  I think the power cord would be in my way constantly, and it could potentially make the job even harder when I eventually add DRO.

 The base of the casting is much to narrow for the heater, which is roughly 4" square.  I could put one _under_ the base, but we'll see how it does before I throw away all the time I spent dialing in the tram.


----------



## dewbane (Mar 8, 2018)

chips&more said:


> Very clever idea! Good job! Also, when you get back to us, maybe give an insight on what your before and after electric bill looks like?


I wasn't heating with electricity before, so all I can do is add to the electric bill.  It was always going to cost something to protect my equipment, and this just has to be cheaper than my alternatives.  It would be interesting to add a clock to my system and track how much time it's actually running the heaters.  I could get an approximate idea without spending money on a meter.

How much this costs will depend entirely on the weather, which is wildly variable year to year.  The beauty of this system is that my equipment will be above the dew point naturally probably 80% of the time.  Even if I heated the entire space, I couldn't guarantee, say, 68 degrees would always be above the dew point.  Right now it's 29 out there, but the dew point is 13 and the equipment is at about 30, so it's not burning any watts except the trickle to power the electronics.


----------



## jwmelvin (Mar 8, 2018)

A couple further thoughts:

FYI, pins 0 and 1 on that form of Arduino board are the serial pins, so they don't behave as normally expected for digital I/O. 

Using a relay box, you don't want the relay cycling too much, so you would be well served by adding some hysteresis to the switching algorithm. In other words, define a dead band around the desired temperature, and turn the heater on if below that dead band, but don't turn it off until above the dead band. That stops short cycling. 

An even better approach to heating is to use a PID algorithm, which will maintain a steady temperature rather than waiting for it to rise and fall. The idea is finding the correct duty cycle for the heater, so that it may spend 30% of the time on, pulsing heat, to maintain your desired temperature. There are PID libraries available for Arduino. When I did this for a heater, I modified the PID routine to include a feed-forward term, allows you to predict the control effort and use that as a starting point. You can look at my code if you are interested. But with a PID controller, you need to use a solid-state relay because you will be cycling the heaters on/off a lot more. For something like you are doing, you might still use a one-minute cycle time, as the system response is very slow. It would just give you a more consistent temperature for the machine.

As you add features to your code, you will want to change to a more independent timing arrangement, rather than using delay. That way you can have several things happening and not have the timing of one affect another. I have used libraries for this, like MSTimer2, but you can do it by just tracking when something last happened and comparing to the current time, millis(), as explained here.


----------



## dewbane (Mar 8, 2018)

jwmelvin said:


> FYI, pins 0 and 1 on that form of Arduino board are the serial pins, so they don't behave as normally expected for digital I/O.


If I had caught this detail it would have saved time.


> Using a relay box, you don't want the relay cycling too much, so you would be well served by adding some hysteresis to the switching algorithm.


Definitely a concern.  The code already aims higher than the minimum target temperature (one degree Celsius is a bigger jump than one degree Fahrenheit) with this in mind.  The temperature sensors are all slow to reflect changes, and the machines are large thermal masses that won't change temperatures rapidly, so in practice I have some hysteresis in the system.  If it proves insufficient, I definitely need to add more.


> An even better approach to heating is to use a PID algorithm, which will maintain a steady temperature rather than waiting for it to rise and fall.


The target temperature is a moving target that varies moment to moment with atmospheric conditions.  PID algoritms seem to be for things like automotive cruise control, and this system needs to do the equivalent of changing the set speed continuously.  I'm not sure that would be a good fit, but could be missing the point.


> The idea is finding the correct duty cycle for the heater, so that it may spend 30% of the time on, pulsing heat, to maintain your desired temperature.


Duty cycle is a real concern, and the current design is basically rolling the dice and hoping the heaters never burn out.  I have no idea what their rated duty cycle is.[/quote]But with a PID controller, you need to use a solid-state relay because you will be cycling the heaters on/off a lot more.[/quote]I thought all relays were solid state?


> As you add features to your code, you will want to change to a more independent timing arrangement, rather than using delay. That way you can have several things happening and not have the timing of one affect another. I have used libraries for this, like MSTimer2, but you can do it by just tracking when something last happened and comparing to the current time, millis(), as explained here.


I'm hoping to walk away and spend my time making things with the equipment.  Tweaking the software would be painful at this point.  Of course we all know I'm going to have to tweak it sooner or later, because that's the nature of software.

Thanks for the input, and I did look through your code.  Food for thought!


----------



## jwmelvin (Mar 8, 2018)

dewbane said:


> The target temperature is a moving target that varies moment to moment with atmospheric conditions.



Yes, for sure. PID has no issue with a changing set point. It just does a better job of maintaining the setpoint than does bang-bang control like your're using. 



dewbane said:


> Duty cycle is a real concern, and the current design is basically rolling the dice and hoping the heaters never burn out.



I'm betting you will be fine, since the metal conducts heat well and will limit the temperature of the heating element. 



dewbane said:


> I thought all relays were solid state?



Definitely not. It appears the IoT Relay you are using has an electromechanical relay, aka an air-gap relay. This is good/important for safety since it fully disconnects the output when desired. A solid-state relay is a form of transistor and has some leakage voltage even when off. But SSRs can handle applications with high switching rates. For your application, I don't think it's significant, but if you were using a PID controller, you might care.



dewbane said:


> I'm hoping to walk away and spend my time making things with the equipment.



I completely understand and it's almost for sure the right choice. Thanks again for sharing. I may end up doing something similar down the road.


----------



## whitmore (Mar 8, 2018)

dewbane said:


> They're 100 watt "oil pan heaters" straight from China.  I have definite concerns about not putting a heater directly on the tables...
> The base of the casting is much to narrow for the heater, which is roughly 4" square.  I could put one _under_ the base, but we'll see how it does before I throw away all the time I spent dialing in the tram.



 A few thoughts:
First, there's high voltage safety concerns using AC heaters, so it might pay to get some
thermoelectric 'cooler' modules instead: you can run those off safe low voltage DC, so they
pump heat into the cast iron from a 'cold side'.  Fitted with some suitable vanes, the cold
side will condense water into any convenient bucket or drain... lowering the moisture content
of the air and protecting the hand tools and loose metal around the shop, not just the lathe and mill.

Second, a good thermal scheme  might be to put a variety of heat exchangers onto the tools
that take circulating water/antifreeze to a central site (over the drain) with the
heat pumping modules.   One might use quick-connect fittings to keep the
fluid from leaking, but it's low enough pressure that those can be plastic.quick-disconnect example

Third, calculating the dew point is a GREAT step forward.  Percent  humidity was a relatively 
useless metric, and it dominated the discussion for too long.    There are circumstances (like
entering the eye of a cyclonic disturbance) where the air pressure changes quickly and
the dew point changes VERY FAST.   Lenticular clouds routinely form in the winds over
mountaintops, for instance.   So, the 'dew point' margin might be expanded for safety
in windy conditions (there's always high wind before entering the eye).


----------



## FanMan (Mar 8, 2018)

dewbane said:


> ...I have an unheated, uninsulated shop with a dirt floor, and I've been battling serious condensation problems all winter.



Not to derail the subject, and I like your solution, but the dirt floor is likely a large part of your problem.  I put up a fabric garage to store my plane while I repair it (damaged during an off airport emergency landing) and everything inside was dripping from the moisture coming up through the ground.  I solved it by building a raised floor:  I laid down black sheet plastic over the dirt, wooden pallets over that, then covered it all with 3/8" chipboard screwed to the pallets to tie it all together.  It's not perfectly level (far from it, really), but it's solid and it's now dry as a bone inside.

The picture shows it with the floor half done.


----------



## dewbane (Mar 9, 2018)

jwmelvin said:


> Definitely not. It appears the IoT Relay you are using has an electromechanical relay, aka an air-gap relay.


All of that went over my head until now.  I didn't know solid state relays were a thing.  I went and did some reading, and I'm less ignorant now.  Interesting!

Well, it's 20 out there.  My equipment is fine, but my only source of serious BTUs at the moment is unvented propane.  I'm sure Dewbane would kick the heaters on within moments of firing up the gas, but I would be really surprised if this rig could get the equipment up to temperature fast enough to avoid condensation.

I can think of scenarios with pre-heaters triggered from my phone, but the practical thing to do is keep that bottle of CRC 3-36 handy, and hose everything down to ride out the big sweat until the metal warms up in due course.

Have I mentioned that I really hate winter, and I can't wait for it to leave me alone?


----------



## dewbane (Mar 9, 2018)

FanMan said:


> Not to derail the subject, and I like your solution, but the dirt floor is likely a large part of your problem.


The dirt floor definitely doesn't help, but this shop started life as my smithy, and grew equipment as I made excuses to acquire it.  A dirt floor is really good for a smithy, while a wood floor is really bad.  The one floor that works for both is concrete, and I can't afford that yet.  Good suggestions though!


----------



## dewbane (Mar 12, 2018)

I really wanted to work in the shop today, so I broke down and hooked up the unvented propane tank heater.  The relative humidity jumped way up, and I did get minor condensation on the mill tables and lathe chuck, but it really didn't take long at all to balance out.  Maybe five minutes.  I was pleased.


----------



## jwmelvin (Mar 12, 2018)

That’s awesome. Five minutes seems quite fast. It’d be easy to add a preheat button but maybe not worth it if it can recover that quickly.


----------



## Brento (Mar 12, 2018)

Where can i sign up to buy one of these?


----------



## dewbane (Mar 13, 2018)

Brento said:


> Where can i sign up to buy one of these?


I have on the order of $125 in raw materials in this thing, and I doubt I could shave my costs enough to produce a product people would actually buy.  I'm concerned about the liability too.  It's all fun and games until something goes wrong and your shop burns down.  Then you go looking for someone to sue, or your homeowner's insurance company does.  My shop is my problem, but I'm not really keen to make other people's shop my problem.  My wife and I had a long talk, and even though there is some interest, it's probably just not worth it in the long run.  The more customers I have, the greater the chances that someone is going to play the jerk card.  I got sued once for giving a guy $100 for free.


----------



## dewbane (Mar 13, 2018)

The system seems to be up to the challenge of keeping condensation at bay when I fire up the gas on a snowy day that's a little below freezing.  I worked out there longer than I ever have with the heat on, and the equipment didn't sweat much at all.  The humidity skyrockets with the exhaust emissions of the propane, but the ambient air temperature helps bring the equipment temperature up.  It works out reasonably well.

When I fired up my gas forge within my shop, however, I developed dramatic amounts of frosty milk on my equipment right away.  The system can't handle THAT much water vapor.  I don't normally run the gas forge inside the shop, but we got a deep snow, and I only had a small heat treating job to do.


----------



## Brento (Mar 13, 2018)

I understand man. Its an awesome idea


----------



## gonzo (Mar 14, 2018)

dewbane said:


> I have on the order of $125 in raw materials in this thing, and I doubt I could shave my costs enough to produce a product people would actually buy.  I'm concerned about the liability too.  It's all fun and games until something goes wrong and your shop burns down.  Then you go looking for someone to sue, or your homeowner's insurance company does.  My shop is my problem, but I'm not really keen to make other people's shop my problem.  My wife and I had a long talk, and even though there is some interest, it's probably just not worth it in the long run.  The more customers I have, the greater the chances that someone is going to play the jerk card.  I got sued once for giving a guy $100 for free.


OK, send me $100 and I guarantee that I will not sue you.


----------



## JDS77 (Mar 14, 2018)

Very cool that you have shared this with us we all have this problem or have had please keep us posted


----------



## Brento (Mar 14, 2018)

If only i knewcwhat i was doing with this stuff.


----------



## dewbane (Mar 15, 2018)

Brento said:


> If only i knewcwhat i was doing with this stuff.


I admit, I had a lot of random stuff in my background that made it pretty easy for me to dive in and get this to work.  I've written a lot of C++, and I've done a lot with MIDI and audio recording.  I came up as a programmer back when 64k was the limit of the universe.

The weird thing is I've never been able to get what I consider a real job.  I drive a truck for a living, because I'm good at that too, and it pays the bills better than my foreign language degree ever did.  I'm extremely burnt out after 20 years, and I don't want to do this for the rest of my life, but I have no idea how to turn whatever potential I have into a career.  Lots of people over the years have asked me why I don't do this or that, but nobody has suggested a plan I could figure out.  If only I knew what I was doing with this moving and job interviewing stuff.

Now that I'm getting into this machinist stuff, and starting to figure out what everybody was talking about all these years with their "half a thou" and stuff, it makes me think I missed a real opportunity.  Then I see they are hiring new CNC machinists with many thousands of dollars of school behind them for $12 an hour.  I can make $11 an hour at Walmart as a cashier.  I can probably do better than $12 working in the tire shop, and I can definitely do better than $12 driving a truck.  So much for being a machinist.  It sure is a lot of complicated crap to learn for $12.  CAD/CAM and whatever language CNC programs are written in.  For $12?!  People who work with their hands can't get no respect.

I'm rambling.


----------



## JDS77 (Mar 16, 2018)

I know how you feel i made a lot more money driving truck i still went back to the machine shop with no window the man breathing down your neck waiting on the clock only to find out you are going to stay late to make everyone happy the cnc was fun a real challenge to put out tight tol plus min 0.00025 for long run of parts of expensive material 
Nomater what you choose it will beat you down in the end with health problems 
Not much fun
Put money away 401 ect be ready for it
Pay as you go
But still live life while you can
 I am 55 now have my own tools to make what i want when i want
And i get the money 
There's a rant for you have a good day


----------



## dewbane (Mar 16, 2018)

JDS77 said:


> Nomater what you choose it will beat you down in the end with health problems


That's a fact.  I'm already on an alphabet soup of pills at 45, and that won't be getting any better.  My hips and knees are shot.

I shot a video when I first got my forge and anvil, and you can literally watch the swelling as my tendon blew out on about the third hammer blow.  It took months for that to heal enough to hammer again.

Oh well, I'm glad I took the plunge on all of this stuff while I still have some time to learn and enjoy myself.  I like forging knives, and I like machine work.  I got the machines to make easier work of guards and pommels, but once you have a lathe and mill, even if they're on the light duty side, you can make a LOT of stuff.  Throw in a forge and a little cheap welder, and there are a lot of possibilities.  I'm enjoying myself right now.


----------



## JDS77 (Mar 16, 2018)

Thats the spirit and thats my plan as well fun with toys


----------



## Brento (Mar 16, 2018)

Im excited to set up my shop i have tons of projects planned my biggest thing will be getting materials now to do this (sigh) i guess it will be a bit longer to realy get going.


----------



## JDS77 (Mar 16, 2018)

Yes i can do a lot with a little but it had to something with nothing like materials


----------



## dewbane (Mar 16, 2018)

Brento said:


> Im excited to set up my shop i have tons of projects planned my biggest thing will be getting materials now to do this (sigh) i guess it will be a bit longer to realy get going.


I know that feeling all too well.  I find Clickspring hugely inspiring, for example, but that guy uses aluminum glue arbors like paper plates.  Aluminum is probably the cheapest metal, but the cost goes up exponentially with the diameter, and some of the stuff I've seen is over $100 for ONE INCH.  This is probably why everybody seems to have an aluminum foundry and sand casting setup.

It's just a shame this doesn't work on brass.  I've done knives with steel furniture and knives with brass.  Brass makes a big impact.  Look at this thing:
	

		
			
		

		
	



It just wouldn't be the same with steel, but the brass was $$EXPENSIVE$$.

It's also really addictive to work on a lathe.  Damn but brass shapes easy compared to steel.  Especially compared to high carbon drill rod, which is the other thing I turn most of the time, to make fasteners and such.

Heh, I'm off the rails off topic hijacking my own thread.  It doesn't really get the thread back on topic, but I turned the pommel on that knife on my lathe.  You can barely tell after all the work I did with a grinder, and it wasn't at all an efficient use of material.


----------



## Brento (Mar 16, 2018)

@JDS77 i was just saying hw im the same way im doing it for the fun of it and to possibly grow and make it into a side job. But from buying the machines and such im low on cash to buy materials i need to do projects now.


----------



## dewbane (Mar 17, 2018)

Brento said:


> @JDS77 i was just saying hw im the same way im doing it for the fun of it and to possibly grow and make it into a side job. But from buying the machines and such im low on cash to buy materials i need to do projects now.


This is a source of stress for me every day as well.  I went all in, and my budget just didn't go far enough.  My machine purchases included a cheap home vinyl cutter to do masks for etching.  I used the cutter to produce a nice big sign for the back window of my pickup truck, and everywhere I go I'm pointing people to a website that doesn't even exist yet, because I don't have the money to set up the site I expected to have running two months ago.  Talk about putting the cart before the horse.

I have $6.41 in my disposable income account right now.  Whooooeeeeee!  Take that out in pennies so I can jingle while I walk.

My real bills are covered though.  That's the main thing.  Really, I'm just having to return to my roots.  When I first got into making stuff, I was a broke kid with two babies to feed, and I had to dig through a lot of trash to find materials I could use.  I actually used some of that trash to make a stand for my anvil 20 years later.  It was a waterbed frame somebody threw out in the '90s.  Good yellow pine I was saving for a suitable project.  This is why I'm a hoarder.  I always use my junk eventually!

I'm better off than I was, and I'm going to be fine in the long run.  It took me years to replace my lousy railroad track with a real anvil, and that anvil cost almost $1,000.  OUCH!!!!  But it was all worth it.  I don't really care if I make a dime at any of this. Man, I can make pretty damn nice looking knives now, I can make knobs, I can make jigs and fixtures that are retailing for hundreds of dollars, I can make funky specialized screws, and I have just barely scratched the surface of what I can do with this shop.  I once tried to make a macro focusing rail for a camera using pop rivet and hardware store bolt level technology.  Put my mind to that problem now, and I bet I could fabricate something wicked.


----------



## JDS77 (Mar 20, 2018)

Man more power to you i never had kids to worry about didn't get married till after 40 i always worked on things motorcycles cars and everything in between first became a machinist in early 80,s because of racing then lost my job because of racing go figure but there's always a lathe and a MILL somewhere close moved around alot chasing my racing dream but screwed that up moved back to my home state of Nebraska to restart went from making 24 a hr and up to about min wage took a longtime to get where life was right and all of suden i am old 
But now i have a nice little shop a pm835s mill and a couple of craftsman lathes plus other much needed tools and i am trying hard to put them to work to make me right with the world again it's not about money it's about feeling good


----------



## JDS77 (Mar 20, 2018)

Forgot to say i have a penny jar to


----------



## middle.road (Mar 21, 2018)

Now then, this thread is a good read.
We need a rating system to cover an entire thread.


----------



## Aukai (Mar 21, 2018)

Ever been a third party listening to a conversation that is interesting, and then they start talking in a foreign language. Then they start back up in English again, and your left wondering what just happened. Neat idea though.......


----------



## dewbane (Mar 25, 2018)

As I got ready to go out into the blizzard to knock the snow off the flimsy roof, my son said, "Oh yeah!  You need to make sure your system is working."

I told him I wasn't worried about condensation under these circumstances, and that wasn't my reason for heading out there.  As it happened, this day had *exactly* the sort of conditions that could have resulted in condensation, and I didn't even think about it.  Temperature 32, dew point 32, 99% relative humidity.




I found no condensation on anything.  The heaters had been doing their thing, and the equipment was just warm enough.  Sweet!


----------



## Boswell (Mar 25, 2018)

It is always very satisfying when something works the way it was envisioned, planned and built.


----------



## dewbane (Oct 1, 2018)

Now that I have Dewbane in the house and hooked back up to the computer, it seems like a good time for a little update.

It turns out a typical night in the mountains of Virginia during much of the warm part of the year is a temperature of 68 F and a dew point of 68 F with 99% relative humidity.  These conditions resulted in the heaters cycling constantly, without ever managing to get the equipment up high enough to register being higher than the dew point on the display.  All the equipment continued rusting.  It's a very light rust, almost more of a hazy discoloration, but it's continuing to form.

My first move was adding more heaters to the mill, because the tables definitely needed more help.  I cut some 1/4" plates, lapped one side pretty flat, glued a heater to each of those, and laid them on the X table on either side of the vise.  The idea is that I will be able to move them around as I reposition the vise from time to time, or move them out of the way if I ever run into a work holding situation where I can't use the vise.  So far, that seems viable.

Now I'm editing the code, mulling over what I can do to improve things.  I started by reading back through this whole thread.  I might end up with different relays and a PID algorithm, but the first thing I'm trying is a longer polling time, and keeping the heaters on for a minimum of five minutes whenever they turn on.  Also, I'm shooting for 2.5 C over the dew point rather than 1.0 C.  The thinking is better to spend money on running the heaters than time cleaning flash rust off the equipment.  I've got that coded up and installed on the board, so I'm getting ready to go bolt it all back up and see where this gets me.  I can only do so much on the bench, seeing as how the sensor array this depends on is all wired up at this point, and I really want to leave that spaghetti bowl exactly where it is.

Whenever I'm satisfied with this, I need to build a second system for my workbench, to keep my tool drawers warm.  I'm having a lot of trouble with my measuring tools flash rusting too.  I bought the components for a second system, but I misplaced the box in the shuffle when my wife left me out of the blue.  I won't be building anything better than a dirt floor anytime in the foreseeable future.  I've got to pay for the divorce, and then I just have the one income, so a better shop probably just ain't happening.

Could be a lot worse.  I got to keep my shop, which is more than I ever figured on getting if we ever split up.  Crappy is way better than nothing.


----------



## dewbane (Oct 1, 2018)

I hooked it all back up and took it for a spin.  Ambient is 64 F, dew point is 64 F, humidity is 99%.  The heaters came on, and stayed on, and stayed on, and stayed on.  Hmmm.  I happen to have bought a FLIR One, so I went out there to see what was going on.

The heaters get up a little above 200 F.




After soaking for a few minutes, every surface of concern was warm enough to stave off condensation with a dew point of 64 F.







As far as I could tell, the heaters were never going to turn off, so I removed six Phillips screws and two zip screws and brought the whole shebang back in here for round three.  I obviously need to get a lot more sophisticated to make this work well, which is a fact I'm balancing against how obvious it is that I need to get this back out there ASAP to get it doing its intended job.

So I kept the crude delay, but I changed it to 5 sec if none of the heaters are on, and 60 sec if either machine is heating.  I reduced the target from 2.5 C above the dew point to 1.5 C above the dew point, since the old target of 1.0 C wasn't ever getting the temperature there for either machine under conditions like these.  Not sure why the behavior is so different hovering around 70 F as opposed to down toward freezing.  I seriously underestimated how much and how often the heaters would come into play on days like this.  Nothing is actually sweating right now, but conditions are right on the razor edge, and they apparently stay there a significant proportion of the year.

Long term, I need to find that wifi board and rig this up to talk to the outside world.  I can log what's going on day by day, and perhaps set it up so that I can adjust parameters like these from remote.

Longer term, I really need to put my big boy pants on and write altogether more sophisticated code.  I need to find my other parts and work that out on the unit I'm building to keep my measuring tools from rusting, then port the code over to this unit once I've worked it all out.  The problem is I don't really feel like fooling with any of this.  I CAN code, but once the initial coolness of being able to accomplish a project like this wore off, it just became tedious work I'd rather avoid.  Humbug.

Still, I better get after it.  I'm going to reinstall the unit and then start thinking about something a lot more flexible than this simple delay loop.  It isn't getting it done in the real world.  Not this time of year anyway.


----------



## AGCB97 (Oct 1, 2018)

I'm really glad to see there's a few people that like/use microcontrollers. I see your program is written in C language. For most people older than college age learning C is a big challenge in itself. As I was trying to do so (about 6 years ago) I ran into Parallax (Propeller) microcontrollers and found that learning the programming was 10+ times easier. Not only that but a Propeller is actually 8 processors in one so up to 8 things can be happening simultaneously.  I've built many gadgets and experimented with dozens of sensors. It is a great way (other than machining) to spend long winters.
Aaron


----------



## dewbane (Oct 1, 2018)

AGCB97 said:


> I'm really glad to see there's a few people that like/use microcontrollers. I see your program is written in C language.


It's written in the Arduino language, which is "a set of C/C++ functions that can be called from your code."[1]  I think in C++, and I basically wrote this as though it were C++.

I think C++ is a big obstacle for a lot of people, college age included.  I just happened to know the language from my involvement with Rosegarden.  I never heard of the Propeller platform before.  I will file that information away for the next time I'm considering some microcontroller project.


----------



## Boswell (Oct 1, 2018)

AGCB97 said:


> Not only that but a Propeller is actually 8 processors in one so up to 8 things can be happening simultaneously.


 +1 for the Parallax Propeller. I have been using it now many years. Easy to program and FAST. Perfect for one-off embedded systems type work. 

Michael, you might consider using a PID algorithm?  here is the first of several lectures on it.


----------



## Latinrascalrg1 (Oct 1, 2018)

I havent read the entire thread sp if this has already been discussed please excuse my repeat.......

Has Anyone ever tried to use one of those low voltage roof and gutter deicing heat cables to keep the condensation off the machine's?  They are not that expensive and can cover a large area. I just dont know if they will heat to a warm enough temperature to do the job its being asked to do.


----------



## dewbane (Oct 2, 2018)

Boswell said:


> Michael, you might consider using a PID algorithm?


It came up back in March.  The guy who was telling me about why I probably want a PID algorithm warned me that I probably need to change to solid state relays, because the PID algorithm will cycle the relays a lot.  I decided not to mess with any of the hardware in this original unit, but I have solid state relays in a box with my other project bits and bobs that I lost track of in the divorce shuffle.  That box is going to be to heat my measuring drawer so my mics and squares and such stop flash rusting, and I'm going to play with a PID algorithm there.

I have a wi-fi board in that pile of stuff, and I want to experiment with remote monitoring, and maybe even set it up so I can monitor and change parameters from an Android app.  Not sure if I want to get into all that nonsense or not, but it should be doable.  It really depends on how slow business is this winter, and how many games I end up playing.  Since the wife left, I decided to buy a gigantic TV and a Playstation and a box of really good cigars.

After messing around with Dewbane all day, I feel like the FLIR One took a lot of guesswork out of the game.  I tuned the algorithm to aim for 1.25 C above the dew point instead of my original 2.5 C, which was just higher than the heaters could ever achieve.  I also relocated both temperature probes.  I'm going to do a lot more monitoring with the FLIR camera to see under what conditions the headstock, mill spindle, etc. get above the dew point at what cost, etc.  This whole thing is going to take a lot more fine tuning than I expected, but the fundamental operational concept is sound.

On a side note, let me just say I spent the day fabricating some spacers and a bracket to do some mods on my son's truck, and the more time I spend with my little "benchtop" machine shop in my bag of tricks, the more glad I am I allowed the wild hare to violate my most private inner sanctum and bought these things.  Grizzly G0602 and Grizzly G0704, this Bud's for you.


----------



## dewbane (Oct 2, 2018)

Latinrascalrg1 said:


> Has Anyone ever tried to use one of those low voltage roof and gutter deicing heat cables to keep the condensation off the machine's?


I haven't tried them, but if I think about it, it would be interesting to get one, plug one in, and look around with the FLIR camera to see what it's doing.  They might put out enough heat, and they might not.


----------



## Reddinr (Oct 2, 2018)

Great project!  Something like this has been on my very long "do it someday" list for quite a while. 

The humidity / temperature sensor has a set of accuracy ratings and a drift over time.  Since you went to all the trouble, you may want to be sure your set-points have decent margin in them.  Maybe 6% margin for the humidity and 1% margin for the temperature would work for that dual sensor.  (I had a very brief look at the specs.)  If you multiply the humidity reading by 1.06 and temperature by 1.01 before doing the dew point calculation, that will likely give you good margin.  The frame temperature sensors may also want a compensation, maybe subtract  0.5C to 1.0C from the temperature readings.   (I think those are the proper directions to compensate all those.)

Regarding Bob's suggestion of figuring out how much power you are using, assuming you are running all the resistors at 100W, your arduino could track and display a close enough estimate by calculating:    KW-H =  NumberOfResistors * 100W *  SecondsOn / 3600.    You would need to have the arduino track on-time.   If you take KW-H and multiply that by your electric rate, you can get the cost.   This works unless you lose power on your arduino.   (I edited the KW-H calc. due to brain fart before).

This one may not matter in Virginia, but the code will crash with a humidity of 0%  because log(0) = infinity.  Easy to fix.   Something like this:   if humidity < 0.1 then humidity = 0.1.    (Not proper syntax).


----------



## Reddinr (Oct 2, 2018)

A couple of other thoughts.  Be sure that the resistors you use are conducting the heat into the frame efficiently.  Smooth surfaces are a good start.  No paint or gaps between the resistors and frame would be good.  If you have not done it already, you might think of getting some thermal grease or thermal pads to increase the heat flow from the resistors, otherwise you might be putting more heat than needed into the air, not the frame.   If you can, take advantage of convection and put the resistors underneath vs. on top of what you are heating.  Some of that residual heat will flow up past the frame and at least some of it will transfer to the frame.    Steel/cast iron are not the best thermal conductor so more, smaller resistors would likely work better than a couple of big ones.  I know that could be a mess of wires and in the way, but it might work even better.

AGCB97 - I use c/c++ most often for work but sometimes when I want to just bang something out quickly I use Bascom (a basic compiler/IDE).  It works well with Arduino compatible hardware that seems to be everywhere for cheap.  You can get a limited free version to try out.

One last safety thing.  I assume you are switching the hot leg of the AC, not the Neutral?  Safer to do that.  A GFI feeding your heater power and a well grounded frame would be a good idea too.

Again, Great project!


----------



## dewbane (Oct 9, 2018)

Reddinr said:


> Since you went to all the trouble, you may want to be sure your set-points have decent margin in them.  Maybe 6% margin for the humidity and 1% margin for the temperature would work for that dual sensor.


That's a really excellent point, and something I failed to consider.



> This one may not matter in Virginia, but the code will crash with a humidity of 0%  because log(0) = infinity.  Easy to fix.


That's hilarious.  I'll fix that gigantic gaffe next time I install new code, but I don't need to be in any hurry, because the humidity is never 0% in Virginia; not even when it's -20 F outside.



> A couple of other thoughts.  Be sure that the resistors you use are conducting the heat into the frame efficiently.  Smooth surfaces are a good start.  No paint or gaps between the resistors and frame would be good.  If you have not done it already, you might think of getting some thermal grease or thermal pads to increase the heat flow from the resistors, otherwise you might be putting more heat than needed into the air, not the frame.


A good thought.





> If you can, take advantage of convection and put the resistors underneath vs. on top of what you are heating.


That's the hell of it with the tables on the mill.  It would be much more efficient to put the pads underneath, but there isn't anywhere sane to mount them.  There isn't anywhere sane to mount them up top either, which is why they're stuck to 1/4" steel plates that merely rest on the top of the tables.


> One last safety thing.  I assume you are switching the hot leg of the AC, not the Neutral?  Safer to do that.  A GFI feeding your heater power and a well grounded frame would be a good idea too.


I haven't looked at the schematic for the black boxes I'm using.  The circuit is on a GFCI breaker, for what that's worth to you.

Thanks for chiming in.  Sorry I took so long to respond.  Work, sleep, work, sleep, work, sleep, work, sleep, work, sleep, get drunk, sleep, work.  I occasionally manage to find shop time in here.  I'm definitely not dating.  Being single at 46 is embarrassingly pointless.  I try to overcome the sadness by spending as much time as possible solving problems with my metal eating machines.  Life is really pretty good.  Chick with horrendous personal hygiene issues vs. 1,000 pounds of motorized Chinese cast iron.  It's a no-brainer, really.


----------



## jwmelvin (Jan 21, 2022)

Hey @dewbane - I think about your system a lot. How's it working out?


----------



## nnam (Jan 21, 2022)

Good thread.  I was thinking it's a current time until seeing 2018.  I like so many aspects of the discussion.

Programming, machinist, machine, arduino, truck driver, language major (?), too many talents problem, midi, health and 401k, on and on

I thought to suggest wifi and remote control/monitor, but you touched that.

For warm temperatures, I would use dehumidifier vs heat to deal with the problem.

As some has already said, the oscillation, chatter or whatever that term is about control is not about margin you go above the dew point.  It is at whatever value you have.  As long as the sensor is not persistent or the temperature is not changing fast, or dealing with floating point value, you may run into problem.  Give a range before kick in, such as if running, has to be 0.2 above set temp to turn off.  If off, has to be 0.2 below set temperature to turn on.


----------



## Cadillac STS (Jan 21, 2022)

Would it be just as well to connect a 3 foot pipe heat tape to the machines.  They have a built in thermostat and would come on not letting the machine go below freezing.


----------



## jwmelvin (Jan 21, 2022)

Cadillac STS said:


> Would it be just as well to connect a 3 foot pipe heat tape to the machines. They have a built in thermostat and would come on not letting the machine go below freezing.



I think it just depends on power. The oil-pan heaters are available around 200-300 W. Nice broad surface should have good heat transfer. I’m tempted to order a few of ai can identify places on my machines to give them a try. 

Pipe heat tape could work but may be more difficult to integrate with a machine.


----------



## dewbane (Jan 21, 2022)

jwmelvin said:


> Hey @dewbane - I think about your system a lot. How's it working out?





nnam said:


> For warm temperatures, I would use dehumidifier vs heat to deal with the problem.


I did add some small dehumidifiers to help with warm temperatures, and they pull a lot of water. The system hasn't quite been working as I hoped, but it works well enough that I haven't gotten around to going back into it to try to tweak it. Sometimes it does behave stupidly, cycling the heaters when it's obvious to me that there is no real danger of condensation, no matter how close it seems to be according to the readings. The logic I used clearly isn't optimal, and I should probably rewrite the code using one of those more clever algorithms that have been suggested along the way.

In spite of the caveats, it has basically proven to be a thing I can turn on and ignore. I can comfortably assume that any condensation will be minimal, and manageable.

At this point, the biggest obstacle to going back into it and tweaking the code is the fact that everything is covered in a sludge of oil and chips. I'm lazy. I work 70 hours a week, and don't get much hobby time. I have been avoiding cleaning up that mess for a long time. When I do, I need to take steps to cover as much of everything as possible in something that will be easier to keep cleaned off.


----------



## jwmelvin (Jan 21, 2022)

dewbane said:


> At this point, the biggest obstacle to going back into it and tweaking the code is the fact that everything is covered in a sludge of oil and chips.



I hear that pain. It’s often not as convenient as I’d like to update code in my microcontroller projects. I did my boiler controller with a Raspberry Pi and it’s easy to change. Python script edited through a terminal window.


----------

