Pico Tc-08 Data Logger

0 views
Skip to first unread message

Jamie Swearengin

unread,
Aug 5, 2024, 4:45:10 AM8/5/24
to erorreuca
PicoLogCloud allows all current Pico data loggers and real-time scopes to capture data directly to our new free Cloud service, and can be shared via a link to any browser on a PC, phone or tablet, anywhere in the world. In addition, an API can be used that allows live capture data to be transferred from the Cloud to a 3rd party database or program.

The TC-08 thermocouple data logger is designed to measure a wide range of temperatures using any thermocouple that has a miniature thermocouple connector. Pico supply a wide range of suitable thermocouples (see Accessories).


The optional Single-Channel Terminal Board (see Accessories) plugs into a channel on the TC-08 and turns it into a 20-bit high resolution data logger. Screw terminals allow wires to be attached to the data logger without soldering. The four input ranges (50 mV, 500 mV, 5 V and 4-20 mA) allow a wide range of other sensors and signals to be measured.


If you need more than 8 channels just plug up to 20 TC-08s into a powered USB hub network connected to your PC for a total of 160 channels. You can even mix and match different data loggers and a selection of PicoScope oscillsocopes from the Pico range to build a flexible, expandable data acquisition system.


handle = usbtc08connect(types, tc08Path) configures the USB Pico Technology TC-08 data logger where types is a string or a vector array of strings of the respective channel types e.g. 'K' for type K thermocouples, and 'X' for measuring the voltage. If the tc08Path is supplied, it must point to the folder containing the DLLs, otherwise it assumes a default path of 'C:\Program Files (x86)\Pico Technology\Pico Full'. Empty paths are also acceptable, in which case the default path is used. handle is the handle of the TC-08 for using usbtc08query, or is 0 if any of the steps were unsuccessful. Additional output arguments are tolerated for legacy resons. This uses the streaming mode of the unit, which means queries are much faster - ca. 1 ms per call. interval is the time between samples and is set to the fastest possible value, obtained by requesting it from the unit - this is usually about 100 ms per channel - but can be specified if necessary.

[recentData, allData, overflowFlag] = usbtc08query(handle) returns the most recent values (as an 8-element numeric column vector). usbtc08connect must be run first to configure the USB TC-08 and to obtain tc08Handle. If allData is specified as a second argument, then all the data in the buffer is supplied as a cell array the same size as the number of channels, with temperature-time data. If no data is in the buffer, all the temperatures are NaN's. BufferSize is optional, and defaults to the maximum possible value (600, as according to the header file) to retain as much data as possible. The overflowFlag is a vector the same size as the channels, which gives a 1 if at any point a measurement on that channel overflowed - it is not possible to determine exactly which measurement failed.

usbtc08disconnect(handle) disconnects the USB TC-08 from MATLAB and unloads the DLLs, where handle is a uint16 from 1-65535 supplied by usbtc08connect.

This is now much faster, so the DDE method is no longer preferred.

Note that you MUST have the Pico Technology SDK ( ) and an appropriate compile for MATLAB setup.


The Pico Technology USB TC-08 is a temperature data logger designed to connect up to 8 thermocouples. With high quality thermocouples and 20 bit ADC resolution, the TC-08 ensures accurate temperature measurements for accurate analysis and reporting. With a wide measurement range from -270 C to 1820 C, the TC-08 is suitable for many different applications.


Easy set-up and operation via USB and the user-friendly PicoLog software make the TC-08 a flexible and reliable data logger for industrial applications. and reliable data logger for industry, research and other fields.


With the free PicoLog 6 software, the TC-08 data logger can be used with any laptop or PC running Windows, macOS or Linux. The software can record, monitor and analyse the collected data and even export it to third-party applications such as Microsoft Excel. The software supports up to 20 TC-08 data loggers and thus 160 thermocouples.


Designed from the ground up to be intuitive from the outset, PicoLog 6 allows you to set up the logger and start recording with just a few clicks of the mouse, whatever your level of data logging experience.


If you need more than 8 channels just plug two TC-08s into your PC to make a "TC-16". Using a USB hub up to 20 TC-08s can be used on one PC for a total of 160 channels. You can even mix and match different data loggers from the Pico range to build a flexible, expandable data acquisition system.


The TC08 thermocouple data logger, which offers industry-leading services, is an affordable solution for temperature measurement.



With 8 direct thermocouple inputs, the TC-08 can perform quick and precise measurements. In addition, up to 20 units can be used simultaneously on one PC. The data logger can measure and record the temperature range from -270 C to + 1,820 C by using an appropriate type of thermocouple (B, E, J, K, N, R, S, T).



No external power supply is required, the device is powered via the USB port of the computer. The TC-08 thermocouple data logger has built-in terminal compensation with high resolution (20 bit) for high accuracy. Up to 10 measurements per second are possible.


I am heavily involved in the data logger/acquisition industry but I feel that its missing something, and that would be an open source data logger. The issue I come across is pricing, I deal with customers all over the world and find that 90% of my clients (mostly educational) just don't have the budget for an easy to use, compact data logger, any stand alone unit with 8 channels is going to cost a minimum of $500, add the software, cable, etc...soon gets out of hand.


So I was thinking that an open source logger based on the Arduino could be an ideal solution, the biggest issue would be having something easy to use for the end user, a nice front end on the software, but allow the more technical to make modifications for the odd sensor.


Glad you like the idea! I was thinking 0-5V, 4-20mA (using a shunt), would be nice to have 30k thermistors (pretty cheap and lots of them), digital pulse counting and maybe also 1-wire?!?! Of course, the 10bit A/D might be a small stumbling block, but to be honest, most applications really don't really require anything with a higher resolution. Also, have the ability to trigger a digital channel on an alarm condition.


As for software on the PC side, I was thinking a simple/basic programming interface, for example, the user could enter the sensor type (i.e. 0.5 to 4.5V), the scaling and logging rate. Then can download the data and export it as a CSV format, all straight forward stuff. I guess my main thing would be packaging, making it as simple as possible for the non-technical user.


You'd probably have a class for each kind of sensor and store the config in the inbuilt EEPROM (512 bytes).

The tricky bit is storing large amounts of data. Either a flash chip or a SD card would do but I never had any luck with the SD.


Most units out there still use RS232 for data download and configuration. After all, with 256k of memory, its not a huge problem downloading that over the serial port. All the big players just have a command to download the data.


Give you an idea of applications, I had two this week, one was from a university looking at weather station application. The ideal situation would be to have several low cost stations at remote sites. The one wire station from AAG would be ideal, but they also want to store the data from the sensors. They didn't have the budget for one basic remote weather station, let alone several units. The other was actually from a charity dealing with distributing medical aid to Africa. They have small temperature loggers in place, but the costs add up for an installation with four or five refrigerators, so they would like one central data logger. Again, there budget was $200 and I could not find anything that would do it.


As for prize money, I can certainly put something down, maybe pull in a few other companies as well. Again, I would want to keep this all on an open source platform. Allow other people to copy and improve on the design.


The whole thing should be reasonably easy. I might have a go when I get my new decimelia. You can get a 64k eeprom from futurlec for $2.20 (EEPROM's) so it shouldn't cost too much, an eeprom, 4051 for more inputs and some kind of shield or circuit board to hold it all. You might be able to put the whole thing together with a real time clock for not much. I'm gonna have a go at interfacing an SD card soon and if that works then it would probably end up cheaper and easier to do that (plus u have the benefit of all that storage).


I would have though the tricky part was getting the Arduino to live long enough off a battery to get a reasonable logging period. Or, did you anticipate that people would be using wall-warts to plug these loggers into a socket?


As for the amount of memory you need, I've been playing arond with a design for a simple temperature logger, and have found that, using a simple compression scheme, I can get one to three days worth of per-minute temperature readings into the on-board 512-byte EEPROM. My plan is to use cheap 256kbit eeproms (MUCH larger than the onboard eeprom) for the deployed version of this device, and so memory doesn't look like it's going to be an issue.


My main concern right now is how long the Arduino can run on battery power. Without some tricks, it sounds like it won't go long (less than half a day). I imagine this will require putting the board to sleep in between readings; I know the ATmega168 supports a few sleep modes, but I'm not sure yet how to use them. It seems like the best solution might be just put the board into a full sleep and add an RTC that can send periodic signals to the Arduino to wake it up.

3a8082e126
Reply all
Reply to author
Forward
0 new messages