Offline
Newbie
Karma: 0
Posts: 13
|
 |
« on: March 14, 2011, 10:31:15 pm » |
I'd like to have a high resolution and high temperature thermocouple that I can use with the arduino and be able to data log it so I can plot it in excel. I would need to be able to take readings at a minimum of 1 millisecond. I would need thermocouple to be able to handle something like 1000 degrees Fahrenheit or as high as we can get it. How would I log the data? I would assume it would be pretty easy if we left the Arduino hooked into a computer and just make a text file from it and import into excel but I don't know how to do it.
Can anyone help!!!
Thanks!
Background Info: This is for a small combustion engine which is ignited by a coil/target, think of it like a light bulb filament that acts as the spark plug. We need the measurements so we know where we are if we have trouble. A resolution of 10,000 would be awesome but really isn't necessary. We need a minimum of 1,000 readings a second and the higher we can get the better. We think the operating range is something near 900F.
|
|
|
|
« Last Edit: March 15, 2011, 11:54:04 am by rpmccly »
|
Logged
|
|
|
|
|
Montreal
Offline
Edison Member
Karma: 17
Posts: 2207
Per aspera ad astra.
|
 |
« Reply #1 on: March 14, 2011, 10:58:55 pm » |
"high resolution" - how high? 0.1%, or 12 bits or maybe 0.1 F ?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 73
Posts: 6638
Arduino rocks
|
 |
« Reply #2 on: March 15, 2011, 05:57:07 am » |
The arduino can sample that fast if you change the ADC clock prescalar - at expense of some accuracy. Thermocouple would need _very_ low thermal mass to respond that quickly. 2500F is quite hot, people use optical pyrometers for that range.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 13
|
 |
« Reply #3 on: March 15, 2011, 06:27:47 am » |
we need a minimum of 1000 readings a second, and we would like more than that. We would be using it for something that does heat up in 1 millisecond, I am not sure the maximum temp it gets to but I thought it was at least 1000F, I will check today.
Whats the maximum resolution a thermocouple can do and whats the maximum resolution the arduino can do?
Magicician, I said what resolutions I needed, is your .1% duty cycle? I don't know how many bits I would need and i'm not sure what 0.1F is, thanks for your help though!
KE7GKP, The spec I gave would be ideal, obviously its not possible but also not needed. I will check on temp today but we would need a reading every millisecond at least and I was under the impression the arduino could easily do that, maybe not?
MarkT, We don't want to have to change anything in the arduino, just to use it! I'd assume optical pyrometers are pretty expensive?
Also, is there a way to measure this without having to have a something physically on the object being measured for temp? We could use a thermal imaging camera but don't have the funds to buy one thats good enough.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 13
|
 |
« Reply #4 on: March 15, 2011, 11:08:04 am » |
I honestly didn't know how possible it was, let me be a little more descriptive. This is for a small combustion engine which is ignited by a coil/target, think of it like a light bulb filament that acts as the spark plug. We need the measurements so we know where we are if we have trouble. Is that more clear? A resolution of 10,000 would be awesome but really isn't necessary. We need a minimum of 1,000 readings a second and the higher we can get the better. We think the operating range is around 900F. I appreciate your timely responses and want you to know I am new to arduino so I have no idea what the details and limitations are of the Arduino.
|
|
|
|
« Last Edit: March 15, 2011, 11:11:46 am by rpmccly »
|
Logged
|
|
|
|
|
Georgina Ontario
Offline
Sr. Member
Karma: 4
Posts: 437
Arduino rocks
|
 |
« Reply #5 on: March 15, 2011, 05:40:33 pm » |
|
|
|
|
|
Logged
|
Just another Hacker
|
|
|
|
0
Offline
Newbie
Karma: 1
Posts: 16
|
 |
« Reply #6 on: March 15, 2011, 11:42:37 pm » |
A standard type K thermocouple will work well above the temperature range you are talking about. At 900F the output will only be around 20 millivolts, so you might want to use an operational amplifier to expand this to about 4 volts. Alternatively, you could use the ARef input and analogReference() function to scale the Arduino input to 25 or 30 millivolts full scale. Not sure offhand if one way would be better than the other. 10 bits of A/D would give you +/- about 2 degrees resolution, not counting the limits of error of type K. A bare-bead thermocouple made of fine wire will give the quickest response time. Might be hard to seal at high pressures. Since you are working in a combustion environment (oxidizing? reducing?), this can affect your choice of materials .... type N might be preferable for a reactive environment. Sheathing can improve resistance greatly but at the expense of response time. www.omega.com has extensive reference materials on temperature measurement which may be useful. Another thought: what is the thermal coefficient of resistance of your ignition coil material ? If it is high enough, you might be able to measure temperature directly by measuring voltage drop at constant current like a standard 4-wire resistance measurement (or current at constant voltage if that is more convenient).
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 1
Posts: 16
|
 |
« Reply #7 on: March 16, 2011, 12:18:55 am » |
you could use the ARef input and analogReference() function to scale the Arduino input to 25 or 30 millivolts full scale The minimum recommended reference is around 1 volt. Below that Arduino is too noisy to produce reliable results. Note also that any attachment to a real thermocouple must use an "ice-point" reference compensation or else you will never know whether you are measuring the temperature at the thermocouple, or the temperature at the junction point. That is one of the downsides of using real thermocouples. Thanks, wasn't sure about the noise floor, thats why I inserted a caveat. Good point about the ice point, too ... most OEM instrumentation fakes this automagically.
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Morganton, NC
Offline
Newbie
Karma: 0
Posts: 14
|
 |
« Reply #9 on: April 01, 2011, 09:20:34 am » |
Depending on the type of thermocouple you use, you CAN read temperatures up to around 2912 deg. F with type R thermocouples. http://en.wikipedia.org/wiki/Thermocouple You can use a Maxim MAX6675 http://www.maxim-ic.com/datasheet/index.mvp/id/3149 chip to interface with a type K thermocouple that will give you 2012 deg. F. it has built in cold junction compensation also. As far as the 1000 readings a second, i don't know if it can measure and send data that fast, but i do know that it works great for interfacing thermocouples.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 10
Arduino rocks
|
 |
« Reply #10 on: December 07, 2011, 07:54:02 pm » |
See Adafruit product #269: http://www.adafruit.com/products/269For MAX6675 Thermocouple breakout board. This will handle the temp measurement, I don't know about the speed of measurement.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 7
|
 |
« Reply #11 on: December 29, 2011, 12:38:50 pm » |
I have both the MAX6675 and the replacement 3.3V variant of that board. It does not measure that fast, and it only measures to 0.25 deg C accuracy. Check out my Turkey smoking blog post at: http://www.TerenceTam.com for an example of what you can do with that board. Honestly, if you *really* need 1000 samples per second, the only tool that would do readily do that is an oscilloscope or a dedicated data acquisition system. Nothing really converts and sample that fast, nor does it make sense to in an industrial control setting, which is what most of these tools are. None of the industrial control processes change that fast to require 1000 samples per second time resolution (and none of them can be controlled that fast either). At my last job when we characterized battery chargers, we take 1 sample per second over a 2 hour or more period. I would look into wiring up the outputs to an oscilloscope to the thermocouple's output and triggering on an external event. -=- Terence
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 1
|
 |
« Reply #12 on: January 02, 2012, 09:21:18 am » |
If it's a positive displacement engine, what about using a pressure transducer synchronized with a rotary encoder on the crankshaft? You should be able to solve for temperature given you know volume and pressure, and 1000hz response is much more realistic.
|
|
|
|
|
Logged
|
|
|
|
|
Peoples Republic of Cantabrigia
Offline
God Member
Karma: 6
Posts: 634
Arduino happiness
|
 |
« Reply #13 on: January 20, 2012, 02:19:33 pm » |
Honestly, if you *really* need 1000 samples per second, the only tool that would do readily do that is an oscilloscope or a dedicated data acquisition system. Nothing really converts and sample that fast, nor does it make sense to in an industrial control setting, which is what most of these tools are. Allow me to disagree a bit. One approach is to find an external ADC that samples quickly, with a high enough resolution, and which interfaces easily to an Arduino. Circuit #3 on this page may fit the bill, up to 12 bits of resolution with 11ksamples/s. You may be able to boost to 13 bits of resolution through decimation on the Arduino and still enjoy a faster than 1ksample/s rate. McSarge even wrote a program to interface with the LTC1298 for you. Not sure what the maximum sampling rate is, but you could time it and see how quickly the code executes. I think the bigger challenge is what to do with the deluge of data. The serial bus is likely too slow to transfer such a quantity without significantly reducing the sampling rate at standard transmission rates. Non-standard serial transfer rates (i.e. about 115kbaud) are possible, but not with the Arduino IDE (i.e. you'll have to use PuTTy, etc.) I've transferred at 1Mbit/s between arduinos but couldn't monitor said transfer in the Serial Monitor.
|
|
|
|
« Last Edit: January 20, 2012, 02:31:08 pm by Constantin »
|
Logged
|
|
|
|
|
Santa Fe
Offline
Full Member
Karma: 1
Posts: 192
|
 |
« Reply #14 on: April 07, 2012, 04:10:52 pm » |
I think you will have a hard time finding a thermocouple element small enough in thermal mass to respond to changes as quickly as you wish to measure. You may well end up with just average while the thermocouple undergoes a slower response.
|
|
|
|
|
Logged
|
|
|
|
|
|