element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Experts, Learning and Guidance
  • Technologies
  • More
Experts, Learning and Guidance
Ask an Expert Forum Have a question about ADCs or DACs? Ask our Expert, Nick Gray
  • Blog
  • Forum
  • Documents
  • Leaderboard
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Experts, Learning and Guidance to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 118 replies
  • Subscribers 313 subscribers
  • Views 14022 views
  • Users 0 members are here
  • expert
  • nick_gray
  • power
Related
See a helpful answer?

Be sure to click 'more' and select 'suggest as answer'!

If you're the thread creator, be sure to click 'more' then 'Verify as Answer'!

Have a question about ADCs or DACs? Ask our Expert, Nick Gray

ChristyZ
ChristyZ over 16 years ago

This thread has been closed to new questions.

However, we welcome you to Post Your Question about Communications in the element14 Community Wireless Communications Technology group. You'll find many fellow members and experts who have just the answer you're looking to find! 

 

Thank You, Your Friends at element14 Community


Nick Gray

 

Nicholas Gray

Nicholas has worked in the Semiconductor industry for over 30 years and has authored a number of published articles about data converters (ADCs and DACs) and signal integrity issues.

 

  • Sign in to reply
  • Cancel

Top Replies

  • nickgray
    nickgray over 14 years ago in reply to Former Member +1
    Hi, Ben, A couple of ADCs that should do well in your application with Hall Effect sensors are the ADS1146 and the ADS1255, both from Texas Instruments. I am sure that other suppliers probably have suitable…
  • nickgray
    nickgray over 14 years ago in reply to YT2095 +1
    The reason that you picked up radio signals when connecting a long wire antenna to the input is because the ADC had an input bandwidth that could pick up those signals. The sampling action of the ADC then…
Parents
  • Former Member
    Former Member over 13 years ago

    I am making a temprature sensor using PT100, which outputs a change a voltage value for a corresponding temprature. This temprature is given to the ADC module of pic16f877a, i don't understand how to find an equivalent temp for a voltage i/p given to the ADC. Can you help me with this?( i know a look-up table is to be made, but how??)image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • nickgray
    nickgray over 13 years ago in reply to Former Member

    Hello, Vineeta –

     

    Forgive me if I provide too much information, but I want to be sure you understand how to properly use your PT100 RTD.

     

    PT100 is a term used to designate a platinum RTD (Resistance Temperature Detector) with a nominal resistance of 100 Ohms at zero degrees Celsius. A PT500 would have a nominal resistance of 500 Ohms at zero degrees Celsius and a PT1000 would have a nominal resistance of 1000 Ohms at zero degrees Celsius. The resistance of a PT100 increases as its temperature rises and decreases as its temperature is reduced. It is extremely important to realize that an RTD measures ITS OWN TEMPERATURE by changing its resistance. It is also important to note that current through the RTD will raise its temperature. This is called self-heating. Therefore, it is important not to drive an RTD with too much current. For a PT100 it is common to provide a current of no more than 1.0mA through the RTD to prevent self-heating.

     

    You can force a known, accurate current through the RTD and measure the voltage across it to determine its resistance (R = E / I). Or you can put a fixed, accurate resistance in series with the RTD and apply a voltage across this series combination. With the latter you will need to make two measurements: one across the fixed resistor and one across the RTD. You will determine the current through this series circuit by measuring the current through the fixed resistor (I = E / R), and determine the resistance of the PT100 RTD from this current (R = E / I). The latter is most often used because an accurate current source is a rather complicated circuit.

     

    Now that you know the resistance of the PT100, there are two ways to determine the temperature of the PT100. The first way is to use the formula T = 0.3661 * R. This is very simple, but produces an error of plus or minus 1.5% over the temperature range of -45 degrees C to +130 degrees C. This error is in addition to the specified tolerance of the PT100 and gets greater outside of the range of -45 to +130 degrees C. Platinum RTDs such as the PT100 come in various tolerances called Class A, Class B and Class C, and some manufacturers provide a tighter tolerance than these standard classes.

     

    To get better accuracy than with a formula, you need to use a lookup table. The lookup table is nothing more than a table of resistance values corresponding to RTD temperature. An abbreviated PT100 lookup table is shown here:

    °C

    R

    -40

    84.271

    -20

    92.16

    0

    100.00

    20

    107.794

    40

    115.541

    60

    123.242

    80

    130.897

    100

    138.506

     

    So, how do we use this table? If we measure a PT100 resistance of 107,794 Ohms, we look up that value in the second column of the table above and note that the temperature is 20 degrees C. But what if we measure a resistance of 110.53 Ohms? That value is not in the table. In this case we must interpolate between values that are in the table. We assume that the table is linear between 20 and 40 degrees C, which bracket the 110.53 value. We find that this value is 35.3% of the way from 20 degrees C to 40 degrees C. This means that the temperature is found to be:

                       20 + 0.353 * (40 - 20) = 27.06 degrees C.

     

    There would be some error due to the fact that the curve may not be linear between 10 and 40 degrees C. For this reason it is best to have as complete a lookup table as possible for high accuracy. A large lookup table, however, takes a lot of memory.

     

    I have tried to briefly describe the lookup table and how to use it, which I believe is what you asked. I also tried to give you some helpful information on using an RTD. I did not discuss the possible need to amplify the voltage readings and the possible problems of doing so (such as gain accuracy and amplifier offset and offset drift problems) and how to overcome these problems.

     

    I do hope this information helps.

     

    Nick Gray

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 13 years ago in reply to nickgray

    @ Vineeta

     

    You can simplify things a bit when you measure the PT resistance with a series precision resistor.

    If you use the same reference voltage as the reference for the ADC and the resistors then it doesn't matter what the actual reference voltage is.

    Suppose the reference resistor is connected to between the reference voltage and the PT sensor and the other end of the PT sensor to the system  0V.

    The voltage at the mid point = (Vr/(Rpt + Rr))*Rpt.

    The ADC reading will be (ADCmax/(Rpt + Rr))*Rpt

    so Rpt = (Rr*ADC)/(ADCmax-ADC) where ADC is the ADC reading.

     

    And of course you don't need to use a look up table - you can get a very good result by using a polynomial expression to calculate the resistance at any temperature.

     

    I have  a nice lttle book published by Labfacility (The Temperature Handbook) which explains all this and more - they have a web site www.labfacility.co.uk and the little books used to be free.

     

    If you temperature sensor is any distance away from the ADC you will need  amuch more sophisticated arrangement so let us know if it is.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • nickgray
    nickgray over 13 years ago in reply to michaelkellett

    @Vineeta

     

    Some very good points, Michael. Thanks for them. I would suggest using RA3 and and RA2 for the ADC reference. The polynomial equation to use can generally be obtained from the RTD data sheet.

     

    Nick Gray

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to nickgray

    Thanks, Micheal and Nick!image  Will work on these points and let you know how it goes.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to michaelkellett

    Hi the Rpt equation has been very helpfull to me, but isnt voltage at the mid point = (Rpt/(Rpt + Rr))*Vr rather than (Vr/(Rpt + Rr))*Rpt.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 12 years ago in reply to Former Member

    @ Neal,

     

    What's the difference -

     

    (Rpt/(Rpt + Rr))*Vr =  (Vr/(Rpt + Rr))*Rpt

     


    (Rpt/(Rpt + Rr))*Vr = (1/(Rpt + Rr))*Vr*Rpt =  (Vr/(Rpt + Rr))*Vr*Rpt

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • michaelkellett
    michaelkellett over 12 years ago in reply to Former Member

    @ Neal,

     

    What's the difference -

     

    (Rpt/(Rpt + Rr))*Vr =  (Vr/(Rpt + Rr))*Rpt

     


    (Rpt/(Rpt + Rr))*Vr = (1/(Rpt + Rr))*Vr*Rpt =  (Vr/(Rpt + Rr))*Vr*Rpt

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • nickgray
    nickgray over 12 years ago in reply to michaelkellett

    I do not know if you ever received an answer, but I do not see one. The term you show as

        (Vr/(Rpt + Rr))*Vr*Rpt

    is in error. It should be

         (Vr/(Rpt + Rr))*Rpt

    That is, the "Vr" term near the end should not be there.


    Nick Gray

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 12 years ago in reply to nickgray

    Quite right - my only excuse is that trying to wrestle with the E14 editor and do algebra at the same time was too much for me image

     

    MK

     

     

    This thread has been closed to new questions.

    However, we welcome you to Post Your Question about Communications in the element14 Community Wireless Communications Technology group. You'll find many fellow members and experts who have just the answer you're looking to find! 

     

    Thank You, Your Friends at element14 Community

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube