About Us Knowledge Base Community Forum Electronics Toolbox FAQ Shipping & Delivery

Community Forum

Share your projects and post your questions

Search
Register or Sign In
Forum

Getting inconsistent results on 1 wire Pi Plus

1433 Views - Created 01/11/2016

01/11/2016

Posted by:
sam

Users Avatar

I am using the 1 wire pi plus board to connect fifteen DS18B20 sensors to pi using a Cat5 cable with 50m long wiring. I have followed the instructions to  Install OWFS and Python-OW from your website and made the connections as below. One twisted pair is used for GND and DQ and one single wire rom another pair is used for VDD. Rest of the wires in the cable are not used.

VDD from each sensor is connected to 5V on the board using a single wire from one of the twisted pairs.

GND from each sensor is connected to GND on the board using one of the wires from the twisted pair

DQ from each sensor is connected to OW on the board using the other wire from the same twisted pair

But when I run the Python script I am getting inconsistent results. some times it reads all the 15 sensors, some times it reads only few sensors and sometimes it does not read any sensors.

Can you adise on whats wrong?

01/11/2016

Posted by:
andrew

Users Avatar

Location:
United Kingdom

Users Twitter  Users Website  

The problem could be that not enough power is getting to all of the sensors on the bus which is causing inconsistant communication. It is probably a combination of the cable length and the number of devices on the bus.

One possible solution to this is shown in the datasheet for the DS2482 chip which we use on the 1 Wire Pi Plus.  You can add an external P-channel mosfet and a current limiting resistor onto the 1 wire bus to increase the pull-up current.  The mosfet will need to be driven from the PCTLZ pin on the DS2482 which is pin 6.  This pin is not connected to anything on the 1 Wire Pi Plus so you will need to solder a wire from the chip to the mosfet.  The datasheet goes into more details on how to wire up the mosfet and configure it.

AB Electronics UK Tech Support

01/11/2016

Posted by:
andrew

Users Avatar

Location:
United Kingdom

Users Twitter  Users Website  

Having done a bit more research into the problem you may not need an external mosfet.  The DS2482 includes a configuration option for an internal active pullup which is recommended for cable lengths of more than 10m.   There are more details about the configuration options on page 5 of the  DS2482 datasheet.  I am trying to find out how you change the configuration register within OWFS, once I have found a solution I will post it here.

AB Electronics UK Tech Support

01/11/2016

Posted by:
andrew

Users Avatar

Location:
United Kingdom

Users Twitter  Users Website  

After digging through the source code for owfs I think I have found how to activate the internal pullups on the DS2482.   If you are using owfs then you can use the command option --ActivePullUp to enable the pullup resistor.

owfs --debug --ActivePullUp --i2c=ALL:ALL /mnt/owfs/

I have tried adding  the line "activepullup" to /etc/owfs.conf and it did not error when the Raspberry Pi booted so I think that may work as well for setting the pullup active.

Hopefully this will fix the problems you are having.

AB Electronics UK Tech Support

01/11/2016

Posted by:
sam

Users Avatar

Thanks for your reply. I have added the line as seen below. is this correct?

I did not see any difference after adding the line so want to make sure this is the correct way to add the line.

Post image

01/11/2016

Posted by:
andrew

Users Avatar

Location:
United Kingdom

Users Twitter  Users Website  

If you are using the owfs.conf then you should just need to add:

activepullup

Put this below allow_other in place of the line you have entered.

If this doesn't work then it may be worth posting a support request on the owfs support forums to see if any of the developers know how to enable the active pullups in owfs.  The man pages for owfs does not make any mention of the activepullup option and I could only find it in the source code for owfs so the developers may know more about how to get it working.

AB Electronics UK Tech Support

02/11/2016

Posted by:
sam

Users Avatar

Thanks for your prompt reply. Before doing further investigation I would like to seek your advise on the wiring.

is it worth trying with two twisted pairs of the cat5 cable  "data & ground using one twisted pair and power & ground using a second twisted pair? currently I am using one twisted pair for data & ground and a single wire from another twisted pair for power

Is it worth trying a simple three core cable instead of a cat5?

there are 45 joints on the total cable lenth(3 for each sensor).How about soldering all these joints. will this help?

thanks

02/11/2016

Posted by:
andrew

Users Avatar

Location:
United Kingdom

Users Twitter  Users Website  

It may be worth trying both twisted pairs with the ground connected to two wires, that should reduce the amount of noise on the cable and increase the current capacity of the ground line.

Soldering the cables will also help as the inconsistent results you are getting could be caused by a bad connection between the wires and sensors.

AB Electronics UK Tech Support

29/12/2016

Posted by:
sam

Users Avatar

1> The above has been tested for 24 sensors over 65m of cat5 cable has worked reliablly and consistantly. After adding 10 more sensors and 15m more cable to the bus it stopped working. So i just tried disconnecting the Vdd wire from the pi and it started working and detecting all sensors. This is now in parasitic mode and it potentially contradicts the information that parasitic mode is not suitable for longer cable lengths(not defined). do you recommend using parasitic mode?

2> Can a sheilded twisted pair cable be used as in coil configuration as shipped. this was in a bench test mode

 

29/12/2016

Posted by:
andrew

Users Avatar

Location:
United Kingdom

Users Twitter  Users Website  

If parasitic mode is working for your project then it is probably best to keep using that.

I am not sure what the effects of using twisted pair in a coil configuration would be as I haven't personally tried it but you would basically be making a large inductor so if it works when coiled it should work once you lay the sensors out in a line.

AB Electronics UK Tech Support

Note: documents in Portable Document Format (PDF) require Adobe Acrobat Reader 5.0 or higher to view, download Adobe Acrobat Reader or other PDF reading software for your computer or mobile device.