Announcement

Collapse
No announcement yet.

Analog Inputs for TEMP08-1Wire system

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Analog Inputs for TEMP08-1Wire system

    I have an existing TEMP08 with two 1WIO digital input cards and one Hobby-Boards Dual Counter card.

    I would like to add several voltage inputs from different external sensors like thermistors and CR3100 circuits.

    I have seen some references to a 1Wire board that could be used for this, i.e. the Hobby-Boards HVAC card, but it no longer appears to be offered.

    What, if any, options exist today (other than the single input on the TEMP08 itself) for analog inputs into a TEMP08 1Wire system? TIA

    Mark

    #2
    Mark,

    I didn't realize Eric no longer offered his HVAC sensor - too bad. A single input voltage sensor using a DS2438 is still made by iButtonLink, the MS-TV. Alternatively, DS2450's are available from many sources (Digikey, Mouser,...) if you want to roll your own sensor.

    A voltage only sensor could also be made by modifying our MD3020 series sensor - don't install the HIH4000 humidity sensor.

    Mitch
    http://www.midondesign.com

    Comment


      #3
      "I didn't realize Eric no longer offered his HVAC sensor - too bad."

      I've put a query out over at CocoonTech about this.

      "Alternatively, DS2450's are available from many sources (Digikey, Mouser,...) if you want to roll your own sensor."

      Does the DS2450 work 'out of the box', or does it require some sort of low level programming?

      If it does not require anything special rolling my own input module should keep me out of trouble for a while. The surface mount DS2450 seem to be what's available, but I found some through hole adaptors at http://cimarrontechnology.com/surfacemountadapters.aspx.

      Mark

      Comment


        #4
        Originally posted by Mark42 View Post
        "Does the DS2450 work 'out of the box', or does it require some sort of low level programming?
        TEMP08 reads voltages from the DS2450 natively. Nothing special required. Make sure you select EWN OFF as an option (depending on which version of TEMP08 you have).

        Mitch
        http://www.midondesign.com

        Comment


          #5
          Mitch,

          I have cobbled together a DS2450 'module' and the TEMP08 (v2.20) has recognized it as Quad Voltage #01. It is reading it periodically and reporting raw voltages, e.g. 2.26V,0.03V,0.03V,0.03V. If I connect an input to Ground the DS2450 reports 0.03V and if I connect an input directly to Vcc it reports 5.01V; so far so good.

          I tested the inputs with a series of voltage dividers (the goal is to use a thermistor as part of a voltage divider and feed the output to the DS2450) and found what appears to be a offset depending on the voltage. For example,

          VOM DS2450 Offset
          1.55 1.25 -0.30
          2.49 2.21 -0.28
          4.78 4.39 -0.39
          4.96 4.49 -0.47

          I tried two different dividers at 50%, one with 2x5.11K and one with 2x100K, they both show the same offset. The fact that the input shows 5.01V when connected to Vcc but has an offset at 4.96V is puzzling (but then I'm winging this as I go :-).

          The TEMP08 manual does not indicate any configuration values for a DS2450 (ETW was already OFF).

          Does the TEMP08 initialize the DS2450 to any specific set of parameters? If not, any idea what the DS2450 power up defaults might be? TIA

          Mark

          Comment


            #6
            Hi Mark,

            The DS2450 get configured on every read cycle to read out at 8 bit resolution (see the note explaining why after the Transfer Characteristics table). Specifically, each control register is written with 48H and 01H.

            Not sure why you are seeing a consistent offset like you are. That's not something I've seen previously. You don't have a diode connected on the ADC inputs do you?

            Mitch
            http://www.midondesign.com

            Comment


              #7
              Mitch,

              No diodes anywhere. I built on a breadboard; The TEMP08 1-Wire +12VDC is supplying a 7805 regulator (4.7 uF electrolytic caps on both sides), the TEMP08 1-Wire ground is tied to the DS2450 and the 7805 ground. The TEMP08 1-Wire DQ is tied to the DS2450, and the 1-Wire ground is connected to the DS2450 and the 7805 ground. There is a 0.1uF cap between +5VDC and common ground.

              There are 2 1WIO cards 'upstream' and 1 Hobby-Boards counter card 'downstream'.

              The 7805 +5VDC feeds one leg of the voltage divider, the other leg is connected to the common ground. The output of the divider goes directly to the DS2450 analog input.

              I put a potentiometer in the divider and ran some more tests, the offset/error is not constant, it seems to depend on the absolute value of the voltage. For example 4.11 measured (VOM, DS2450 disconnected) reports as 4.03 (VOM disconnected, DS2450 connected); offset of -0.08. An input voltage of 3.03 measured reports as 2.46; offset of -0.57. A input voltage of 2.40 measured reports as 2.18; offset of -0.22.

              I have no (rational) explanation for this behavior especially considering that the 7805 Vcc supply reports exactly as 5.01V.

              I will continue poking at it to see what happens. I would certainly appreciate any insight you might be able to provide. TIA.

              Mark

              Comment


                #8
                Mitch,

                I believe clarity has been achieved, the issue appears to be outside the circuitry. But for full disclosure, I added a voltage follower op-amp between the voltage divider and the DS2450; it had no effect on the results.

                I have attached a ZIP file containing an small Excel 2003 workbook with test results.

                In short, I believe the value being reported by the TEMP08 (v2.20) is not actual volts.

                For example, a VOM measured value of 4.400 volts is reported by the TEMP08 as 4.21V. What this really appears to be is a base value of 4.00 volts plus 21 'counts'. Since the DS2450 is running with a range of 5.12V and 8 bit resolution, a single count/bit is 5.12/256 = 0.02V. 21 counts * 0.02 volts/count= 0.420 volts. Added to the integer value, the DS2450 measured value is 4.000 + 0.420 = 4.420 volts - close enough.

                The Excel workbook contains all the data points and predicted results.

                We also can see this phenomenon in three specific data points:

                VOM TEMP08
                2.940 2.49
                2.963 3.00
                2.981 3.01

                Accepting some VOM offset from the DS2450, the jump from 2.49 directly to 3.00 indicates something significant is happening. I suspect if the DS2450 was running in 9 bit mode (1 count = 0.01 volt) this would not be happening.

                The good news of course is that this can be easily rectified in a HomeSeer script.

                Best Regards,

                Mark
                Attached Files
                Last edited by Mark42; October 23, 2011, 10:57 AM.

                Comment


                  #9
                  That's good input, Mark. I'll look into it and see if I need to tweak the TEMP08 code.

                  Mitch
                  http://www.midondesign.com

                  Comment


                    #10
                    No problem.

                    It seems to me the DS2450 specification is overly conservative at 8 bit resolution. I certainly wouldn't go past 10 bits on such a device, but would think 9 or 10 bits is achievable without excessive noise in the result.

                    While 8 bits is OK-ish for what I am currently planning (thermistors, CR3100, etc.), 9 or 10 bits would be better.

                    Mark

                    Comment

                    Working...
                    X