Adding worthwhile control features to coin op public use washing machines

We have 32 of a series of washing machines in a laundromat that are known to be the most durable of any series (Wasco Gen4s) from any manufacturer. No other signs of problematic deterioration like when I replaced large numbers of washers in the past! They have mechanical timers that have some kind of space age plastic that never go out & have large amounts of stainless steel. To take them to the junkyard & replace with brand new just because of a need to address the customer choice of water fills does not seem to be the best course of action.

By adding New Arduino Board low cost controls on each washer could also give the customer a break on the cost based on the number of fills & spins they need for a specific load. There will be a serial LCD (saves on IO pins & wiring) on each machine that will reflect the status of coin insertion, time remaining etc. & other helpful well timed LCD 20 char 4 line backlit messages that have been worked out in advance. A vandal proof push button momentary start switch with a LED ring, & Opto Isolated & Class C relays will limit the IOs to 7 inputs & 4 outputs with no analog. The timing diagrams for the different number of fill choices just uses simple contact switching that the external input & output relays should easily provide. The only voltage on each of the 32 Arduino Uno or SparkFun Redboards should have to work with appears to be 5VDC which should avoid induced higher voltage hardware problems. The external 8 channel relay board for timed output purposes & the coin mech will need 12VDC but that voltage along with the machines high voltages input coils on external relays will be totally independent of the Arduino boards.

The plan is to also have the ability to be able to upload potential needed revisions of the Arduino sketch on each of the 32 by daising chaining I2C. It seems like we could have to have just one Master I2C Arduino that could broadcast to the other machines a revisioned upload one at a time to the other machines during a time when the laundry facility is closed. The machines are a few feet apart from each other so I am thinking the daisy chaining will make it so an I2C extender will not be necessary. I am thinking the code could be done so the number of dollar coins or quarters needed could be stored in EEPROM & that is the only future change provision that is likely needed for the one way communication to the slave I2C addresses. I have read that I will need at least two resisters (???) towards the end of the I2C daisy chain.

Based on the above ... has anyone done something similar enough to be able to offer additional hardware &/or software suggestions. Hopefully ... we have gone beyond just the wishful thinking stage. I have some very limited experience with the visual basic dot net & VBA ... which probably will just help me in the conceptualizing & the efficiency of the Arduino Sketch but not in coordinating the actual interaction between the inputs, outputs & LCD messaging.

The cosmetic revision of the fronts of the washing machines & the necessity of a reliable drop coin mech that will fit have been worked out & are the least of our concerns at this point. Last (much lower priority) on our list of future considerations is possibly adding an Arduino Shield later on that will allow the customer to use their smart phone to charge in a cashless way.

There is also the possibility of having time of week pricing during periods of too heavy of "weekend use" in proportion to "during the week" use.

MikeND:
We have 32 of a series of washing machines in a laundromat that are known to be the most durable of any series (Wasco Gen4s) from any manufacturer. No other signs of problematic deterioration like when I replaced large numbers of washers in the past! They have mechanical timers that have some kind of space age plastic that never go out & have large amounts of stainless steel. To take them to the junkyard & replace with brand new just because of a need to address the customer choice of water fills does not seem to be the best course of action.

as with any project, the best option is to get one part of the project to work exactly as you want it.
Using a dial to select options is the easiest for a person to use. using pushbuttons may be easier for you to install.
I would offer that the best starting place is to completely understand the existing controls and to create a very accurate schematic of what is existing. including every switch, every valve, every relay, etc. and that would include creating a schematic for the existing controller as it probably has multiple internal switches that act like relays.

on the first unit, I would try to just duplicate what is existing, to use the existing valves and motor controls, and not try to replace parts just because you can. if is probably easier to change a voltage to an existing relay than to replace the relay just because your have a logic voltage.

once you can replicate the existing operation, then all your refinements come in.

It sounds like you already know most of how it works, the systematic change-over should be fun and painless.

That seems feasible. Of course, start-out with one prototype/beta machine and work-out the bugs before going full-scale.

We have 32 of a series of washing machines in a Laundromat...

The plan is to also have the ability to be able to upload potential needed revisions of the Arduino sketch on each of the 32 by daising chaining I2C....

I don't think any of that should be necessary. With 32 machines you should be able to upload new firmware the usual-manual way via USB in about an hour.

What you're talking about doing would require you to make your own I2C downloader/bootloader. And, if you wanted to change "variables" (such as price) remotely, Ethernet or Wi-Fi would make more sense because you could use any regular computer with a browser. (Of course, you'd need some security so the customers can't hack into it.)

Get the bugs worked-out and you shouldn't be updating very frequently. How often do you update the machines now? My home washing machine has NEVER been updated. How often do you change the price? It's not a big deal is it? Not as big of a deal as tracking-down a bug in your I2C or Ethernet network if your automatic updating doesn't work...

...This is a different application and a differnet-older microcontroller, built I built a car alarm about 20 years ago and I've never updated it. It runs 24/7 (it runs even when not armed) and it only gets shut-down or reset when the car battery dies every few years, and it's still running...

I am thinking the code could be done so the number of dollar coins or quarters needed could be stored in EEPROM...

It's probably just as easy to use the regular flash memory for that, and "hard code" the variables. EEPROM would be appropriate for something like a load-counter or hour-counter for permanent storage of variables that get updated frequently.

By adding New Arduino Board low cost controls on each washer could also give the customer a break on the cost based on the number of fills & spins they need for a specific load.

You're going to spend $100 or so per machine, and if you were to count the cost of your time, you'd probably have to charge the customers MORE! You are also going to end-up with something that only YOU can maintain.

I'm not saying you shouldn't do this, but it's NOT going to lower your overall costs. (Most of your costs are fixed-costs.) MAYBE it will increase business.

Do your machines have automatic detergent dispensers? I'm only an infrequent Laundromat user, but that's a feature I'd like to see (and I'd understand if I have to pay more, as long as I'm not getting "ripped off".)

The machines are a few feet apart from each other so I am thinking the daisy chaining will make it so an I2C extender will not be necessary.

I've had ethernet over CAT5 (which should be immune to such trouble) fail when the cable was too close to a fluorescent ballast. Does that give you an idea of what to expect for I2C in your situation?

I appreciate the replies. The noise factor is something I was thinking that would be more of an issue ... if I was setting up for analog including transmitting analog over I2C. I remember doing a small PLC project where an analog very precise light level sensor was involved & running parallel with other wires created an unexpected noise issue that showed on the monitoring of the output on the programming screen.

DVD Doug's statement about the difficulty of setting up the I2C downloader/bootloader has got me going down the road of possibly using a key switch & the pushbutton combination to change values of the price object. It could be changed then without opening the tops of all the washers which would be somewhat labor intensive.

In general for a starting point, how would a person go about using the Arduino Code to change (lower) those stored "price values" to help bolster slower days of the week? Would the timer within the ATmega328P be accurate enough ... if I eventually figure out how to integrate that specific Arduino Code with the other code to do it?

All the controls on the washer including the rotary temperature selection switch would stay the same except that with the new controls the customer could save money & time if their clothes did not need so many fills & extracts. The cost savings on our water bills would also amount to $500 to $1000 per month less which would put us in a position to charge proportionately less based on the amount of water needed.

Also remember since we are confident of the future parts cost & availability & maintenance labor of these machines ... I have to look at the current cost of similar brand new heavy duty front load washers in the 20 - 60 pound range ... definitely over $100,000.00 to replace all 32.

I would think that the solid state Arduino boards are made pretty durable so unless a major mismatch of components happened ... they should not be failing at any high rate.

Hopefully, the following info will give a better understanding on what I am trying to accomplish ... for those who are in a position to help a bit on key points etc.

There are operators who have a key switch on the front of these specific machines to fast forward these mechanical timer machines. Basically I will just be automating that process with the 3 or 6 second DPDT relay switching to fast forward based on price point established ... causing fewer fills & extracts to occur. The starting of the machine will be based on the number of coin value inserted & that is done with a 2 second SPDT relay switching. The other technicality is to let the customer know the approximate time remaining & other messages on the 20 char 4 line backlit LCD.

I was told that for writing code ... flow chart dash timing sequencing being laid out ... is the most important. I done some ladder logic but no block diagrams. I did an animation ( https://www.youtube.com/watch?v=3g3SNXyO3cQ ) (cut n paste?) but that was based on creating our own board (Cypress Chip & mini-prog) from scratch & not using a pre-done Arduino.ATmega328P board. Also since I would like to not have the 120 or 240VAC close the board ... I will be changing the opto isolated C rated relays more to be all external to avoid potential noise problems.

you could have either a time clock or manual switch.

send out a 5 volt signal.
each unit sees the 5v, and the program uses the prices for that

if (pin6 == HIGH)
price = weekday
else
price - weekend

no need for any fancy stuff.

use two pins....
if (pin6==HIGH && pin7==HIGH) price = 1
if (pin6==LOW && pin7==HIGH) price = 2
if (pin6==LOW && pin7==LOW) price = 3
if (pin6==HIGH && pin7==LOW) price = 4

once you start down this path, it will open doors.

smart phone app to warn when the machine has completed. each machine could be set so a customer could know how theirs was running.

you could charge more for maximum water and less for minimum so you would offer a discount. not sure how clean that would be. and I would hate to put my white shirts into a machine some cheap mechanic just used to only partially clean their grease stained overalls.

I would think that the dryer would offer more cost savings. at 10 CFM to heat heavily soaked clothes, and then 5 CFM to keep nearly dry clothes spinning and drying, and then 2 CFM to get that last bit of moisture out.

once you start down this road, you will find ways to utilize and automate these washers.

also, in my mind, a final rinse would be nearly clean water, could be used as the first wash water for the next load.
water quality sensors are very possible. of course you would have to store them.

another price option is more for hot water, less for cold water. but again, if you have grease in the clothes, and the person is cheap, they may not leave the machine clean for the next user.

Consider also the proceedure and cost of obtaining a modification certificate from whomever controls the supply authority in your district.

Mods to mains supply equipment will require it I imagine.

thinking more about this, the machine has a control board. you should be able to get a new board, or a damaged one, and duplicate the layout and pin-out and connectors, etc
then your swap out would be 1 for 1 without any real modification to the machine. if/when you want, you can just swap the original back.

or, sell your old boards on e-bay and finance your project !

Quote dave-in-nj

"send out a 5 volt signal.
each unit sees the 5v, and the program uses the prices for that

if (pin6 == HIGH)
price = weekday
else
price - weekend

use two pins....
if (pin6==HIGH && pin7==HIGH) price = 1
if (pin6==LOW && pin7==HIGH) price = 2
if (pin6==LOW && pin7==LOW) price = 3
if (pin6==HIGH && pin7==LOW) price = 4

you could have either a time clock or manual switch.

no need for any fancy stuff."

Dave,

Thanks for reminding me of this previously considered approach. If I have two input pins available ... with the optional output relay of the following Red Lion device ... I could daisy chain wires with quick disconnect molex's (I have the special crimper) to each washer. Those small disconnects are not too costly.

See below link to a reliable quality Red Lion Component as a $200 timer option:

http://stevenengineering.com/tech_support/PDFs/38MAN_CR.pdf

MikeND:
See below link to a reliable quality Red Lion Component as a $200 timer option:

http://stevenengineering.com/tech_support/PDFs/38MAN_CR.pdf

of course, you could use a redlion timer.........
but for $2.87 and 99 cents, you could make an Arduino with real time clock.....
or any plug in 7 day timer with multiple on/off settings.
with a plug in, you could plug in a simple 5v power brick.
lots of options for this.

dave-in-nj:
of course, you could use a redlion timer.........
but for $2.87 and 99 cents, you could make an Arduino with real time clock.....
or any plug in 7 day timer with multiple on/off settings.
with a plug in, you could plug in a simple 5v power brick.
lots of options for this.

Dave,

I am not finding the $2.87 + .99? I do have a lab grade soldering station so if they is the only drawback vs other options that could make the most sense. I also see this option: ChronoDot - Ultra-precise Real Time Clock [v3] : ID 255 : Adafruit Industries, Unique & fun DIY electronics and kits

The "off the shelf" at any hardware store 7 day timer with a 5V power brick is a really good suggestion by you that I appreciate. It seems like we all have our blind spots ... myself included!

I agree that projects similar to mine could open doors to other gains in user friendliness & efficiency of "not ready to throw away" laundry & other equipment.

In my specific case, the washers are controlled by a mechanical timer rather than a printed circuit board. Since this specific mechanical timer has proven to be as reliable if not more so than newer equipment with a printed circuit control board(s)... I am choosing to just use the mechanical timer's fast forward capability to create cost based customer options of fewer fills because that is the most pertinent. Approximate time remaining & showing the status of door latch is another gain from the project. Tests have been made to show that on lightly soiled clothes with this specific washer ... they turn out just as good. Careless adding of too much detergent (over sudsing) is a consideration but since the customer will be paying somewhat half as much & half as much time used they can start the washer again with the fewest number of fills. The simulation youtube video that I linked to ... shows the potential basic interactions from the Arduino board to the existing wiring of the machine & the proposed LCD.

[ rant ]

// warning contains politics and religion.

the vast majority of people do not have a clue how soap works and the difference between soap and detergent.

my wife knows much more than I do and insists that you need a full cup of concentrated detergent to wash a shirt in the front loading washer.

and that the smell of burning latex is just normal from the dryer. it has nothing to do with why clothes that have internal rubber to self tightening loose their elasticity.

you could attempt to educate the consumer. a shirt or pants worn to a desk job, or to school, only has slight sweat, but is generally so lightly soiled that a simple wash and rinse would remove 99% of the 'dirt'
and that the deodorant has much less contribution to 'soiled' than when anti-perspirant is used. the harsh chemicals in anti-perspirant are atrocious. we don't want to have fluoridated water, no chemicals in our foods, but we apply poison directly to our skin daily, then complain because it is so hard to wash out.

My daughter thinks that you are required to use a full pump on the hand soap. I tried to explain that soap has 3 basic parts, bubbles. nothing but bubbles and hte bubbles are a way to show you there is soap. then glycerin, to hold the bubbles together, then the actual part of the soap that decreases surface tension and allows the dirts and oils to wash away.

I had her take a plate and put on a full pump. then get her hands wet, then dip her finger in the soap and lather up.
then rinse, then again and again and again and again and again....about 8 times. if your religious believes endorse man being involved in 'global warming' now re-labeled 'climate change' then you can help by using less resources.
and knowledge will rise above. anyone who knows about how to actually clean clothes, will have clean clothes at the lowest impact on resources.

alas, the political winds seek to make the rich guilty and the poor ignorant and prolong problems while extracting energy from both for a stronger political party.

[/rant]