I recently bought a new (to me) Expobar Office Control.
It is a low end HX machine.
Coming from a PID'ed Gaggia Classic, initially had trouble with flushing in the water dance. Fortunately, I was able to add Eric's thermocouple adapter to the grouphead.
So, right now, I am using a temp meter to read my grouphead temp as I flush, and during the shot.
I have been ordering the parts to add a box to the bottom of my machine, with a display, arduino and tc4, to read and display the grouphead temps.
So far, I bought, or ordered
Arduino mega (although I might swap my duemilanove into here)
2 x 16 LCD
LCD bezel
plastic case
power jack
push buttons switch
toggle switch to turn on and off
tc4 and parts for it
thermocouple jacks
bluetooth module
My plan is to mount this under my drip tray. The LCD will be on top, and I think I will add 3-4 push buttons, and the on/off switch under the LCD.
I will mount the tc jacks on the side or the back
I will cut a hole in the case somewhere for the arduino USB jack.
I plan tol use bluetooth to download temp data from it, when I want to.
Power will come from a wallwart, through a jack mounted in the case. I had thought of getting 115AC from the machine, but decided there were fewer safety issues if I used a wallwart to get either a low voltage AC, or unregulated DC. I have the parts in my junk drawer to rectify, if I feed it AC.
I was planning to put TC's on the grouphead (already installed), the boiler (need to figure out how/where), and maybe use one for over the lip of the PF to measure actual shot temps, to compare the grouphead temps.
I was going to display the 4 tc temps, and an elapsed time. The elasped time will mostly be for a shot timer.
I could eventually add a PID function to this, but I'm not sure if I need or want to do that.
This sounds like a great application. Actually, this is exactly the application I had in mind when I first slid down into this rabbit hole last year. I just have not gotten as far along as I had hoped :(
I have a TC4 variant on my Silvia doing some of the things you plan. I think you will find that your TC4 works very well for this.
The grouphead readout is a huge step up from garden-variety PID installations, so I would encourage you find a way to snake the group TC leads to your TC4.
A little thing that I did on the Silvia: shut down the heater after 8 hours of run time. My installation does PID, so I already had control of the heater. This gives me a sense of security, real or imagined, in case I forget (again) to turn off the machine when I leave.
I'll be following this Randy! I have been planning to use a TC4 on my Bazzar A3 (a re-badged Isomac Tea). I'll have a thermocouple on the group head and in the boiler - the latter I am planning to bore straight into the copper boiler (or possibly into one of the fittings that screw into the boiler) with a 1.5 mm hole and silver solder it in. The only slight reservation I have about this is possible vulnerability of the thermocouple during maintenance work in the future, but I think it should be OK.
I was also planning to try and control the pump with PWM for pressure profiling! My plan is to use a potentiometer on the TC4 to vary pressure. Not sure if that would work, but it is worth trying at any rate. I have seen some speculation on using PWM or phase control here in Germany - with the TC4 of course PWM is preferable, but in the report I saw they opted for phase control.
Another thing which would be interesting would be to add a flow meter, with the idea of (a) giving feedback to the pressure profiling, and/or (b) switching off the pump after a fixed volume of water has passed through. One doubt I have about this (especially applicable to (a) rather than (b)) concerns air in the system between the pump and the coffee grinds - if there is any air in the system this will get compressed, therefore part of the indicated flow would reflect increasing air compression rather than flow through the puck. Obviously this would be more of a problem on some machines and less on others. Maybe you have a flow meter already on your Expobar?
Yet another thing I've been thinking about recently is an programmable "Hario" cold-drip - the idea would be to pulse the pump very briefly at regular intervals over several hours with the heater switched off, to produce a Hario-type cold extraction directly through the portafilter. Just select "Cold drip" from the menu on the LCDapter, set the time you want it ready, put the coffee in the portafilter, and next morning you have a freshly made cold drip waiting for you in the cup!
I'm not (currently) planning bluetooth on mine, but if you have bluetooth you might want to be able to switch the machine on and off remotely. Jim's pre-programmed timer is a good idea; someone else I came across had it switched on remotely from his bedroom (from his iPad if I remember correctly), and then had it automatically switch off the heater one hour later.
I think if you preview your reply, the picture gets lost and you have to attach it again.
Are you going to use the same type of thermocouple for each channel, or are you going to set things up for, say, type T for the brew temp sensor (like a Scace Thermofilter, e.g.) ?
I am just planning to use a type K tc added to my boiler, hopefully at the ground connection (looking for an easy way to wedge the TC against the boiler).
I could have bought a type T for the group head, but I bought a type K, and the difference in accuracy appears to be too small to worry about, I think it was less then a deg difference.
randytsuch wrote:
I am writing details of my build, here is part 1
Thanks for the info Randy. Have you uploaded your firmware somewhere? I am gradually getting some progress with my project, but since I am an incompetent programmer I am hoping for some help from yours! How did you mount your boiler thermostat? I was planning to solder mine in the boiler, but I have finally found a compression fitting with compatible threads and plan to get that shortly. I'll swap a T-piece on the top of the boiler for a 4-way connector and put the thermocouple down through that. Until then I am confined to group head monitoring with the TC4.
One thing which might be interesting to do is to make a standby setting - a slightly lower temperature setting that the machine can be left on on standby which will keep it fairly warm but without putting out the full amount of heat; press any button and it will wake up and come up to temperature in a few minutes time.
randytsuch wrote:
I am writing details of my build, here is part 1
Thanks for the info Randy. Have you uploaded your firmware somewhere? I am gradually getting some progress with my project, but since I am an incompetent programmer I am hoping for some help from yours! How did you mount your boiler thermostat? I was planning to solder mine in the boiler, but I have finally found a compression fitting with compatible threads and plan to get that shortly. I'll swap a T-piece on the top of the boiler for a 4-way connector and put the thermocouple down through that. Until then I am confined to group head monitoring with the TC4.
One thing which might be interesting to do is to make a standby setting - a slightly lower temperature setting that the machine can be left on on standby which will keep it fairly warm but without putting out the full amount of heat; press any button and it will wake up and come up to temperature in a few minutes time.
Possibilities are endless.
Bhante
For now, I just wedged a TC under the ground lug on top of the boiler. I think this pushes it pretty hard against the boiler wall.
My boiler temps are around 220 with this method, I'm sure the water is hotter then than, since my grouphead idle temp gets up to around 210.
For the software, if it's OK with Bill and Jim, I called it Java, and could add it to the repository if one of them will make a new branch.
Keep in mind that this software is not a PID version, it does not control temps, just monitors. I'm still using the pressurestat for controlling the temps.
PID obviously can be added, and I put in a connector in my box to support it, but I don't have a SSR in my machine yet for a PID.
randytsuch wrote:
Keep in mind that this software is not a PID version, it does not control temps, just monitors. I'm still using the pressurestat for controlling the temps.
Ah! I need to control the heater. I get a pretty wide temperature range with the pressure stat. Also I want to open a few doors ...
I've finally got both thermocouples installed, plus a few other improvements. Here is the brew temperature thermocouple:
I used a 50 cm thermoelement with attached cable (30 cm would do, but here would cost more). I drilled a small hole by the side where the E61 is mounted, then cut a slot to the mounting hole with a hacksaw blade. This allows me to poll the cable through the hole, which makes installation much easier and neater - I took the E61 head off, fed the thermocouple through the hole, installed the correct length of thermocouple in the group head, bent it round to the side, then installed the E61 back on the housing. Finally I bent the thermoelement down on the inside:
Inside, I bent the thermocouple down out of the way; actually it would probably have been better to go straight down. Make sure you round all the edges of the hole and slot, and do not bend the thermoelement too sharply or it will be damaged:
By the way I made some insulation for the boiler using Basotect foam. Since the foam is easily damaged I wrapped some cloth over it. I made some end pieces too, but I haven't used them yet because various developments are still in progress. In the meantime some paper towel works well to cover up the ends very simply! (The bottom two connectors in this picture I had to swap around subsequently because they stick out too far):
For the boiler I used a 15 cm thermoelement. The compression gland I got from RS Components for a mind-boggling 2.40 Euros!
Click the link to worldwide branches and distributors for other countries, or just change the country code at the beginning of the link. Don't rely on them being available for long - from the price, I reckon they are clearing stock! This has a brass compression element; I replaced it with teflon from some teflon tubing. The screw fitting is exactly right for the 1/8" fittings in espresso machines.
For mounting it I replaced a T-piece with a 4-way junction:
I could only get a 4-way junction with female connectors plus male-male adaptors, which unfortunately makes the whole thing far too big. I had to bend several pipes as a result.
I put a block of plastic foam across the back to separate the thermocouple from the vibrating pump; it should go all the way across, otherwise it will move when the pump vibrates:
I looped the extra thermocouple cable and tied it with cable ties, then it goes down through a (pre-existing) hole in the base. The edges are rather sharp, so to avoid damaging the cable I slit a piece of teflon tubing and glued it around the hole:
Eventually the Arduino and TC4 should be mounted inside the casing, but I expect it will be a long time before I get round to that! The arduino and TC4 should go under here eventually, hanging from the metal plate:
Then the LCD should be mounted in a cut-out in the front panel with buttons to control menu options and a potentiometer to control the pump pressure in realtime while pulling a shot (PWM on OT2?). The heater should be controlled with PID using PWM on OT1. The PID settings should be set from the menu using buttons, so a potentiometer will not be necessary for the heater. @Jim: What do I need to do to get a PWM signal to OT2? OT1 and OT2 should both run from the same timer OK I think? But they will need the same frequency probably? I'm not sure yet what frequency the pump should run on - certainly faster than 1 Hz but probably slower than the 30 Hz available on IO3.
The main things remaining to be done:
ALL the software (at present I can only monitor temperature)
Circuitry for controlling pump pressure with PWM
Circuitry for switching the heater with PWM
I would like to put a digital pressure sensor on the heat exchanger circuit, something like the MPX2200; however I am not sure how the pressure port is to be attached.
The pump pressure can be regulated with PWM. Here is a video demonstrating this:
I contacted the company who make this product but have had no reply so far and their website is only in Korean. Anyone speak Korean?
Any ideas on a suitable circuit for interfacing the Arduino with the AC pump (and the heater for that matter)? I have an AC switch made by ST, ACS120, which ought to work I think, but I hesitate to connect it to the Arduino without an opto - however ST say the gate can be connected directly to a micro. The example circuits ST give have the neutral mains line connected to the micro ground, which worries me - especially since there is no reliable distinction between live and neutral lines here in Germany.
About software: @Randy - would your Kona PID software work with an espresso machine? Would much need to be changed? Programming is a bit problematic for me unfortunately. I can dabble, but not so much more than that!
Bhante, thanks for the PM that reminded me how long it's been since my last login here. I am using Boubon with the LCDapter as a base for PID and shot control on my Elektra single group HX. My use of the code does the following:
TC1: group temperature
TC2: boiler temperature, the process variable for the PID control
SSR outputs: three SSRs between an Arduino digital pin and GND (5V DC switching) for group solenoid, pump, and heating element control
Boiler PWM: the PWM function from the TC4 library turns the PID output (between 0% and 100%) into a series of pulses
Backflushing: automatic backflush (3 seconds on, 1 second off, repeat 8 times)
LCD: shows current boiler and group temperature, boiler set point, and shot time (either incrementing while a shot is running, or fixed after a shot is done)
Buttons: 1. Increment boiler temp (220F-260F), 2. Backflush, 3. Screen backlight on/off, 4. Group solenoid on (preinfuse) -> pump on (full pressure) -> group solenoid and pump off
I'd be happy to share the code that I'm running with anyone interested as a drop-in set of files for running TC4 with an espresso machine. The original code was more geared towards a fixed cycle, whereas this is for continuous operation (I turn my machine on before going to sleep). If the TC4 creators have any concerns that sharing this code violates licensing, or if there are any requirements for sharing, please contact me!
aindfan wrote:If the TC4 creators have any concerns that sharing this code violates licensing, or if there are any requirements for sharing, please contact me!
All the code I have contributed is released under the BSD open source license:
Code
// *** BSD License ***
// ------------------------------------------------------------------------------------------
// Copyright (c) 2010, MLG Properties, LLC
// All rights reserved.
//
// Contributor: Jim Gallt
//
// Redistribution and use in source and binary forms, with or without modification, are
// permitted provided that the following conditions are met:
//
// Redistributions of source code must retain the above copyright notice, this list of
// conditions and the following disclaimer.
//
// Redistributions in binary form must reproduce the above copyright notice, this list
// of conditions and the following disclaimer in the documentation and/or other materials
// provided with the distribution.
//
// Neither the name of the MLG Properties, LLC nor the names of its contributors may be
// used to endorse or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// ------------------------------------------------------------------------------------------
This license was chosen to make it as easy as possible for other contributors to build their own applications and (hopefully) share them with the rest of us :)
I can attest to folks being out and about. Me and Julie were out hitting the garden centers for loading flower pots all day. Nice weather! Tomorrow the Kamado/egg gets fired up!
ginny
05/18/2013 17:32
Jack, it is quiet today, I think the lovely day has folks out and about.
ginny
05/18/2013 17:31
sbonder
thanks for joining us...
JackH
05/18/2013 15:28
Quiet here today.
zombie coffee
05/17/2013 11:02
ricksroasters
thank you for taking time to join us...
allenb
05/15/2013 15:56
nikijack Howdy and Welcome to HRO!
freshbeans
05/15/2013 13:57
FataMorganaCafe
ginny
05/15/2013 03:04
blong2001 thanks for joining us...
ginny
05/14/2013 13:54
that is sweet... thanks for posting lylabrown...
for you