Pages: [1] 2 3   Go Down
Author Topic: Opensource DIY clothes dryer  (Read 5840 times)
0 Members and 1 Guest are viewing this topic.
Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have an old condenser style dryer and was thinking of replacing the control with something arduino based...

I could hack something just for myself and make a showoff on youtube and not share like many do, but why be an "arse"?

So I thought maybe there are others that want's to do the same and maybe even in the end do something like a kit for those not so comfortable with building boards?

Anyways my initial thoughts are:

Must be able to work with both a condenser and normal type dryer. The difference is that the normal type just dumps the heated air (big waste... imho) where the condenser re-circulate the heated air through a condenser unit --- Which more or less can be descriped as car radiator, that keeps the internal airflow seperate from the external --- and back to the clothes. Now a 2nd blow whell takes room air and blows more cool air through the condenser. This cools down the damp air on the other side and the water condenses and runs out a small tube or in a collector. (my machine is the later one)). Some say that they are damaging to the health but i would say that is only true if the condenser is coated with chemicals.

both types have a sensor that messures how much water is in the air so not that much trouble there, they also have a way to messure if the filter is full (dont know how.... airflow?). They also both have a single motor that turns both the drum and blow wheels. and they also have a heating element.

Now where i want to make the first improvement are control over the heating element. Must be PID control so that the heat can be controlled precise and without to much over or under shoot. Maybe do the same with the motor that turns the drum so that people are able to experiment with both heat level and run time. (my dishwasher has an eco program that runs a lower temp but the cycle are longer) this could maybe in the end be cheaper?

i have looked at this link: http://thecustomgeek.com/2011/06/18/jos-open-source-menu-interface-for-arduino/

so the framework is more or less done... its more or less the cycle itself that i need some help with.... dinner time here in denmark so will return later in the evening

my birthday is up so an arduino mega is on the wishlist, i know it might be overkill but it will be used as dev platform and smaller board picked in the end
Logged

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

to control the heating i came across this: http://www.over-engineered.com/projects/sous-vide-pid-controller/#more-69

not overly hard to use, at least not the hardware side, its more the software side that troubles my mind, what part of this code is needed to just control a heating element with a dallas chip? http://www.over-engineered.com/wp-content/uploads/TemperaturePID.pde

my "loose" idea is to make some preset cycles (target humidity, temp etc.) and put them in the menu sketch i linked just above... but... when i click a cycle the screen should not just simply say that is beeing done, but change to a screen that shows the target specs and what the current status are...
Logged

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

doooh.... forgot another thing... not a first on the list item but,

i want at some point add a strain gauge so that the controller can messure the whight of clothes so that the machine are not overloaded

and another nice to have could be able to messure how much power is beeing used here and now.. and how much total for the cycle... maybe have a total somewhere else... maybe a menu item that just shows how much in total... just thoughts thou... not important right now
Logged

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

and yes... i got a pm from a person offering services... the idea of this thread is create an controller that everyone can use and hack...

2nd idea is that if enough interest i could make a kit... but everything has to be opensource for everyone to copy... when i get to the hardware i will publish eagle files ( i use the free version so they will be limited in size and possible more than one board are needed)
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 435
Posts: 23600
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

What are your plans for controlling gas as the heat source?
I personnally have no plans to modify my gas heated dryer nor to get an electric heating element dryer.
I find what fits in the washer also fits in the dryer.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yeah, living here in europe (denmark in fact) i have totally forgotten about the gas driven ones, but now you mention i think that is a no-go for now (sure it's do able but require some more thinkering to keep it safe)

if your comment about what fits in the washer also fits in the dryer is meant like they are almost the same i would agree

the main idea for me at least was something that could allow me better control over the use of heat so that there was not so much over/under shoot of the heat and also allow me control over how the clothes are dryed, ie use lower heat but run longer would save some money since it does not require much to run the drum.. of course there is some croos point where higher heat would be a benefit

but once a dryer is done there is not far to control the washer, but maybe bigger savings can be done here..

and also at least in europe its common know that if you select a cycle that should run at 60 degree C it has been messured many times that the cycle runs much lower. not a big deal would many say but when it comes to killing bed bugs etc its important that you can trust the temp....

also with an arduino you can do a lot more like remote monitor and collect data on how much water etc has been spend... even automatic dispensing of soap and fabric softner
Logged

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

so i downloaded the code for the menu here... http://www.thecustomgeek.com/files/JOS_TFT_Touch_ALPHA_LS.pde

i gives a bunch of complie errors, i think because the code is not made for the newest version of the lib's but not sure where or what to correct

can somebidy point me in the right direction?

Code:
sketch_aug29a:47: error: 'TFTLCD' does not name a type
sketch_aug29a.cpp: In function 'void setup()':
sketch_aug29a:134: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void loop()':
sketch_aug29a:234: error: 'tft' was not declared in this scope
sketch_aug29a:240: error: 'tft' was not declared in this scope
sketch_aug29a:246: error: 'tft' was not declared in this scope
sketch_aug29a:252: error: 'tft' was not declared in this scope
sketch_aug29a:258: error: 'tft' was not declared in this scope
sketch_aug29a:271: error: 'tft' was not declared in this scope
sketch_aug29a:277: error: 'tft' was not declared in this scope
sketch_aug29a:283: error: 'tft' was not declared in this scope
sketch_aug29a:289: error: 'tft' was not declared in this scope
sketch_aug29a:295: error: 'tft' was not declared in this scope
sketch_aug29a:308: error: 'tft' was not declared in this scope
sketch_aug29a:314: error: 'tft' was not declared in this scope
sketch_aug29a:320: error: 'tft' was not declared in this scope
sketch_aug29a:326: error: 'tft' was not declared in this scope
sketch_aug29a:332: error: 'tft' was not declared in this scope
sketch_aug29a:345: error: 'tft' was not declared in this scope
sketch_aug29a:351: error: 'tft' was not declared in this scope
sketch_aug29a:357: error: 'tft' was not declared in this scope
sketch_aug29a:363: error: 'tft' was not declared in this scope
sketch_aug29a:369: error: 'tft' was not declared in this scope
sketch_aug29a:382: error: 'tft' was not declared in this scope
sketch_aug29a:388: error: 'tft' was not declared in this scope
sketch_aug29a:394: error: 'tft' was not declared in this scope
sketch_aug29a:400: error: 'tft' was not declared in this scope
sketch_aug29a:406: error: 'tft' was not declared in this scope
sketch_aug29a:419: error: 'tft' was not declared in this scope
sketch_aug29a:425: error: 'tft' was not declared in this scope
sketch_aug29a:431: error: 'tft' was not declared in this scope
sketch_aug29a:437: error: 'tft' was not declared in this scope
sketch_aug29a:443: error: 'tft' was not declared in this scope
sketch_aug29a:456: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void clearcenter()':
sketch_aug29a:565: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void clearsettings()':
sketch_aug29a:579: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void homescr()':
sketch_aug29a:585: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void menu1()':
sketch_aug29a:594: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void menu2()':
sketch_aug29a:603: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void menu3()':
sketch_aug29a:612: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void menu4()':
sketch_aug29a:621: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void menu5()':
sketch_aug29a:630: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void settingsscr()':
sketch_aug29a:639: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void showsleep()':
sketch_aug29a:800: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void blbar()':
sketch_aug29a:923: error: 'tft' was not declared in this scope
sketch_aug29a:926: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void ant()':
sketch_aug29a:931: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void boxes()':
sketch_aug29a:934: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void signal()':
sketch_aug29a:942: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void signalact()':
sketch_aug29a:962: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void drawhomeicon()':
sketch_aug29a:982: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void drawhomeiconred()':
sketch_aug29a:994: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void clearmessage()':
sketch_aug29a:1006: error: 'tft' was not declared in this scope
sketch_aug29a.cpp: In function 'void drawbatt()':
sketch_aug29a:1011: error: 'tft' was not declared in this scope
sketch_aug29a:1015: error: 'tft' was not declared in this scope
sketch_aug29a:1018: error: 'tft' was not declared in this scope
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 435
Posts: 23600
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Do you have these 2 libraries in your library folder?

#include "TFTLCD.h"
#include "TouchScreen.h"
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yep... or else it would have reported them missing :-D
Logged

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

the author have released a new version after i hit the bed...

now the error is reduced to:
Code:
sketch_aug29a.cpp:10:3: error: #error "For use with the shield, make sure to #define USE_ADAFRUIT_SHIELD_PINOUT in the TFTLCD.h library file"

in his post here: http://thecustomgeek.com/2012/08/28/jos-updated/ he says to uncomment the line but the sketch says it should be defined... the sketch is here: https://github.com/jersagfast/JOS---TFT-Menu-System/blob/master/JOS_Touch_15.ino

but non the less its a lot closer, once i get it working my first step is to insert a wifi config screen  smiley-lol
Logged

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

quick fix was to uncomment the line in Adafruit_TFTLCD.h and put a "1" at the end of the line

of course this might not be correct but at least it can compile
Logged

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

so i got the 2560 mega and a redfly (wifi) shield and so far managed to get a simple sketch going (look below)

i have an approx idea on how to sticth in my cycles (just a few) for the dryer, but would that be wrong if i later want to add a touch screen?

https://github.com/pkulchenko/DHCPLite/blob/master/examples/DHCPLite/RedFly/RedFly.pde
« Last Edit: September 04, 2012, 10:38:48 am by boelle » Logged

Peoples Republic of Cantabrigia
Offline Offline
God Member
*****
Karma: 6
Posts: 691
Arduino happiness
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allow me a couple of comments based on tearing about 10+ dryers down for work. These suggestions are by no means all-encompassing, and my primary concern would be safety. It goes without saying that modifying a 5kW device is something that should be done VERY carefully. Based on the usual 230V power supply in the US for electric dryers, that's about 25 amperes, I suggest having a fire extinguisher on hand and to have the whole assembly downstream from a manual disconnect switch that is rated for the current you're playing with (i.e. 20+ amps). Do NOT rely on the circuit breaker to protect you.

Unless you have the right background, I would hire an experienced Electrical Engineer (i.e. someone who has designed similar circuits) to guide with the design and a good electrician to implement it. Have them study the schematics that are enclosed with the dryer. They are usually hidden inside the dryer inside a plastic baggie. The manual may mention the location.

Study the main PCB also. The relays that are used there will be a good guide towards the MINIMUM relay capacity you'll have to consider for your board / control system. You may need some very fat traces to carry some of the high currents involved or (better yet) use relays that feature 0.25" quick connect terminals for the load switching (preferable, IMO).

As for modulating heat control, if you want to go down this path I'd suggest the use of a 40A SSR (Triac-based) with a big heat sink - see the spec sheets re: the heat sink needs as a function of current and perhaps mount the heat sink in the path of incoming air to help cool it or add a supplemental box fan to keep it cool. I have used the PID library hosted here for my reflow oven. Works great.

If your dryer has a separate motor for air flow and drum rotation, I would consider going with a dual-channel SSR, that allows you to modulate the air flow as well as the heater any way you like. I would not mess with the induction motor driving the drum. Keep that on a a simple relay, on/off.

I would also mount multiple DS18B20s around the dryer to shut it off if there is a problem (i.e. SSR heat sink, exit air temperature for the drum, air flow motor, housing around the heaters, etc.). I would also confirm air flow and stop the dryer if there is a problem. The induction motor that usually drives both the fan and the drum may have a centrifugal switch that you could use for that purpose.

Let me re-iterate: Unless you know what you're doing, do not attempt this project by yourself. The voltages and currents involved are sufficient to potentially cause significant physical damage, injury, or even death. Hire experienced help to review what you want to do before implementing it with experienced help. The cost of doing so will be significantly less than the potential trouble you can get yourself or your loved ones into.
Logged

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm based in Europe and my dryer is a 1 phase unit so it takes no more than 2300Kw all included (also the rating of the fuse in breaker/fuse panel). Also here it's required to have a earth leakage relay, that if the current that goes in the relay does not match what goes out disconnects everything from the outside, it only allows 20 miliamps of leakage max. in practical terms it means that if current goes through me to ground the relay will cut. and all stuff like dryers and washers are required to be grounded. anyway i would never touch anything thats live if i can avoid it. and if needing to messure something good commons sense is half the safety

I do have the background, been working 1 year as an electrician and do have about 12 courses in electronics. The Schematics are not included... but that not what worries me, i can draw it in a few hours with the dryer taken apart and a multimeter.

For the high loads, in fact both the heating element and motor that rotates the drum its my plan to use solid state relays or triac's. I have in mind those kinds that have either screw terminals or spade connectors depinding on what is used in my unit. 40A seems a bit overkill compared to that my system is 10A max.. but maybe go for a 20A would be the choice. since my dryer is a condensing type it has 2 airways.. one internal and one that just takes room air and blows it through the condenser, the output from here is barely any hotter than what it takes in and seems a good place for airflow over the heatsink. i agree to not mess with drum rotation, makes no sense to alter it.

and the idea with  multiple temp sensors is not bad either, at least i know there has to be a certain difference between room temp and the temp in the drum before the condenser operates, the higher difference the faster you are done but also you use more electricity. i know that my dryer has a resetable thermofuse if it gets to hot. i only need to figure how it detects a full filter.


my biggest problem is coding, no problem in finding code here and there for what i want, its more stitching it together that is the main issue.
Logged

Odense, Denmark
Offline Offline
Full Member
***
Karma: 0
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hmm.. thought i would do draft on inputs and outputs i plan to use

inputs:
--------
room temp
triac temp
drum temp
humidity sensor - most of my "planned" cycles target a humidity set point and starts a cool down period after that.
water tank full - cant decide if i should just have a simple full or upgrade to a load sensor / strain gauge to tell how full
current sensor - nice to know how much electricity used both per cycle and in total.
airflow sensor - to detect if filter is full and if possible how full

outputs:
----------
drum rotation
drum direction
heat
(airflow)
Logged

Pages: [1] 2 3   Go Up
Jump to: