TH-03 high reference reading

Having problems ? let us know the details here
Post Reply
slpeake
User
User
Posts: 2
Joined: Thu Jun 10, 2004 8:30 am

TH-03 high reference reading

Post by slpeake »

Just started to experiment with our new TH-03 module.

The high reference is being reported as 22044, when the manual indicates it should be within 500 counts of 43773.

Low reference is reported as 19986, well within the 500 counts of the base 20082.

Channels 1- 3 report between 21784 and 21852. This translates as 24-25 deg C in lookup table, which is about right by my desk thermometer.

If I use the given formula to correct these values with the high & low references, I get values between 40780 and 41562. This translates as below -30 deg C.

Is this a faulty unit, or am I missing something?

Picolog reads all three channels (currently around 25.5 deg C). Is there any way in Picolog to display the references?

hope someone can help.

Steve Peake
McMurtry Ltd

slpeake
User
User
Posts: 2
Joined: Thu Jun 10, 2004 8:30 am

Stupid mistake

Post by slpeake »

Panic over - the TH-03 is reading fine.

I'm embarrassed to admit that I was reading the response as a signed char (and subsequently ignoring the minus sign as a display glitch) instead of an unsigned char.

Serves me right for starting work before 8:30am - brain was obviously still asleep.

Hope my humiliation helps other sleepy heads who aren't thinking straight.

Steve Peake.

User avatar
markspencer
Site Admin
Site Admin
Posts: 598
Joined: Wed May 07, 2003 9:45 am

Post by markspencer »

Hi,

I am sorry to hear that you are experiencing this problem.

I have looked into this and tested it on some TH-03's here. Every unit gives similar results.

When getting the readings from the TH-03 and then calculated the result from unsigned char to unsigned short:

Code: Select all

.
.
.
unsigned char write_byte[1];
unsigned char read_bytes[2];
unsigned short low;
 
write_byte[0] = 0x02;
com_write (com_id, write_byte , 1);
while (com_read (com_id, read_bytes, 2) != 2)
  {
  Sleep (200);
  }
low = read_bytes[0] *256 + read_bytes[1];

In picolog the values of High and low ref will be used as described in the help manual. The formual is designed to add a correction to the channel reading. Unfortunately, it is not possible to get the refernce values out as the function proved do all the work to provide a temperature.

I hope this will help you.

Best regards,
Regards,

Mark Spencer

Post Reply