Who is here? 1 guest(s)
 Print Thread
4-channel TC meter and datalogger project
randytsuch
This should help for the LCD connection
http://code.googl...akechanges

looks like you are missing at least one connection

Randy
 
JimG
I agree. It looks like you are missing the connection to pin 3 of the LCD.

The LCD expects to receive a signal on this pin to control the contrast of the display. You need to connect a 10K pot so that the wipe is connected to pin 3.

I have found that a voltage of around 0.6V on pin 3 usually gives a nice contrast level.

Jim
 
randytsuch
I was talking about pin 5, which should be ground
 
farmroast
First roast Sunday with the TC4 with the 16x2 lcd with buttons, a "juice box" to measure voltage of my variac to the heating element, using the "Gesha" program to run it. The lcd top row shows Time RoR, Volts, below is BT and ET. On screen is the graph plus a scrolling csv data list at 5sec intervals on the side.
Mega thanks to Bill for doing all this custom work..!!!
Edited by farmroast on 03/26/2011 11:37 PM
Ed B.
DreamRoast 1kg roaster, Levers, Hand Mills http://coffee-roa...gspot.com/
 
farmroast
Question, How can I trim out the 16x2 lcd/adapter with buttons on my panel? Extending the buttons etc.
Ed B.
DreamRoast 1kg roaster, Levers, Hand Mills http://coffee-roa...gspot.com/
 
Bhante

Quote

JimG wrote:
I agree. It looks like you are missing the connection to pin 3 of the LCD.

The LCD expects to receive a signal on this pin to control the contrast of the display. You need to connect a 10K pot so that the wipe is connected to pin 3.

I have found that a voltage of around 0.6V on pin 3 usually gives a nice contrast level.

Jim


Yes, I thought I could get away without the contrast control, but that is not the case. I need a bit higher voltage on mine - around 0.8 to 1.0V

Quote

randytsuch wrote:
I was talking about pin 5, which should be ground


Well, it seems both pins 3 and 5 are required, with 5 tied to ground as you said. Leaving pin 5 floating has interesting effects, especially if it is floating when the LCD powers up!

Many thanks, it is working now.

Does the backlight need a resister? If I connect the backlight to the 5V pin on the Arduino would this overload the power line? I am powering from USB. In the LCD datasheet, the backlight supply is specified as follows: min -, typical 4.2V, max 4.6V; current min -, typical 280mA, max 480mA. Substituting using the typical values gives R about 3 ohms, fractionally under 1/4 watt. 280mA seems quite a lot to me. The USB power line has a polyfuse rated at 500mA; no idea how much current the Arduino can consume altogether.

... just tried experimenting a little. Having already hard-wired the resistors for the contrast, putting in 4.7 ohm for the backlight seems to mess up the contrast a bit; however it seems far too bright anyway. I've now put in 47 ohms, and that seems to give good results for the brightness, and the contrast is still good.

Did a roast on my HotPot roaster (not to be confused with the HottoP - the HotPot is built around a copper pot heated on a gas flame) a few days ago with the TC4 for the first time. Had to switch T1 and T2 in the middle (for historical reasons I always used T1 heat input and T2 BT, thus RoR did not show the BT) but otherwise went well. Next time I will have the use of the LCD at the same time.

I'm still having to use very crudely improvised connectors for the thermocouples, as the 0.1" screw terminals are virtually impossible to find here in Europe, except in huge quantities. 0.2" or 5mm are more usual.

Bhante
 
jkoll42
Is there currently any support for more than 2 TC's? I don't have an immediate need, but once I get the new roaster going, I really want a BT, ET, and pre RC gas temp reading. Maybe I missed something but I dont see any way to run a third TC even though there is a connection point for it.
-Jon
Honey badger 1k, Bunn LPG-2E, Technivorm, Cimbali Max Hybrid, Vibiemme Double Domo V3
 
bvwelch

Quote

jkoll42 wrote:
Is there currently any support for more than 2 TC's? I don't have an immediate need, but once I get the new roaster going, I really want a BT, ET, and pre RC gas temp reading. Maybe I missed something but I dont see any way to run a third TC even though there is a connection point for it.


Hi, I may be not understanding your question, but yes, by design the TC4 fully supports 4 channels. It is just a simple compile-time option "NCHAN" to modify, for example the Bourbon software to provide all 4 channels.

-bill
Edited by bvwelch on 03/28/2011 12:04 PM
 
jkoll42
You are understanding it. I am new to the whole Arduino/programming aspect of this. I will have to look for "NCHAN" in the sketch when I get home (if that is where I should be looking)
-Jon
Honey badger 1k, Bunn LPG-2E, Technivorm, Cimbali Max Hybrid, Vibiemme Double Domo V3
 
JimG

Quote

farmroast wrote:
Question, How can I trim out the 16x2 lcd/adapter with buttons on my panel? Extending the buttons etc.

Ed -

I am still looking for a good solution. Sorry to have no good answer.

Jim
 
JimG
@Bhante:

I'm using a 150 ohm resistor in series with my backlight, FWIW.

Jim
Edited by JimG on 03/28/2011 10:51 PM
 
farmroast

Quote

JimG wrote:

Quote

farmroast wrote:
Question, How can I trim out the 16x2 lcd/adapter with buttons on my panel? Extending the buttons etc.

Ed -

I am still looking for a good solution. Sorry to have no good answer.

Jim

I have some possibilities for the time reset in my for parts collection.
Ed B.
DreamRoast 1kg roaster, Levers, Hand Mills http://coffee-roa...gspot.com/
 
greencardigan
Ive been looking through the code trying to find the thermocouple and cold junction code. I feel like I'm trying to read Chinese upside down.

It seems like the ambient temp is converted to an equivalent k-type voltage then added to the thermocouple voltage??? Then a lookup table is used to convert to a temperature??

Is that how it goes? The Picaxe system can only handle integer math and I'm struggling a bit.
 
randytsuch

Quote

greencardigan wrote:
Ive been looking through the code trying to find the thermocouple and cold junction code. I feel like I'm trying to read Chinese upside down.

It seems like the ambient temp is converted to an equivalent k-type voltage then added to the thermocouple voltage??? Then a lookup table is used to convert to a temperature??

Is that how it goes? The Picaxe system can only handle integer math and I'm struggling a bit.


I never figured out how Jim converted the TC data in his library.
The older code that Bill wrote is slower, but I think it might be easier to see what is going on, you might want to look at the older versions, before the TC conversion was done as a library function.

Randy
 
napier
What's the use of the "TEMP_OFFSET" in the ambient sensor? I just wonder why or how you would offset the MCP9800. Though I've noticed that the system is somewhat off when it's measuring just room temperature, but I'm not sure it's the ambient measurement that is causing this offset.

Shouldn't there be a offset that is done to the final temperature or do you find it's with the ambient?
 
Bhante

Quote

greencardigan wrote:
It seems like the ambient temp is converted to an equivalent k-type voltage then added to the thermocouple voltage???


In the library, that is what he is doing:

Quote

// --------- given mv reading and ambient temp, returns compensated (true)
// temperature at tip of sensor
double TypeK::Temp_C( float mv, float amb ) {
float mv_amb;
mv_amb = mV_C( amb );
return Temp_C( mv + mv_amb );
};


I couldn't understand it either at first, but I suspect it has to be done that way, because from the mV alone you don't know the temperature, therefore you don't know the correct part of the lookup table. The ambient is given by the digital sensor as thousandths of degrees C (if I remember correctly), so this must be converted to the Type K mV equivalent.

All calculations are done in Centigrade, and for those using Fahrenheit later converted to F. In my case I have to manually delete the C to F conversions, which usually occur in at least two locations. What would be really nice would be to put the C or F preference at the top of the program, or even better in the config file (but how many people want to use C I don't know; the number of coffee roasters worldwide using C is far more than those using F, however it is conceivable that most of them are not using TC4 - yet.

What I really DON'T understand is this (in aBourbon):

Quote

v = round( C_TO_F( tempC ) / D_MULT ); // store results as integers


Why convert the temperature to integers??? And then, what is more, as far as I can see filtering is done by calculating an average of rounded temperatures??? Isn't that going to introduce random noise from the rounding errors??? I cannot understand this. On the other hand the timestamp (which, surely, is always a whole number of seconds) is declared as float and displayed as a decimal value, which is very confusing to the eye as it looks more like a temperature. Why not declare timestamp as int or unsigned int?

In fact, I'm afraid I haven't been able to understand the filtering calculations at all, so far.

Bhante
 
JimG

Quote

greencardigan wrote:It seems like the ambient temp is converted to an equivalent k-type voltage then added to the thermocouple voltage??? Then a lookup table is used to convert to a temperature??

Is that how it goes? The Picaxe system can only handle integer math and I'm struggling a bit.

Yes, you've interpreted it correctly. The library provides an "exact" NTS 90 thermocouple linearization. Compensation in the form of voltage is added or subtracted from the TC measurement to account for the fact that the ambient temperature is not at 32F (0C).

I wrote it this way to be general. This way we could add type J, type T, etc. linearizations in addition to K.

But type K is so dang close to perfectly linear, that you can use Bill's original approach with very little error. On the Picaxe you will have to do this if your compiler cannot do floating point arithmetic.

Jim
 
bvwelch
My early code: https://github.co...logger.pde , while plenty useful to me, was a bit 'too simple' -- I didn't really understand the fancy NTS 90 tables and so I just (by trial and error) found a constant and a 'formula' that seemed to give repeatable results for temperatures near 400 F.

But thankfully Jim came along and understood what was really needed and wrote the nice libraries and software that we have today.

Since this thread is getting a bit long, perhaps we should start a new one, or perhaps we might benefit from using the 'issues' page here, to list problems or enhancements: http://code.googl...ssues/list

 
farmroast
Just did my first roasts. Here are some shots of the setup. The voltage reading are a little off a points compared to the Kill-A Watt meter readings
Note I wasn't paying close attention to my driving so the profile isn't the smoothest.
farmroast attached the following image:
ro12.jpg

Ed B.
DreamRoast 1kg roaster, Levers, Hand Mills http://coffee-roa...gspot.com/
 
farmroast
The TC4, Display and "Juice Box" to give voltage reading.
farmroast attached the following image:
ro10.jpg

Ed B.
DreamRoast 1kg roaster, Levers, Hand Mills http://coffee-roa...gspot.com/
 
farmroast
on-screen
farmroast attached the following image:
ro13.jpg

Ed B.
DreamRoast 1kg roaster, Levers, Hand Mills http://coffee-roa...gspot.com/
 
mhoy
Finally got my 2x16 displays in that use 5 volts. White on Blue looks pretty good!

Do any of the programs exercise/test the buttons?

Thanks,
mark

BTW: My hint of for beginning Arduino users. After you copy the libraries in place, exit all copies of the Arduino IDE so it can rebuild the libs. (It took me an embarrassingly long time to figure this out).
 
prs16001
Need debugging help.

I finished building the TC4 (V4) and LCD adapter boards and tried running aBourbon and the serial port is showing the following:

# EEPROM data read:
# ???????????????????????????????????????????????????????????????????????h ???????????????????????????????h
# 0.0000 0.00
# time,ambient,T0,rate0,T1,rate1,0
3.0,0.0,-179966.2,0.0,-179966.2,0.0,0
4.0,0.0,-179966.2,0.0,-179966.2,0.0,0
5.0,0.0,-179966.2,0.0,-179966.2,0.0,0
6.0,0.0,-179966.2,0.0,-179966.2,0.0,0
7.0,0.0,-179966.2,0.0,-179966.2,0.0,0
8.0,0.0,-179966.2,0.0,-179966.2,0.0,0
9.0,0.0,-179966.2,0.0,-179966.2,0.0,0
10.0,0.0,-179966.2,0.0,-179966.2,0.0,0

I double checked the TC4 board and couldn't find any obvious problems. The LCD shows "999" for E and B and RoR is 0.0, elapsed time looks OK though.

I'm not sure where to start to find the problem(s).

Thanks
 
randytsuch

Quote

prs16001 wrote:
Need debugging help.

I finished building the TC4 (V4) and LCD adapter boards and tried running aBourbon and the serial port is showing the following:

# EEPROM data read:
# ???????????????????????????????????????????????????????????????????????h ???????????????????????????????h
# 0.0000 0.00
# time,ambient,T0,rate0,T1,rate1,0
3.0,0.0,-179966.2,0.0,-179966.2,0.0,0
4.0,0.0,-179966.2,0.0,-179966.2,0.0,0
5.0,0.0,-179966.2,0.0,-179966.2,0.0,0
6.0,0.0,-179966.2,0.0,-179966.2,0.0,0
7.0,0.0,-179966.2,0.0,-179966.2,0.0,0
8.0,0.0,-179966.2,0.0,-179966.2,0.0,0
9.0,0.0,-179966.2,0.0,-179966.2,0.0,0
10.0,0.0,-179966.2,0.0,-179966.2,0.0,0

I double checked the TC4 board and couldn't find any obvious problems. The LCD shows "999" for E and B and RoR is 0.0, elapsed time looks OK though.

I'm not sure where to start to find the problem(s).

Thanks


From the above, it looks like the ambient temp sensor is not working right.
This is the MCP9800, which I think is a tiny little chip. I would look VERY carefully at that chip, and make sure it is soldered OK. Not getting the ambient messes up all the other calculations.

Randy
 
bvwelch

Quote

prs16001 wrote:
Need debugging help.

I finished building the TC4 (V4) and LCD adapter boards and tried running aBourbon and the serial port is showing the following:

# EEPROM data read:
# ???????????????????????????????????????????????????????????????????????h ???????????????????????????????h

Thanks


Greetings,

I think this is due to the EEPROM not being initialized with valid calibration data. Try running EEPROM 'writecal' sketch first, and then go back and try aBourbon again. -bill
 
Jump to Forum: