Running a Transistor Array From a Teensy 3.5

Hi all,

I have been testing with a breadboard trying to control a string of LEDs using a ULN2803A transistor array but it doesn't seem to be working.

Upon closer inspection, it seems that the Teensy I/O pins emit a 3.5v signal, and I think perhaps the output HIGH signal isn't enough to activate the Transistor array. Does this sound correct? If so, should I be using a different part and can anyone suggest a replacement?

Thanks!

Nick

Please post a wiring diagram of your setup and identify any other components like the LED "string".

OP: 134 posts and you don’t know that you provide all relevant information for a proper answer?

Which Teensy? And it’s 3.3 volt not 3.5. Better know what you’re feeding inputs as only the 3.2 and 3.5 are 5 volt input tolerant. You’ll destroy the others with 5v on inputs.

The available output current with the 3.x series is always lower than an AVR.

The LC has some lower than other output current pins, 5ma only versus the usual 10ma.

https://www.pjrc.com/teensy/techspecs.html

Nick,
Have you looked at the data sheet for the ULN2803?

It says on state input voltage:
Ic = 200mA; 2V4
Ic = 250mA; 2V7
Ic = 300mA; 3V0

It also says that at those currents the voltage at the output will be 2V.

You've not said how much current you want so switch.

Does that answer your question?

It's not unusual that the unwary expect these 2803's to output a voltage.
They do not.
They open/close a current path between their outputs and GND.

The load is placed between +V and the respective output.
Absent a load you won't see the output toggling a voltage with HI/LO on the input.

3.3volt logic shouldn't be a big problem, but don't expect a lot from this ancient bjt darlington array.

What are you trying to switch (LED string current, and how many channels at once).
Leo..

Thanks for the kind responses everyone... Lots of good information. To give a little more background, I am designing a dashboard instrument cluster, and this is a small subset of that. I'm trying to plug into an existing car switch pack which contains some switches, pots and some LEDs for position indication, and what I'm trying to do is read the position of the switches and then light the correct LED.

The switchpack looks like this:

Lights Switchpack.jpg

and is wired like this:

I am then plugging the pack into my board using a ribbon cable. The board I'm plugging it into is wired as below. There's a lot on there but most is not relevant. The incoming connector is labeled CON_LIGHTS and is in the bottom right along with the transistor array.

So each of the 8 channels on the transistor array is powering 1 led on a 470ohm resistor, so I'm hoping to send 12v to the led via the array. The switchpack then has a ground rail which connects all leds to ground so I must supply + power.

It sounds then that I've got the array the wrong way around... Would there be a better tool for the job?

Thanks!

Lights Switchpack.jpg

Seems you have connected the LED strings between ULN2803 and ground.
Won't work like that.

The ULN2803 can only sink current (switch to ground), not source current.
Must connect the LED strings between supply (12 volt?) and ULN2803 outputs.

The 'diode' output of the ULN2803 can be left unconnected with non-inductive loads.
Leo..

Unfortunately the switch pack is designed the other way around so I must supply 12v to each pin that needs to be turned on. Is there another hardware solution that could be used to do the reverse of the ULN2803?

UDN2981?

And run it with 12v connected to ground pin 10 and 5(?)v to pin 9?

Do you power the LEDs from 5volt or from a 12volt.
Led supply is connected to Vs (pin9) of the chip.

Teensy is only connected to the inputs of the UDN.
All with common grounds of course.
Leo..

Ah yes I read that totally wrong. So 12v (well alternator voltage but protected from reverse current and spikes) to pin 9 that powers the LEDs, then pin 10 is just to common earth. And this is switchable by the Teensy 3.5 3.3v output. Sounds like a fairly easy swap then.

450nick:
Ah yes I read that totally wrong. So 12v (well alternator voltage but protected from reverse current and spikes) to pin 9 that powers the LEDs, then pin 10 is just to common earth. And this is switchable by the Teensy 3.5 3.3v output. Sounds like a fairly easy swap then.

Yes if by swapping you mean chips.

No, if you intend to swap pins 9 and 10 on ULN2803 as that will just blow it up, most likely destroying the Teensy in the process. In order to use the ‘2803, all the LED’s need to be reversed. Or, use the UDN2981 and leave everything wired as it.

I guess it is safe to say you never breadboarded the circuit to test your design ?

I tested most things, but this chip sadly not - incorrectly assumed it worked the other way around. That's ok though, this PCB is just a prototype to find these sorts of issues. Just about everything else worked, but found a couple of minor issues that need revising so I'm confident that Rev 2 will be good to go.