topbanner.gif
Login
Username

Password




Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
Shoutbox
You must login to post a message.

renatoa
04/17/2024 9:27 AM
morning, branchu

renatoa
04/14/2024 5:56 AM
TheOtherJim and papajim, welcome to forum !

allenb
04/11/2024 6:33 PM
Zemona Welcome

renatoa
04/11/2024 9:19 AM
Mrbones and sgupta, coffee drink ?

renatoa
04/10/2024 1:09 AM
welcome cup, Ed K

In Memory Of Ginny
Donations

Latest Donations
dmccallum - 10.00
JackH - 25.00
snwcmpr - 10.00
Anonymous - 2.00
Anonymous - 5.00
Users Online
Guests Online: 2

Members Online: 0

Total Members: 8,208
Newest Member: branchu

View Thread

Who is here? 1 guest(s)
 Print Thread
4-channel TC meter and datalogger project
bvandyken
Hi Bhante,
I sent you a PM my since reply is off-topic.
 
JimG

Quote

Bhante wrote:
1) The TC4 has two outputs using SSR, OT1 and OT2, plus a PWM output I/O3 which was supposted to be for the fan. It seems clear that you are using OT1 for your heater, but I am getting conflicting signals whether the fan control is implemented in the software via OT2 or I/O3? Also unclear is whether you are still using a pot on ANLG1 to control the heater, or whether you are now using buttons; and similarly whether you use buttons to control the fan. (I don't yet have any buttons installed, so I seem to be grounded for the time being.) If I put some buttons on a breadboard and connect them to free digital lines on the Arduino, is there any relatively simple way of folding them into the software to replace the I2C buttons you use, without rewriting the software from scratch? I.e. remap the I2C buttons to Arduino I/O lines?


Presently, I am using only OT1. It is connected to an SSR, which in turn is connected to the heating element on my Hottop.

I am still using my previous setup (0-10V analog output from a Watlow PID controller --> Darlington transistor) to control the rear fan. Eventually, I will use I/O3 and PWM to control the rear fan speed, but what I have now is working so I've been dragging my feet doing the changeover.

ANLG1 is still connected to a potentiometer. I use this to dial in 0% to 100% heater output.

I have buttons mounted on my LCD adapter. Pressing button 1 resets the timer to 0:00. Pressing button 2 resets the timer, but also puts a marker into the output stream for first crack. I forget what (if anything) buttons 3 and 4 do B)

Because of the way debouncing is handled for the switches connected to the port expander, adapting the code to use non-I2C buttons will be a little complicated. But I think if you dig into it you will see how to make the necessary changes.

OTOH, it is really pretty simple to hook up a port expander for buttons.


Quote

Bhante wrote:
2) As I mentioned in our email correspondance earlier, I want to use the Arduino to communicate with the main board via the built-in cable from the controller, which I reckon ought theoretically to be possible, but this still needs to be confirmed in practice. However as the TC4 hardware and software stands at present I cannot see any possibility to dispense with the hottop controller completely - there is no on-off switch for example, and as far as I can see the TC4 does turn on the bean stirrer at present. So presumably you use the TC4 in conjunction with your hottop controller at present?


I have a Hottop D. Inside, I added two mechanical relays. One relay toggles between internal heater control and external heater control. The second relay toggles between internal rear fan control and external rear fan control.

I put a small switch on the control panel that energizes the relays when it is flipped to the "external control" position.

Here is a link to the Coffeegeek thread on my Hottop mod:
http://coffeegeek...751?Page=1

So I let the OEM Hottop controller handle everything except for the heater and the rear fan. And, when the small switch is in the "internal control" position, the roaster behaves exactly like a non-modified unit.

If you are looking for a complete Arduino solution for controlling the Hottop, Larry (milowebailey) has already invented that wheel:
http://www.greenc...pic=5382.0

Jim
 
JimG

Quote

Bhante wrote:
3) So far I have tried Bourbon and Catuai. However I was not able to get Catuai to compile at all - every time I commented out one line it would find another causing problems - mostly concerning variables defined more than once. Is Catuai compatible with the late?st version of the Arduino IDE (21)? I haven't tried running an older Arduino IDE version yet. I think there seem to be some library compatibility problems between versions 18 and 21.


Yes, here I am able to compile Catuai on version 21. Where are the errors popping up when you try and compile?

Jim

PS - I can probably be a little more helpful if we can address just one or two things at a time Shock
 
mhoy

Quote

JimG wrote:
...
So I let the OEM Hottop controller handle everything except for the heater and the rear fan. And, when the small switch is in the "internal control" position, the roaster behaves exactly like a non-modified unit.

If you are looking for a complete Arduino solution for controlling the Hottop, Larry (milowebailey) has already invented that wheel:
http://www.greenc...pic=5382.0

Jim


Nifty way of switching over control.

I just subscribed and read the entire post on the HotTop controller from Larry, but it's not finished (and I'm not certain it will be open source). The pinout on the HotTop front control board made it entirely worth while.

Thanks for the pointers.

Mark
 
JimG

Quote

mhoy wrote:
Nifty way of switching over control.

I thought so, too. That's why I borrowed the idea from CafeIKE :)

Jim
 
jsutton
Can someone post a picture of both sides of a fully populated TC4 v3.00 board?

I want to make sure I put the connectors on the correct side.
Thanks.
 
JimG
Sorry, but this is the best photo I have. It does not show what you want very well, I'm afraid.

The connectors that mate with the Arduino are mounted with the pins pointed down, and the sockets pointed up. If you look closely at the photo, you can see the sockets along the tops of the black plastic. But the pins are on the opposite side and cannot be seen.

Jim
JimG attached the following image:
p1000757-adj-smaller.jpg

Edited by JimG on 02/28/2011 7:01 AM
 
JimG
I have (finally) ordered a new batch of TC4 bare PCB's. Sorry for the delay to those who have been waiting patiently.

I made four minor revisions to the design, none of which will affect existing software applications.

First, I added a switch tied to the RESET pin on the Arduino. I found the lack of a reset switch to be a real PITA while using the previous designs.

Second, I fixed the JeePort header. It was pointed out to me that the Jee specifications call for 3.3V on pin 4. The old TC4 design supplied 5V. So I have fixed that, and the new TC4 boards will have 3.3V wired to pin 4 on the JeePort header.

Third, I added a two-pin grounding header. I found it necessary to externally earth ground wall wart PSU's when using grounded thermocouples. So this new header will make that more convenient.

Finally, I removed all of the grounding headers for the sensors. These were always optional, but I found that grounding the negative lead of sensors caused major problems with the ADC. So these pins are gone now.

I'll post a notice here when the new TC4 V4.00 boards have arrived and are available for distribution.

Jim

EDIT: Links to PDF's of the new V4.00 schematic and board layout

http://tc4-shield...00-brd.pdf

http://tc4-shield...00-sch.pdf
Edited by JimG on 02/28/2011 10:06 AM
 
milowebailey
I haven't looked at this thread for a while... seems it's headed where I was headed a couple years ago with the milowidget.

It seems to me that if you connect the display via an I2C or Jeelabs LCD interface you'd buy back enough IO to directly control a hottop via the existing LCD plug on the version 4 boards. (you might need to cut the 5v line pin 2, but could connect that to power input of the Arduino from the hottop power supply.

a slight code modification to redirect I/O and display control would allow re-use of most of the code....

I plan to try this as soon as the v4 boards are available. I have a little time right now and need to get the milowidget idea completed.
Edited by milowebailey on 02/28/2011 11:35 AM
 
mhoy

Quote

JimG wrote:
Sorry, but this is the best photo I have. It does not show what you want very well, I'm afraid.

The connectors that mate with the Arduino are mounted with the pins pointed down, and the sockets pointed up. If you look closely at the photo, you can see the sockets along the tops of the black plastic. But the pins are on the opposite side and cannot be seen.

Jim

Jim: Which AVR dev board are you connecting your board to? I figure as long as I'm buying parts I may as well get the same one to simplify the coding.
[added]
There seems to be a large array of various Arduinos (and other AVR based systems too).
Arduino: Duemilanove, Uno, SparkFun Mega 2560, etc.
AVR: JeeLabs V5 Node, etc.

I hadn't seen the JeeLabs stuff before your comment on the Jee Header fix. Nifty ideas everywhere!

[/added]
Looking fwd to being able to order your new boards.

Thanks,
Mark
Edited by mhoy on 03/04/2011 12:32 PM
 
JimG

Quote

mhoy wrote:
Jim: Which AVR dev board are you connecting your board to? I figure as long as I'm buying parts I may as well get the same one to simplify the coding.

So far, only the Duemilanove. But it should work fine on the new Uno as well.

The shield has also been used successfully (using breadboards and jumper wires) with RBBB boards from Modern Devices and with the Arduino Pro Mini from Sparkfun.

Starting out, I'd recommend sticking with the Duemilanove or Uno in order to reduce variables.

Jim
 
napier
Can anyone tell me what they think about the chips MCP9800 and the 3422/24 ?

I'm at the point where I'm measuring values. And I have two remarks.

MCP9800 - Does the temperature measurement fluctuate a lot for everyone else? I imagined it would be more stable. But for some reason it appears to really change significantly.

I'm using similar calculations to the ADC class, but it is also measuring way higher in celsius than makes sense (see below). Doe the TC4 users use big temp offsets for this measurement? I'm not currently using any.

Also, for the ADC, I have a thermocouple in. I got a thermo wire, but I soldered the tips myself to a eye connector. It's not currently connected to anything, so it should measure room temperature, but the values I'm getting off of it is always 0.

Any recommendations for working with these chips?

AMB raw 1793 ambC 107.750000 filtered 1724
ADC 0 0 0 0 -- 0
CURRENT TEMP 107.724556 PID RESULTS -1036.076660
AMB raw 1793 ambC 109.000000 filtered 1744
ADC 0 0 0 0 -- 0
CURRENT TEMP 108.975945 PID RESULTS -1109.600830
AMB raw 1793 ambC 109.875000 filtered 1758
ADC 0 0 0 0 -- 0
CURRENT TEMP 109.851982 PID RESULTS -1161.539795
AMB raw 2049 ambC 115.312500 filtered 1845
ADC 0 0 0 0 -- 0
CURRENT TEMP 115.296959 PID RESULTS -1656.911499
AMB raw 1793 ambC 114.312500 filtered 1829
ADC 0 0 0 0 -- 0
CURRENT TEMP 114.295464 PID RESULTS -1425.645142
AMB raw 1537 ambC 108.812500 filtered 1741
ADC 0 0 0 0 -- 0
CURRENT TEMP 108.788231 PID RESULTS -927.495361
AMB raw 1537 ambC 104.937500 filtered 1679
ADC 0 0 0 0 -- 0
CURRENT TEMP 104.909378 PID RESULTS -696.685181
AMB raw 1793 ambC 107.062500 filtered 1713
ADC 0 0 0 0 -- 0
CURRENT TEMP 107.036339 PID RESULTS -995.717712
AMB raw 1793 ambC 108.562500 filtered 1737
ADC 0 0 0 0 -- 0
CURRENT TEMP 108.537941 PID RESULTS -1085.195923
AMB raw 1793 ambC 109.562500 filtered 1753
ADC 0 0 0 0 -- 0
CURRENT TEMP 109.539108 PID RESULTS -1142.766724
AMB raw 1793 ambC 110.312500 filtered 1765
ADC 0 0 0 0 -- 0
CURRENT TEMP 110.290024 PID RESULTS -1189.074463
AMB raw 1793 ambC 110.812500 filtered 1773
ADC 0 0 0 0 -- 0
CURRENT TEMP 110.790649 PID RESULTS -1217.861084
AMB raw 1793 ambC 111.187500 filtered 1779
ADC 0 0 0 0 -- 0
CURRENT TEMP 111.166130 PID RESULTS -1241.016113
AMB raw 1793 ambC 111.437500 filtered 1783
ADC 0 0 0 0 -- 0
 
bvwelch

Quote

napier wrote:
Can anyone tell me what they think about the chips MCP9800 and the 3422/24 ?


I've been using these chips on various projects for about a year now. I find them very stable and I don't bother with calibration for my purposes they are fine as-is. Besides the Arduino and TC4, I've used them on some picmicro projects with similarly good results.

I'm curious if you are using a TC4 and what software you're running? Without seeing your circuit and software, it is hard to say more. -bill
 
napier
I have made my own board with those particular chips that connect to a wireless router (linux). I'm just seeing that the readings fluctuate a lot, so I wonder if that's just the nature of the chip's measurements or something else wrong. What could lead it to fluctuate so much ? Why is the result is so off?

As for the ADC I have no idea why I'm getting no measurement at all, I understood that a thermocouple connected to this ADC would be producing some kind of microvoltage.

For the MCP9800 you have to set the chip over to the temp register, it appears that it's not necessary for the 3422? I basically just set the config on the chip, and read the chip when you need the output?
Edited by napier on 03/05/2011 1:38 PM
 
bvwelch
Your description sounds right. You can review our code to verify. IIRC, you can do an extra read and see the config register, which might help you determine what the trouble is. If you suspect hardware, I might have some early prototype boards that could be helpful. Here is a link to some really early code that is fairly bare-bones: https://github.co...logger.pde
 
mhoy

Quote

JimG wrote:

Quote

mhoy wrote:
Jim: Which AVR dev board are you connecting your board to? I figure as long as I'm buying parts I may as well get the same one to simplify the coding.

So far, only the Duemilanove. But it should work fine on the new Uno as well.

The shield has also been used successfully (using breadboards and jumper wires) with RBBB boards from Modern Devices and with the Arduino Pro Mini from Sparkfun.

Starting out, I'd recommend sticking with the Duemilanove or Uno in order to reduce variables.

Jim

Thanks Jim. I think I'll go with the Uno as the Duemilanove is getting hard to get a hold of.

I'm also interested in your LCD board. Did I miss a link to a BOM on it? As long as I'm ordering parts, I may as well stock up on a reasonable LCD too. Which model(s) do you know work?

Mark
 
greencardigan
Hello, I've just spent most of today reading and trying to understand this thread in it's entirety. :up-late:

I hope to build this TC4 system or something similar for my new electric air roaster. However, I have had no experience with Arduino.

I am familiar with the PicAxe microcontroller system and have implemented a multiple profile PID roast controller that I used on a popper and later on a BM/HG setup. It sounds very similar to what is being developed here! If only I had seen this before I started my controller! I've used a MAX6675 chip to read my thermocouple. It has cold junction compensation built in, 12 bit resolution and an SPI interface.

Anyway, I'm thinking of building a new PID roast controller for my new air roaster and am wondering if I should switch from PicAXEs to Arduino. Are there any real benefits to using Arduino over picaxe???
 
bvwelch

Quote

greencardigan wrote:

I am familiar with the PicAxe microcontroller system and have implemented a multiple profile PID roast controller that I used on a popper and later on a BM/HG setup. It sounds very similar to what is being developed here! If only I had seen this before I started my controller! I've used a MAX6675 chip to read my thermocouple. It has cold junction compensation built in, 12 bit resolution and an SPI interface.

Anyway, I'm thinking of building a new PID roast controller for my new air roaster and am wondering if I should switch from PicAXEs to Arduino. Are there any real benefits to using Arduino over picaxe???


Sounds like you've got a fine setup there with the PicAxe. Given where you are now, and your expertise with it, I can't think of any huge technical reason why you should switch, other than I suspect you would be a big help to us all!

When we started this project, we chose the Arduino because it is aimed at more of the lay-person, rather than the embedded software guru. It is easy for anyone to plug in and just get started, and there are tons of books and web sites, etc. available. I figured that even if a fellow homeroaster didn't want to tackle it by himself, they could find a friend, neighbor, student, etc who would be willing to help with the Arduino.

About the sensors -- we chose the particular two chips because we were already using them for a (non-coffee) consulting job, and they worked well and are very cheap and provide 4 channels. We also like I2C better than SPI. -bill
 
JimG

Quote

mhoy wrote:
I'm also interested in your LCD board. Did I miss a link to a BOM on it? As long as I'm ordering parts, I may as well stock up on a reasonable LCD too. Which model(s) do you know work?

I've got a draft BOM, which I will put on the googlecode site this week. I am still making some little changes to the current limiting resistors for the LED's (the original design is a little blinding - sorry Bill !).

I've used a pretty wide range of 16x2 LCD's, and they all have worked. But I will select a suggested model from Digikey and add it to the BOM.

Sorry I've been so slow on this stuff lately.

Jim
 
greencardigan
Thanks Bill

I might stick with what I know then. But I'll try to help out here if I can with suggestions.

Your ADC does sound good, however I might use a different ambient temp sensor.

And I'll be going through the code here to see what I can learn. I like the RoR profile idea.
 
JimG
LCD Adapter Available (one off)

I have a completed version 1.00 of the LCDapter that I would like to see get put to use. This original version has 4 buttons and supports software control of the LCD backlight, but does not have the LED's that were added to the newest version. No software has been written that uses the LED's anyway, so this shouldn't be a big deal.

I'll also include a 1 ft long RJ11 cable. This cable will plug directly into the 4-pin I2C header on the TC4 shield.

You will have to provide your own 16x2 LCD display. The LCDapter has a 16-pin socketed header already soldered in place. So you would only have to solder a 16-pin header onto your LCD and it would be all set to go.

I am asking for $7 to cover PayPal and shipping (USPS Priority Mail) costs. If you are interested, send me a PM here on HRO.

Jim
 
greencardigan
@Jim

The TC4 board is using an I2C interface to the Arduino right? I guess there's no reason I can't just talk to the same TC4 board using I2C on a PicAxe? Same for the LCD board?

This could save me a lot of fiddling around.
 
JimG
Information for the LCDapter boards

Bill of material for LCDapter version 3.3:
http://tc4-shield...30-BOM.pdf

Board layout PDF for LCDapter version 3.3:
http://tc4-shield...30-brd.pdf

Schematic PDF for LCDapter version 3.3:
http://tc4-shield...30-sch.pdf

I have bare PCB's available, at cost ($6 each).

I can build a limited number of partially populated boards (i.e. surface mount components pre-soldered) for folks who are uncomfortable soldering those little guys. Add $8 if you want one like this (or some home-roasted coffee sent my way).

Please include $2 with each order for first class mail to US addresses, or $4 to international addresses.

PayPal -- jim_at_pidkits_dot_com

Jim

PS - the button switches and the LED's go on the back of the board. If you mess this up, you will want to kick yourself, but you will not be the first person to make that mistake :@
 
JimG

Quote

greencardigan wrote:
The TC4 board is using an I2C interface to the Arduino right? I guess there's no reason I can't just talk to the same TC4 board using I2C on a PicAxe? Same for the LCD board?

No and yes B)

The TC4 is a shield that connects to the Arduino's pin sockets (28 of 'em). So negative on I2C fully interfacing the TC4 to the PicAxe. (If you only wanted to access the MCP3424 and MCP9800, though, then I2C would probably do the trick).

But the LCD board is pure I2C, so should work fine on the PicAxe. The interface code (C++) is available here:
http://code.googl...ce/browse/

Look in trunk/arduinosoftware/libraries for the cLCD and cButton libraries. If you do not make use of the buttons, then you will not need the cButton library. All of the code is open source under the BSD license.

Jim
 
greencardigan
Thanks for the info Jim. Yes, it's the ADC and ambient temp sensor I'm interested in.
 
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
Roast Color Meter - On Demand JAVA TRADING COMPANY 2 01/18/2024 1:15 PM
Roast Color Meter Building Other Coffee Equipment 5 10/08/2023 8:44 AM
Flow Meter/Needle Valve Combo Electric and Gas Heat Sources 6 12/26/2022 3:43 PM
Finally Completed Roaster Project Fluidbed Roaster 10 05/25/2022 9:43 AM
Fluidbed Roaster project Fluidbed Roaster 145 03/01/2022 11:27 PM
Homeroasters Association Logo, and all Content, Images, and Icons © 2005-2016 Homeroasters Association - Logos are the property of their respective owners.
Powered by PHP-Fusion Copyright © 2024 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX
Hosted by skpacman