I propose a new USB 1-wire adapter.
The DS2490 native USB 1-wire adapter is no longer in production. I think  
you can still buy built adapters from Hobbyboards but if You want to build  
your own it's nearly impossible to source this chip. The popular solution  
is to use DS2480B with some serial to USB converter like FT232 it behaves  
then like native DS2490.  However if one plans to have w big 1-wire  
network with multiple branches the better way seems be DS2482-800 which is  
basically a 1-wire master with one bus  connected to a 8 port hub. You can  
have then a star topology. Again You can still(not sure) buy a hub from  
Hobbyborad to achieve the same goal but the hub chip is also out of  
production. So if you are familiar with soldering iron this is a solution  
for you.

The DS2482-800 uses I2C bus. The conversion form I2C to USB is handled by  
Atmega8A  which is a 8 bit microcontroller and runs a special program.  
It's a very popular chip it costs about $2(at least in Poland). However  
You have to upload the firmware to it for which you need a programmer. If  
you don't have one but you have an old PC with parallel port you can build  
one with few resistors and a plug. Also Raspberry Pi can program AVR chips.
First I run i2c-tiny-usb  
http://www.harbaum.org/till/i2c_tiny_usb/index.shtml on Atmega8
but there was a performance issue. The read from DS18B20 took about 3  
seconds
and without specifying the bus about 10. Compared to 1.5 with DS2480 and  
similar
time connected to vga i2c port.
Fortunately there is a derivative project from Till's i2-usb-tiny it's  
called OSFI(Open Source InterFace) . It's part of a project called  
OpenServo http://www.openservo.com/StepByStep
It uses Atemga8 and has better performance because it uses some built in  
i2c(do not know exactly).

Here is the whole circuit. I think it's pretty explanatory. For testing  
You can omit the voltage regulator and power it directly from USB and not  
using the diodes should be fine for most computers. I done my prototype on  
a breadboard and it works fine.
http://ubuntuone.com/6uM1yQRB36zgGEFDxrTc7c


On the 1-wire side DS9503 are not essential to get it running they just  
protect the bus from electrostatic discharges. However they are cheap. I  
used RJ-12 connectors (telephone) There are different standard's of wiring  
the additional +5V the RJ45 are also popular. You can use screw connectors  
as well. I think I will use 4 RJ45 for longer cables and if more power is  
needed and  RJ12 for thermometers.

After assembling it on a breadboard You have to program the uC the  
firmware can be downloaded from OpenServo cvs.
http://www.openservo.com/viewcvs/OpenServo/Interfaces/OpenServo_InterFace/driver/Version_2/firmware/?root=cvs
You need main.hex
avrdude -c usbasp -p atmega8 -U lfuse:w:0x9f:m -U hfuse:w:0xc9:m -U  
flash:w:main.hex

Then you can test if it's recognized by the system
lsusb shows
Bus 001 Device 005: ID 1964:0001
There is no name for it

Then you have to compile kernel module
http://www.openservo.com/viewcvs/OpenServo/Interfaces/OpenServo_InterFace/driver/Version_2/kernel/?root=cvs
make
sudo make install
sudo depmod -a

sudo modprobe osif

sudo modprobe i2c-dev

then
sudo i2cdetect -l
should show something like this
i2c-0   i2c             OSIF at bus 001 device 005              I2C adapter

Then you can run owfs
sudo owfs –i2c=/dev/i2c-0 /mnt/owfs
You can also use the parameter
--i2c=ALL:ALL  and owfs will look at every i2c device. However there is  
some bug in older version an you might get segmentation fault. It is now  
fixed in CVS

The you should get something like this
sudo ls /mnt/owfs
bus.0
bus.1
bus.2
bus.3
bus.4
bus.5
bus.6
bus.7
settings
structure
uncached
statistics
system

Here's the whole Eagle project the board is half done
http://ubuntuone.com/32tUJtqRyNr3ngTsApwW83
and how it looks like on a breadboard
http://ubuntuone.com/0CUuACUSJMW69aK2FznM6i


Pleas give tips how to improve this tutorial. The board is on the way.

-- 
p4trykx

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to