Skip to content

WernerKr/-Un-original-Prusa-Heated-Drybox

Repository files navigation

-Un-original-Prusa-Heated-Drybox Code for Ardunio (Nano)

https://www.printables.com/de/model/883817-unoriginal-prusa-heated-drybox

Parts sold from Blurolls: processor ATmega328P (OldBootloader)

DryBox

Heater_off Heater_on

Heater_offF TargetTempF

With duct Drybox_with_duct

2024-10-15: Updated files (Serial_20241015.zip)

Possibility to switch off the LED strip automatically at 60°C/140°F, as the LED strips normally have a maximum operating temperature of 60°C. However, this requires a second Temp/Hum sensor.

Comparison with/without duct, with/without additional fans

Test environment:

  • Target temperature 70°C,
  • AutoOff after 240 minutes (4 hours),
  • two empty filament rolls in position 2 and position 4.
  • Two front PTFE outlets always open for air exchange.
  • Overtemperature shutdown of the heater at 90°C, measurement on the floor below the heater/duct
  • Measured with second temp/humidity sensor
  • Graphics from Home Assistant and data from Shelly Plus Add-on and 3 sensors DS18B20 - measuring range -55 °C to +125 °C

Drybox

  • T1 = Heating temperature
  • T2 = Temperature under heating/duct
  • T3 = Temperature front right (near door)

Temperature curve without duct and without additional fans

  • The door was lifted slightly after about 1 hour for air exchange and closed again about 5 minutes before the end
  • Temperature reached 64.2 °C and
  • temperature under heating 86.9 °C Drybox_org_vx

Temperature curve with duct and without additional fan

  • The door was raised slightly after 5 minutes and was then raised the whole time for air exchange
  • Temperature reached 55.8 °C and
  • temperature under duct 73.0 °C Drybox_duct_vx

Temperature curve with duct and with two additional fans below duct

  • The door was lifted slightly after 5 minutes and was closed again 5 minutes before the end for air exchange
  • Temperature reached 60.2 °C and
  • temperature under duct 71.5 °C Drybox_fan_vx

Older test:

New: two additional fans below the "duct" for much better air distribution

for Bracket Y, Beam A1, Beam A2, Beam A3, Beam A4, duct is now printed with Easy Nylon from Overture.

Heat resistance of PC blend is only 113°C/235°F, but over 120°C/248°F is achieved on Bracket Z and duct

Easy Nylon has a Heat resistance of 180°C/356°F

Fan 3and4 Fan 3and4_0 Fan 3and4_1 Additonanl_Fan0 Additional_Fan

New measuring sensors: with Shelly Plus Add-on: DS18B20 - measuring range -55 °C to +125 °C

The second temp/humidity sensor now measures the temperature on the floor under the duct

The front door was slightly open
Temperature 2 : Temperature inside duct
Temperature 3 : Temperature Back below duct
Temperature 1 : Temperature front bottom right
Temperature 4 : Temperature rear bottom left
Temperature 5 : Temperature rear bottom right

3D : Temperature/Hum Front bottom right
3DL: Temperature/Hum Back bottom left
3DR: Temperature/Hum Back bottom right

TargetTemp 70°C

TempGraph_TargetTemp70_1 TempGraph_TargetTemp70_2

TargetTemp 50°C

TempGraph_TargetTemp50 2024-09-19 16 58 52

Heating test series:

Sensor Ecowitt WN34AD Temperature range -55..+125°C, Measuring cycle 77 seconds

Ecowitt WN34AD_0

Sensor DHT21  Temperature range -40..+80°C, here Measuring cycle 5 seonds

DHT21

Empty Box! With Duct from "morap"
WN34AD in the measuring hole of the duct
Second sensor DHT21 at the bottom of the box under the duct

Messung

DHT21 Duct: Previous measurement with DHT21 on the duct and temperature limitation at 123°C
All values are in °C - Time in minutes
Time 	WN34AD	Display	DHT21	DHT21 Duct
5	97.0	34.7	51.2	85
6	100.6	36.3	53.9	90
8	103.4	37.7	56.0	95
9	105.6	39.2	58.0
10	107.4	40.5	59.9
11	108.4	41.7	61.4	100
13	110.2	42.8	62.9	105
14	111.3	43.8	64.2	110
15	112.3	44.8	65.4
17	113.1	45.7	66.2	113	
18	113.8	46.6	67.4	115
19	114.5	47.3	68.2
21	115.1	48.0	69.0
22	115.6	48.7	69.5
23	116.1	49.3	70.2	119
24	116.6	49.9	70.8	
26	116.9	50.4	71.2	121
27	117.3	50.9	71.7	
28	117.6	51.4	72.0	122
29	118.0	51.8	72.4
31	118.2	52.2	72.7	123
32	118.5	52.5	73.0
33	118.8	52.8	73.4
35	119.0	53.1	73.7
36	119.3	53.4	73.9
38	119.6	53.9	74.4
40	120.0	54.2	74.7
41	120.1	54.4	74.9
42	120.2	54.6	75.0
43	120.3	54.8	75.2
45	120.5	55.0	75.4
46	120.7	55.1	75.5
47	120.8	55.3	75.6
49	121.0	55.4	75.8

Diagramm

3DL shows temperature curve at the rear left.
3D shows temperature curve at the front right
Depends greatly on the temperature at the back in the middle on the floor (directly under the duct last 75.8°C)!

End of testing:

End Ecowitt WN3434AD_1

Code files for the heater

Main file = Serial.ino

Arduino IDE

Support a second temperature/humidity sensor (DHT21 or DHT22) You need then additional the Arduino library "DHT-sensor-library"

SecondSensor1 SecondSensor2

Control the fan via a second mosfet Can Control a led strip via a third mosfet Heater AutoOff function. Heater AutoHum function. Overheating control (with second temperatur/humidity sensor) - not active if no second temp/hum semsor or disabled

Fan control: Vin+ to 24V+, Vin- to 24V-(Gnd), Out+ to Fan red, Out- to Fan black, Gnd to Buck-Convert Out- or Arduino GND //Arduino pin where the control line for the Mosfet is connected

#define Fan 5

Led strip control: Vin+ to 24V+, Vin- to 24V-(Gnd), Out+ to Led red, Out- to Led black, Gnd to Buck-Convert Out- or Arduino GND 24V Led strip:

#define controlLed
#define Led 4

Led_strip_wire Led_strip1 Led_strip_on

In the program, the second sensor is switched on with

#define SecondTemp
or deactivated with //#define SecondTemp

The sensor used is specified here

#define DHT_TYPE DHT21
//#define DHT_TYPE DHT22

The DHT21 is activated here The data pin of this sensor is set to 9:

#define DHT_PIN 9

The other pins of this second sensor are to be connected to 5V and GND.

If the second sensor is activated but there is no second sensor, 0.0% and 0.0°C are displayed in the data line.

Protection for the Wires

High temperature wire protection

If the heating is switched off, you can use the

"-" button (= bottom button) to switch on or off to the normal display (no display of the data from the second sensor).

-> Function not available if no second temp/hum sensor present

If the heating is switched off, you can use the

"+" button (= middle button) to toggle the LED strip off/on - default is on

In addition, you can use the program to display the data from the temperature/humidity sensors using

#define debug (default deactivated with "//#define debug")

via the IDE's serial monitor. But this data are not updated if the AutoOff function is activ!

It is possible to correct the temperature and/or humidity values with a correction value.

float TemperatureCor = 0.0;
float HumidityCor = 0.0;
float Temperature2Cor = 0.0;
float Humidity2Cor = 0.0;
//The maximum adjustable temperature is limited to 70°C.
int MaxSet = 70;  
//The overheating temperature is set to 83°C - now measured under the duct!
int Max = 83;   

This is because the Arduino should only be operated up to a maximum temperature of 80°C. If you want a higher temperature, you have to place the electronic components outside the housing!

When the heating is switched on, you can activate the heating AutoOff mode by pressing the

First and hold the "+" (middle button) and then "on/off" (above button) button.

You may have to try a few times until it works. The display shows then "AutoOff"

AutoOff

The default switch-off value is 360 minutes

int AutoOffTime = 360;

The maximum time for switching off is 2 days (2880 minutes)

int MaxAutoOffTime = 2880; // max 2 days, step 10 minutes

The minimum value is 10 minutes.

When the heating is switched on, you can activate the heating AutoHum mode by pressing the

First and hold the "-" (below button) and then "on/off" (above button) button.

You may have to try a few times until it works. The display shows then "AutoHum"

AutoHum

If the set Humidity value (10-65%), default 35% is reached the heater is switched off the Fan delay starts and after the set time the fan is also switched off (only with extra Mosfet for fan!) -> stand by. If the Humidity value increase the heater and fan is switched on again and so on.

The default Auto Hum value is 25 % - changed from 35% to 25%

int TargetHum = 25;

The maximum percent for standby = 65 % // with so high value you can simple test the AutoHum function! The minimum value is 10% // This humidity level will probably not be reached with heating!

2024-08-28 14 24 20 2024-08-28 14 34 04

 On the picture you see a AutoHum value of 45% and the Heater is on (ON)
 The humidity value is 44.4% (AutoHum value reached) the Heater is off (on)
 The fan delay starts and the fan is also switched off in 230 seconds (need fan control).
 If the humidity rised to 46% the heater and fan is ON again. 

The settings of the AutoOff Minutes and AutoHum times is now automatical done after 30 seconds! A dot will appear on the far right side if the change of the values of AutoOff or AutoHum is still active. Otherwise, change the target temperature.

Settings

Fan Control:

Function: when the heater is switched on, the fan always runs, even if the target temperature has been reached (heating element is switched off). If the heating element is switched on in normal mode, this is now displayed with "ON". If switched off, it is displayed with "on". In AutoOff mode, a switched on heating element is displayed with "A" and a white background, if switched off, it is displayed with "A" and a black background. When overtemperature is reached, "Hi" is displayed instead of "ON" and the heater is switched off until the temperature drops again. In AutoOff mode instead of "A" then "H"

Vertical Display hiTemp

When the heater is switched off (directly or via AutoOff), the fan continues to run for an adjustable time:

int FanDelay = 300;

Vertical Display

This run-on time is then counted down in the display after switching off. The fan shutdown time now depends on the selected target temperature (60 - 900 seconds)

If you have installed a second temperature sensor, you can with

bool overHeat = true;

monitor the temperature directly on the heating element and when the max temperature (°C)

int Max = 83;		// = 181 °F

is reached, the heating is also switched off (fan continues to run if second Mosfet is used)

Other settings:

#define showFraction

Now also in the State Line the Temperatur or Humidity are shown with fraction. If you like the former showing (only Integer) uncomment //#define showFraction

AutoOff_HeaterOn_secondSensor_showFraction AutoOff_HeaterOn_secondSensor_not_showFraction

If Duct is installed, the system is slower, so the change temperature is set to 0.2°C here, otherwise 0.5°C

bool withDuct = true;                     // Duct installed -> Tempdiff = 0.2°C otherwise 0.5°C

But be careful:

all electronic components used (temp sensor, Arduino, etc.) are only designed for a maximum ambient temperature of 80°C (176°F).
And you should also note: Maximum operating temperature of the fan is 70°C
If using inside the (Un)original Prusa Heated Drybox a LED strip you should know:
the maximum operating temperature of the LED strip is normally 60°C! 

Warning!

 If the fan control is not used, the fans must be permanently connected to the 24 V voltage.
 The display behaves as if the additional fan control were present, showing a countdown in seconds for the fan to shut down!

My recommendation for the filament to be used for "Bracket Y" and "condotto 5" is Nylon

or an even higher temperature resistant filament.

In my experience, even PC blend or ASA is not suitable!

Also important!

When the heating is on, air exchange must be able to take place, 
e.g. by lifting the front door or using the unused PTFE outlets, 
otherwise humidity reduction cannot take place.

2024-08-29 10 37 31 2024-08-29 10 37 23

About

Code files for the heater

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages