0
\$\begingroup\$

I have a level shifter (TXS0102DCT) connected according to the diagram below:

enter image description here

  • VCCA: 3.3v
  • VCCB: 5v
  • A2: trigger pin of µC
  • B2: output
  • A1: NC
  • B2: NC

The crazy thing is if I input 3.3V on the A2 pin I get 2.7V on B2 instead of 5V and I can't figure out why.

I also tried removing the ESD diodes D8,D5 and pull A1 to GND yet no result.

Can someone explain to me why it doesn't work like this?

\$\endgroup\$
6
  • \$\begingroup\$ Do you have the grounds for both power supplies connected together? \$\endgroup\$
    – JRE
    Commented Feb 1, 2021 at 10:57
  • \$\begingroup\$ Yes these are connected, it gets 5v and an lm317LD provides the 3.3v \$\endgroup\$ Commented Feb 1, 2021 at 11:02
  • \$\begingroup\$ What is "VIBR+?" The TXS0102DCT uses pull up resistors for the "high" output level. It can only really "pull down." \$\endgroup\$
    – JRE
    Commented Feb 1, 2021 at 11:10
  • \$\begingroup\$ VIBR+ is a small vibration motor, which is quite strange because this chip was also on a previously made pcb and worked perfectly there and was connected in the same way \$\endgroup\$ Commented Feb 1, 2021 at 11:46
  • \$\begingroup\$ What kind of input does the vibration motor have? A link to the datasheet for the motor would be good. \$\endgroup\$
    – JRE
    Commented Feb 1, 2021 at 11:47

1 Answer 1

2
\$\begingroup\$

In comments you mention that you are using the TXS0102DCT to drive this vibration motor.

You are using the TXS0102DCT completely outside its specifications.

Its outputs are rated for 50mA maximum, not the 100mA of the vibration motor.

Besides which, you are providing no protection to TXS0102DCT. Motors generate high voltage spikes at turn off, and during operation. Those can kill a digital IC.

The TXS0102DCT is a level shifter, not a motor driver.

The normal way to drive a motor looks like this:

schematic

simulate this circuit – Schematic created using CircuitLab

  • A high signal at "3.3V GPIO" will turn on the motor.
  • Q1 replaces the TXS0102DCT.
  • R1 limits the current through the base of Q1 to prevent damage to the microcontroller and Q1.
  • D1 catches the high voltage spikes generated when the motor is turned off.
  • C1 catches the high frequency "noise" that is generated but the brushes in the motor.

You can use a MOSFET for Q1 instead of an NPN BJT transistor.


A simple transistor will work better, be cheaper, and more reliable than a special purpose part (made by a single supplier) used outside its specifications.

\$\endgroup\$
4
  • \$\begingroup\$ Yes also thought it was strange. But I also find it strange that it worked (old pcb), and it doesn't anymore. and certainly because I measure the voltage of B2 without a load connected. then it should just work, right? \$\endgroup\$ Commented Feb 1, 2021 at 12:36
  • \$\begingroup\$ If you already tried it with the motor, then it may have been damaged. It then wouldn't matter if you disconnected the motor. \$\endgroup\$
    – JRE
    Commented Feb 1, 2021 at 12:38
  • \$\begingroup\$ No, no motor connected yet. it's a new chip. then it should work as a level shifter after all \$\endgroup\$ Commented Feb 1, 2021 at 12:40
  • 1
    \$\begingroup\$ The drive strength of the TXS is not 50 mA but zero. \$\endgroup\$
    – CL.
    Commented Feb 1, 2021 at 12:48

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.