Anyone used the DS1629 in high resolution mode?


Closed Thread
Results 1 to 5 of 5

Hybrid View

  1. #1

    Default Anyone used the DS1629 in high resolution mode?

    I am having troubles with the DS1629 combined RTC and temperature sensor. The DS1629 consistently reads about 1.5 C higher than the temperature sensor in an Intersema pressure/temperature sensor. Same results for 20 systems, both devices on same PCB.

    Has anyone used the 'high resolution' mode in the DS1629? This gets 0.1 resolution against the simple DS1629 that only gives 0.5 C resolution.

    The DS1629 mentions the slope and remainder registers as being 8 bits. The DS1629 datasheet refers to AN105 but AN105 nowhere mentions the DS1629 in the list of supported devices. AN105 refers to the slope and remainder registers as 9 bits and suggests using an undocumented instruction.

    Viewed in isolation, my DS1629 results seem excellent with 0.1 resolution and excellent monotonicity during heating or cooling but the results are all offset about 1.5 degrees compared to a separate sensor. Both manufacturers claim high accuracy, much better than the difference I am seeing.

    If anyone has code for the high accuracy version I s=would like to see it.

    My code is posted below.

    /code
    'DS1629 subroutines

    ReadDS1629:
    'OneShot: ' Only read on demand
    ' write to $AC
    ' MSB = %00000101 No Time Alarm, active LOW, Temp convert on demand
    ' LSB = %00000000 A read only register - don't bother to write it
    i2cwrite SDA, SCl, %10011110, $AC, [ %00100101]
    'StartConversion: ' write to $EE
    i2cwrite SDA, SCl,%10011110, [ %11101110] ' write to $EE
    pause 2000 'wait convert time for DS1629 - adds to microphone settling
    'ReadTemp: '$AA ' reading a word variable after writing to $AA
    i2cread SDA, SCl, %10011110, $AA, [a,b]
    'ReadCntRem: '$A8
    i2cread SDA, SCl, %10011110, $A8, [c]
    'ReadCntPerC: '$A9
    i2cread SDA, SCl, %10011110, $A9,[d]
    'StopConversion:
    i2cwrite SDA, SCl, %10011110, [$22]

    CalcTemp:
    '' Temperature = TempRead - 0.25 + (CntPerC - CntRemain)/CntPerC
    '' 10x temperature = (40*TempRead - 10)/4
    '' now allow for integer truncation
    '' 100 x Temp = gives two decimal places
    ' A = tempread = boxtemp >> 1 ' drop off lowest 0.5 degree value
    ' C = CountRemain, D= Slope = Count per C
    '
    ' if cntperc > cntremain then
    if D > C then
    ' u = 100*(cntperc - cntremain)/cntperc
    u = 100*(d - c)/d
    ' ' should be 0~99 after integer truncation
    ' v = ((400 * tempread - 100)/4 + u +5)/10
    v = ((400 * a - 100)/4 + u + 5)/10
    ' v = ((400 * a - 100)/4 + u )
    else
    ' u = 100*(cntremain - cntperc)/cntperc
    u = 100*(c - d)/d
    ' v = ((400*tempread - 100)/4 - u +5)/10
    v = ((400*a - 100)/4 -u +5)/10
    ' v = ((400*a - 100)/4 -u )
    endif

    ' temperature = v this is X10 so 297 means 29.7 Celsius
    ' u = v//10 'decimal result
    ' w = v/10 'numerals
    return
    /endcode

  2. #2
    Join Date
    Jun 2005
    Location
    West Australia
    Posts
    116


    Did you find this post helpful? Yes | No

    Default self heating?

    Hi Brian,

    My memory grows dim but I seem to recall there is an issue with this device self heating. I had a similar problem some time ago using Pt100 RTD's even though excitation was only 1mA - but being continually powered made the difference.

    It may not be your code at all - can you power it down, let rest/cool down/acquire ambient temperature then power up, sample and power down again? This would prove any chip self heating.

    This being the case some tests could establish if the self heat value is a constant, maybe then a calibration factor or offset could be included? Worse case a lookup table.

    I hope this helps.

    Kind regards,
    Bill

  3. #3
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,648


    Did you find this post helpful? Yes | No

    Lightbulb

    Quote Originally Posted by BrianT View Post
    I am having troubles with the DS1629 combined RTC and temperature sensor. The DS1629 consistently reads about 1.5 C higher than the temperature sensor in an Intersema pressure/temperature sensor. Same results for 20 systems, both devices on same PCB.
    Hi, Brian

    Real-time clock/calendar
    ±2°C thermometer accuracy from -10°C to +85°C
    Measures temperatures from -55°C to +125°C (-67°F to +257°F)
    9-bit (expandable) temperature resolution
    ...
    Dallas claims +/- 2°C ACCURACY ...

    with your 1.5°C difference ... you're into the specs !!!

    If my memory is right Intersema claims +/- .7 °C Accuracy ...

    NOW ...

    if you look for the 1/10 degree ...

    - take care to incident light on the sensor ... .4°C observed with a DS18B20
    - take care to every component dissipating a bit in the surroundings ( IR illumination ! + PCB conduction ) especially regulators ...
    - take care to self-heating, as Bill raises ...

    Now ... without any serious individual calibration ... ( 3 points as a minimum ! ) ...

    DO NOT hope to be considered " serious " if claiming a .1°C resolution with a +/- 2°C ACCURACY sensor ...


    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  4. #4


    Did you find this post helpful? Yes | No

    Default DS1629 issues

    Thanks Alain and Bill,
    Take a look at page 23 of the DS1629 datasheet which shows typical values of +/- 0.5 degrees as ACCURACY. Intersema claim +/- 0.8 accuracy and resulution of 0.01 Celsius

  5. #5
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,648


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by BrianT View Post
    Thanks Alain and Bill,
    Take a look at page 23 of the DS1629 datasheet which shows typical values of +/- 0.5 degrees as ACCURACY. Intersema claim +/- 0.8 accuracy and resulution of 0.01 Celsius
    We must not have the same datasheet : mine ( freshly downloaded from Maxim site ) only shows ...

    22 pages

    and .5°C is given for Max. RESOLUTION

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts