HCS08 Temperature Sensor

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

HCS08 Temperature Sensor

Jump to solution
3,469 Views
migof
Contributor II

Hello! First sorry by my bad english, i speak spanish.

I need to measure temperature in a space and the uC is there. For this I thought to use the temperature sensor in the ADC Channel 26 in the HCS08 family and i have some questions.

1. All uC of this family have this feature?

2. There isn't a lot of information about this. Someone can help me with his own experience?

3. The uC in low tension (1.8 to 3.6Vcc) can use this?

4. You recommend use that or use an external sensor? If yes, what can i use? Because my power supply is 2xAA batteries and as the power voltage decrements i supossed that the measurement in the uC will be incorrect y hasta deje de ser lineal the sensor output.

 

Thank you!!

 

Dejo tambien el pedido en español por si alguna persona de habla hispana lo lee...

 

Tengo el micro en contacto con una superficie a controlar su temperatura y queria saber si el sensor de temperatura interno del uC de la familia HCS08 es apropiado. Tengo las siguientes preguntas

1. Todos los uC HCS08 poseen esta funcion? Al menos todos en el capítulo del ADC muestran en el Canal 26 esta funcion.

2. Hay más informacion que el articulo AN3031.pdf que freescale tiene? En español? o tal vez alguien por experiencia propia pueda darme algunos tips

3. Los uC que trabajan con tensiones de 1.8 a 3.6 Vcc tienen esta funcion? porque en la pagina de freescale donde muestran todos los modelos, al filtrar por "Temperature Sensor" estos micros desaparecen.

4. Mi aplicacion se va a alimentar con dos pilas recargables AA, o sea 2.4Vcc, pero esta va a caer a lo largo del tiempo si no se las carga. Me recomiendan usar un sensor externo en lugar del del micro? Uno externo no tendria problemas de linealidad o variacion en la tension de salida al caer la alimentacion? Que sensor me recomiendan?

 

Muchas gracias!!!

Labels (1)
1 Solution
858 Views
bigmac
Specialist III

Hello,

 

You did not say what temperature range you require to measure, and what measurement accuracy you need to achieve.

 

Actually, I could not identify any third party temperature sensor device, having either analog or digital output, that is capable of operating directly from 1.8 volts.  In this case you might need to boost the voltage applied to the sensor, maybe using a charge pump device.  The voltage output from the sensor will then be too high for the MCU, giving further complications to the hardware.

 

The use of a digital output sensor type (maybe SPI or one-wire) will keep the coding relatively simple, but complicate the interfacing hardware.  Using an analog sensor (with an output of 10mV/Kelvin) connected to an ADC input will have simpler interface, but require more complex coding (of similar complexity to using the internal temperature sensor).

 

Revisiting the internal temperature sensor, provided your application operates for the majority of the time in one of the low power stop modes, as is likely for battery operation, the inaccuracy due to self heating may be quite small.  The temperature measurement would then need to be done immediately after wake-up.  The temperature measurement resolution could be significantly improved with the use of a 9S08QE8 device, which will operate down to 1.8 volts, and has a 12-bit ADC module.

 

With either internal or external analog method, the ADC reading will not directly relate to the temperature units. The temperature will need to be calculated from the ADC reading for the sensor, the ADC reading for the bandgap reference, the nominal voltage slope of the temperature sensor, and possibly an additional calibration ADC reading at a known room temperature and supply voltage (measured during manufacture).  Integer calculations should be used, rather than floating point, with the integer result scaled to represent an increment of 0.1 C.

 

Regards,

Mac

View solution in original post

0 Kudos
8 Replies
858 Views
peg
Senior Contributor IV

migof wrote:

1. All uC of this family have this feature?

2. There isn't a lot of information about this. Someone can help me with his own experience?

3. The uC in low tension (1.8 to 3.6Vcc) can use this?

4. You recommend use that or use an external sensor? If yes, what can i use? Because my power supply is 2xAA batteries and as the power voltage decrements i supossed that the measurement in the uC will be incorrect y hasta deje de ser lineal the sensor output.

 

 
 
 Hello
1. Not all S08 have this feature
2. It is quite easy to use and there is quite a lot of discussion about it in this forum (use search)
3. Lower voltages should be no problem (check the specified voltage output to determine the construction type as noted by Bigmac)
4. Be aware that you will actually be measuring die temperature here and not really the ambient. If your die temperature varies as outputs go on or different modules are used etc this will directly impact the die temperature. If you really want ambient, you will need a sensor mounted in the ambient.
 
0 Kudos
858 Views
Lundin
Senior Contributor IV
On every MCU application there must always be a low-voltage detect circuit, to prevent completely random behavior. Luckily, all HCS08 have this circuit built-in.

Whether you use an internal or external sensor, your application must use a step-up DC/DC. The HCS08 can't operate below 2.7V supply.
0 Kudos
858 Views
migof
Contributor II

Thank you Lundin, but is not correct what you say...

 

http://www.freescale.com/webapp/search.partparamdetail.framework?PART_NUMBER=MC9S08QG44CDNE&buyNow=t...

 

  Part Number MC9S08QG44CDNE

 Supply Voltage (Typ) (V)                       3

Supply Voltage (Min-Max) (V)                 1.8 to 3.6

0 Kudos
858 Views
ballen
Contributor I

Do a search on the Freescale web site for application note AN3031. It has very detailed information on the temp sensor and how to use it.

ballen

0 Kudos
858 Views
migof
Contributor II
Thanks... but already i read that and not resolved all my questions...
0 Kudos
858 Views
bigmac
Specialist III

Hello,

 

The temperature sensor within the HCS08 devices consists of either a single diode, or two series connected diodes, fed with a constant current.  For devices capable of operation down to 1.8 volts, there will be a single diode present.

 

Whether you can use the internal sensor will depend on the accuracy that you require.  Because the voltage change with temperature is very small (approximately 1.7 mV/C), and the ADC resolution for many HCS08 devices is limited to 10 bits, the temperature accuracy and resolution will be very poor.  The temperature that is measured will also be subject self heating of the device, so should only be done after a lengthy period in a low power mode.

 

Since you do not have a regulated supply rail, and the ADC uses the supply rail as its reference voltage, the situation is even more complex.  To allow for variation in battery voltage, you would also need to periodically measure the internal bandgap reference on channel 27, to provide a further ADC conversion correction.

 

I recall that there have previously been threads posted on this forum on the use of the temperature sensor, which can be found using the forum search engine below.

 

If your application requires more accuracy, you will need to use an external temperature sensor device.

 

Regards,

Mac

0 Kudos
858 Views
migof
Contributor II

Thank you a lot!

 

Your answers be vert helpful!

 

The last question.. What temperature sensor you recommend using? It needs to work always when te uC is powered, ie he has to work with 1.8 to 3.6 Vcc power supply and needs to be linear and proportional in this range. Also, as you recommend scaling the analog input corresponds to 1 bit for example 1 ° C, corresponds to 1 bit for example 0.1 ° C, what can be done.

 

Thank you

 

0 Kudos
859 Views
bigmac
Specialist III

Hello,

 

You did not say what temperature range you require to measure, and what measurement accuracy you need to achieve.

 

Actually, I could not identify any third party temperature sensor device, having either analog or digital output, that is capable of operating directly from 1.8 volts.  In this case you might need to boost the voltage applied to the sensor, maybe using a charge pump device.  The voltage output from the sensor will then be too high for the MCU, giving further complications to the hardware.

 

The use of a digital output sensor type (maybe SPI or one-wire) will keep the coding relatively simple, but complicate the interfacing hardware.  Using an analog sensor (with an output of 10mV/Kelvin) connected to an ADC input will have simpler interface, but require more complex coding (of similar complexity to using the internal temperature sensor).

 

Revisiting the internal temperature sensor, provided your application operates for the majority of the time in one of the low power stop modes, as is likely for battery operation, the inaccuracy due to self heating may be quite small.  The temperature measurement would then need to be done immediately after wake-up.  The temperature measurement resolution could be significantly improved with the use of a 9S08QE8 device, which will operate down to 1.8 volts, and has a 12-bit ADC module.

 

With either internal or external analog method, the ADC reading will not directly relate to the temperature units. The temperature will need to be calculated from the ADC reading for the sensor, the ADC reading for the bandgap reference, the nominal voltage slope of the temperature sensor, and possibly an additional calibration ADC reading at a known room temperature and supply voltage (measured during manufacture).  Integer calculations should be used, rather than floating point, with the integer result scaled to represent an increment of 0.1 C.

 

Regards,

Mac

0 Kudos