Can we have multiple 1-wire devices on single pin?


+ Reply to Thread
Results 1 to 19 of 19
  1. #1
    Join Date
    Feb 2013
    Posts
    574

    Default Can we have multiple 1-wire devices on single pin?

    Arduino supports that, but I have not found anything about for that in PBP reference manual...
    I want to hook up 4 pcs of DS18B20 to single pin. As I have read, each has unique identifier, so it should be possible, but how?

  2. #2

    Default Re: Can we have multiple 1-wire devices on single pin?

    It is quite doable, you just need to write your own code. Do a search of the forum - I know there is a code example because I've used it 8-9 years ago. There are no native commands in any language I'm aware of. This is not PBP vs C or PIC vs Arduino.

  3. #3
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,162

    Default Re: Can we have multiple 1-wire devices on single pin?

    Here is a program I wrote some years ago to do a search of 1 wire devices present on a single bus.
    Attached Files Attached Files
    Dave Purola,
    N8NTA
    EN82fn

  4. #4

    Default Re: Can we have multiple 1-wire devices on single pin?

    I've never understood the logic behind the find all the serial numbers function, unless you know what each device (using it's serial number) is measuring it seems pointless. For example in s asystem with three devices, one measuring ambient, one measuring input temp and another measuring output temp - how does it help to be able to determine the serial numbers of the devices when you don't know which ones which?
    George

  5. #5
    Join Date
    Sep 2009
    Posts
    680

    Default Re: Can we have multiple 1-wire devices on single pin?

    You just add one device at time. And search after you add one.

  6. #6
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,162

    Default Re: Can we have multiple 1-wire devices on single pin?

    Exactly correct. What I do is scan each sensor 1 at a time and take the serial number and attach it to the sensor lead with a piece of paper under a piece of transparent film. That way I can replace any sensor in my system with another one and just change the serial number in the code.
    Dave Purola,
    N8NTA
    EN82fn

  7. #7

    Default Re: Can we have multiple 1-wire devices on single pin?

    True, but isn't it easier to know which serial as you install each device.
    George

  8. #8

    Default Re: Can we have multiple 1-wire devices on single pin?

    Works even better if you but the serial numbers in an array, easy to ammend, or add or iterate.
    George

  9. #9
    Join Date
    Feb 2013
    Posts
    574

    Default Re: Can we have multiple 1-wire devices on single pin?

    I want to use PIC16F1503 and have to chain thermometers due to pin count. I guess, running above, complex code might not be possible on this wimpy chip?

    The task is as follows:
    There are 3 fans with PWM input and tachometer output, MAX7219 display and array of buttons. Circuit will monitor fan rpm and adjust it according to individual thermometer reading.

    I have 12 IO pins on that chip, I'm thinking about allocating them in the following way:
    3 pins - hardware PWM outputs.
    3 pins - tachometer inputs.
    3 pins - driving MAX7219
    1 pin (MCLR), used as ADCIN, to attach several buttons.
    1 pin - relay driver, for emergency shutdown.

    So I have only 1 pin, for attaching 3 DS18B20....

  10. #10
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,162

    Default Re: Can we have multiple 1-wire devices on single pin?

    So... Do it....
    Dave Purola,
    N8NTA
    EN82fn

  11. #11
    Join Date
    Sep 2009
    Posts
    680

    Default Re: Can we have multiple 1-wire devices on single pin?

    Quote Originally Posted by CuriousOne View Post
    I want to use PIC16F1503 and have to chain thermometers due to pin count. I guess, running above, complex code might not be possible on this wimpy chip?
    You can read address, without searching, if it is only one device present at bus. Just write command $33, and collect next 64bit. Do this 3 time, one for each sensor.
    Connect all DS to bus.
    Write $CC,$44 to start temperature conversion on all DS simultaneously.
    Then use match ROM($55) followed by address, to read data from one DS.
    Look at page 11 in this datasheet https://datasheets.maximintegrated.c...ds/DS18B20.pdf

  12. #12
    Join Date
    Feb 2013
    Posts
    574

    Default Re: Can we have multiple 1-wire devices on single pin?

    I have an idea, fan tachometer output will be tied to VDD via 4.7k resistor, as DS18B20 should be. Fan outputs pulses not so fast, so what if I attach DS18B20 to same pin as fan tachometer output? and say, after falling edge of tachometer pulse, perform all DS18B20 stuff, while fan pulls pin high again?

  13. #13
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,162

    Default Re: Can we have multiple 1-wire devices on single pin?

    I believe it takes ~750 Ms. to complete 1 conversion. With that being said, How are you going to discern if the next pulse is the tach output or the DS output?
    Dave Purola,
    N8NTA
    EN82fn

  14. #14
    Join Date
    Feb 2013
    Posts
    574

    Default Re: Can we have multiple 1-wire devices on single pin?

    Yes, so I came to different solution. I also have PWM output pin, which goes into fan PWM in. So I'll hook DS18B20 to it - When I need to use thermometer, I will stop HPWM output on that pin, read the thermometer and then resume HPWM operation. I guess, fan will have enough inertia to have no significant impact on it's rpm.

  15. #15

    Default Re: Can we have multiple 1-wire devices on single pin?

    You do realize 750ms is three quarters of a second? Fan speed will be very wobbly.
    George

  16. #16
    Join Date
    Feb 2013
    Posts
    574

    Default Re: Can we have multiple 1-wire devices on single pin?

    Fan won't stop in absence of PWM signal. most fans, without PWM signal applied, will default to 30-50% RPM.

  17. #17
    Join Date
    Jun 2010
    Location
    Venezuela
    Posts
    12

    Default Re: Can we have multiple 1-wire devices on single pin?

    hello, you can read several ds18b20 sensors and execute the part of the control that you want to carry out, see the attached file the routine I use in a device for the control of air conditioning and lighting with serial communication.LEER_DS18B20.txt

  18. #18
    Join Date
    Feb 2013
    Posts
    574

    Default Re: Can we have multiple 1-wire devices on single pin?

    And a side question, can we use 1-wire protocol to communicate between 2 PICs?

  19. #19
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    2,991

    Default Re: Can we have multiple 1-wire devices on single pin?

    The idea is to have the PIC as a master device and the PIC to request a communication.

    So, with the available commands, it is not possible to make a PIC react as a slave 1-wire device.

    You have to write your own code for that.

    Ioannis

Similar Threads

  1. Random outcome on multiple devices
    By Aussie Barry in forum mel PIC BASIC Pro
    Replies: 22
    Last Post: - 22nd October 2013, 22:36
  2. Multiple I2c Devices
    By alphaengr in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 12th January 2012, 05:37
  3. Multiple serial devices to one pic
    By rshaver in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 16th October 2011, 15:34
  4. Need Single wire serial LCD converter example
    By polymer52 in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 16th December 2009, 03:30
  5. Multiple RETURNS within a single subroutine
    By BrianT in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 21st June 2009, 16:43

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts