Go Down

Topic: Dallas/Maxim One-wire over Xbee (Read 3595 times) previous topic - next topic

aseem

Have anyone tried to implement Dallas one wire sensors over an Xbee link.  Is it even possible with the tight timing required.
I know this might sound like a contradiction, but could I read from a DS 18B20 temp sensor over a Xbee link using pin status transmission?  Simple one sensor setup, without the need to poll for other sensors.

Appreciate any suggestions

Jack Christensen

Don't think it's possible without an MCU.  I'm not aware that that XBees can talk the Dallas 1-wire protocol.  Now, with custom firmware in the XBee, I suppose anything might be possible but that'd be advanced XBee.

Still, a good question.  I like the DS18B20.  I wonder what a minimum XBee/DS18B20 configuration might look like, perhaps with one of the smaller/cheaper MCUs.  It'd be especially interesting to put both the XBee and MCU into low-power sleep modes, waking up just every few minutes to send the temperature, so it could run on a couple AA cells for some time.
MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

aseem

I know that Xbee is not supporting 1-wire protocol directly.  I was thinking I'd provide the DS18B20 with local 5v and Ground, and then use DIO pin Change Detect on the Xbee for a wireless bi-directional 1-wire  signal carrier.  The question is if I can manage the timing correctly.

If anyone have tried this, I would be grateful for any feedback..

Graynomad

Quote
The question is if I can manage the timing correctly.

I think this would be a bridge too far.

What about putting an ATtiny85/84 at the remote end to read serial from Xbee and drive the 1-wire.

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

aseem

Quote
I think this would be a bridge too far.

Thanks for the feedback, and I think you're right.  I have looked into the details, and I don't think the Xbee (or I) can cope with the complexity of the timing.

I will look into the ATtiny, but I also think I can solve this in a simpler manner.  All I really need from the temp sensor on the remote end, is a high pin when the temperature is over a specified trigger value.  Even though I'm not an electronics wiz, I should be able to do this with a simple circuit.  Then the Xbee can transmit the pin status...

Graynomad

Quote
All I really need from the temp sensor on the remote end, is a high pin when the temperature is over a specified trigger value.

That's a whole different ball of wax then. The Xbee has digital IO doesn't it? So an analogue temp sensor, a comparator, and a trimpot should be all you need.

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

Yot

Just mentioning that Xbee (1 and 2 series) also have analog in pins btw. (10-bit, 3.3V reference)

Jeroen

edit: No use for one-wire devices obviously.

Graynomad

It gets simpler with every post. Before long you won't need anything at all to do the job. :)

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

aseem

LOL
Yes.  Since I am already using the DS18B20 in my project, and I kind of like it, I was initially thinking a bit to complicated.  Simplifying the project, I realized that I don't need to read the actual temperature from the remote sensor, but only need to detect if the temp has passed a fixed threshold.   Sometimes you just need a little help to peel of the unnecessary complexity.  Thanks....

remspoor

Maybe the DS1821 is a solution.

From http://www.maxim-ic.com/datasheet/index.mvp/id/2794:
Quote
The DS1821 can function as a standalone thermostat with user-programmable trip-points or as 8-bit temperature sensor with a 1-Wire® digital interface. The thermostat trip-points are stored in nonvolatile memory, so DS1821 units can be programmed prior to system insertion for true standalone operation. The DS1821 has an operating temperature range of -55°C to +125°C and is accurate to ±1°C over a range of 0°C to +85°C. Communication with the DS1821 is accomplished through the open-drain DQ pin; this pin also serves as the thermostat output.

Go Up