'Pressure Profiling' With The Fluid-O-Tech TMFR Pump - Or, Wholesale Copying Greg Scace's Ideas - Page 26
- mhoy
- Posts: 1138
- Joined: 16 years ago
Loving seeing an arduino in here. I've got one controlling my Bradley Original Smoker so I don't have to adjust the temp by myself anymore. :-0
Mark
Mark
- Jacob
- Posts: 367
- Joined: 18 years ago
At an early stage I noticed that the flow meter almost always ended up in the same state and I therefore assumed that the contact / no contact states had a very unsymmetrical time of duration (and called the output 'clicks'). But looking at the video (the blinking led in the background) I got second thoughts and I had to make a test reading the state changes instead of just reading one of the states:
time - flow meter count : state duration + user compensation = motor output
Output profile = flow meter state duration w/lower limit (preinfusion) = 56 and upper limit = 252.
*** Shot log ***
00.10 - 1: 56 + 0 = 56
00.10 - 2: 53 + 0 = 56
00.20 - 3: 49 + 0 = 56
00.20 - 4: 48 + 0 = 56
00.30 - 5: 50 + 0 = 56
00.30 - 6: 49 + 0 = 56
00.40 - 7: 55 + 0 = 56
00.40 - 8: 50 + 0 = 56
00.50 - 9: 50 + 0 = 56
00.50 - 10: 48 + 0 = 56
00.60 - 11: 50 + 0 = 56
00.60 - 12: 50 + 0 = 56
00.70 - 13: 47 + 0 = 56
00.70 - 14: 49 + 0 = 56
00.80 - 15: 51 + 0 = 56
00.80 - 16: 51 + 0 = 56
00.90 - 17: 51 + 0 = 56
00.90 - 18: 50 + 0 = 56
01.00 - 19: 48 + 0 = 56
01.00 - 20: 46 + 0 = 56
01.10 - 21: 51 + 0 = 56
01.10 - 22: 51 + 0 = 56
01.20 - 23: 50 + 0 = 56
01.20 - 24: 49 + 0 = 56
01.30 - 25: 47 + 0 = 56
01.30 - 26: 52 + 0 = 56
01.40 - 27: 51 + 0 = 56
01.40 - 28: 53 + 0 = 56
01.50 - 29: 53 + 0 = 56
01.50 - 30: 50 + 0 = 56
01.60 - 31: 50 + 0 = 56
01.60 - 32: 52 + 0 = 56
01.70 - 33: 51 + 0 = 56
01.70 - 34: 48 + 0 = 56
01.80 - 35: 49 + 0 = 56
01.80 - 36: 50 + 0 = 56
01.90 - 37: 50 + 0 = 56
01.90 - 38: 51 + 0 = 56
02.00 - 39: 52 + 0 = 56
02.00 - 40: 53 + 0 = 56
02.10 - 41: 55 + 0 = 56
02.10 - 42: 53 + 0 = 56
02.20 - 43: 47 + 0 = 56
02.20 - 44: 48 + 0 = 56
02.30 - 45: 50 + 0 = 56
02.30 - 46: 50 + 0 = 56
02.40 - 47: 47 + 0 = 56
02.40 - 48: 45 + 0 = 56
02.50 - 49: 47 + 0 = 56
02.50 - 50: 49 + 0 = 56
02.60 - 51: 51 + 0 = 56
02.60 - 52: 50 + 0 = 56
02.70 - 53: 52 + 0 = 56
02.70 - 54: 51 + 0 = 56
02.80 - 55: 56 + 0 = 56
02.80 - 56: 58 + 0 = 58
02.90 - 57: 50 + 0 = 56
02.90 - 58: 48 + 0 = 56
03.00 - 59: 52 + 0 = 56
03.00 - 60: 50 + 0 = 56
03.10 - 61: 52 + 0 = 56
03.10 - 62: 50 + 0 = 56
03.21 - 63: 52 + 0 = 56
03.31 - 64: 57 + 0 = 57
03.31 - 65: 49 + 0 = 56
03.41 - 66: 55 + 0 = 56
03.41 - 67: 50 + 0 = 56
03.51 - 68: 48 + 0 = 56
03.51 - 69: 50 + 0 = 56
03.61 - 70: 48 + 0 = 56
03.61 - 71: 48 + 0 = 56
03.71 - 72: 47 + 0 = 56
03.71 - 73: 46 + 0 = 56
03.71 - 74: 47 + 0 = 56
03.81 - 75: 49 + 0 = 56
03.81 - 76: 48 + 0 = 56
03.91 - 77: 52 + 0 = 56
03.91 - 78: 54 + 0 = 56
04.01 - 79: 52 + 0 = 56
04.11 - 80: 57 + 0 = 57
04.11 - 81: 50 + 0 = 56
04.21 - 82: 52 + 0 = 56
04.21 - 83: 54 + 0 = 56
04.31 - 84: 55 + 0 = 56
04.31 - 85: 56 + 0 = 56
04.41 - 86: 56 + 0 = 56
04.41 - 87: 55 + 0 = 56
04.51 - 88: 57 + 0 = 57
04.51 - 89: 51 + 0 = 56
04.61 - 90: 52 + 0 = 56
04.61 - 91: 53 + 0 = 56
04.71 - 92: 54 + 0 = 56
04.81 - 93: 55 + 0 = 56
04.81 - 94: 57 + 0 = 57
04.91 - 95: 57 + 0 = 57
04.91 - 96: 56 + 0 = 56
05.01 - 97: 59 + 0 = 59
05.01 - 98: 60 + 0 = 60
05.11 - 99: 57 + 0 = 57
05.21 - 100: 56 + 0 = 56
05.21 - 101: 62 + 0 = 62
05.31 - 102: 63 + 0 = 63
05.31 - 103: 64 + 0 = 64
05.41 - 104: 60 + 0 = 60
05.51 - 105: 62 + 0 = 62
05.51 - 106: 65 + 0 = 65
05.61 - 107: 70 + 0 = 70
05.71 - 108: 79 + 0 = 79
05.81 - 109: 87 + 0 = 87
05.91 - 110: 92 + 0 = 92
06.01 - 111: 110 + 0 = 110
06.11 - 112: 130 + 0 = 130
06.31 - 113: 167 + 0 = 167
06.51 - 114: 215 + 0 = 215
06.81 - 115: 291 + 0 = 252
07.11 - 116: 335 + 0 = 252
07.51 - 117: 400 + 0 = 252
07.91 - 118: 438 + 0 = 252
08.41 - 119: 461 + 0 = 252
08.91 - 120: 490 + 0 = 252
09.41 - 121: 502 + 0 = 252
09.91 - 122: 471 + 0 = 252
10.31 - 123: 422 + 0 = 252
10.71 - 124: 416 + 0 = 252
11.11 - 125: 409 + 0 = 252
11.51 - 126: 387 + 0 = 252
11.91 - 127: 356 + 0 = 252
12.21 - 128: 327 + 0 = 252
12.51 - 129: 311 + 0 = 252
12.81 - 130: 288 + 0 = 252
13.11 - 131: 286 + 0 = 252
13.31 - 132: 277 + 0 = 252
13.61 - 133: 280 + 0 = 252
13.91 - 134: 252 + 0 = 252
14.11 - 135: 250 + 0 = 250
14.41 - 136: 227 + 0 = 227
14.61 - 137: 235 + 0 = 235
14.81 - 138: 224 + 0 = 224
15.01 - 139: 217 + 0 = 217
15.21 - 140: 209 + 0 = 209
15.51 - 141: 210 + 0 = 210
15.71 - 142: 205 + 0 = 205
15.91 - 143: 195 + 0 = 195
16.01 - 144: 186 + 0 = 186
16.21 - 145: 181 + 0 = 181
16.41 - 146: 186 + 0 = 186
16.61 - 147: 181 + 0 = 181
16.81 - 148: 182 + 0 = 182
16.91 - 149: 180 + 0 = 180
17.11 - 150: 174 + 0 = 174
17.31 - 151: 180 + 0 = 180
17.51 - 152: 160 + 0 = 160
17.61 - 153: 169 + 0 = 169
17.81 - 154: 155 + 0 = 155
17.91 - 155: 162 + 0 = 162
18.11 - 156: 154 + 0 = 154
18.31 - 157: 164 + 0 = 164
18.41 - 158: 158 + 0 = 158
18.61 - 159: 155 + 0 = 155
18.71 - 160: 151 + 0 = 151
18.91 - 161: 156 + 0 = 156
19.01 - 162: 153 + 0 = 153
19.21 - 163: 144 + 0 = 144
19.31 - 164: 147 + 0 = 147
19.51 - 165: 148 + 0 = 148
19.61 - 166: 146 + 0 = 146
19.81 - 167: 157 + 0 = 157
19.91 - 168: 139 + 0 = 139
20.11 - 169: 143 + 0 = 143
20.21 - 170: 149 + 0 = 149
20.41 - 171: 145 + 0 = 145
20.51 - 172: 144 + 0 = 144
20.61 - 173: 147 + 0 = 147
20.81 - 174: 141 + 0 = 141
20.91 - 175: 143 + 0 = 143
21.11 - 176: 143 + 0 = 143
21.21 - 177: 144 + 0 = 144
21.41 - 178: 140 + 0 = 140
21.51 - 179: 138 + 0 = 138
21.61 - 180: 143 + 0 = 143
21.81 - 181: 138 + 0 = 138
21.91 - 182: 138 + 0 = 138
22.11 - 183: 138 + 0 = 138
22.21 - 184: 138 + 0 = 138
22.31 - 185: 132 + 0 = 132
22.51 - 186: 139 + 0 = 139
22.61 - 187: 138 + 0 = 138
22.71 - 188: 142 + 0 = 142
22.91 - 189: 134 + 0 = 134
23.01 - 190: 135 + 0 = 135
23.11 - 191: 131 + 0 = 131
23.31 - 192: 138 + 0 = 138
23.41 - 193: 136 + 0 = 136
23.51 - 194: 129 + 0 = 129
23.71 - 195: 136 + 0 = 136
23.81 - 196: 128 + 0 = 128
23.91 - 197: 138 + 0 = 138
24.11 - 198: 140 + 0 = 140
24.21 - 199: 138 + 0 = 138
24.41 - 200: 136 + 0 = 136
24.51 - 201: 138 + 0 = 138
24.51 - Avg: 121 - Max: 502
Output profile = flow meter state duration w/lower limit (preinfusion) = 56 and upper limit = 252.
- Jacob
- Posts: 367
- Joined: 18 years ago
From very early in the thread people were talking about the best way to configure a pressure profiling system - just to pick a few:
What kind of configuration did you end up with? Or in case you didn't; why not?
Any plans for the future of your system?
shadowfax wrote:Greg has also speculated about an even more interesting setup, which would vary pressure based on flow through the group--this would allow you to actually simulate the action of a spring lever, where the pressure declines only as there is flow out of the group, rather than as time progresses. This would get you a system that reacted to the shot's flow resistance, which might be more interesting than simple pressure x time-based control.
For my part, I'm waiting for Tom to try his second-tier solution and see if that's adequate before I think about doubling my investment with a PID and transducer.
another_jim wrote:When these experiments started, I wondered if a good benchmark for a pressure profile was constant flow. What I mean is that the espresso starts with a drip, then over the course of the shot the flow gets stronger, and by the end it can gush. I don't mean cranking up the pressure to get high flow at the beginning, but dropping the pressure in such a manner that the flow stays constant over the final 2/3rd or so of the shot.
I have no justification for doing this other than it would turn out to be simple and elegant if it were true.
gscace wrote:It's one idea, and one way of varying grind, while maintaining a certain volume of shot, although not necessarily constant extraction ratio. I recently built a system for Phil and Sebastian Coffee Company in Calgary, and they are trying all sorts of things. their thinking is that fines migration gets locked down when the cake gets saturated, so if you gradually saturate,then increase pressure relatively slowly, you'll use a finer grind than if you don't pre-infuse, and ramp the pressure quickly. So you'll get very different extractions. I'm interested, of course, and I'm glad some other folks are doing all of this exploration, since my time is pretty limited. Seems to me that the Extract Mojo system could be of great use in this.
-Greg
CRCasey wrote:I had a couple of thoughts when reading this thread.
First off, you already have a nice digital flow meter built into you machine. Any automatic will have a Gicar flow meter with a nice digital output back to your controller board. You should be able to tap into this line (with a opto-isolator for extra safety) and feed it our to your PIC or what ever uC you decide to use.
Secondly a basic RC filter placed on any PWM output pin will be able to produce the 0-5V signal you require for the pump controller board.
With these two simple parts you should be able to test Jim's constant flow theory with just a dozen or so lines of code.
Did any of you early adopters got beyound a manually controlled system?shadowfax wrote:I'd be very impressed if an espresso machine flow meter provided remotely fast enough feedback to facilitate real-time calculation of flow rate. I think at espresso flow that a flowmeter pulses at most <10 times per second (is that right?). Even if it were a bit more than that, the latency on measuring average flowrate will be quite high. That will probably put a cramp on the accuracy of any control system. But I perhaps there are better flowmeters or even self-contained flow-rate meters out there.
... Am I crazy to think it won't work?
What kind of configuration did you end up with? Or in case you didn't; why not?
Any plans for the future of your system?
- shadowfax (original poster)
- Posts: 3545
- Joined: 19 years ago
I'm still stuck on manual. I've told myself I should learn to program an Arduino, etc., but I still haven't gotten around to it. I spent a lot of time recently shooting the breeze with Scott from La Marzocco, and he discussed a tremendous amount about the development of the Strada EP. That's actually made me lose a lot of interest in a DIY solution. From what I understand, getting the control right is a very tweaky thing. Especially trying to get the fastest stabilization during preinfusion as the feed tube and space above the puck fill with water.
I did learn that they like a profile that looks like this: /\ -i.e. a linear pressure rise to a peak and then a linear decline from there. That is, kinda-sorta like a lever profile, but actually very, very different. They say that modulating the total time and the peak pressure give you great ability to tweak a shot profile based on the coffee you're using.
So, I don't know where I'm at with all this. I have a pretty good time profiling by hand for the most part, but I know I suffer a large degree of repeatability there. I'm leery of getting a simple setup, like a straight-up PID that you have to program a ramp-soak function by hand any time you want to make a change-I'd really like something that's a little easier to tweak on a per-shot basis AND offers repeatability once dialed in.
I've vaguely considered getting a Strada EP, but... whew, sticker shock to the tune of >$10,000, even with a deep discount! I'm thinking, does my son really need to go to college?
I did learn that they like a profile that looks like this: /\ -i.e. a linear pressure rise to a peak and then a linear decline from there. That is, kinda-sorta like a lever profile, but actually very, very different. They say that modulating the total time and the peak pressure give you great ability to tweak a shot profile based on the coffee you're using.
So, I don't know where I'm at with all this. I have a pretty good time profiling by hand for the most part, but I know I suffer a large degree of repeatability there. I'm leery of getting a simple setup, like a straight-up PID that you have to program a ramp-soak function by hand any time you want to make a change-I'd really like something that's a little easier to tweak on a per-shot basis AND offers repeatability once dialed in.
I've vaguely considered getting a Strada EP, but... whew, sticker shock to the tune of >$10,000, even with a deep discount! I'm thinking, does my son really need to go to college?
Nicholas Lundgaard
- dsc
- Posts: 1166
- Joined: 17 years ago
Before I dropped the project I've had man / auto control with various pressure profiles. The operator was able to 'record' his manual profile and the replay it with the Load function. The record-replay thing was working perfectly, but the PID controller I've implemented in my PIC uC wasn't tweaked properly (it was a matter of getting the parameters right). Unfortunately I couldn't be bothered to finish it and anyone who tried knows that coding is basic ASM, especially a PID algorithm, is not the best thing. There was the option of going full blown C, but that would mean re-writing the whole code...On a positive note, because it was ASM, it was crazy fast.
Regards,
dsc.
Regards,
dsc.
- Jacob
- Posts: 367
- Joined: 18 years ago
Thanks
Tom your system were the perfect companion to a manual setup
Just this past week:
Last Friday I've installed a real time clock with backup battery (and some extra memory that I'm now using for storing user definable variables) and I then decided to use the rest of the weekend to log some data with the old pump. By Sunday I were fed up having to have the computer in kitchen and installed a SD-card for the logs.
By Tuesday I were fed up having to transport the SD-card back and forth and installed an Ethernet device and a now I get my logs via a web browser.
Using another Arduino I have now made a simulator that simulates the output from the GS3 and I have moved the system from the kitchen to the study.
Tom your system were the perfect companion to a manual setup
I'm having a blast with Arduino and think I have come a long way during the first 6 or so weeks.shadowfax wrote:I've told myself I should learn to program an Arduino, etc., but I still haven't gotten around to it.
Just this past week:
Last Friday I've installed a real time clock with backup battery (and some extra memory that I'm now using for storing user definable variables) and I then decided to use the rest of the weekend to log some data with the old pump. By Sunday I were fed up having to have the computer in kitchen and installed a SD-card for the logs.
By Tuesday I were fed up having to transport the SD-card back and forth and installed an Ethernet device and a now I get my logs via a web browser.
Using another Arduino I have now made a simulator that simulates the output from the GS3 and I have moved the system from the kitchen to the study.
I think it would be crazy not to give it a tryshadowfax wrote:... Am I crazy to think it won't work?
- Jacob
- Posts: 367
- Joined: 18 years ago
I'm using the standard bypass valve!
GS/3-AP (Auto Profile) - first auto profile shot
Now the eternal search for the magic conversion algorithm can begin
GS/3-AP (Auto Profile) - first auto profile shot
Now the eternal search for the magic conversion algorithm can begin
- Jacob
- Posts: 367
- Joined: 18 years ago
The auto approach actually works!
But unfortunately for everyone else this test setup is placed in the private kitchen of a danish no-name amateur
But unfortunately for everyone else this test setup is placed in the private kitchen of a danish no-name amateur
-
- Posts: 28
- Joined: 14 years ago
Yes, that is unfortunate, Jacob, so you will have to keep us all in the loop. Biggest question: Have you confirmed that shots taste better with pressure profiles other than what would normally happen with a gicleur-limited E-61 or equivalent?
Gerry
Now sipping: Compass Delirium
Now sipping: Compass Delirium
- dsc
- Posts: 1166
- Joined: 17 years ago
Awesome Jacob! Been there myself so I know how great it is to see it work correctly:) even if the shots taste similar there's loads of room for experiments and of course the grand satisfaction of doing it all on your own:)
Regards,
dsc.
Regards,
dsc.