4
\$\begingroup\$

I'm working with an Arduino Due and four 5V TTL pressure sensors. I'm using this logic level converter to convert from the 3.3V Due to the 5V sensors. I've been having problems using all four at a time, so I broke out the oscilloscope and noticed a voltage level problem. When I have one device plugged in, logical low is ground. When I have two devices, it creeps up a bit. Three devices, it creeps up to around 2 volts. When I have all four devices plugged in, logical low is around 2.5 V, which is above the logical low threshold for the Due, and thus, nothing works. Does anybody have any ideas on how to fix this?

EDIT: forgot to mention, when I say "logical low," I mean on the TX line. The RX line is fine. EDIT 2: Added link to data sheet in the post instead of in the comment, and added more detailed schematic, if it helps. All sensors are hooked up the same way as the in the detailed schematic.

Here is a cartoon-y schematic: enter image description here

Slightly more detailed schematic: enter image description here

\$\endgroup\$
10
  • 3
    \$\begingroup\$ Can you add a schematic of what it means to plug a device in? \$\endgroup\$
    – Samuel
    Oct 17, 2013 at 2:07
  • 2
    \$\begingroup\$ Yes, data on the sensors would help. Sounds like something is dumping a lot (relatively) of return current and the return path has too much resistance. But w/o data, this is a shot in the dark. \$\endgroup\$
    – JustJeff
    Oct 17, 2013 at 2:36
  • \$\begingroup\$ @JustJeff if that were the case, wouldn't you expect the voltage to increase drastically when a particular sensor was plugged in, not to increase a little bit with each one? I agree hard to give anything useful as the question stands. \$\endgroup\$
    – NickHalden
    Oct 17, 2013 at 4:09
  • \$\begingroup\$ This is the sensor. I've got four separate spots on a breadboard, so "plugging it in" involves connecting the sensor, with the TX and RX lines daisy chained with all of the other sensors that are "plugged in". Here is a cartoon-y schematic. Pins not shown on the schematic are pulled low. Thanks for the help guys. \$\endgroup\$
    – achase90
    Oct 17, 2013 at 17:42
  • \$\begingroup\$ @achase90 Adding in links to comments is not advised simply because they will eventually go away ... they are comments after all. New users dump links into comments because they don't have enough rep, however that is not the case here. \$\endgroup\$ Oct 18, 2013 at 15:39

1 Answer 1

1
\$\begingroup\$

If I understand your problem statement correctly, you are saying that when you try to transmit a logical low from at lest one device to the Due, the level converter only manages to pull the Due RX wire down to 2 Volts?

What does the RX wire look like on the other end (5V end) of the converter?

I would expect something like this to happen if the sensors are using too strong pull-ups, or if they are not intended for fan-in, and thus all try to transmit a logical high when one of them is trying to transmit a logical low.

If that's the problem, I would attach each of the sensors with a diode, Cathode towards the sensors, such that the sensors can only pull the line down, not up. Then I would use a pull-up on the common end (anodes) of the diodes, which you connect to the level translator input. Perhaps a 2.2 kOhm pull-up would be appropriate (giving about 2.5 mA current through the diode when pulled low.)

Also, did you read the top paragraph of the description you linked to? The part that says:

Sale: We've released a new rev of this Logic Level Converter that fixes the issue with the board not stepping down from 5V to 3.3V correctly. We've also dropped the price on this model and we will not be stocking this rev again once it's gone. Get it while you can!

\$\endgroup\$
2
  • \$\begingroup\$ Thanks for the help. I'll order some of the new LLCs and try those. The diodes/resistor brought the voltage into spec, but some of the data coming out of it is random characters, enough to make them not viable. The o-scope shows spikes when transitioning from low to high, and some wiggles on logical low, maybe it's a timing issue? I'm also in contact with the company, maybe they'll have some ideas. \$\endgroup\$
    – achase90
    Oct 20, 2013 at 19:45
  • \$\begingroup\$ Not really sure what changed, but it's working fine now. Maybe I messed with the baudrate during debugging and that's what introduced the random characters. Regardless, thanks for the help, this seems to have done it. \$\endgroup\$
    – achase90
    Oct 21, 2013 at 16:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.