ok, new project time - this is a hobby project (not a uni project or the like). I've had a play with uC's and AVRs specifically before, but don't have in-depth knowledge or expertise, and I'm also only a novice at programming and electronics (which means I'm not in a good place, I know :-) ). I have thought that perhaps a commercial solution will be the best approach here, but then I also thought I have a Mega32 control board in the cupboard and perhaps I can build something with that..... So here goes, here's what I need and then you can tell me whether I'm wasting my time or not thinking about an AVR solution, and whether there are other approaches you can think of.....
I have a need to read multiple temperature sensors(currently thinking k-type thermocouples) to read temperatures up to probably 300deg C, in a coffee roasting scenario. There needs to be at least two temperature sensors, possibly three, low likelihood that I need 4, very unlikely to be 5 or more. One of them specifically is in an area where there is open flame, and it's goal is to make sure there's never a significant temperature decrease (ie the flame has gone out). If I could be bothered, later I might try to find some form of gas flow meter to measure the gas flow into the burner, but that's not likely. Things happen relatively slowly, so ultra-fast sampling is not necessary - probably once a second would suffice. Accuracy is not hyper-critical but good.
I'm not looking to control the temperature, but I do want to plot/record this info over time. And as I said I want one channel to report if there's a drop-off in temp. I am thinking that the alerting/recording/graphing may best be handled on a PC and feeding it data. If that's the approach then I'm thinking I'll need a program to handle that data and process it. I have an old laptop that will be part of a PC solution, so that isn't a consideration.
Solution 1 (commercial): buy a product that has thermocouple input (for instance, Advantech's USB-4718 or Data Acquisition's DT9805) and either use their library/software to pull the data into a custom app, or into Excel via VBA. Pros: pre-built, lowering time to deliver; commercial grade. Cons: cost of hardware may be prohibitive; may require their proprietary software as well, which may also be prohibitive; most likely will still require some form of custom coding at the PC end.
Solution 2 (DIY): Use a uC; use a set of MAX6675's and TCs to grab data. Have the uC output serial data (how formatted ?) and have a PC program read that data and deal with it. Pros: may have a lower initial cost - I say MAY deliberately, my expectation is that cost escalates over time :-) . Cons: may require a LONG time to do, may never achieve results, may cause divorce etc etc.
Solution 3 (DIY, in stages): use the uC as above but just display data on an LCD to start with and use the buzzer on my controller board as the alert for temperature decreases. Pros: this will give incremental results and provide usefulness in the short-term while the bigger project evolves (or dissolves as I decide it's too hard). Cons: introduces things not in end design (LCD) so adds to the cost.
The controller board I have is a ATMEGA32 board from Futurelec, from here http://www.futurlec.com.au/ATMegaControlBoard.jsp, reasonably old now but as I said it's what I have..... It has serial out capability, and an audible buzzer, so it seems an OK starting point and from a hardware perspective I think it'll do the job - but I will need to deal with LCD (don't have, haven't used before so may require play-time) and MAX6675 (same deal) and TC's (will be needed for any of the options anyhow). It's been a while since I originally played with AVRs so I'll have to re-learn a fair bit here!
If I'm to head down the DIY avenue I'm pretty sure I'd take option 3 first even though it introduces some additional overhead (LCD) but nothing that I think is not achievable. There are a number of "milestones" I can see, specifically the hardware aspect of first one SPI device to read the thermocouple temp via MAX6675, then expand that to multiple TC's/MAX6675's, as well as hardware for the LCD (the LCD part is probably pretty easy given what I've read here in the last day, except figuring out wiring requirements and given my controller has an LCD port but not much info available).
So what do you think? Has anyone attempted to interface an AVR in this way to a PC? Anyone with thoughts/suggestions/pointers on sending structured data like this via serial comms to a PC ? Anyone who thinks just give up and go commercial? Any and all assistance, guidance, pointers, references, thoughts gratefully received!
A fourth option has just sprung to mind:
Solution 4 (commercial and nasty): I have a commercial multimeter with a serial-out option and a thermocouple/temperature measurement mode, at about $40 per device perhaps I would be better off finding a way to interface multiple of these to a PC? (for the Aussies out there, it's a Jaycar QM1538 multimeter). Thoughts?