Shop OBEX P1 Docs P2 Docs Learn Events
Ds1620 — Parallax Forums

Ds1620

ArchiverArchiver Posts: 46,084
edited 2004-04-19 13:15 in General Discussion
Got a question about the Dallas semiconductor DS1620 digital temprature
chip.

What on the DIP chip actually senses the temperature?
Is the whole chip designed to act like a temperature gauge or
is there a pin/s on the chip that provide this function?

Thanks for you help!
<DAVE>

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2002-08-30 20:15
    >Got a question about the Dallas semiconductor DS1620 digital temprature
    >chip.
    >What on the DIP chip actually senses the temperature?
    >Is the whole chip designed to act like a temperature gauge or
    >is there a pin/s on the chip that provide this function?
    >Thanks for you help!
    ><DAVE>

    The sensor is contained inside the chip (using the well-known
    temperature dependence of the silcon bandgap voltage). So the
    temperature you measure is in fact the temperature of the whole chip.

    -- Tracy
  • ArchiverArchiver Posts: 46,084
    edited 2002-08-30 20:16
    This creates a minor issue with the color of the chip. If exposed to
    direct sunlight, the chip will read a higher temp that the air
    temperature. so shield that puppy from exposure to direct sunlight.

    The question I'll toss into the ether is can the chip measure a wind
    chill?

    Paul

    > The sensor is contained inside the chip (using the well-known
    > temperature dependence of the silcon bandgap voltage). So the
    > temperature you measure is in fact the temperature of the whole chip.
    >
    > -- Tracy
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and Body
    of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    >
    >
  • ArchiverArchiver Posts: 46,084
    edited 2002-08-30 21:18
    Hmm...

    Wind Chill is a subjective term used to describe how cold it "feels"
    to the unprotected Mark 1 normal human face (fingers, toes, etc.) The
    temperature of inanimate objects will only drop to the level of the
    ambient temperature no matter how hard the wind is blowing. So, even
    if the "Wind Chill" factor is 30 below, an air temperature of 5
    degrees will result in a chip temperature of 5 degrees.

    Explained better here:
    http://www.nws.noaa.gov/om/windchill/windchillglossary.shtml

    Tim

    --- In basicstamps@y..., <verhap@o...> wrote:
    > This creates a minor issue with the color of the chip. If exposed
    to
    > direct sunlight, the chip will read a higher temp that the air
    > temperature. so shield that puppy from exposure to direct sunlight.
    >
    > The question I'll toss into the ether is can the chip measure a
    wind
    > chill?
    >
    > Paul
    >
  • ArchiverArchiver Posts: 46,084
    edited 2002-08-31 00:45
    Dear David,
    The entire chip senses the temp difference and can act like a thermometer
    or thermostat. I have a tiny peltier refrigerator that hold 6 cans of soda
    in my office. I programmed the chip with the stamp code and made it into a
    thermostat that turns the peltier and fan off and on sensing the interior
    temperature. I just placed the chip on a perf board and used a MOSFET to
    control the circuit on and off. It works fine. It's also a great
    thermometer with the Parallax kit. Look at the Maxim site for more info on
    the chip. they have some good app notes there as well as the Parallax site
    mike m
    Original Message
    From: <david_amrhein@f...>
    To: <basicstamps@yahoogroups.com>
    Sent: Friday, August 30, 2002 1:26 PM
    Subject: [noparse][[/noparse]basicstamps] DS1620


    > Got a question about the Dallas semiconductor DS1620 digital temprature
    > chip.
    >
    > What on the DIP chip actually senses the temperature?
    > Is the whole chip designed to act like a temperature gauge or
    > is there a pin/s on the chip that provide this function?
    >
    > Thanks for you help!
    > <DAVE>
    >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and
    Body of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    >
    >
  • ArchiverArchiver Posts: 46,084
    edited 2002-12-28 01:45
    how do you use the thermostat function on a ds1620..I can't figure it
    out....Help
  • ArchiverArchiver Posts: 46,084
    edited 2002-12-28 14:39
    > how do you use the thermostat function on a ds1620..I can't figure
    it out....Help

    Parallax has an example in their Application Notes document however,
    it's for the BS1. Check out;
    http://www.parallax.com/Downloads/Documentation/BASIC%20Stamp%201%
    20App%20Notes%20V1.9.pdf

    I rewrote it to use the BS2 (or better) and changed some things
    around to improve the temperature resolution to include fractional
    temperatures. P0, P1, and P2 of the basic stamp are connected to the
    DS1620's DQ, CLK, and RST lines in this example. See the DS1620
    datasheet for details at http://pdfserv.maxim-
    ic.com/arpdf/DS1620.pdf.

    Here's the code:


    '{$STAMP BS2}
    ' Program: DS1620.BAS
    '
    ' Interface with DS1620 digital thermostat to get temperature data
    '
    '
    ' ===================== Define Pins and Variables ================
    DQn CON 0 ' Data I/O pin number (DS1620 pin 1).
    CLKn CON 1 ' Clock pin number (DS1620 pin 2).
    RSTn CON 2 ' Reset pin number (DS1620 pin 3).
    ' ' DS1620 pin 4 to GND, pin 8 to Vdd, pins 5-
    7 unconnected
    VSDin CON 15 ' VSD serial input
    VSDout CON 14 ' VSD serial output
    DSout VAR WORD ' Use bit-addressable byte for DS1620 output.
    DSin VAR WORD ' " " " word " " input.
    temp VAR WORD
    clocks VAR BYTE
    ' ===================== Define DS1620 Constants ===================
    ' >>> Constants for configuring the DS1620
    Rconfig CON $AC ' Protocol for 'Read Configuration.
    Wconfig CON $0C ' Protocol for 'Write Configuration.
    CPU CON %10 ' Config bit: serial thermometer mode.
    NoCPU CON %00 ' Config bit: standalone thermostat mode.
    OneShot CON %01 ' Config bit: one conversion per start
    request.
    Cont CON %00 ' Config bit: continuous conversions after
    start.
    ' >>> Constants for serial thermometer applications.
    StartC CON $EE ' Protocol for 'Start Conversion.
    StopC CON $22 ' Protocol for 'Stop Conversion.
    Rtemp CON $AA ' Protocol for 'Read Temperature.
    ' >>> Constants for programming thermostat functions.
    RhiT CON $A1 ' Protocol for 'Read High-Temperature
    Setting.
    WhiT CON $01 ' Protocol for 'Write High-Temperature
    Setting.
    RloT CON $A2 ' Protocol for 'Read Low-Temperature
    Setting.'
    WloT CON $02 ' Protocol for 'Write Low-Temperature
    Setting.
    '
    ' ===================== Begin Program ============================
    ' Start by setting initial conditions of I/O lines.
    '
    dirs = 0 ' All inputs initially
    low RSTn ' Deactivate the DS1620 for now.
    high CLKn ' Initially high as shown in DS specs.
    '
    ' Now configure the DS1620 for thermometer operation.
    '
    DSout = Wconfig ' Put write-config command into output byte.
    gosub Shout ' And send it to the DS1620.
    DSout = CPU+Cont ' Configure as thermometer, continuous
    conversion.
    gosub Shout ' Send to DS1620.
    low RSTn ' Deactivate '1620.
    Pause 50 ' Wait 50ms for EEPROM programming cycle.
    DSout=StartC ' Now, start the conversions by
    gosub Shout ' sending the start protocol to DS1620.
    low RSTn ' Deactivate '1620.
    '
    ' The loop below continuously reads the latest temperature data from
    ' the DS1620. The '1620 performs 10 temperature conversions per
    minute.
    ' If you read it more frequently than that, you'll get the result
    ' of the most recent conversion. The '1620 data is a 9-bit number
    ' in units of 0.5 deg. C.
    '
    Again:
    pause 1000 ' Wait 1 second for conversion to finish.
    DSout=Rtemp ' Send the read-temperature opcode.
    gosub Shout
    gosub Shin ' Get the data.
    low RSTn ' Deactivate the DS1620.
    gosub SignExtend ' adjust sign extension as needed.
    gosub DisplayF ' Display in degrees F.
    gosub DisplayC ' Display in degrees C.
    goto Again

    ' ===================== DS1620 I/O Subroutines ==================
    '
    ' Subroutine: Shout
    ' Shift bits out to the DS1620. Sends the lower 8 bits stored in
    ' DSout. Note that Shout activates the DS1620, since all
    transactions begin with the Stamp sending a protocol (command). It
    does
    ' not deactivate the DS1620, though, since many transactions either
    ' send additional data, or receive data after the initial protocol.
    ' Note that Shout destroys the contents of DSout in the process of
    ' shifting it. If you need to save this value, copy it to another
    ' register.
    Shout:
    high RSTn ' Activate DS1620.
    output DQn ' Set to output to send data to DS1620.
    for clocks = 1 to 8 ' Send 8 data bits.
    low CLKn ' Data is valid on rising edge of clock.
    out0 = DSout.bit0 ' Set up the data bit.
    high CLKn ' Raise clock.
    DSout=DSout/2 ' Shift next data bit into position.
    next ' If less than 8 bits sent, loop.
    return ' Else return.

    ' Subroutine: Shin
    ' Shift bits in from the DS1620. Reads 9 bits into the lsbs of DSin
    ' (w0). Shin is written to get 9 bits because the DS1620's
    temperature
    ' readings are 9 bits long. If you use Shin to read the configuration
    ' register, just ignore the 9th bit. Note that DSin overlaps with
    DSout.
    ' If you need to save the value shifted in, copy it to another
    register
    ' before the next Shout.
    Shin:
    input DQn ' Get ready for input from DQ.
    DSin = 0 ' clear it out
    for clocks = 1 to 9 ' Receive 9 data bits.
    DSin = DSin/2 ' Shift input right.
    low CLKn ' DQ is valid after falling edge of clock.
    DSin.bit8 = IN0 ' Get the data bit.
    high CLKn ' Raise the clock.
    next ' If less than 9 bits received, loop.
    return ' Else return.

    ' ================= Data Conversion/Display Subroutines
    ===============
    '
    SignExtend:
    if DSin.bit8 = 0 then skipit ' sign extension
    DSin = DSin | $FE00 ' Make bits 9 through 15 all 1s to make a
    skipit: ' 16-bit two's complement number.
    return

    ' Subroutine: DisplayF
    ' Convert the temperature in DSin to degrees F and display on the
    ' PC screen using debug.
    DisplayF:
    temp = ((DSin/2)*18)+320 ' Convert to degrees F
    if DSin.bit0 = 0 then not_frac
    temp = temp + 5
    not_frac:
    debug dec temp/10,".",dec temp-(temp/10*10),"F",CR
    return

    ' Subroutine: DisplayC
    ' Convert the temperature in DSin to degrees C and display on the
    ' PC screen using debug.
    DisplayC:
    debug dec DSin/2,".",dec1 5*(DSin&$01),"C",CR
    return
  • ArchiverArchiver Posts: 46,084
    edited 2002-12-29 07:35
    http://www.emesystems.com/OL2d1620.htm

    At Saturday, 28 December 2002, you wrote:
    >how do you use the thermostat function on a ds1620..I can't figure it
    >out....Help
  • ArchiverArchiver Posts: 46,084
    edited 2004-03-08 22:45
    I am new to stamps and I am trying to build a temperature controlled
    solenoid manifold that would be used for process control in the food
    industry using the Dallas SemiConductor "DS1620" or similiar and a
    BS2.

    I need to measure the temperature of the food and be able to open
    the solenoid valve when the temp at probe is at setpoint and close
    it when it is not.

    Has anyone done this with a Stamp before?

    Any thoughts on this would be most appreciated.

    Sincerely,

    Coonhillcreator
  • ArchiverArchiver Posts: 46,084
    edited 2004-03-08 23:45
    As a random thought, anything contacting food products, such as tubing
    or solenoids, has to be FDA/UL approved for food use. Same is true for
    temperature calibration.

    Dennis

    Original Message
    From: coonhillcreator [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=Kb8RffzwdBAGPjZy7ZzNEtoth6RnNjVNJhubM07E0P7qAw8OSmivGS4HSQpPJ0cSU_sELi_cZw]cmorris@t...[/url
    Sent: Monday, March 08, 2004 2:45 PM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] ds1620


    I am new to stamps and I am trying to build a temperature controlled
    solenoid manifold that would be used for process control in the food
    industry using the Dallas SemiConductor "DS1620" or similiar and a
    BS2.

    I need to measure the temperature of the food and be able to open
    the solenoid valve when the temp at probe is at setpoint and close
    it when it is not.

    Has anyone done this with a Stamp before?

    Any thoughts on this would be most appreciated.

    Sincerely,

    Coonhillcreator
  • ArchiverArchiver Posts: 46,084
    edited 2004-03-28 19:13
    I copied the code below from the APPnote for The ds160
    thermometer/thermostat.When I ran into problems,I went to the bare
    essentials of writing and then reading the configuration byte. I am
    writing %01 but reading back 0. The problem I have is in discering on
    which end the problem lies. I used an old TEK 475 oscope on the the
    Clock line and saw a periodic R/C curve. Seems like the deeper I look
    the more confused I get.


    DQ CON 2 ' Pin 2 <=> DQ.
    CLK CON 1 ' Pin 1 => CLK.
    RST CON 0 ' Pin 0 => RST (high = active).
    DSdata VAR Word ' Word variable to hold 9-bit data.
    Sign VAR DSdata.BIT8 ' Sign bit of raw temperature data.
    T_sign VAR Bit ' Saved sign bit for converted temperature.
    myread VAR Word
    x VAR Word
    ' ===================== Define DS1620 Constants ===================
    ' >>> Constants for configuring the DS1620
    Rconfig CON $AC ' Protocol for 'Read Configuration.'
    Wconfig CON $0C ' Protocol for 'Write Configuration.'
    CPU CON %10 ' Config bit: serial thermometer mode.
    NoCPU CON %00 ' Config bit: standalone thermostat mode.
    OneShot CON %01 ' Config bit: one conversion per start request.
    Cont CON %00 ' Config bit: continuous conversions after start.
    ' >>> Constants for serial thermometer applications.
    StartC CON $EE ' Protocol for 'Start Conversion.'
    StopC CON $22 ' Protocol for 'Stop Conversion.'
    Rtemp CON $AA ' Protocol for 'Read Temperature.'
    ' >>> Constants for programming thermostat functions.
    RhiT CON $A1 ' Protocol for 'Read High-Temperature Setting.'
    WhiT CON $01 ' Protocol for 'Write High-Temperature Setting.'
    RloT CON $A2 ' Protocol for 'Read Low-Temperature Setting.'
    WloT CON $02 ' Protocol for 'Write Low-Temperature Setting.'
    'Using the DS1620 Digital Thermometer / Thermostat
    'sales / technical support (916) 624-8333 · fax (916) 624-8003
    'pictech@p... · stamptech@p... Page 17
    'BASIC Stamp II Program Listing: Thermometer (cont.)
    ' ===================== Begin Program ============================
    FOR x=1 TO 300
    LOW RST ' Deactivate '1620 for now.
    HIGH CLK ' Put clock in starting state.
    PAUSE 10 ' Let things settle down a moment.
    HIGH RST ' Activate the 'and set it for continuous..
    SHIFTOUT DQ,CLK,LSBFIRST,[noparse][[/noparse]Wconfig,%10] ' ..temp conversions.
    LOW RST ' Done--deactivate.
    HIGH CLK
    PAUSE 150 ' Wait for the EEPROM to self-program.
    HIGH RST ' Now activate it again and send the..
    SHIFTOUT DQ,CLK,LSBFIRST,[noparse][[/noparse]Rconfig] ' Send read config ptotol.
    'PAUSE 1
    SHIFTIN DQ,CLK,LSBPRE,[noparse][[/noparse]Myread\8]
    LOW RST ' Done--deactivate.
    DEBUG BIN8? Myread
    NEXT
  • ArchiverArchiver Posts: 46,084
    edited 2004-03-28 20:31
    I've always started out with the CLK line low,
    not high. I don't know for sure that could be a
    problem--probably not if it's that way in the
    app-note. If the o'scope shows a gradual RC
    curve and not a sharp transition on the CLK line,
    that would indicate that something is not hooked
    up right. Be sure you have a bypass capacitor on
    the DS1620 power.

    -- Tracy


    >I copied the code below from the APPnote for The ds160
    >thermometer/thermostat.When I ran into problems,I went to the bare
    >essentials of writing and then reading the configuration byte. I am
    >writing %01 but reading back 0. The problem I have is in discering on
    >which end the problem lies. I used an old TEK 475 oscope on the the
    >Clock line and saw a periodic R/C curve. Seems like the deeper I look
    >the more confused I get.
    >
    >
    >DQ CON 2 ' Pin 2 <=> DQ.
    >CLK CON 1 ' Pin 1 => CLK.
    >RST CON 0 ' Pin 0 => RST (high = active).
    >DSdata VAR Word ' Word variable to hold 9-bit data.
    >Sign VAR DSdata.BIT8 ' Sign bit of raw temperature data.
    >T_sign VAR Bit ' Saved sign bit for converted temperature.
    >myread VAR Word
    >x VAR Word
    >' ===================== Define DS1620 Constants ===================
    >' >>> Constants for configuring the DS1620
    >Rconfig CON $AC ' Protocol for 'Read Configuration.'
    >Wconfig CON $0C ' Protocol for 'Write Configuration.'
    >CPU CON %10 ' Config bit: serial thermometer mode.
    >NoCPU CON %00 ' Config bit: standalone thermostat mode.
    >OneShot CON %01 ' Config bit: one conversion per start request.
    >Cont CON %00 ' Config bit: continuous conversions after start.
    >' >>> Constants for serial thermometer applications.
    >StartC CON $EE ' Protocol for 'Start Conversion.'
    >StopC CON $22 ' Protocol for 'Stop Conversion.'
    >Rtemp CON $AA ' Protocol for 'Read Temperature.'
    >' >>> Constants for programming thermostat functions.
    >RhiT CON $A1 ' Protocol for 'Read High-Temperature Setting.'
    >WhiT CON $01 ' Protocol for 'Write High-Temperature Setting.'
    >RloT CON $A2 ' Protocol for 'Read Low-Temperature Setting.'
    >WloT CON $02 ' Protocol for 'Write Low-Temperature Setting.'
    >'Using the DS1620 Digital Thermometer / Thermostat
    >'sales / technical support (916) 624-8333 · fax (916) 624-8003
    >'pictech@p... · stamptech@p... Page 17
    >'BASIC Stamp II Program Listing: Thermometer (cont.)
    >' ===================== Begin Program ============================
    > FOR x=1 TO 300
    > LOW RST ' Deactivate '1620 for now.
    > HIGH CLK ' Put clock in starting state.
    > PAUSE 10 ' Let things settle down a moment.
    > HIGH RST ' Activate the 'and set it for continuous..
    > SHIFTOUT DQ,CLK,LSBFIRST,[noparse][[/noparse]Wconfig,%10] ' ..temp conversions.
    > LOW RST ' Done--deactivate.
    > HIGH CLK
    > PAUSE 150 ' Wait for the EEPROM to self-program.
    > HIGH RST ' Now activate it again and send the..
    > SHIFTOUT DQ,CLK,LSBFIRST,[noparse][[/noparse]Rconfig] ' Send read config ptotol.
    > 'PAUSE 1
    > SHIFTIN DQ,CLK,LSBPRE,[noparse][[/noparse]Myread\8]
    > LOW RST ' Done--deactivate.
    > DEBUG BIN8? Myread
    > NEXT
  • ArchiverArchiver Posts: 46,084
    edited 2004-04-18 17:38
    ok i understand from the litrature i have its a digital thermometer,
    does it read temp at chip site, or can i make it read about4.5
    inches away from the chip site, as im reading it , the chip it self
    is a thermometer, but i see 2 pins not used,, mebe for external
    probe>?
  • ArchiverArchiver Posts: 46,084
    edited 2004-04-19 04:37
    As far as I know, the DS1620 reads the temperature of itself only. The other
    pins you mentioned are for hig and low setpoints and for communications.


    Original Message
    From: jutsuju [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=ZCmXjRw3QeMp_YSNVBnw9lilOjJRxf1EivPvXQzUeq5-HdOdcITsRkcAuPw2b3eEy_3OKpxhWYhYiaVGzFtM6A]xsavior38@h...[/url
    Sent: Sunday, April 18, 2004 10:39 AM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] ds1620


    ok i understand from the litrature i have its a digital thermometer,
    does it read temp at chip site, or can i make it read about4.5
    inches away from the chip site, as im reading it , the chip it self
    is a thermometer, but i see 2 pins not used,, mebe for external
    probe>?




    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject and
    Body of the message will be ignored.

    Yahoo! Groups Links
  • ArchiverArchiver Posts: 46,084
    edited 2004-04-19 13:15
    No, the temperature sensing is inside the body of the device.

    -- Jon Williams
    -- Applications Engineer, Parallax
    -- Dallas Office


    Original Message
    From: jutsuju [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=tA4T2pkCZIMRuN3kQlU3G2IGlJRZJ_jlxKZyD5PZ6IY8mFpRcH4szDwGfyUPoRLlHmEPWRNAbZm1YC8]xsavior38@h...[/url
    Sent: Sunday, April 18, 2004 11:39 AM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] ds1620


    ok i understand from the litrature i have its a digital thermometer,
    does it read temp at chip site, or can i make it read about4.5
    inches away from the chip site, as im reading it , the chip it self
    is a thermometer, but i see 2 pins not used,, mebe for external
    probe>?
Sign In or Register to comment.