TPIC6C595 : open drain problem ...

Hi all,

Because of the huge demands of outputs on a new project i'm on, i choose the TPIC6C595 for having directly power outputs available.
I can shiftOut correctly the data throught the DATA, CLOCK and LATCH pins but, there is something that bothers me : the fact that the IC powers on itself on a HIGH state on all its outputs.

Is there a way to avoid this and prefer the outputs to be powered-on on their LOW states ?

Thanks !

So? All outputs are "floating" (which means off). I would expect that.

Ok but, what if i want the outputs to be on a LOW state directly at start ?

Do i have to wire something differently ?
I can't seem to find something relating to this inside the datasheet.

If someone can helps.

PS : I will drive motors, so i just don't want the motors to move before i want, when i power on my whole module.

As you've pointed out already, these chips are "open drain".

The output is either:

a) ON ( LOW = connected to GND)
b) OFF ( HIGH-Z = floating - not connected to anything, like an open switch)

The chips start up with their outputs OFF. Just connect an LED + resistor to one output to test.

What is the problem?

Thanks for your explanations.
Anyway, they actually don't help because it seems sopmething is out of my understanding here.

I correctly wired ont TPIC6C595 which i can control finely.
Everything is working well except the fact that when i [POWER ON] my whole module, the outputs of the TPIC6C595 seems to be randomly LOW /OR/ HIGH ...

Sometimes, when i power on the whole module (arduino + tpic6c595 + led with resistance), the outputs of the tpic6c595 seems connected to GND as the LED turns ON.
But, from time to time, when i [POWER ON] the whole module, the LED doesn't turns OFF (which is the behavior i would like to have every time i POWER ON the whole module.
How can i achieve this behavior every time i power on the whole module ?

Now we're getting somewhere.

To make sure the outputs are OFF, you should:

a) connect a 10k pull-up resistor to the "G"-pin of the chip

If you want all outputs to be "active" (represent the data you shifted in), pull this pin LOW. If you need all outputs to be OFF, pull it HIGH.

b) use the "CLR"-pin to reset the chip to OFF whenever you need it.

madworm:
Now we're getting somewhere.

To make sure the outputs are OFF, you should:

a) connect a 10k pull-up resistor to the "G"-pin of the chip

If you want all outputs to be "active" (represent the data you shifted in), pull this pin LOW. If you need all outputs to be OFF, pull it HIGH.

b) use the "CLR"-pin to reset the chip to OFF whenever you need it.

Hehe !!!
You're the best ! :grin:
Now it works like it should !
I put a resistor between +5V and the IC_PIN_8 (G), then connected the IC_PIN_8 to a D_PIN of my arduino.
When the module starts, it nows puts +5V on the IC_PIN_8 (G) which puts all outputs to no drain.
Then in my arduino's setup, i have a byte sent which puts all outputs to OFF and release the G pin to LOW level.
After this, i never touch the G pin level anymore as it only deserves what i wanted to have : ALL OUTPUTS OFF AT START :slight_smile:

In fact, when i read the datasheet, i thought that the G pin was the solution, ...... but !
As i'm really not as good as i would like to be in electronics, here is where it droves me :blush:

Thank you for your precious help !
I greatly appreciate !

By the way, one last question would be :
As times tend to be reading some datasheet, i noticed that my motors are going to consume more than what i expected from them.
So i have to put relays between my motors and the TPIC6C595.

Do you have any idea about how to wire the relays ? (btw, they are +12V DC coils)
As i never worked with xFET devices (like the TPIC6C595), i was wondering if there was anything else to add to the circuit to protect the xFETs from fly-back/EMF/something else ?

Thanks !

You need to add a Schottky diode to each of the drain pins that are used for inductive loads. The diode must go from said pin to +Vcc (reversed of course!)

http://www.arduino.cc/playground/Learning/SolenoidTutorial

It's the equivalent of D1 across L1.

Ok, i was already aware of that flyback EMF diode.

But, why do you want to use a schottky ?
Doesn't a 1N400x would be sufficient for that application ?
I'm just driving relay coils !

I only have Schottky diodes. Maybe I should have recommended an expensive TVS diode ? :slight_smile:

You should be fine with what you have, especially as the FETs in the TPIC can withstand 30V or thereabouts. A normal PN diode will conduct early enough.