Who is here? 1 guest(s)
 Print Thread
4-channel TC meter and datalogger project
JimG
Hi, Rama -

Can you try this and let me know what you get?


  // see if we can read it back.
  Wire.beginTransmission(A_AMB);
  Wire.send(1); // point to config reg
  Wire.endTransmission();
  Wire.requestFrom(A_AMB, 1);
  a = 0xff;
  if (Wire.available()) {
    a = Wire.receive();
     // ************************************
    Serial.println("Byte is available, reading value.");
    Serial.println( a, BIN );
    // *************************************
  }
  // *************************************
  else Serial.println("No byte is available to read.");
  // *************************************
  if (a != A_BITS) {
    Serial.println("# Error configuring mcp9800");
  } else {
    Serial.println("# mcp9800 Config reg OK");
  }
 
rama
Hi Jim-

here are the results:



buffering...
# time,ambient,T0,rate0,T1,rate1
Ignoring unknown msg from logger: No byte is available to read.
# Error configuring mcp9800
6.0,32.0,34.2,0.0,32.4,0.0
 
JimG
Hmmm. Looks like the chip isn't talking.

Could be that chip address in the program (A_AMB = 0x48) doesn't match the hardware address. Datasheet says this chip comes in two address variants (0x48 and 0x4D). Suggest you try A_AMB = 0x4D in case you have that variant?

All of the other things that come to mind involve checking the soldering (again), and checking to be sure there are no faults in the copper traces on the PCB. Do you have a DMM with a continuity checker?

Jim
 
rama
Thanks for the suggestion, but A_AMB = 0x4D didn't help, and perhaps made things worse? I don't recall seeing the lines at 8.0 below before:


# Error configuring mcp9800
6.0,32.0,35.7,0.0,32.4,0.0
7.0,32.0,35.7,0.0,32.4,0.0
8.0,32.0,35.6,0.0,32.4,0.0
8.0 key ?
8.0 key 
9.0,32.0,35.6,0.0,32.4,0.0
10.0,32.0,35.6,0.0,32.4,0.0
11.0,32.0,35.5,0.0,32.4,0.0


I've reverted the change and will fashion some tiny probes to use with my DMM to check for discontinuity tomorrow with some better light. Curious that besides the one reported error at startup, the RoR appears functional. I'd have expected a more fatal error if there were a disconnect. Will report back tomorrow...

 
JimG
The 3424 ADC and the 9800 do different things. Without the 9800, your thermocouples are not getting cold junction compensation, but should otherwise be working.

Example: if the tip of the thermocouple is in boiling water, then if everything was working you would read 212F. But without cold junction compensation, you will read 212F minus whatever the temperature is at the little green terminals -- probably around 140F is what you'd see if room temperature is 72F.

The RoR will work with, or without, the ambient sensor. It doesn't care about the cold junction compensation since it is only measuring temperature changes.

Jim
 
randytsuch
The 9800 is the tiny 5 pin surface mount guy, which was the hardest part to solder on the board (at least for me).

I would get a magnifying glass, and look real carefully at that part.

Randy
 
JimG

Quote

rama wrote:I don't recall seeing the lines at 8.0 below before:


# Error configuring mcp9800
6.0,32.0,35.7,0.0,32.4,0.0
7.0,32.0,35.7,0.0,32.4,0.0
8.0,32.0,35.6,0.0,32.4,0.0
8.0 key ?
8.0 key 
9.0,32.0,35.6,0.0,32.4,0.0
10.0,32.0,35.6,0.0,32.4,0.0
11.0,32.0,35.5,0.0,32.4,0.0



When working correctly, those extra lines in the output window are the result of keystrokes. The idea is to be able to mark certain events during the roast. If you did not press any keys, then we have another mystery to solve :(

Jim
 
rama
Mystery solved: user error. Pin 2 on the MCP9800 was not grounded. (A bit overzealous with the soldering wick when I accidentally bridged pins 2 and 3, it seems.) Resoldered it and I now get "mcp9800 Config reg OK". Grin

Thanks again for the help Jim and Randy.
 
JimG

Quote

rama wrote:
Resoldered it and I now get "mcp9800 Config reg OK". Grin

:Clap:

Jim
 
rama
Thought I'd share my 2nd roast using the TC4. (I lost the graph of the first by resizing the window. Apparently Processing on OSX repaints/erases the window when you do that.)

I plan to add an ET probe, 16x2 LCD, and come up with a enclosure next. Any suggestions for some detachable plugs for the thermocouples? Was thinking using 1/8" audio males/females so I don't have to leave the TC4/Arduino attached to the roaster all the time, for example when moving it.
rama attached the following image:
murangaa-profile.jpg

Edited by rama on 08/11/2010 7:23 PM
 
allenb
Rama,

The miniature stereo plugs is exactly what I used and found it to not negatively affect the readings at all.

Allen
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
JimG
In a perfect world, you would install these (MPJ-K-F) in one of the panels on your enclosure:
http://www.omega....t/MPJ.html

Then you would run short pieces of type K cable from the green screw terminals on the TC-4 to the MPJ-K-F panel jacks, and leave those permanently connected.

If your thermocouples are already terminated with a male mini plug, then you make the attachments to the panel jacks using the plugs.

If your thermocouples just have stripped wire leads, then you will also need one of these (SMPW-K-M) for each thermocouple:
http://www.omega....Nav=temg03

The amount of error introduced by using stereo plugs could be really small, or it could be significant. Depends entirely on the temperature where you connect thermocouple wire to non-thermocouple wire.

If your tc wire to copper wire connection takes place at a point where the temperature is close to the temperature at the MCP9800 chip, then the error will be small, or zero. But if you make the tc-wire to copper connection next to the roaster, where the temperatures are high, then you may introduce errors that are big enough to matter.

If you use thermocouple wire on both sides of the stereo plugs, rather than copper on one side, then the error ought to be small enough to ignore for roasting.

Jim
 
JimG
Rama -

I may be able to tweak the filtering in aBourbon.pde to smooth out your RoR trace.

Which version of the Bourbon software are you using?

Jim
 
farmroast
Would it possible to have a live meter/display appearance of each of the inputs on screen?

Ed B.
DreamRoast 1kg roaster, Levers, Hand Mills http://coffee-roa...gspot.com/
 
rama
Thanks Allen and Jim.

Jim, I'm running version 20100710a, which is the newest version available via http://code.googl...loads/list. I now see version 20100724 is the latest in Subversion, which I just pulled down. I'll be sure to do a 'svn up' and use whatever's there for my next roast in a few days.
 
randytsuch

Quote

farmroast wrote:
Would it possible to have a live meter/display appearance of each of the inputs on screen?


For how many inputs?
The program currently displays a relative time, Temp 1, Temp 2, and ROR for one of them, probably 1, but I don't remember. This is intended for a 2x16 display, which is very common, and reasonably easy to connect to the Arduino.

For my PID version, I am using a larger display (4x20), so I obviously can display more information. I use the display to help debug the program as I go along. For normal use, the 2x16 would be fine, if you have 2 tc's.

Randy
 
JimG
The Bourbon software supports numeric display of elapsed time, T1, T2, and RoR1. It will display this information on a 16 x 2 LCD, on your PC screen, or both. It will also plot traces of T1, T2, and RoR1 on your PC screen; log everything to a CSV file; and capture a JPG screen shot.

And most of the time it works ;-)

The software on the PC side (pBourbon.pde) has some quirks in the JPG capture and CSV logging. But generally it is working well enough to be very usable.


Jim
 
JimG
Just posted an updated version of the Bourbon software on
code.google.com/p...loads/list

Please let me know if you have any problems downloading, installing, or running this distribution.

Thanks.

Jim
 
randytsuch

Quote

JimG wrote:
Just posted an updated version of the Bourbon software on
code.google.com/p...loads/list

Please let me know if you have any problems downloading, installing, or running this distribution.

Thanks.

Jim


Can you give a short summary of the changes?

Randy
 
JimG

Quote

randytsuch wrote:Can you give a short summary of the changes?


Nothing major, mostly just cleanup and tweaks since the previous distribution. But I thought it would be a good idea to make sure everyone is up to date with the current versions in the SVN repository.

Arduino sketch aBourbon.pde changes

1. Moved all of the interface code with the ADC chip and the ambient sensor chip into a separate library (cADC).
2. Added current ambient temperature to the output data stream.
3. Added ability to specify an ambient temperature correction offset value.
4. Added a base level of digital signal filtering for BT and ET.

Processing sketch pBourbon.pde changes:

1. Modified to be compatible with new USB data stream (added ambient temperature logging).
2. Added some code to help with the long lag time on some computers waiting for the COM port to initialize. This was a big problem on my laptop. Now, the COM port is initialized immediately upon pBourbon startup. It then waits for you to click the mouse to actually begin logging/displaying data. This got rid of the lag so that the elapsed time counter on the screen is more closely in sync with the roast time.

Jim
 
JimG
Eagle files for Verson 3.00 of the shield have been sent to GoldPhoenix (version 2.00 had a fatal flaw, so I scrapped it and jumped ahead to V3).

Summary of upgrades/improvements compared to version 1:

1. Added 1 x 8 pin header for LCD attachment. Compatible with RJ45 breakout board from Sparkfun if you want to use Cat6 and RJ45 plug (convenient).

2. Added 1 x 6 pin header compatible with JeeNode.

3. Added two (2) 1 x 3 pin headers for connection of external potentiometers. These headers are connected to analog input pins on the Arduino. Planned use is for manual control of power output of two devices (heater and fan, in my case).

4. Added 1 x 4 pin header for remote I2C devices. Intended use is for serial LCD and/or button interface using port expander(s).

5. Added 64K (1-bit x 512K) EEPROM.

6. Added attachment spots for optional flywires if you would like to mount the MCP9800 (ambient temperature sensor) to a heat sink or isothermal block.

7. Lengthened the board by 1/2" towards the "front" of the Arduino board. This made room for the new stuff, but still will not interfere with the power jack or the USB jack on the Arduino board.

8. Added 1 x 2 pin header for I/O3, which can be used for PWM or triggering interrupts. My use for this new port is for control of a 12VDC fan on my Hottop using 490Hz PWM.

9. Got rid of the screw terminals at all of the outputs (still using them for the TC inputs). Now using 90 deg bent pin headers (or regular pin headers if you prefer). Cheaper, easier to build, and more convenient, I think.

If folks want the new boards, let me know and I'll put the Buy link back up. I have a need for several of them on an unrelated project, but will be happy to keep sending them out to those who want to fire up their soldering irons ;)

Jim
 
bvwelch
Very Cool! Sounds like a lot of improvements, yet compatible with the existing boards.

I'll start saving my lunch money for a couple of these!

Thank you!
 
randytsuch
Progress has been slow on my PID project, and this week I'm on vacation, so nothing is happening. Hopefully, I'll get back to it next week when I get back.

BTW, nice job on the new PWB Jim. I have a few of the old boards, but now I want the new version, even though I don't need it. I'll probably buy one or two.

Randy
 
SteveN
I'm definitely in on this.
 
randytsuch
So, I had procrastinated ordering from Allied, and now they are out of the MCP3424. Mouser is getting some in early Sept, may have to wait until then to build my second board.

Randy
 
Jump to Forum: