this post was submitted on 18 Jun 2023
9 points (100.0% liked)

Ask Electronics

3316 readers
1 users here now

For questions about component-level electronic circuits, tools and equipment.

Rules

1: Be nice.

2: Be on-topic (eg: Electronic, not electrical).

3: No commercial stuff, buying, selling or valuations.

4: Be safe.


founded 1 year ago
MODERATORS
 

Solution

Using an open drain buffer like the 74LVC1G07 did the trick. Note that this part only works for inputs with a pull-up resistor. There are other parts from the same lineup that can work with any input.

Problem

I have an ebike computer that has two inputs that accept square wave signals. The range is 0-5V. One of the inputs has no pull-up/down resistors on it. When I hook up a device producing signal, the signal is detected correctly. Both highs and lows are detected correctly. The other input has a built-in pull-up resistor. When I hook the same signal to it, only the high side is detected. Measuring the voltage of the low side, it's a bit higher than when hooked to the other input and I'm guessing it isn't crossing the low threshold the computer expects in order to register the low.

Am I right in thinking that the pull-up resistor is increasing the lows?

Is it possible to counteract the internal pull-up resistor by hooking a pull-down resistor to the input?

I'm a software guy with decent soldering skills and minimal knowledge in electronics so please answer like I'm not the brightest electronic bulb on the tree.

Thank you in advance!

Cross-posting my question from StackExchange.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] dack@sh.itjust.works 4 points 1 year ago (1 children)

Do you have a good low impedance ground connection between the devices? This sounds like there is something else going on.

[โ€“] lightrush@lemmy.ca 1 points 1 year ago* (last edited 1 year ago)

Looks like it. I measured the cable and I got .1-.2 Ohms on every pin, ground included. I replaced both the computer and the sensor device in question with new units and the behavior is the same.

I got an interesting solution proposed in StackExchange - to use a buffer instead of messing with the pull-up. I ordered some parts to try it out.

Do you have any idea what "open drain" means in the context of buffers?