Go Down

Topic: Arduino with multiple DS18S20's (Read 1 time) previous topic - next topic


I have wired my house with 6 DS18S20's. Each reads correctly but when I connect all six I get trash. I can get two to read properly but the third kills the first two.
I am using the 5V supply on the Duemilanove card and I have an Ethernet Shield. Am I overloading the power supply? I have not tried using an external 5V supply but that will be my nest step.


I'd guess you've checked the addresses?

Put a voltmeter on the Vcc pin.... are you using parasitic power? How many can be powered via parasitic power?

Just some ideas.

Ken H>

Ran Talbott

Am I overloading the power supply?

Those chips draw so little power the odds are > 99% that you're not.

The most likely culprit is noise:  depending on how the sensors are wired,  you could be creating a giant noise antenna,  with each sensor you add increasing the noise a little until it eventually overwhelms the signal.

Did you add the external pull-up,  as recommended on the Playground page?

Are the cables to the sensors shielded (or,  at least,  twisted pair like Cat5)?

There's an app note on the Maxim site with info on how the pros do 1-Wire networks.  You may find that helpful.


There things draw a miniscule amount of power, they have to, otherwise they would get warm whch is something of a downer when you're trying to measure temperature with them.  I'd recommend you don't use parasitic power, and if your cables are more than a couple of metres, use twisted pair cable.  Put the pull up resistor at the far end of the cable (away from the arduino) and you could try reducing the value of the pull up (2k wouldn't do any harm),   The better your cable, the further you can run them before you hit problems.  


You can only read them one at a time if you are using parasitic power. That is give the command for a temperature conversion for one. Then wait for it to finish, then read it.


These are very helpful - thank you.
I have been pulled out of town and can not rewire until next weekend. Several of the DS18S20s are on long lines ~50ft, the pull up is 4.7K and at the Arduino, and I am using parasitic power.
My first action will be to power Vdd directly (no parasitic power) and move the pull up close to the sensor. Hopefully this will fix it. Will keep you posted.


around 50 feet? I didn't think they'd work that far away. Are you using twisted or untwisted wires at the moment?


Out of interest, did you get this sorted?

What was the problem?


Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131