Wednesday, July 31, 2013

Saeco Talea - automatic coffee machine - teardown and analysis

I got this coffee machine from work because it was a maintenance nightmare. I'll tear it down, do the analysis on how it works and detail on some design problems as well.

It's going to be a rather long post with quite a lot of pictures. I've marked all the detected problems with an asterisk "*", I'm sure some have been forgotten as this teardown was performed 6 months ago.



General description

Initial view with some components off: the left side holds the water tank, the right side has the dregs (spent coffee) drawer and waste water reservoir.
Control panel: top left is the dregs full warning light, general warning light, descale light, coffee button, coffee quantity button, water quantity dial (ring), steam/hot water selector button (left).
The 'aroma' rotary button and coffee dispenser is disassembled and shown at lower right. Overfill drawer (drip tray / coffee cup holder) is off from the height adjustment assembly.

The pipe thing at the left is the steam outlet for milk frothing. If the droplet button (water selector) is pressed then it dispenses hot water for tea.
The top side held the beans reservoir.

From the top we can see the grinding inlet (yellowish), ground coffee outlet (round keyed hole, center right), steam selector valve (lower left), power supply heatsink (center), power button connections (lower right), infrared transceiver (bottom) and the gears from the water quantity adjustment.



Power board


The power board is responsible for supplying the control board with power and switching the heavy loads: grinder motor, boiler, water pump, flow-rate meter.

Some optocouplers at the bottom of the board and the small size of the transformer hint to a switch-mode power supply design.


*I've modified the steam selector valve (top picture, right; bottom left picture) a while back to block its output since it was leaking. I did fit new gaskets since the old ones were too worn out. New gaskets did not fix the problem so the faucet assembly (under the silver rotary button) was blocked with some screws and threadlock.

*The green gaskets are special high-temperature silicone ones. You can see the left one has shrunk and been eaten away by hot steam during its life. If this wear is significant enough, any higher water pressure caused by finely ground coffee or scale deposits will force hot water past the faucet and down the frothing tube.
If the pressure and wear are high enough no actual water will make it into the coffee, it will all be sent down the tube.


The power board has two connections to the signal/control board on the left.


Whenever taking apart stuff it is useful to document it, for both reverse-engineering purposes and putting it back together. So I made an excel sheet having all the connections from all the boards, pin numbers and connector code:

Power Board

5p JP2 ->JP4 signal board
8p JP5 ->JP8 signal board
2p JP7 grinder motor
2p JP8 intake pump motor
3p JP1 N/C
2+1p JP4 power switch
2+1+1p JP6 boiler power + flow meter

ASSY


From now on I will refer to the rotary assembly that takes the coffee from the grinder, to the water valve and to the waste drawer as ASSY. The manual refers to as 'brew group'. It is not pictured here but a quick search on Google for "Saeco Talea Giro Brew Group" will display it:
http://www.coffeemaker-spareparts.com/Saeco-Spareparts/Primea-Talea-Odea-Parts/Brew-group-for-Saeco-Talea-Odea-Primea::3896.html


The assy is operated by a motor and has the following positions and operations:
- N - low limit - lets the user take out the unit, no parts are engaged, coffee holder is in place
- rotate R
- H - high limit - coffee is compressed into the water port, lower outlet valve is connected to the dispenser
- rotate L
- I - intermediary position - the coffee holder bottom raises up causing the spent coffee to fall into the dregs drawer
- rotate L
- N - some of the waste water falls into the bottom of the assy and down the inclined plane into the waste water reservoir.

*The next pic shows how much dirt accumulates during one month of very light usage. *Not all the ground coffee pouring from the top reaches the assy.
*Also, during rotation, some coffee is dropped because of poor tolerances.
*Steam coming from the waste tank under the assembly condenses and causes the spillage to bind (stick) and trigger the waste water sensor. *The inclined plane gets fouled with waste coffee and the assy gets stuck as well not being able to shed all remains.


*The waste water reservoir is also not properly aligned with the inclined plane and some water makes it onto the bottom of the unit and then under it.


Inside the assy drive mechanism we can see:
- assy detection switch, upper right
- high (H) and low (N) limit switches, center
- drive motor, simple brushed type, with a worm gear
- reduction gears (gray)
- waste water sensor (second picture)




I will detail the water sensor principle of operation later on.


Water circuit


The vibration water pump, situated at the back of the unit, draws water from the reservoir and pushes it through various hoses. There's a small flow-meter at the bottom that is used to measure water rate as well as detect lack of water.

The horizontal white cylinder is the relay for the boiler. Since the boiler draws a lot of amps it cannot be driven by the power board directly.



The boiler is at the left side of the unit, just above the water tank. *Some wires are being run unnecessarily close to this heated part, though it might have been an oversight of the technicians that last serviced it.


*Above we run into another problem: the small black pipe at the center pushes the water tank valve before the tank is properly secured to the unit. This means that if the tank is not pushed all the way in water starts to slowly leak out of the tank and below the unit, making it a safety hazard and ruining everything under it.

At my workplace, this "feature" completely destroyed the table underneath it within one year. The only way to safeguard against this is to give the water tank a punch inwards once-in-a-while and preferably immediately after refilling the water.
*Also, jolts from the other side (emptying the dregs drawer) might cause the tank to slowly come out of place with the same watery result.

I initially assumed that there is a high-pressure pump that pushes water at high psi once the water is hot enough but it seems that steam is build up from the boiler room itself and a blowdown valve keeps it pressurized.
*Since the blowdown valve is downstream of the steam faucet a slight seal failure will cause the pressure to escape via the faucet and the (unobstructed) frothing tube or the milk island output, whichever has more wear.


Control board


This is the most complicated part of the unit requiring quite an extensive write-up.

Top left, under the two resistor arrays, we have VN770K, a short-circuit protected H-bridge drive for the grinder motor. The high power resistor underneath it is connected to the "SOURCE 4" terminal which probably goes to ground.
The U12 chip is an NDS9948 P-channel MOSFET, capable of driving 60V/2.3A.
The black potentiometer is actually connected to the water quantity ring/dial assembly, so it's probably sampled through the microchip's ADC. Below that there's a jellybean 78M05 and then a part marked "32C65". It has 4 pins and it's marked Y1 so I assume it's a ceramic/crystal oscillator, though I've never seen that marking before.


The chip under the revision sticker is MCP908AP32 - part of the 68HC08 family from Freescale, a Motorola 6800 compatible successor. Fun fact: the 6800 was one of the first processors to require only one voltage supply, back in 1974.
It does have 2kB of RAM and 32kB of flash, two 16bit CCP/PWM timers, two serial modules (one with IrDa), SPI, SMBus, 8ch/10bit ADC, 32 GPIO with 8 sink and 6 source (25mA) outputs.

Next to the CPU there's an ST95040 4K SPI EEPROM, probably used to store machine statistical runtime data like running hours, number of coffees, error count and other stuff. I suppose so because the service mentioned at one point that the machine lost its warranty because it was used in an office environment instead of a home.

Below the cpu there are two 74HC595D 8-bit shift registers that are probably used to free up some I/O pins and provide increased drive current. There are at least 42 signals being processed, not including the IrDa transceiver, EEPROM and other stuff, so clearly the 32 GPIO will not be enough.


The interesting bit about the CPU is the IrDa connection, there's what I guessed to be transceiver on the board with an IR transparent window on top of the unit.
It's marked BU7032 and has 8 pins:
- GND
- GND
- +5V
- GND
- GND
- TX? (goes to CPU)
- RX? (goes to a pulldown transistor and then CPU)
- +5V
I was not able to find any info on it.

The rest of the components from the control board are just passives or jellybean actives, with a notable 3-switch selector on the right.

The front of the board has the user interface stuff: buttons and leds, along with the slot for the water quantity potentiometer.


*A design aspect of this is that the board is really prone to flexing when buttons are being pushed. The middle part moves about 1mm when the coffee button (most used one) is pressed and this gap will get worse as the plastic retainers wear off.
*The capton tape was probably put on as an afterthought as it's really not a suitable way to guard the board against scratches caused by the springs.


Back view of the user panel assembly, showing the tension/return springs for the water/steam selector button.


Just for reference, the steam selector valve/faucet is driven by a magnet coupled to the rotary button that closes some reed/magnetic switches.



The control board has quite a mess of wires and connectors so it's always a good idea to mark and document them. It proved especially useful (aside from the pictures) when I put the unit back together 4 months after I've taken it apart.


Initially the plan was to design a new board for the unit that worked around some firmware flaws: not being to rinse and descale the machine properly, dumping ground coffee AFTER figuring out that not enough water is available, dumping coffee randomly, poor indication of available water level, no auto power-off, etc.

You can see that after the initial rough documentation of the needed inputs and outputs this proved to be a non-feasible goal as too much R&D was required on my side, far outweighing the cost of dumped coffee or a better unit.



Pins Label Ground pins +5V pins Signal/other pins Description Digital in (hall/mech switches) Cap sensors Analog in Digital Out Analog Out Unknown
2 JP10 1 0 1 boiler temp sensor (NTC/PTC)

1


4 JP1 1 1 2 steam valve selector 3




5 JP7 2 1 2 bean cover (2p) + grinder motor sensor (3p) 1
1


4 JP2 1 1 2 serial comm? 1

1

10 JP5 3 1 6 motor limit switches (3x2p), assy misplaced switch (2p), assy motor output (2p) 4



2
6 JP16 2 2 2 intake pump sensor (3p) + intake water level sensor (3p) 1



1
5 JP4 1 1 3 power/main board connector





8 JP8 0 0 8 main board connector





4 JP3 - - - N/C





2 JP21 0 0 2 side cover (assy/dregs) open switch 1




6 JP23 - - - N/C (1 gnd + 1 5v)





3 JP22 1 1 1 waste water level sensor
1



I/O











PB1

1 coffee qty button 1





PB4

1 coffee start button 1





PB3

1 water/steam button 1





DL9

1 empty dregs LED


1


DL1

1 heater on/heating LED


1


DL4

1 warning LED


1


DL5

1 descale LED


1


DL2

1 coffee on LED


1


DL6-8

3 coffee qty LED


3


DL3

1 water on/steam off LED


1


P1

1 water qty potentiometer

1


59


42
14 1 3 10 0 3

A good idea when sketching up these things is to count which pins are connected to ground, which are connected to digital power. The remaining ones will show you how many GPIO pins you require. Then you have to analyze the signal pins and figure out which are analog, which are digital and which are something else, so you can choose the uC with the required number of ADC channels.

Almost all the safety switches are hall sensors, thus magnetic-based. This includes the side covers open detection, bean cover and dregs drawer detection. It's useful to have a handful of magnets around when testing the unit with covers removed.

An interesting connector is JP2 - this is continued under the unit and provides an USART connector probably for diagnosing the unit at service. I'll try sniffing that in the future, the only problem being not to make a mess of coffee residue everywhere.


Water sensor


What I though initially to be capacitive sensors (for water sensing) are in fact a turnkey solution that outputs a digital level.
They are TS100 TouchCell units, probably custom tuned for Philips/Saeco.

I think the two resistors along with the PCB capacitor on the other side forms some kind of configuration that oscillates only above a specific capacitance.
The 6-pin IC takes 5V, ground, a common pin between the resistors and the two [differential] RC inputs and outputs HIGH whenever the capacitance threshold is reached, within 150us.

This can be achieved with a 555 timer and a Schimtt trigger.



Consider the following article: http://www.digikey.com/us/en/techzone/sensors/resources/articles/liquid-level-sensing.html and the last schematic. If the output of that 555 is integrated through a capacitor and fed through an op-amp in a Schmitt trigger configuration then the required output will be seen.
Maybe a single opamp can do both integration and triggering. Maybe the entire design can be done with a single or dual opamp package in a relaxation oscillator setup. Who knows, it needs some experimentation.

*The only problem with this setup is that it is not able to tell how much water is present, making it impossible for the machine to estimate whether enough water is available in the tank for a coffee of the selected size.
*The same sensor is used also for waste water sensing where it is too sensible, especially when coffee residues are present.

Hopefully Philips did not pay a lot of money for these sensors because even though they simplify firmware development they are not really able to quantify levels of detection. My guess is that they just order a few tens of millions of these and use them everywhere they get the chance to, even in cheaper units which do not have a microprocessor controlling the stuff.

Grinder unit


The grinder has an interesting design starting with a clean isolation from the outside. You can see there is no coffee residue near the motor. Top is the rotating center shaft with the non-rotating adjustable gear. Upper right is the grinding outlet.



The small wheel in the center rotates the big adjustment wheel, changing the coarseness of the ground.



The adjustment actually varies the distance between the two ceramic grinders.


The lower wheel is driven by the brushed motor through a worm reduction. Notice the black rectangle with a connector on the lower side of the bottom cover. Also notice the two black magnets on the white gear.


The black box houses a 4-pin device marked 506K 6373. It's most likely a hall effect sensor and its output is sent to the CPU to determine the grinder rotational speed. From there, the CPU can determine if the grinder is stuck or out of coffee (spinning too fast).



Conclusion


There are a tons of things which I've forgotten since the time I opened up the unit. It was a good idea to take pictures at each step since without them the machine would probably still be in pieces.

What I assumed initially to a be a straightforward analysis of a simple machine yielded surprising findings. It is indeed not trivial to design a good automatic coffee machine, even less so to do one that gives good-tasting coffee like this does. I did assume however that many years of iterative design have gone into this and expected to find mostly only firmware mistakes. To my surprise, most of the problems with this machine and its slow death have been mechanical and hydraulic.

This article could have easily been five times longer and with ten times more pictures but everyone has a limited attention span. I might detail some inner workings and findings in separate posts.

8 comments:

  1. Hi-
    I have a Saeco Talea Touch Plus that although new (less than 300 dispenses less than 3 yrs old and flawless visual condition) has an interesting failure. If you power it on the LED touch screen display just barely flickers with no text or graphics shown, its just barely coming on and off (I think its the back light) but nothing else happens. Its totally dead but for that small sign of life. Then, if you leave it unplugged for a good while (days) and turn it on, sometimes it comes on completely normally with 100% functionality in every way and makes great coffee.

    I was thinking about looking an the power supply capacitor as a possible failure point, perhaps the supply voltage has dropped enough that the back light is flickering and nothing else is coming on (or the LCD is trying to come on). Since you have managed to do what I also have done (this is my second one- I started with the Touch that was broken (30,000 dispenses) that I got free and replaced the motor, some liquid lines and the grinders and its still working... but leaking.. so I want to get my new (again, someone else gave it to me as dead) one working, but am unsure where to look for the issue.

    ReplyDelete
  2. It is very difficult to repair a automatic coffee maker but with these steps it now becomes much easier.Thanks for sharing.

    Regards
    Finn Felton

    Kopi Luwak

    ReplyDelete
  3. Finn: thank you for the nice words.
    Rufessor: if you have and oscilloscope I would prove the 5V line, perhaps it's oscillating. Check for bulged caps, if the machine is one for extended periods of time the top gets quite hot. I'm sure it is by design as well, to warm up the cups left on top of the unit.
    The backlight looks like a led one so there should be no high-voltage supply for it. But anyway, the symptoms point to a bad supply voltage (regulator or caps).
    On my unit the leaking happened on the frothing dispenser which was never used anyway, so I just stuck the water line to normal coffee mode by putting blue threadlock on the internal [metal] element of the faucet/selector. It's like hardcoding, but for hardware :)

    ReplyDelete
  4. Hi, very interesting post and blog ! I have a Odea Giro ( wich from what i can see uses the same hardware) and im having trouble too with the steamer valve selector ! I cant stop it from leaking . Its leaking from the (top) metal clip. What kind of screw/repair did you perform here ?

    Thx

    Mat from Montreal

    ReplyDelete
  5. I blocked the line for the steam/frothing completely. I did this by screwing a drywall screw with loctite into the "faucet" instead of the line going out to the steam pipe.
    I did buy the o-rings for that piece (see picture 5) but they did not stop the leaking. The only thing fixing it (for me) would be a new water selector assembly but I don't need frothing. It makes cleaning harder though, when descaling all the water goes to the water waste tray, requiring frequent emptying.

    ReplyDelete
  6. Two questions:
    1. Brewing cycle time on my Saeco Syntia is 15 sec. It should at least 25 sec. What could be done about it?
    2. With a hopper full of beans, at the very end of grinding cycle, machine displays "out of coffee" fault and throws ground coffee out.What could be done to force the machine to continue and the brewing?

    ReplyDelete
  7. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.
    click here

    ReplyDelete
  8. See also http://hackcorrelation.blogspot.de/2017/02/automated-coffee-machine.html if you're having problems

    ReplyDelete