Skywalker roaster... | [395] |
TC4+ Arduino coff... | [249] |
War on Farmers by... | [69] |
building my 1st r... | [41] |
Another electric ... | [34] |
Can you put a temp offset into aBourbon?
|
|
jkoll42 |
Posted on 12/13/2024 1:35 PM
|
1 1/2 Pounder Posts: 869 Joined: February 14, 2011 |
I've been running a standalone TC4 for many years now for 2 channel and ROR info during roast (I never log). I now work in a calibration lab and finally had a chance to bring in the TC4 for my temp tech to run a calibration on and see how accurate it was. Well.... BT is displaying 10F low and ET is displaying 15F low. This is directly connected to Fluke test equipment and all 17025 certified so it's 100% reading low. Is there somewhere in the sketch that a temperature offset can be put in directly with a temperature? The only thing I'm seeing is #define UV_OFFSET 0 // you may subsitute a known value for uV offset in ADC If there is no plain temperature offset do I need to bust out the Type K mV charts and figure out the mV difference between the temp being displayed and the known temp being fed to the board and convert to uV? In this case it would also be for all channels (I can live with an ET reading being off by 5) but it seems like there could be an easy way to define a temperature offset per channel in degrees. TIA - Jon -Jon
Honey badger 1k, Bunn LPG-2E, Technivorm, Cimbali Max Hybrid, ECM Synchronika w/ Flow Control |
|
|
btreichel |
Posted on 12/13/2024 11:18 PM
|
1/4 Pounder Posts: 195 Joined: May 07, 2007 |
Is it 15 low across the board, or is it a scalar problem? or you could remember that 350 is 365, etc. |
|
|
renatoa |
Posted on 12/14/2024 2:54 AM
|
Administrator Posts: 3247 Joined: September 30, 2016 |
Your finding is right, that UV_OFFSET is microvolts, and for all four channels. For a K probe the value is roughly constant at about 41 µV/°C. Micro-volts, not mili-volts. One mV is 24C degrees shift. 200C, the typical first crack, is about 8mV. Possible to make this offset channel specific, but requires code change. Basically you should change here: https://github.co...C.cpp#L121 and here: https://github.co....ino#L1382 ... adding a channel parameter, to apply different uV offsets to each channel. So you have to deal with 1,2... up to 4 offset values, instead only one. |
|
|
jkoll42 |
Posted on 12/14/2024 8:37 AM
|
1 1/2 Pounder Posts: 869 Joined: February 14, 2011 |
Quote btreichel wrote: Is it 15 low across the board, or is it a scalar problem? or you could remember that 350 is 365, etc. So... first I'm going to have to yell at my tech Monday because he definitely had the standard set to a different TC type output (I'm not really going to yell at him, just spend a day teasing him if he's running his test with the right type TC). I pulled my probe wire out for the old boiling water test and my 17025 calibrated Fluke was reading 211.8F which is altitude correct to the tenth and the TC4 was only reading 4F low. (I think probably 3.5ishF since there is no tenth resolution and it was bouncing a little btw 208 and 209 - not that I need that resolution anyway). To answer your question though, it was the same error on the bench across simulated temps from 50-2000F so it was not scalar which makes things easier. I'm guessing there is mV drop with the added resistance from the female receptors and the wiring from them to the board. I may open it up and just be sure there is no corrosion or loose connections. -Jon
Honey badger 1k, Bunn LPG-2E, Technivorm, Cimbali Max Hybrid, ECM Synchronika w/ Flow Control |
|
|
jkoll42 |
Posted on 12/14/2024 8:48 AM
|
1 1/2 Pounder Posts: 869 Joined: February 14, 2011 |
Quote renatoa wrote: Your finding is right, that UV_OFFSET is microvolts, and for all four channels. For a K probe the value is roughly constant at about 41 µV/°C. Micro-volts, not mili-volts. One mV is 24C degrees shift. 200C, the typical first crack, is about 8mV. Possible to make this offset channel specific, but requires code change. Basically you should change here: https://github.co...C.cpp#L121 and here: https://github.co....ino#L1382 ... adding a channel parameter, to apply different uV offsets to each channel. So you have to deal with 1,2... up to 4 offset values, instead only one. OK thanks - at least I was on the right track since I believe I uploaded that sketch somewhere around 2012 so it's been a while . Also see above reply to the prior comment - it's not as bad as the bench test showed - my tech definitely had the bench unit programmed from the last job with a different type output. Boiling water test was off by 4F (low) from my calibrated Fluke reading on the same wire. I'm going to open it up and make sure I didn't get any loose connections over the years since we're talking about lower voltage reaching the board and rerun the ol boiling water test and then make the correction in the sketch. Thankfully I don't use ET for anything other than just a reference to keep an eye on so if it a degree or two off I really don't care enough to bother with channel parameters. I'll just do a master UV offset after I pull out my trusty Type K µV/°C chart since the bench test was equally off over a 2000F spread. I can just get the exact uV differential between 212 and 208 off the chart. I'm assuming the offset parameters are following a normal +/- operation ie. I'm reading 4F low so I want my offset uV to be positive uV to correct it? Correct? Thanks for the confirmation and help all. -Jon
Honey badger 1k, Bunn LPG-2E, Technivorm, Cimbali Max Hybrid, ECM Synchronika w/ Flow Control |
|
|
renatoa |
Posted on 12/14/2024 9:18 AM
|
Administrator Posts: 3247 Joined: September 30, 2016 |
Quote jkoll42 wrote: ... I'm assuming the offset parameters are following a normal +/- operation ie. I'm reading 4F low so I want my offset uV to be positive uV to correct it? Correct? Thanks for the confirmation and help all. Reviewing the code to confirm this, and... drop... jaw drop... uv_offset was never used as it was supposed to be... probably was an initial author intention, but never implemented. It is stored in a variable and nothing else. You can check at the link below the formula used to return microvolts from ADC to TC4 main code: https://github.co...C.cpp#L158 You can see there is another way to make corrections, but multiplicative, not additive. If you set cal_gain to 1.01 instead actual value of 1.00, 396F will show 400F, but for 200F the correction will be only 2F. No idea if this way suits your plans. If you want a real values shift through all range with some microvolts offset, then you should change code in that formula, from: Code Download source deltaV = round( (float)v * cal_gain ); to Code Download source deltaV = round( cal_offset + (float)v * cal_gain ); |
|
|
jkoll42 |
Posted on 12/15/2024 9:04 PM
|
1 1/2 Pounder Posts: 869 Joined: February 14, 2011 |
Quote renatoa wrote: Quote jkoll42 wrote: ... I'm assuming the offset parameters are following a normal +/- operation ie. I'm reading 4F low so I want my offset uV to be positive uV to correct it? Correct? Thanks for the confirmation and help all. Reviewing the code to confirm this, and... drop... jaw drop... uv_offset was never used as it was supposed to be... probably was an initial author intention, but never implemented. It is stored in a variable and nothing else. You can check at the link below the formula used to return microvolts from ADC to TC4 main code: https://github.co...C.cpp#L158 You can see there is another way to make corrections, but multiplicative, not additive. If you set cal_gain to 1.01 instead actual value of 1.00, 396F will show 400F, but for 200F the correction will be only 2F. No idea if this way suits your plans. If you want a real values shift through all range with some microvolts offset, then you should change code in that formula, from: Code Download source deltaV = round( (float)v * cal_gain ); to Code Download source deltaV = round( cal_offset + (float)v * cal_gain ); I really appreciate you looking into this and hopefully someone else might be helped in the future. I actually decided that I would open up the female TC connectors and double check the wiring since....it's been like 12 or 13 years and the wires had worked themselves to the outside of the Omega terminals. I stripped some more so I could loop it around the screw and cranked em down and it was dead nuts on temp. Ended up just being voltage drop from a slightly imperfect connection. So note to everyone - if you make your own TC's maybe check the connections every decade or so ;) -Jon
Honey badger 1k, Bunn LPG-2E, Technivorm, Cimbali Max Hybrid, ECM Synchronika w/ Flow Control |
|
|
greencardigan |
Posted on 12/16/2024 4:22 AM
|
1 1/2 Pounder Posts: 1188 Joined: November 21, 2010 |
I've made an update to the code to fix the missing UV_OFFSET from the thermocouple calibration library. While testing I also noticed that the CAL_GAIN from user.h was being ignored as CAL_GAIN was also defined within the cADC library as CAL_GAIN = 1.00. So if the TC4 EEPROM has calibration data stored on it, then it is used. Otherwise the values defined in user.h are used. I also discovered that the UV_OFFSET can only be in the range of -128 to 127 as it gets converted to an int8_t. https://github.co...361c475f2f I'll probably release an update to the libraries and aArtisanQ_PID sometime if you think these changes are OK. |
|
|
renatoa |
Posted on 12/16/2024 4:30 AM
|
Administrator Posts: 3247 Joined: September 30, 2016 |
127, if microvolts, means +/- 3C offset... reality could be worse than this range Make it int16 then... Great you found the time to investigate. |
|
|
greencardigan |
Posted on 12/16/2024 4:46 AM
|
1 1/2 Pounder Posts: 1188 Joined: November 21, 2010 |
Yes, I should change it to int16 and retest. I noticed that the sketch that loads the calibration data onto the TC4 EEPROM also has the ability to include temperature offsets in degrees. But it looks like it was never implemented in the sketches. https://github.co...iteCal.pde Code Download source struct infoBlock { |
|
|
jkoll42 |
Posted on 12/16/2024 10:35 AM
|
1 1/2 Pounder Posts: 869 Joined: February 14, 2011 |
This is very much a side note but one that I'm at a bit of a loss on. I had my tech run it again on the test bench and the TC4 does NOT like being fed bench mV simulations. From an actual type K TC running Omega wire I'm within the 1deg display resolution in a calibrated bath. When it's fed a TC simulation from our Fluke 5522A which is accredited to a .12C uncertainty, it displays 40F low from about 200F and up. when you're down lower around the freezing mark it's literally all over the place - temp bouncing, all sorts of error ranges etc. Works great for my roast but I'm just a little perplexed why it hates actual bench signals -Jon
Honey badger 1k, Bunn LPG-2E, Technivorm, Cimbali Max Hybrid, ECM Synchronika w/ Flow Control |
|
Jump to Forum: |