I wanted to try to use the DS2450 A/D converter to interface with Mango to monitor field signals from HVAC equipment. I have only several temp sensors on my one wire so far. I use the standard serial adapter to my Win XP PC as the bus host.
I built a circuit to interface with and isolate from the field voltage which uses an LTV-814 (one channel) up to LTV-844 (four channel) AC/DC input opto-isolator. The output transistor of the LTV chip drives the input of the DS2450. I am using 5VDC (currently USB powered) to drive the output side of the LTV chip.
Initially it did not work. However after plowing through the DS2450 datasheet, I learned the default setting for the DS2450 for input voltage is 2.55 volts maximum on the inputs. Since I was using 5V it did not know what to do and returned a big fat 0.0 to Mango (and One Wire Viewer). I then used a voltage divider network to bring the input down to a level that the chip would recognize and report in it's default state.
An optional input value is 5.10V, but there is currently no way in Mango to select the input voltage or the resolution (default 8 bits) of the DS2450.
The default settings for memory map page 1, Control/Status starting at 08h is:
(hex) 08 8C 08 8C 08 8C 08 8C
If it could be modified to:
(hex) 08 8D 08 8D 08 8D 08 8D this would give 5.10V input enabled
The settings are all volatile and revert to default when the chip is repowered so they need to come from the host software every time the one wire bus is powered or reset. I'm not a programmer so I leave that to Matthew as a possible improvement !
Hope this helps someone.....at least I got to relearn hex to figure this out. Short lesson is if you are over the input voltage you will get 0.0 output. Also, when you really are at zero input voltage the chip output floats at 0.03 or so on all channels. I have two DS2450 and they both do the same thing.
Next job is to get it off my desk and into the field.