Shop OBEX P1 Docs P2 Docs Learn Events
RTD/Thermocouple transmitter? — Parallax Forums

RTD/Thermocouple transmitter?

ArchiverArchiver Posts: 46,084
edited 2001-07-26 17:23 in General Discussion
Hey everyone,

I'm working on a project right now to monitor temperatures of various
bearings on a piece of equipment. There are 8 RTD probes which I need
to read and get the value into my stamp so I can pick up a permissive
relay to let the machine run if the temps are ok.

I'd like to use some sort of 4-20mA signal off the RTD's since the
stamp will be quite some distance away from the temp probes. I've
found several companies that sell RTD or Thermocouple 4-20mA
transmitters but the problem is the price. They want like $100 a
piece and I need to monitor 8 probes!

I was wondering if anyone had any schematics on how to build a 4-20mA
transmitter for a reasonable price and with reasonable accuracy based
around an RTD or Thermocouple (I could switch probes to thermocouple
type instead of RTD). Or even getting me going in the right direction
would be a great help.

Thanks in advance!
Tom

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2001-07-25 18:17
    I always prefer thermocouples. If precision was needed I would probably run
    them a short distance into a multiplexer and a Analog Devices Thermocouple
    chip, then transmit the results via a wireless transmitter to a receiver
    attached to the stamp. Of course, a cabled serin could do the same for a
    little less $, but wouldn't be as much fun. Either of these would cost far
    less than the multitude of transmitters.

    The method in Scott Edwards' book might also be worth a look.

    Chris

    >
    Original Message
    > From: tbanez@h... [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=LGp2AhdJYqIcrn9zxXTTM_sVBjmm324JZzece4zh1L2BPwE4I8-oQAz4LBTi5NgKMnz7O5E5kz4]tbanez@h...[/url
    > Sent: Wednesday, July 25, 2001 12:54 PM
    > To: basicstamps@yahoogroups.com
    > Subject: [noparse][[/noparse]basicstamps] RTD/Thermocouple transmitter?
    >
    >
    > Hey everyone,
    >
    > I'm working on a project right now to monitor temperatures of various
    > bearings on a piece of equipment. There are 8 RTD probes
    > which I need
    > to read and get the value into my stamp so I can pick up a permissive
    > relay to let the machine run if the temps are ok.
    >
    > I'd like to use some sort of 4-20mA signal off the RTD's since the
    > stamp will be quite some distance away from the temp probes. I've
    > found several companies that sell RTD or Thermocouple 4-20mA
    > transmitters but the problem is the price. They want like $100 a
    > piece and I need to monitor 8 probes!
    >
    > I was wondering if anyone had any schematics on how to build a 4-20mA
    > transmitter for a reasonable price and with reasonable accuracy based
    > around an RTD or Thermocouple (I could switch probes to thermocouple
    > type instead of RTD). Or even getting me going in the right
    > direction
    > would be a great help.
    >
    > Thanks in advance!
    > Tom
    >
    >
    > 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 2001-07-25 18:19
    For tbanez

    I am using LM34DZ temp sensors (1.83 ea) with a 30-foot cable into an ADC.
    Seems to work quite well with my BS2. Have designed a board -Urio Jr. - that
    has 6 SPDT relays, an 11-channel TLC2543 ADC and power supplies. Needs 4 I/O
    lines from an external Stamp.

    Sid
    Newzed@a...
  • ArchiverArchiver Posts: 46,084
    edited 2001-07-25 18:24
    Maybe you can get a LM34 temp sensor to work. Very easy to use, with
    a beefy output (75deg F = 750mV out) accy .5 deg F. National semi app
    data shows this device outputting to a long run of twisted pair.
    Costs less than 2 bucks apiece at radioshack.com (cheaper than
    digikey)

    My 2 cents

    Regards
    rich

    --- In basicstamps@y..., tbanez@h... wrote:
    > Hey everyone,
    >
    > I'm working on a project right now to monitor temperatures of
    various
    > bearings on a piece of equipment. There are 8 RTD probes which I
    need
    > to read and get the value into my stamp so I can pick up a
    permissive
    > relay to let the machine run if the temps are ok.
    >
    > I'd like to use some sort of 4-20mA signal off the RTD's since the
    > stamp will be quite some distance away from the temp probes. I've
    > found several companies that sell RTD or Thermocouple 4-20mA
    > transmitters but the problem is the price. They want like $100 a
    > piece and I need to monitor 8 probes!
    >
    > I was wondering if anyone had any schematics on how to build a 4-
    20mA
    > transmitter for a reasonable price and with reasonable accuracy
    based
    > around an RTD or Thermocouple (I could switch probes to
    thermocouple
    > type instead of RTD). Or even getting me going in the right
    direction
    > would be a great help.
    >
    > Thanks in advance!
    > Tom
  • ArchiverArchiver Posts: 46,084
    edited 2001-07-25 19:53
    The good way to read thermocouple output is thru a Cirrus Logic CS5522. The
    pbasic code below illustrates how you do this.

    Chuck

    'Program used to measure voltage analog data using a CIRRUS LOGIC CS5522, 24
    bit ADC chip
    'PARALLAX BS2p24 reads I/O data from the CS5522 thermocouple input (0 to
    100mv) channels 1 and 2
    'Crystal CS5521/22/23/24 Datatasheet DS317F2 (May '00) page 43, figure 21,
    for connection setup
    'requires chromel/alumel thermocouple table in program #1, ktab.bsp
    '5/7/01
    '{$STAMP BS2p,ktab}

    dathi var word 'thermocouple 12 bit high address
    datlo var word 'thermocouple 12 bit low address
    cojhi var word 'cold junction 12 bit high address
    cojlo var word 'cold junction 12 bit low address
    x var word
    y var word
    r var word
    v var word
    s var word
    rhi var byte
    rlo var byte
    rn var byte
    'BS2p pin connections to CS5522
    SCLK con 11 ' ADC Clock
    SDO con 10 ' ADC Data output
    SDI con 9 ' ADC Data input
    CS con 8 ' Chip select

    high CS
    pause 500
    serout 14,16630,[noparse][[/noparse]254,255] 'turn on lcd backlight
    serout 14,16620,[noparse][[/noparse]254,1]
    serout 14,16620,[noparse][[/noparse]"Setup for reading a"]
    serout 14,16620,[noparse][[/noparse]254,192]
    serout 14,16620,[noparse][[/noparse]"thermocouple and a"]
    serout 14,16620,[noparse][[/noparse]254,148]
    serout 14,16620,[noparse][[/noparse]"cold junction room"]
    serout 14,16620,[noparse][[/noparse]254,212]
    serout 14,16620,[noparse][[/noparse]"temperatures."]
    pause 5000
    low CS
    gosub RESET 'reset CS5522
    shiftout SDI,SCLK,1,[noparse][[/noparse]%00001011] 'read configuration register
    shiftin SDO,SCLK,0,[noparse][[/noparse]dathi\12,datlo\12]
    debug " CONFIG:",cr,"bits 23 to 12 ",bin12 dathi,cr,"bits 11 to 0 ",bin12
    datlo,cr,cr

    dathi=%000000001000 'write cnfiguration register
    datlo=%000000000000
    shiftout SDI,SCLK,1,[noparse][[/noparse]%00000011,dathi\12,datlo\12]

    shiftout SDI,SCLK,1,[noparse][[/noparse]%00001011] 'read configuration register
    shiftin SDO,SCLK,0,[noparse][[/noparse]dathi\12,datlo\12]
    debug " CONFIG:",cr,"bits 23 to 12 ",bin12 dathi,cr,"bits 11 to 0 ",bin12
    datlo,cr,cr

    dathi=%000000001000 'write cnfiguration register
    datlo=%000000000000
    shiftout SDI,SCLK,1,[noparse][[/noparse]%00000011,dathi\12,datlo\12]

    shiftout SDI,SCLK,1,[noparse][[/noparse]%00001011] 'read configuration register
    shiftin SDO,SCLK,0,[noparse][[/noparse]dathi\12,datlo\12]
    debug " CONFIG:",cr,"bits 23 to 12 ",bin12 dathi,cr,"bits 11 to 0 ",bin12
    datlo,cr,cr

    dathi=%000001100001 'write cnfiguration register
    datlo=%000000000000
    shiftout SDI,SCLK,1,[noparse][[/noparse]%00000011,dathi\12,datlo\12]

    shiftout SDI,SCLK,1,[noparse][[/noparse]%00001011] 'read configuration register
    shiftin SDO,SCLK,0,[noparse][[/noparse]dathi\12,datlo\12]
    debug " CONFIG:",cr,"bits 23 to 12 ",bin12 dathi,cr,"bits 11 to 0 ",bin12
    datlo,cr,cr

    dathi=%100100111010 'write gain register 1 (C/A thermocouple)
    datlo=%000000000000
    shiftout SDI,SCLK,1,[noparse][[/noparse]%00010010,dathi\12,datlo\12]

    dathi=%010000000000 'write gain register 2 (LM334 cold
    junction)
    datlo=%000000000000
    shiftout SDI,SCLK,1,[noparse][[/noparse]%00000010,dathi\12,datlo\12]

    shiftout SDI,SCLK,1,[noparse][[/noparse]%00001010] 'read gain register 1
    shiftin SDO,SCLK,0,[noparse][[/noparse]dathi\12,datlo\12]
    debug " GAIN:",cr,"bits 23 to 12 ",bin12 dathi,cr,"bits 11 to 0 ",bin12
    datlo,cr,cr

    datlo=%000010000011 'write channel setup registers 1 and 2
    dathi=%000000001000
    shiftout SDI,SCLK,1,[noparse][[/noparse]%00000101,dathi\12,datlo\12]

    shiftout SDI,SCLK,1,[noparse][[/noparse]%00001101] 'read channel setup register 1
    shiftin SDO,SCLK,0,[noparse][[/noparse]dathi\12,datlo\12]
    debug " SETUP:",cr,"bits 23 to 12 ",bin12 dathi,cr,"bits 11 to 0 ",bin12
    datlo,cr,cr

    store 1 'C/A thermocouple data table from 0 to 2000 C

    serout 14,16620,[noparse][[/noparse]254,1]
    serout 14,16620,[noparse][[/noparse]"BS2p40 reads a LM335"]
    serout 14,16620,[noparse][[/noparse]254,192]
    serout 14,16620,[noparse][[/noparse]"and C/A Thermocouple"]
    REPEAT
    shiftout SDI,SCLK,1,[noparse][[/noparse]%10001000] 'activate data reading of channels 1
    and 2
    pause 500
    shiftin SDO,SCLK,0,[noparse][[/noparse]cojhi\12,cojlo\12,dathi\12,datlo\12]
    r=(((cojhi<<12)+(cojlo>>0)))
    debug " Voltage1 = ",dec r," counts",cr
    v=(r/79)-273
    serout 14,16620,[noparse][[/noparse]254,148]
    pause 1
    serout 14,16620,[noparse][[/noparse]dec v," deg C @LM335 "]
    debug " Voltage1 = ",dec v," deg C @LM335",cr
    s=2*v
    read s,rhi
    read s+1,rlo
    r=(((dathi<<12)+(datlo<<0))*4)-200 'convert to lower 16
    bits only
    v=r
    r=r+(rhi*256)+rlo
    dathi=r.highbyte:datlo=r.lowbyte
    ' debug " Voltage2 = ",dec r," counts",cr
    for x=0 to 2000 step 2
    read x,y
    if y=dathi then aa
    next
    aa:
    for s=x+1 to 2000 step 2
    read s,y
    read s-1,rn
    if dathi<rn then aaa
    if y>= datlo then aaa
    next
    aaa:
    s=s/2
    debug " Voltage2 = ",dec v," counts ", dec s," deg C @LM2904",cr
    pause 1
    v=((s*18)/10)+32
    serout 14,16620,[noparse][[/noparse]254,212,dec v," deg F @LM2940 "]
    goto REPEAT

    RESET 'initialize CS5522
    shiftout
    SDI,SCLK,1,[noparse][[/noparse]$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FE]
    dathi=%000000000000 'activate reset in configuration register
    datlo=%000010000000
    shiftout SDI,SCLK,1,[noparse][[/noparse]%00000011,dathi\12,datlo\12]
    return




    [noparse][[/noparse]Non-text portions of this message have been removed]
  • ArchiverArchiver Posts: 46,084
    edited 2001-07-26 06:21
    Visit
    http://www.burr-brown.com
    or
    http://www.ti.com

    and search for "loop transmitter"
    to find the XTR105 and app notes.

    Also, the LM10 is a venerable chip for making current transmitters.
    Look at the app notes for it from http://www.national.com


    -- Tracy

    >Hey everyone,
    >
    >I'm working on a project right now to monitor temperatures of various
    >bearings on a piece of equipment. There are 8 RTD probes which I need
    >to read and get the value into my stamp so I can pick up a permissive
    >relay to let the machine run if the temps are ok.
    >
    >I'd like to use some sort of 4-20mA signal off the RTD's since the
    >stamp will be quite some distance away from the temp probes. I've
    >found several companies that sell RTD or Thermocouple 4-20mA
    >transmitters but the problem is the price. They want like $100 a
    >piece and I need to monitor 8 probes!
    >
    >I was wondering if anyone had any schematics on how to build a 4-20mA
    >transmitter for a reasonable price and with reasonable accuracy based
    >around an RTD or Thermocouple (I could switch probes to thermocouple
    >type instead of RTD). Or even getting me going in the right direction
    >would be a great help.
    >
    >Thanks in advance!
    >Tom
  • ArchiverArchiver Posts: 46,084
    edited 2001-07-26 15:13
    Here is another idea that does not require
    4-20ma conversion.

    I am using PicBasicPro to program the
    PIC14000 processor that has 7 onboard
    16 bit a/d pins and an internal temp sensor.

    I think I can program two of
    these chips to a/d the 3 or 4 TC signals along
    with a reference TC attached to the PIC14000,
    and that would allow you to correct
    the temps. The PIC4000 could send the
    results to your STAMP by a serial
    signal.

    It all depends on how high your temps
    are, how much resolution you need, and
    whether my a/d can process the TC
    signals without an opamp.

    Caio,

    Dave

    > Date: Wed, 25 Jul 2001 16:54:22 -0000
    > From: tbanez@h...
    > Subject: RTD/Thermocouple transmitter?
    >
    > Hey everyone,
    >
    > I'm working on a project right now to monitor temperatures of various
    > bearings on a piece of equipment. There are 8 RTD probes which I need
    > to read and get the value into my stamp so I can pick up a permissive
    > relay to let the machine run if the temps are ok.
  • ArchiverArchiver Posts: 46,084
    edited 2001-07-26 16:44
    If what you really need to do is through a switch when temperature
    exceeds some value then you might use an IC with a thermostat control
    on it. There are temperature sensing ICs that can
    a) use external temperature sensor, in addition to on-chip
    b) have non-volatile programmable switch points.

    You can turn transmition of the temperature into a single state, if
    you once program these. Tragically, I can't remember the part
    numbers, but I think they were Dallas Semi. They might even give you
    enough samples...



    --
    Park Hays Phone: (315) 456-3221 Fax: (315) 456-1793
    EP5-131 MD-11A, Electronics Park, Liverpool, NY 13088
  • ArchiverArchiver Posts: 46,084
    edited 2001-07-26 17:23
    Thermocouples have tiny output levels (uV) for which PIC A/D does not have
    sufficient resolution. You will need to amplify and condition thermocouple
    outputs for input to almost anything. You could spend your days working on
    an op amp solution, then you would still need to figure out some filtering.
    Chips like the AD594/5 do all this for you. Although the millivolt output is
    small, it's more workable than microvolts, it will be fairly linear, and it
    won't be noisy. I wouldn't discourage anyone from trying, but why re-invent
    the wheel? People much smarter than all of us gave up on this years ago, and
    developed the T/C input processors we see today.
    Thermocouples are the tool of choice for industrial temp measurement for
    scores of reasons. T/C input chips make them work for you easily at what is
    still a much lower cost than most options. This method will still cost more
    than $1.380, but it will get you where you need to be relatively
    inexpensively, and in the same century.

    On the other hand, if you find a way to input a T/C directly, please let the
    world know...

    Chris

    >
    Original Message
    > From: David Saum [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=gqO5MhToeFgGojMDB2VOTOraCpMQakxu_scO5eTZ7ZJ1_DTLv6HoihrGtGQV5wCLJJ9I_L7pqpAZenD1AQ]DSaum@i...[/url
    > Sent: Thursday, July 26, 2001 10:13 AM
    > To: basicstamps@yahoogroups.com
    > Subject: [noparse][[/noparse]basicstamps] Re: RTD/Thermocouple transmitter?
    >
    >
    > Here is another idea that does not require
    > 4-20ma conversion.
    >
    > I am using PicBasicPro to program the
    > PIC14000 processor that has 7 onboard
    > 16 bit a/d pins and an internal temp sensor.
    >
    > I think I can program two of
    > these chips to a/d the 3 or 4 TC signals along
    > with a reference TC attached to the PIC14000,
    > and that would allow you to correct
    > the temps. The PIC4000 could send the
    > results to your STAMP by a serial
    > signal.
    >
    > It all depends on how high your temps
    > are, how much resolution you need, and
    > whether my a/d can process the TC
    > signals without an opamp.
    >
    >
Sign In or Register to comment.