Loading ...
Sorry, an error occurred while loading the content.

Diode temp signal conditioner for Arduino

Expand Messages
  • Steve Greenfield
    As part of a series of classes on Op Amps and comparators, I ll be showing how to amplify and remove offset from incoming signals for the purposes of getting
    Message 1 of 10 , May 9, 2013
    • 0 Attachment
      As part of a series of classes on Op Amps and comparators, I'll be showing how to amplify and remove offset from incoming signals for the purposes of getting the most resolution from the ADC in an Arduino.

      The plan is to measure the range from 0C to 100C, taking advantage of the ability to change the Arduino's ADC range down to 0-1.1V. This is so we can use more widely available Op Amps, as most Op Amps (especially FET input) can do input down to the negative rail (ground in a single voltage supply) but generally can't get closer than a few hundred mV or even a full diode drop from the power rails.

      It will be a single diode with current fed through a simple resistor. This will cause a little nonlinearity over using a constant current source, but for the purposes of this demonstration and simplicity we'll either ignore that or compensate in software. 

      The diode will be connected to the inverting input via a negative feedback network consisting of 100k and 1M resistors for a gain of 10 inverted. At about 2mV drop per degree celcius, that amplifies 0 to 100C to a drop of about 200mV with an offset of about 600mV.

      The noninverting input is connected to an adjustable voltage divider. This cancels out the offset, and will be adjusted when you have the diode suspended in a cup full of wet slush (frozen from distilled water, your 0C reference) for an output of 0V.

      The output of the Op Amp has a diode connected -between- it and the 1M feedback resistor. Yes, the diode is within the feedback network, that is important. Cathode to Op Amp output, Anode to 1M resistor and to a 20 turn trimpot of somewhere between 1k and 10k. This trimpot is adjusted, -after- the Zero Cal is set, for an output of 100mV when the diode is suspended in a pot of boiling distilled water.

      The diode enables the output to drop to 0V, while the output of the Op Amp remains one diode drop above ground.

      I'll be using an Op Amp with external offset adjust terminals in order to demo that, too.

      There are a host of Op Amps that should work in this circuit. The inputs and output never goes below about 0.5V above ground.


       
      Steve Greenfield AE7HD
      http://www.linkedin.com/in/stevenjgreenfield

      [Non-text portions of this message have been removed]
    • Aaron Turner
      Dumb question, but is this series going to be made available online? If so, where? [Non-text portions of this message have been removed]
      Message 2 of 10 , May 9, 2013
      • 0 Attachment
        Dumb question, but is this series going to be made available online? If
        so, where?


        [Non-text portions of this message have been removed]
      • Howard Hansen
        Where are the classes held? Is this something aimed at people living in the Seattle area? Will you publish notes? The other Howard ... [Non-text portions of
        Message 3 of 10 , May 9, 2013
        • 0 Attachment
          Where are the classes held? Is this something aimed at people living in
          the Seattle area? Will you publish notes?

          The other Howard



          On 5/9/2013 4:25 PM, Steve Greenfield wrote:
          >
          > As part of a series of classes on Op Amps and comparators, I'll be
          > showing how to amplify and remove offset from incoming signals for the
          > purposes of getting the most resolution from the ADC in an Arduino.
          >
          > The plan is to measure the range from 0C to 100C, taking advantage of
          > the ability to change the Arduino's ADC range down to 0-1.1V. This is
          > so we can use more widely available Op Amps, as most Op Amps
          > (especially FET input) can do input down to the negative rail (ground
          > in a single voltage supply) but generally can't get closer than a few
          > hundred mV or even a full diode drop from the power rails.
          >
          > It will be a single diode with current fed through a simple resistor.
          > This will cause a little nonlinearity over using a constant current
          > source, but for the purposes of this demonstration and simplicity
          > we'll either ignore that or compensate in software.
          >
          > The diode will be connected to the inverting input via a negative
          > feedback network consisting of 100k and 1M resistors for a gain of 10
          > inverted. At about 2mV drop per degree celcius, that amplifies 0 to
          > 100C to a drop of about 200mV with an offset of about 600mV.
          >
          > The noninverting input is connected to an adjustable voltage divider.
          > This cancels out the offset, and will be adjusted when you have the
          > diode suspended in a cup full of wet slush (frozen from distilled
          > water, your 0C reference) for an output of 0V.
          >
          > The output of the Op Amp has a diode connected -between- it and the 1M
          > feedback resistor. Yes, the diode is within the feedback network, that
          > is important. Cathode to Op Amp output, Anode to 1M resistor and to a
          > 20 turn trimpot of somewhere between 1k and 10k. This trimpot is
          > adjusted, -after- the Zero Cal is set, for an output of 100mV when the
          > diode is suspended in a pot of boiling distilled water.
          >
          > The diode enables the output to drop to 0V, while the output of the Op
          > Amp remains one diode drop above ground.
          >
          > I'll be using an Op Amp with external offset adjust terminals in order
          > to demo that, too.
          >
          > There are a host of Op Amps that should work in this circuit. The
          > inputs and output never goes below about 0.5V above ground.
          >
          >
          > Steve Greenfield AE7HD
          > http://www.linkedin.com/in/stevenjgreenfield
          >
          > [Non-text portions of this message have been removed]
          >
          >



          [Non-text portions of this message have been removed]
        • AlienRelics
          Not a dumb question at all. Right now I m speaking extemporaneously, so I ve not wanted to record it. I do plan on polishing this a bit more and putting it up
          Message 4 of 10 , May 9, 2013
          • 0 Attachment
            Not a dumb question at all.

            Right now I'm speaking extemporaneously, so I've not wanted to record it. I do plan on polishing this a bit more and putting it up on YouTube.

            Steve Greenfield AE7HD

            --- In Electronics_101@yahoogroups.com, Aaron Turner <synfinatic@...> wrote:
            >
            > Dumb question, but is this series going to be made available online? If
            > so, where?
            >
            >
            > [Non-text portions of this message have been removed]
            >
          • AlienRelics
            The classes are being held at OlyMEGA s space in Olympia, WA, about 45 minutes south of Seattle. http://www.olymega.com At some point, I will upload schematics
            Message 5 of 10 , May 9, 2013
            • 0 Attachment
              The classes are being held at OlyMEGA's space in Olympia, WA, about 45 minutes south of Seattle.

              http://www.olymega.com

              At some point, I will upload schematics with notes (and maybe an LTSpice file or two) somewhere.

              Steve Greenfield AE7HD

              --- In Electronics_101@yahoogroups.com, Howard Hansen <hrhan@...> wrote:
              >
              > Where are the classes held? Is this something aimed at people living in
              > the Seattle area? Will you publish notes?
              >
              > The other Howard
              >
              >
              >
              > On 5/9/2013 4:25 PM, Steve Greenfield wrote:
              > >
              > > As part of a series of classes on Op Amps and comparators, I'll be
              > > showing how to amplify and remove offset from incoming signals for the
              > > purposes of getting the most resolution from the ADC in an Arduino.
              > >
              > > The plan is to measure the range from 0C to 100C, taking advantage of
              > > the ability to change the Arduino's ADC range down to 0-1.1V. This is
              > > so we can use more widely available Op Amps, as most Op Amps
              > > (especially FET input) can do input down to the negative rail (ground
              > > in a single voltage supply) but generally can't get closer than a few
              > > hundred mV or even a full diode drop from the power rails.
              > >
              > > It will be a single diode with current fed through a simple resistor.
              > > This will cause a little nonlinearity over using a constant current
              > > source, but for the purposes of this demonstration and simplicity
              > > we'll either ignore that or compensate in software.
              > >
              > > The diode will be connected to the inverting input via a negative
              > > feedback network consisting of 100k and 1M resistors for a gain of 10
              > > inverted. At about 2mV drop per degree celcius, that amplifies 0 to
              > > 100C to a drop of about 200mV with an offset of about 600mV.
              > >
              > > The noninverting input is connected to an adjustable voltage divider.
              > > This cancels out the offset, and will be adjusted when you have the
              > > diode suspended in a cup full of wet slush (frozen from distilled
              > > water, your 0C reference) for an output of 0V.
              > >
              > > The output of the Op Amp has a diode connected -between- it and the 1M
              > > feedback resistor. Yes, the diode is within the feedback network, that
              > > is important. Cathode to Op Amp output, Anode to 1M resistor and to a
              > > 20 turn trimpot of somewhere between 1k and 10k. This trimpot is
              > > adjusted, -after- the Zero Cal is set, for an output of 100mV when the
              > > diode is suspended in a pot of boiling distilled water.
              > >
              > > The diode enables the output to drop to 0V, while the output of the Op
              > > Amp remains one diode drop above ground.
              > >
              > > I'll be using an Op Amp with external offset adjust terminals in order
              > > to demo that, too.
              > >
              > > There are a host of Op Amps that should work in this circuit. The
              > > inputs and output never goes below about 0.5V above ground.
              > >
              > >
              > > Steve Greenfield AE7HD
              > > http://www.linkedin.com/in/stevenjgreenfield
              > >
              > > [Non-text portions of this message have been removed]
              > >
              > >
              >
              >
              >
              > [Non-text portions of this message have been removed]
              >
            • Michael
              Steve, one place where an offset needs to be removed is the DAC on the Arduino Due. The output voltage range does not go to zero - real bummer. Need a
              Message 6 of 10 , May 9, 2013
              • 0 Attachment
                Steve,
                one place where an offset needs to be removed is the DAC on the Arduino Due. The output voltage range does not go to zero - real bummer. Need a single supply op amp solution for this.
                Mike.



                --- In Electronics_101@yahoogroups.com, Steve Greenfield <alienrelics@...> wrote:
                >
                > As part of a series of classes on Op Amps and comparators, I'll be showing how to amplify and remove offset from incoming signals for the purposes of getting the most resolution from the ADC in an Arduino.
                >
                > The plan is to measure the range from 0C to 100C, taking advantage of the ability to change the Arduino's ADC range down to 0-1.1V. This is so we can use more widely available Op Amps, as most Op Amps (especially FET input) can do input down to the negative rail (ground in a single voltage supply) but generally can't get closer than a few hundred mV or even a full diode drop from the power rails.
                >
                > It will be a single diode with current fed through a simple resistor. This will cause a little nonlinearity over using a constant current source, but for the purposes of this demonstration and simplicity we'll either ignore that or compensate in software. 
                >
                > The diode will be connected to the inverting input via a negative feedback network consisting of 100k and 1M resistors for a gain of 10 inverted. At about 2mV drop per degree celcius, that amplifies 0 to 100C to a drop of about 200mV with an offset of about 600mV.
                >
                > The noninverting input is connected to an adjustable voltage divider. This cancels out the offset, and will be adjusted when you have the diode suspended in a cup full of wet slush (frozen from distilled water, your 0C reference) for an output of 0V.
                >
                > The output of the Op Amp has a diode connected -between- it and the 1M feedback resistor. Yes, the diode is within the feedback network, that is important. Cathode to Op Amp output, Anode to 1M resistor and to a 20 turn trimpot of somewhere between 1k and 10k. This trimpot is adjusted, -after- the Zero Cal is set, for an output of 100mV when the diode is suspended in a pot of boiling distilled water.
                >
                > The diode enables the output to drop to 0V, while the output of the Op Amp remains one diode drop above ground.
                >
                > I'll be using an Op Amp with external offset adjust terminals in order to demo that, too.
                >
                > There are a host of Op Amps that should work in this circuit. The inputs and output never goes below about 0.5V above ground.
                >
                >
                >  
                > Steve Greenfield AE7HD
                > http://www.linkedin.com/in/stevenjgreenfield
                >
                > [Non-text portions of this message have been removed]
                >
              • Larry Beaty
                Steve and all, I wrote an equation in Excel to calculate the gain and offset for using diode temp sensors. I use four 1N4148 in series to get the temp sense
                Message 7 of 10 , May 10, 2013
                • 0 Attachment
                  Steve and all,



                  I wrote an equation in Excel to calculate the gain and offset for using
                  diode temp sensors. I use four 1N4148 in series to get the temp sense gain
                  up. Somewhere around 10 mV/C.



                  Let's see if I can get you all the Excel datasheet with the equation. Yup,
                  that looks like it.



                  You wire the four diodes in series. Give the diodes about 1 MA of current.
                  Measure across the diodes for your sense voltage. Dunk in boiling water,
                  record the voltage. Dunk in Ice Water and measure the voltage. Take those
                  two voltages an put in the spread sheet of above. Select your required op
                  amp output voltage. I usually use 10.0K for R3. Then the spreadsheet
                  calculates the other two resistors needed to get your proper voltage for
                  your project.



                  I use this for all my diode temp sensor input to the uP. If you want other
                  than 212F to 32F, use Y = MX + B or in our terms, F = MV + B. You have the
                  two sets of data to calculate the slope equation. Now you can get exactly
                  the Voltage you will get for the F you desire.



                  Best wishes,



                  Larry







                  From: Electronics_101@yahoogroups.com
                  [mailto:Electronics_101@yahoogroups.com] On Behalf Of AlienRelics
                  Sent: Friday, May 10, 2013 12:18 AM
                  To: Electronics_101@yahoogroups.com
                  Subject: [Electronics_101] Re: Diode temp signal conditioner for Arduino





                  Not a dumb question at all.

                  Right now I'm speaking extemporaneously, so I've not wanted to record it. I
                  do plan on polishing this a bit more and putting it up on YouTube.

                  Steve Greenfield AE7HD

                  --- In Electronics_101@yahoogroups.com
                  <mailto:Electronics_101%40yahoogroups.com> , Aaron Turner <synfinatic@...>
                  wrote:
                  >
                  > Dumb question, but is this series going to be made available online? If
                  > so, where?
                  >
                  >
                  > [Non-text portions of this message have been removed]
                  >





                  [Non-text portions of this message have been removed]
                • Larry Beaty
                  OK you got me! I have just uploaded my Excel file to the files location. It is labeled OpAmpOffGain . Larry From: Electronics_101@yahoogroups.com
                  Message 8 of 10 , May 10, 2013
                  • 0 Attachment
                    OK you got me! I have just uploaded my Excel file to the files location.
                    It is labeled "OpAmpOffGain".



                    Larry



                    From: Electronics_101@yahoogroups.com
                    [mailto:Electronics_101@yahoogroups.com] On Behalf Of Larry Beaty
                    Sent: Friday, May 10, 2013 10:48 AM
                    To: Electronics_101@yahoogroups.com
                    Subject: RE: [Electronics_101] Re: Diode temp signal conditioner for Arduino





                    Steve and all,

                    I wrote an equation in Excel to calculate the gain and offset for using
                    diode temp sensors. I use four 1N4148 in series to get the temp sense gain
                    up. Somewhere around 10 mV/C.

                    Let's see if I can get you all the Excel datasheet with the equation. Yup,
                    that looks like it.

                    You wire the four diodes in series. Give the diodes about 1 MA of current.
                    Measure across the diodes for your sense voltage. Dunk in boiling water,
                    record the voltage. Dunk in Ice Water and measure the voltage. Take those
                    two voltages an put in the spread sheet of above. Select your required op
                    amp output voltage. I usually use 10.0K for R3. Then the spreadsheet
                    calculates the other two resistors needed to get your proper voltage for
                    your project.

                    I use this for all my diode temp sensor input to the uP. If you want other
                    than 212F to 32F, use Y = MX + B or in our terms, F = MV + B. You have the
                    two sets of data to calculate the slope equation. Now you can get exactly
                    the Voltage you will get for the F you desire.

                    Best wishes,

                    Larry

                    From: Electronics_101@yahoogroups.com
                    <mailto:Electronics_101%40yahoogroups.com>
                    [mailto:Electronics_101@yahoogroups.com
                    <mailto:Electronics_101%40yahoogroups.com> ] On Behalf Of AlienRelics
                    Sent: Friday, May 10, 2013 12:18 AM
                    To: Electronics_101@yahoogroups.com
                    <mailto:Electronics_101%40yahoogroups.com>
                    Subject: [Electronics_101] Re: Diode temp signal conditioner for Arduino

                    Not a dumb question at all.

                    Right now I'm speaking extemporaneously, so I've not wanted to record it. I
                    do plan on polishing this a bit more and putting it up on YouTube.

                    Steve Greenfield AE7HD

                    --- In Electronics_101@yahoogroups.com
                    <mailto:Electronics_101%40yahoogroups.com>
                    <mailto:Electronics_101%40yahoogroups.com> , Aaron Turner <synfinatic@...>
                    wrote:
                    >
                    > Dumb question, but is this series going to be made available online? If
                    > so, where?
                    >
                    >
                    > [Non-text portions of this message have been removed]
                    >

                    [Non-text portions of this message have been removed]





                    [Non-text portions of this message have been removed]
                  • AlienRelics
                    Heh, child s play. Set up an Op Amp as a noninverting buffer, but instead of connecting the output directly to the inverting input, set up the usual negative
                    Message 9 of 10 , May 10, 2013
                    • 0 Attachment
                      Heh, child's play.

                      Set up an Op Amp as a noninverting buffer, but instead of connecting the output directly to the inverting input, set up the usual negative feedback resistors R1 and R2 with equal values which will give you a gain of 2.

                      But rather than connecting R1 to ground, connect it to a trimpot. One side to ground, the other to a resistor which then connects to Vcc. Arm of the trimpot to R1 (trimpot resistance <<R1) and adjust for zero V output from the Op Amp when the Due's DAC is set to zero output.

                      You'll need an Op Amp that has outputs and inputs capable of going to ground, and there is the issue of the gain of 2. If the gain is a problem, solve it by putting a couple of equal value resistors as a voltage divider from the Due to the Op Amp noninverting input.

                      You are really just setting up a differential input Op Amp circuit with the Due to the noninverting input, and a compensating offset voltage to the inverting input. IE, a Wheatstone bridge.

                      Steve Greenfield AE7HD

                      --- In Electronics_101@yahoogroups.com, "Michael" <mmk_tsm@...> wrote:
                      >
                      > Steve,
                      > one place where an offset needs to be removed is the DAC on the Arduino Due. The output voltage range does not go to zero - real bummer. Need a single supply op amp solution for this.
                      > Mike.
                      >
                      >
                      >
                      > --- In Electronics_101@yahoogroups.com, Steve Greenfield <alienrelics@> wrote:
                      > >
                      > > As part of a series of classes on Op Amps and comparators, I'll be showing how to amplify and remove offset from incoming signals for the purposes of getting the most resolution from the ADC in an Arduino.
                      > >
                      > > The plan is to measure the range from 0C to 100C, taking advantage of the ability to change the Arduino's ADC range down to 0-1.1V. This is so we can use more widely available Op Amps, as most Op Amps (especially FET input) can do input down to the negative rail (ground in a single voltage supply) but generally can't get closer than a few hundred mV or even a full diode drop from the power rails.
                      > >
                      > > It will be a single diode with current fed through a simple resistor. This will cause a little nonlinearity over using a constant current source, but for the purposes of this demonstration and simplicity we'll either ignore that or compensate in software. 
                      > >
                      > > The diode will be connected to the inverting input via a negative feedback network consisting of 100k and 1M resistors for a gain of 10 inverted. At about 2mV drop per degree celcius, that amplifies 0 to 100C to a drop of about 200mV with an offset of about 600mV.
                      > >
                      > > The noninverting input is connected to an adjustable voltage divider. This cancels out the offset, and will be adjusted when you have the diode suspended in a cup full of wet slush (frozen from distilled water, your 0C reference) for an output of 0V.
                      > >
                      > > The output of the Op Amp has a diode connected -between- it and the 1M feedback resistor. Yes, the diode is within the feedback network, that is important. Cathode to Op Amp output, Anode to 1M resistor and to a 20 turn trimpot of somewhere between 1k and 10k. This trimpot is adjusted, -after- the Zero Cal is set, for an output of 100mV when the diode is suspended in a pot of boiling distilled water.
                      > >
                      > > The diode enables the output to drop to 0V, while the output of the Op Amp remains one diode drop above ground.
                      > >
                      > > I'll be using an Op Amp with external offset adjust terminals in order to demo that, too.
                      > >
                      > > There are a host of Op Amps that should work in this circuit. The inputs and output never goes below about 0.5V above ground.
                      > >
                      > >
                      > >  
                      > > Steve Greenfield AE7HD
                      > > http://www.linkedin.com/in/stevenjgreenfield
                      > >
                      > > [Non-text portions of this message have been removed]
                      > >
                      >
                    • AlienRelics
                      Thanks! I ll take a look at it later. Steve Greenfield AE7HD
                      Message 10 of 10 , May 10, 2013
                      • 0 Attachment
                        Thanks! I'll take a look at it later.

                        Steve Greenfield AE7HD

                        --- In Electronics_101@yahoogroups.com, "Larry Beaty" <lbeaty@...> wrote:
                        >
                        > OK you got me! I have just uploaded my Excel file to the files location.
                        > It is labeled "OpAmpOffGain".
                        >
                        >
                        >
                        > Larry
                        >
                        >
                        >
                        > From: Electronics_101@yahoogroups.com
                        > [mailto:Electronics_101@yahoogroups.com] On Behalf Of Larry Beaty
                        > Sent: Friday, May 10, 2013 10:48 AM
                        > To: Electronics_101@yahoogroups.com
                        > Subject: RE: [Electronics_101] Re: Diode temp signal conditioner for Arduino
                        >
                        >
                        >
                        >
                        >
                        > Steve and all,
                        >
                        > I wrote an equation in Excel to calculate the gain and offset for using
                        > diode temp sensors. I use four 1N4148 in series to get the temp sense gain
                        > up. Somewhere around 10 mV/C.
                        >
                        > Let's see if I can get you all the Excel datasheet with the equation. Yup,
                        > that looks like it.
                        >
                        > You wire the four diodes in series. Give the diodes about 1 MA of current.
                        > Measure across the diodes for your sense voltage. Dunk in boiling water,
                        > record the voltage. Dunk in Ice Water and measure the voltage. Take those
                        > two voltages an put in the spread sheet of above. Select your required op
                        > amp output voltage. I usually use 10.0K for R3. Then the spreadsheet
                        > calculates the other two resistors needed to get your proper voltage for
                        > your project.
                        >
                        > I use this for all my diode temp sensor input to the uP. If you want other
                        > than 212F to 32F, use Y = MX + B or in our terms, F = MV + B. You have the
                        > two sets of data to calculate the slope equation. Now you can get exactly
                        > the Voltage you will get for the F you desire.
                        >
                        > Best wishes,
                        >
                        > Larry
                        >
                      Your message has been successfully submitted and would be delivered to recipients shortly.