I have been scratching around this problem for months...
I think my problem statement is: "how can I do one-way logic level shifting (1.8v to 5v) without pull-up resistors on the low side?"
I am looking for guidance on the right approach, rather than a detailed solution. So something like: "keep trying with the TXB0108". If I continue to have problems I can post more detailed questions in another topic.
I am trying to interface my Arduino with some capacitive digital scales - these are the same as 'digital calipers' with one difference, which is causing me some problems.
I have followed some of the many posts on interfacing 'digital calipers' and successfully did it with a spare set of calipers. I then moved on to my digital scales (a longer version of 'digital calipers' to be used on my mill), and have been stuck ever since.
My scales have the usual four contact points under a sliding cover: 1/ +1.8v 2/ Data 3/ Clock 4/ Gnd
The problem is that touching either the data line or clock line to +1.8v either zeros the scale or activates a mode (e.g. inches to mm).
So, using commonly available logic level converters that use pull-up resistors does not allow me to read any data from the scale, because the 'rest' state of these lines is high (+1.8v) - which zeros the scales.
I have not seen this problem noted or addressed in other posts about interfacing with digital scales.
I have tried:
- BSS138-based logic shifters like this one
- TXB0108 breakout this one - this looked promising as the datasheet noted the use of external pull-down resistors
- stand-alone transistors like 2N2222
- adding pull-down resistors to the high and low side of the logic converters
- adding diodes to the low side of the logic level converters
The 2N2222 transistors were the most promising but despite much googling I could not get a signal on my logic analyser. I am happy to persist with these if this is a viable solution.
I have not tried driving the scales at a higher voltage (a solution used on some other posts) because they are not cheap and I can't afford to replace them. Also I want to be able to leave them on for several hours at a time.
I am using an IkaLogic/ScanaLogic logic analyser which works down to 2.8v. I have attempted to use this on the 1.8v signal from the scales, and got a group of signals that correspond to the usual 2 x 24-bit words for calipers, but the clock signals are not consistent so I am guessing that the analyser is not correctly reading the +1.8v signals.
I have not yet introduced the Arduino into the circuit, as I am just trying to successfully convert the signal to 5v first, and read it with my logic analyser.
As you may gather from some of the things I have attempted, I am not an electronics expert. I appreciate that my description here is not complete (i.e. no circuit diagram or description of what went wrong with the things I have tried), however I suspect that the solution may be quite simple.