Don't forget, that the I²C bus-master can drive much less capacity load on cable (I measured a max of only 8,9nF which represent about 89m IY(ST)Y cable) The USB bus-master based with DS9490R is able to drive 28nF - so theoretically about 280m cable
On Mon, Apr 23, 2012 at 11:25, Chris Lautre <chris.lau...@karusoft.com>wrote: > > I would be very interested in a USB to 1Wire Hub with 8 1 Wire ports. > This would eb much better than using multiple DS9490R. > > Chris > > > On 22/04/2012 10:42, Patryk wrote: > > 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. > > > > > ------------------------------------------------------------------------------ > 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 >
------------------------------------------------------------------------------ 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