Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

7 segment 3 digit Temp Display

Status
Not open for further replies.

Matienzo

Member
Hello again,

I'm working on a project to display the temperature of a thermocouple (I ordered the amplifier already) on a 3 digit 7 segment display, but I've never done it and I cant make much sense of what there is on the internet.

Ideally I would like to use an arduino mini or nano (I already have a mini). Also, I have a segment like this

Here is a picture of what I intend to do:

34dkig1.jpg


I want to set a temperature and once the thermocouple reaches the temperature the servo moves.

I've done arduino projects before but I'm an ME not a EE so please bear with my simple questions.

Thanks in advance for the guidance
 
Not sure how pros do it, but i would first start with getting each piece of hardware working and doing what it should,
then when you got subroutines for each binding them together is simple...

since you have the display why not start there, with pulling up the data sheet to see how it works, you can then wire it up and program the outputs accordingly.
 
but i would first start with getting each piece of hardware working and doing what it should
Totally, I usually do that. I'm not worried about the buttons, and the thermocouple. The only thing I dont know is how to wire up to display numbers is the 7 segment. I saw that there is a chip that can be used between the arduino and the display in order to use less pins (I dont have many on the MINI). The chip is MAX7219 (quite pricey) but I'm not sure how to wire the chip to the display and the arduino. I'm looking at the datasheet of both chip and display now.
 
You probably should be worried about the thermocouple if you have never done it before. The first issue is which type do you plan to use? What chip do you plane to use? Does that chip have the linearizion routines? What is the temperature range of where your box sits?

In general most people totally ignore the mechanics of connecting the thermocouple and a lot of commercial stuff gets it wrong. You need to make sure that the place you connect the thermocouple doesn't change temperature. It's not just a screw terminal and a sensor nearby, I had some commercial stuff really screw up when there were air currents.

You need two sorts of functions if you decide to do it yourself. One is temperature to voltage, referenced to 0 deg. C) for the temperature range your after and another function that is the inverse of that and returns the mV value of the isothermal block temperature for the range of ambient temperatures expected. referenced to 0C.

You also need to consider open thermocouple detection which is basically an high value pull-up or pull-down. With heaters, you want to read the maximum so the controller shuts off. Maxim and Linear Technology have some nice TC IC's.

"Servo" can mean lots of things and it might require PID.

For seven segment stuff, there are two major types called common-cathode and common-anode. Make sure the display matches the driver. Then the sub-type is multiplexed and non-multiplexed. Again, be careful.

Also watch the 5 V to 3.3 interfacing and vice versa.

Much can be done with chips that use the SPI and I2C busses, including handing interrupts for the switches.

spec: get some sleep.
 
I was looking at MAX7219 and 7 segment. Still thinkering about it.
You probably should be worried about the thermocouple if you have never done it before. The first issue is which type do you plan to use? What chip do you plane to use? Does that chip have the linearizion routines? What is the temperature range of where your box sits?

In general most people totally ignore the mechanics of connecting the thermocouple and a lot of commercial stuff gets it wrong. You need to make sure that the place you connect the thermocouple doesn't change temperature. It's not just a screw terminal and a sensor nearby, I had some commercial stuff really screw up when there were air currents.

You need two sorts of functions if you decide to do it yourself. One is temperature to voltage, referenced to 0 deg. C) for the temperature range your after and another function that is the inverse of that and returns the mV value of the isothermal block temperature for the range of ambient temperatures expected. referenced to 0C.

You also need to consider open thermocouple detection which is basically an high value pull-up or pull-down. With heaters, you want to read the maximum so the controller shuts off. Maxim and Linear Technology have some nice TC IC's.

"Servo" can mean lots of things and it might require PID.

For seven segment stuff, there are two major types called common-cathode and common-anode. Make sure the display matches the driver. Then the sub-type is multiplexed and non-multiplexed. Again, be careful.

Also watch the 5 V to 3.3 interfacing and vice versa.

Much can be done with chips that use the SPI and I2C busses, including handing interrupts for the switches.

Are you saying I'm underestimating the complexity of what I intend to do and overestimating my ability to do it? That doesn't sound like me at all :woot:
It sounds like my plug and play expectations for the thermocouple are about to meet reality.

I savaged the jack plug from a meat thermometer. I assumed it is a K-type and I got an amplifier for it.
2a6wbk9.jpg
 
Likely, that probe is a thermistor; not a thermocouple. Hook an Ohmmeter to it...

Not enough pins to drive three 7 segs, but you can use a 4-line to 7 output decoder and multiplex...
 
Last edited:
the wire diagram for the MAX7219 is on first page of data sheet,
this chip uses the following protocol: SPI™, QSPI™, and MICROWIRE™, so one of these are the encoding we will need to use,

easiest is if there is a compatible spi.h file you can find, or else write your own so the pins reflect the format shown on datasheet page 6, ... maybe i can dig something up
after spi protocol has been established you are ready to send instructions and set the data values for the leds, which is what the other tables on datasheet are showing you
 
Are you saying I'm underestimating the complexity of what I intend to do and overestimating my ability to do it? That doesn't sound like me at all :woot:
It sounds like my plug and play expectations for the thermocouple are about to meet reality.

I savaged the jack plug from a meat thermometer. I assumed it is a K-type and I got an amplifier for it.

A thermocouple is pretty complicated. non-linear, but predictable. It's a voltage out, but the voltage is dependent on the temperature of the block that it's connected to unless you want to go "old school" which is an ice bath and a voltmeter. Yep, one junction measures the temperature you want and the other is a fixed 0C ice bath. Then you can use the tables.

A thermister is non-linear too. You can do some tricks to "linearize it" over a smaller temperature range. Although, this http://www.ussensor.com/products/glass-probe-thermistors link shows the thermister and the R-T table, it's relatively "stupid". There is an equation called the Steinhart-Hart model that can fit a thermister to a standard curve with a few coefficients.

Anyway, it's messy too. http://en.wikipedia.org/wiki/Thermistor

So, your's is likely a NTC thermister (the resistance decreases with increasing temperature). The first parameter needed is the resistance at 25C. I have done some reverse engineering to get the curve. For the range I needed, I did use water, hot water and ice. For the higher temperatures a potato in heated water worked.

The LTC2984 isn't a bad part: http://www.linear.com/product/LTC2984, but it does have issues.

A thermocouple will have nearly 0 resistance, An thermister can be all over the map. An RTD is probably around 100 ohms and then there's the diode sensor which is common in cryogenic applications.
 
Hi again Matienzo,

The chip is MAX7219 (quite pricey) but I'm not sure how to wire the chip to the display and the arduino. I'm looking at the datasheet of both chip and display now.

I was looking at MAX7219 and 7 segment. Still thinking about it.

I was considering another approach because you said that the MAX7219 is quite pricey, but two MAX7219 chips are only £0.99UK including post and packing. I would imagine you could get a similar deal from Argentina. https://www.ebay.co.uk/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=Max7219&_sacat=0

So, on that basis, the MAX7219 would be the way to go. Although the MAX7219 is quite a complex chip, it is used widely and there should be plenty of guidance on the MAX7219 on the internet, including Maxim application reports.

But, the seven segment display you have chosen is a common anode type and the MAX7219 only drives common cathode displays, so you will need to chose another seven segment display if you wish to use the MAX7219... sorry.:oops:

spec
 
Last edited:
The SAA1064 chip is CA. See: **broken link removed**
Note: The URL opens the PDF to the discussion page about the SAA1064.
 
Various thermocouple convertor chips are available, but most of these are costly and/or limited in what they can do.

I took a different approach described here using TI's TMP512/TMP513 power monitor chips. These chips have a sensitive ADC channel for measuring voltage across a shunt to determine current; the range of this ADC is just about perfect for J, K and several other types of thermocouples. These chips also have built-in temperature sensors which work nicely for cold-junction compensation.

The TMP512/513 chips have an I2C interface to read the thermocouple voltage and cold junction temperatures and it's an easy matter to linearize the data with a lookup table in the micro.

The MAX7219 chips work well and can be had from ebay pretty cheaply. I have an article or two at Digital-DIY on using these chips too. These chips use an SPI-type interface. Recently, I used I2C chips and a MAX7219 on the same Port pins. The I2C chips ignore anything not addressed to them, and the MAX chip is only active when the enable pin is asserted. They all got along nicely together.
 
Likely, that probe is a thermistor; not a thermocouple. Hook an Ohmmeter to it...
So I hooked up the multimeter and as I apply heat the resistance goes up. So, it is a thermistor not a thermocouple.

I ordered this to take care of the 7 segment which will save me time.
11m3y0x.jpg


Hi spec! I'm on an internship in California and going to school in Arlington, TX.

I'll write an update once the components arrive.
 
I ordered this to take care of the 7 segment which will save me time.
11m3y0x.jpg


Hi spec! I'm on an internship in California and going to school in Arlington, TX.

Good move about the display- I had looked at a similar display.

Thanks, I seem to remember that you mentioned about being at Arlington before- I forgot.

spec
 
So, the simplest interface is a voltage divider to a reference, with one end of the thermister to ground. The current is generally used tries to avoid self-heating.
Sometimes a parallel fixed resistor is placed across the thermister to "help" the linearization.
 
So I hooked up the multimeter and as I apply heat the resistance goes up. So, it is a thermistor not a thermocouple...
A thermocouple would look like a dead short, and wouldn't change resistance with temp...
 
Have you considered one of these ? I ordered one for a little over $3.00 from ebay

do a google search for:

W1209 Digital thermostat Temperature Control Switch 12V sensor Module -50-110°C

Lots on ebay, even on Amazon
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top