ECESeniorDesign / greenhouse_envmgmt

Development and prototype software for interfacing raspberry pi to I2C/SMBus sensors
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Determine maximum cabling length for sensor nodes #14

Closed jeffrobots closed 8 years ago

jeffrobots commented 8 years ago

The I2C Bus protocol allows for a maximum of 400pF of bus capacitance at 100kHz. Going above this - or even approaching it - will likely introduce communication errors. Luckily once the I2C data arrives at the sensor head, (the TCA9546a multiplexer) there is a rebroadcast of the signal and any additional capacitance is negligible. Furthermore, using small pull-up resistors decreases the capacitive time constant of the bus, yielding some additional wiggle room.

Source of Capacitance Capacitance Contribution Maximum Contribution Allowed
TCA9546 Mux 4.6 pF 8 x 4.6pF (36.8 pF)
Ribbon Cable (13751-E) 47.5pF/m or 26.7pF/m 7m * 47.5pf (332.5 pF)
PN2222A (LED driver) 25 pF max 25 pF

If we want to go beyond this or not use ribbon cable (IE, use single core or threaded wire) we should be looking into cat5 or cat6 wire.

For the purpose of only using two sensors as in our prototype, it's going to be fairly negligable at 1m or so (which is about what we expect.)

Some more research and some lab tests should be done to verify that higher quality cable will not be needed for the initial prototype.

jeffrobots commented 8 years ago

Issue is obsolete. Closing.