Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

buffering 5V data lines over 30m

Status
Not open for further replies.

danjel

Member
I have a project where I have a bunch of motion sensors that will be distributed over a distance of 40m. I want to connect them all back to an arduino but I need to know how long a 5V logic signal can travel unbuffered? (the motion sensors are open collector and will simply pull a logic line low when triggered)

I am assuming I will need to put in a buffer circuit at some set interval but I am not sure how frequent.

Each sensor requires 12v power so I will already be runnin 12v to each.

Any tips appreciated!
 
If it's a low frequency signal then 40m should be no problem. Simply run a pull-up resistor (say 1kΩ to 5V) at each sensor output. To minimize noise pickup you may want to run shielded wire.
 
TTL signals are good for 18 inches.

Go TTL to RS-485 to TTL and use twisted pair for the cable and a 120 ohm terminator at the receiver.
 
Last edited:
If it's a low frequency signal then 40m should be no problem. Simply run a pull-up resistor (say 1kΩ to 5V) at each sensor output. To minimize noise pickup you may want to run shielded wire.
The common mode ground difference will kill ya.
 
I have a project where I have a bunch of motion sensors that will be distributed over a distance of 40m. I want to connect them all back to an arduino but I need to know how long a 5V logic signal can travel unbuffered? (the motion sensors are open collector and will simply pull a logic line low when triggered)

I am assuming I will need to put in a buffer circuit at some set interval but I am not sure how frequent.

Each sensor requires 12v power so I will already be runnin 12v to each.

Any tips appreciated!

Since you have ~250msec to detect the signal, I would run the signal line back to the uP along with the power and ground (three conductor cable). Shielding would be a plus, but not absolutely required. Put the pull-up resistor at the uP end, not the sensor end. Add some software filtering in the uP code that detects a level change that lasts more than some minimum time, like 250msec.
 
TTL signals are good for 18 inches.
That's for high frequency operation. For low frequencies there's no limit (as long as you aren't concerned about possible multiple signals from the reflection, which is the case here).
 
The point is to get the data across. Use RS485.

If the sensors are REALLY that "strewn around" hookup a transistor as a switch and use it to OOK a 12V o/p signal (you are feeding 12V anyways .. so use that)
 
Last edited:
I can place the arduino in the middle of the distance so that the sensors extend a max of 15 on either side.

I can tweak the debouncing time to make sure it is reading a proper signal and there will of course be pullups near the uP pins.
 
The only way common mode will be a problem is if the sensors develop a voltage across the ground line. This is easy to figure out.

How much 12V current will each motion sensor consume? How many? What gauge wire? I assume this is a bus and they are all on a common "ground". Is the cable multi-core (e.g. cat-5) and can you use multiple wires in parallel as your ground?
 
If it's a low frequency signal then 40m should be no problem. Simply run a pull-up resistor (say 1kΩ to 5V) at each sensor output. To minimize noise pickup you may want to run shielded wire.
Agreed. Adding a simple low pass filter to each input would eliminate problems with RF in all but the most extreme cases:
longleads-png.32758
 

Attachments

  • longleads.PNG
    longleads.PNG
    10.4 KB · Views: 289
That's for high frequency operation. For low frequencies there's no limit (as long as you aren't concerned about possible multiple signals from the reflection, which is the case here).

TTL also can't source very much current, but it can sink quit a bit.
 
TTL also can't source very much current, but it can sink quit a bit.
That's true, but irrelevant to this situation. There is not a TTL driver here, he is just generating a 5V logic level with a switch.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top