What is 1-Wire technology ?

The basis of 1-Wire technology is a serial protocol using a single data line plus ground reference for communication. A 1-Wire master initiates and controls the communication with one or more 1-Wire slave devices on the 1-Wire bus. Each 1-Wire slave device has a unique, unalterable, factory-programmed, 64-bit ID (identification number), which serves as device address on the 1-Wire bus. The 8-bit family code, a subset of the 64-bit ID, identifies the device type and functionality. Typically, 1-Wire slave devices operate over the voltage range of 2.8V (min) to 5.25V (max). Most 1-Wire devices have no pin for power supply; they take their energy from the 1-Wire bus (parasitic supply).

More about 1-Wire technology may be found on Maxim IC web pages.

1-Wire master communication interface

This instructable will show how to implement and use basic serial 1-Wire master communication interface like one show on picture (link).

Step 1: PCB for Project

For this instructable we will use 1-Wire Comm V1.00 PCB board from Dubi .

This very modular PCB have two parts :
  • 1-wire serial communication interface
  • voltage regulator parts (using 78xx IC)

Pictures show both side of PCB.
PCB give possibility to use SMD or normal scale elements for accomplish functionality on most parts, and different  connection options.

In some small number cases you may use 1-Wire device without any additional power supply. How ever when you try to do just little complicate things with more 1-Wire devices or with longer communication lines (wires)  you will need to supply 1-Wire device with proper power.

Step 2: Parts for Project

First picture show all parts we will use on this project.

Besides PCB we have 3 groups of  elements : 

Voltage regulator (5V)
  • 7805 IC (T1)
  • elco 100 uF (Cin)
  • elco 10 uF (Cout)
  • 2 pin screw terminal 200mil (P1)
  • 2 x 2 pin 100 mil with cap connector (J1 & J2)
  • Schottky 1N5407 (sD5)
  • LED smd blue (LED)
  • resistor 100 (R3)

1-Wire serial communication interface
  • 2 x Schottky diodes (1N5818) (sD2 & sD1)
  • 6.2V Zener diode (zD4)
  • 3.9V Zener diode (zD3)
  • resistor 1.5 k (R2)
  • 1m flat 10 wire cable
  • 2x5 pins header (RS232H)
  • IDC 10 pin connector
  • IDC 9 pin female D-sub connector
1-Wire Bus
  • 5 pin screw terminal 3.5 mm (1-Wire Bus)
You may use any combination of SMD or normal size elements, even different value for same type of elements.

Schematic for both part of project are in pictures.

Step 3: Step 1. Soldering Small SMD Parts (bottom Side of PCB)

First solder small SMD bottom parts LED and resistor R3 . This two item is part of 5V voltage regulator. Resistor R3 depend of LED you use calculated on follow formula :
R = (5 - LEDreV)/LEDI

LED orientation is defined with mark on board, and mark on bottom side of LED like is shown on picture.

Step 4: Step 2. Soldering Lower Top Parts

First solder parts of 1-Wire serial communication interface (R2, sD1, sD2, zD3, zD4) , then diode sD5 .

Picture show how to bend connection wire of elements to nicely fit on PCB. Also all mark on diodes fit to marks on PCB (shown on picture) for easy orientation.

Step 5: Step 3. Soldering Other Top Side Parts

First solder 2x5 pins header (RS232H) then two 2 pin 100 mil with cap connector (J1 & J2).
Next solder 5 pin screw terminal 3.5 mm (1-Wire Bus) and 2 pin screw terminal 200mil (P1).

Finally in my configuration I  need to solder two shortcut wire. First at position SW which is dedicate for power switch (if you use some solder switch wire in that place) and second one on position P2 (like was shown on picture). This shortcut is needed because of power supply input terminal organization (more on picture) .

Step 6: Step 4. Soldering Other Bottom Side Parts

In this step we solder   SMD elco 100 uF (Cin) and elco 10 uF (Cout) . Outline of bottom case of elco SMD is printed on PCB, and also polarity. Further more - on PCB coresponde with black mark on SMD elco case.

Step 7: Step 5. Soldering Voltage Regulator

Finally we solder voltage regulator 7805 (T1) on place, outline of case is printed on PCB.
Printed mark on PCB suggest orientation if you use other type of voltage regulator (In, GND, Out) .

Step 8: RS232 Connection Cable Using IDC Type Connector

Crimp 10 wire flat cable to IDC type 10 pin connector like is shown on picture. For other side we use IDC type 9 pin female D-sub connector like is shown on second picture. Cut wire number 10 (we use only 9 wires) and put marked wire (red on picture) on first position and crimp it.

ADDitional INFO: in some series of PCB  10 pin connector doesnt have proper order of wires for 9 pin D-sub connector (direct one2one order) and follow reorganization of wires is needed 1,6,2,7,3,8,4,9,5 . When you got PCB that is clearly marked

Step 9: Final Step: Power on and Use

If everything is done correctly , and all soldering is clean and proper, we only need power supply of 8V ~ 26V to be connected on P1 terminal wire connector (blue one). After connection blue led will be light.

Connecting 1-Wire device may be done using 1-Wire Bus terminal wire connector (Green one). Connection lids are follow : 
1- + Unregulated voltage
2- +5V regulated voltage
3- GND
4- 1-Wire DATA
5- NC line

RS232 IDC D-Sub connector need to be connected to PC. You may use any of 1-Wire connection software like digitemp or Java API and java library.

Also for more info you may read nice instructable, with similar content.

I probably need to read the technical documents, but you might be able to answer this question more quickly.&nbsp; How does this system avoid ground-loop noise, or level shifting due to different grounds?&nbsp; Most systems have their non-power circuits &quot;grounded&quot;&nbsp;internally rather than to earth, so how do you guarantee the same ground level at each end?<br />
Most of these devices are battery monitors, memmory, and temp sensors so its all stuff that uses little power and short wire runs. Levelshifting and ground loops are not an issue.
.&nbsp; It's not really just one wire - all that means is that it's a <a href="http://www.microlink.co.uk/differential.html" rel="nofollow">single-ended not a differential signal</a>. RXD (pin 2) provides the &quot;common ground&quot;.<br /> .&nbsp; But I'm not much better with electronics than I am with higher Mathematics. ;)<br />
&quot;all that means is that it's a single-ended not a differential signal&quot; sorry but that is not true. <br> <br>SPI and i2c are single ended and multi wire... <br> <br>1 wire devices use 1 wire for power which is level shifted to get the data in and a ground... <br> <br>At the current draw of these chips in the mA range and the resistance of the wire being m&Icirc;&copy;s the voltage drop should be in the 20mv or less range so no worries about grounds not beinng exactily equal... But it dosent matter becaues of the wide supply range the chip will work. I would be more worried about trying to charge the capacitence of a long line directly from a uC io pin. RS232 version here is probably fine for any length cable. <br>
In real live it is 2 wire, how ever it is defacto standard to use UTP cable to connect devices which provide more flexibility and noise reduction.<br />
Nice one.<br />

About This Instructable




More by dpenezic:1-wire communication interface 
Add instructable to: