Adding worthwhile control features to coin op public use washing machines

Discussion in 'Embedded Systems and Microcontrollers' started by steward, Dec 12, 2015.

  1. steward

    Thread Starter Active Member

    Jan 21, 2011
    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 ([​IMG]) 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. Higher on our list of priorities is the possibility of having time of week pricing during periods of too heavy of weekend use in proportion to during the week use.
  2. spinnaker

    AAC Fanatic!

    Oct 29, 2009
    First you are going to have to know something about the machine to be able to hack into it.

    Consider looking at a pic instead. It will be a little more difficult but you will be able to build all 24 boards for the price of one Arduino.
  3. JohnInTX


    Jun 26, 2012
    I was actually in that very business (retrofitting coin-op laundry equipment with uC controls) for quite awhile back in the 90s. Its not a trivial task but certainly do-able.
    If you're only going to do 32 use Arduino, at least for the prototypes. You won't recover the development cost of a PIC solution in 32 units.

    It sounds like you've thought it out pretty well. You're proposing to replace the mechanical timer with a microcontroller and invent new cycles.
    The first task would be to identify all of the inputs and outputs necessary to control the machine and get the controller to work with them reliably. Then, recreate the basic cycle of the machine. When that's all done, you can add cycles, fancy billing etc. Keep in mind that the machine is a bunch of electrically noisy stuff that will take some care to keep your controller happy when its running nearby.

    One thing that it sounds like you are short on is programming skills, at least in this arena. That's why I would start with one machine and Arduino. If you can pull that off you can consider some of the bells and whistles.

    I wouldn't use I2C to connect the machines. It's not pleasant in that kind of environment. If I was rolling my own, I'd think something line RS-485 running some industrial (read: don't write it yourself) protocol. For a small number, I'd consider Ethernet. I believe Arduino has all kinds of connectivity options that would work.

    Don't underestimate the costs of buying top quality, conservatively rated components nor the necessity to do so. A down machine is lost revenue. Finicky operation means the customers go across the street - if you're lucky. If not, they'll just trash the machine.

    You might start by posting a block diagram with as much detail as you can of the baseline controller you want, how you propose to pull out the Wasco timer and what replaces each function.

    Good luck.
  4. steward

    Thread Starter Active Member

    Jan 21, 2011
    Thanks John,

    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 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 the flow chart dash timing sequencing is the most important. I done some ladder logic but no block diagrams. I did an animation ( ) but that was based on creating our own board from scratch & not using a pre-manufacturered 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 avoid potential noise problems.