A
A
artanets2014-11-13 17:53:32
Arduino
artanets, 2014-11-13 17:53:32

How to carry digital sensor more than 50 meters from Arduino?

There is a ds18b20 digital temperature sensor connected to the Arduino at a wire distance of up to 15 meters, everything works well. (I used a twisted pair power cable.)
At a distance of 25 meters, frequent interruptions in readings from the sensor. More than 50 meters the sensor does not send a signal.
And I need to take four such sensors from Arduino, each one hundred meters. (for the length of an agricultural farm)
I read that a long wire works like a capacitor and the digital signal disappears in it.
What can be done.

Answer the question

In order to leave comments, you need to log in

7 answer(s)
C
chapter13, 2014-11-18
@artanets

Of the simple solutions - to reduce the value of the pull-up resistor. For convenience, you can use a variable resistor type 3296 at 4.7 kOhm. The 1-wire bus will operate with a pull-up resistor of 1 kΩ or more.

V
Vitaly Peretyatko, 2014-11-14
@viperet

1-wire protocol can transmit data at a distance of up to 500 m, but!
- you need to use a shielded twisted pair
- use a special driver
- do not use parasitic power
- sensor connection topology - common
bus + connect not just to the arduino leg, but through the driver.
There is an application note on
that topic, and a diagram of an advanced 1-wire network driver.
Although if you estimate the cost of a cable, drivers, then it might really be better to do it by radio or your own protocol over a wire.

V
Vitaly Pukhov, 2014-11-14
@Neuroware

Use radio communication, modules for communication at 50 meters cost a penny, and you can raise almost a full-fledged UART via radio on them.

I
Ilya Plotnikov, 2014-11-13
@ilyaplot

Use twisted pair or shielded wire. If that doesn't work, you'll have to use something like xbee or rs-485

E
Eddy_Em, 2014-11-14
@Eddy_Em

1-wire is not intended for such distances. This pseudo-protocol is only suitable for distances of no more than a meter from the microcontroller.
If you need to spread it so much, then it’s easier to take a cheap MK (say, STM8S003 - just a penny) and a level converter (RS-232, CAN or RS-485 - whichever is more to your liking), and connect it - so that the protocol is more decent, and the transmission of data over diphlinia occurred. Well, or even radio, as suggested.

V
Vyacheslav, 2014-11-14
@noxiconum

Use arduino wired network

L
love_energy, 2014-11-25
@love_energy

RS-485 is suitable for this distance. You will need to use a second Arduino, which will be a "smart" sensor and will be connected to the first through converter chips. Or, if communication with a PC is required, use the RS-485->USB converter and then the second board is not required.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question