0
\$\begingroup\$

I'm using a Raspberry Pi Pico to make an enormous countdown timer.

The LED driver will be the AMS AS1115 and the digits are Kingbright SC40-19SYKWA.

My problem is that the digits want 8 V but the driver supplies 5 V.

I know how to use an array of NFETs (like the 2N7002) on the cathode side but how do I control the anodes?


EDIT: OK, so here's what I've got now. Is this possibly what I should do? Also, are there any chips that do this so I can save some board real estate? Tentative schematic

New contributor
Ross Tucker is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
\$\endgroup\$
2
  • 3
    \$\begingroup\$ The driver supplies up to 5V. The outputs are constant current, not voltage. \$\endgroup\$
    – JRE
    2 days ago
  • \$\begingroup\$ Do not ever connect Digital output pin to higher voltage then the MCUs input voltage unless you have diode or a NPN transistor protecting it from a reverse current flow \$\endgroup\$
    – Tomas
    2 days ago

3 Answers 3

1
\$\begingroup\$

You could terminate the CC outputs in a resistor feeding a high-side switch ( N-channel MOSFET + P-channel MOSFET). Plus series resistors, of course, because you no longer have the constant-current controller.

You would need inverters on the low side in addition to the MOSFET drivers. It's possible to use the internal drivers on the low side because they only have to switch 0V/5V to get the LEDs to turn off, but you'd probably want to add Schottky diodes to +5V. The supply for the display would also have to be carefully calculated and controlled. I have done this with a large display meter and it worked out well (in a fit of overdesign I temperature-compensated the supply to account for LED Vf temperature variations).

Even more inconveniently it would be possible to use the CC outputs by returning the low side through level-shifted low-side drivers to a high-current negative rail (again, the diodes..) but that would be pretty nasty if you don't happen to have that rail available.

However the timing built into that chip is not intended to drive external switches and it's possible you will get ghosting that will be difficult to mitigate. I suggest dropping the controller chip and either using your MCU directly if you can get microsecond level jitter performance in timer-driven hardware interrupts or using a low-end microcontroller as a display controller. I suggest breadboarding it before committing to a PCB, since the ghosting can be pretty objectionable aesthetically.

\$\endgroup\$
2
  • \$\begingroup\$ I didn't know what a high-side switch was, so I googled it. Mouser sells the Infineon BTS7200 for $2.42 - it's a "4-channel high side power switch". Would this be appropriate? On the low side, I'm going to try to let the AS1115 source the current directly. What do I do with the Schottkys, though? \$\endgroup\$ 2 days ago
  • \$\begingroup\$ Probably not. Reason is explained in the last paragraph of my answer. That part is deliberately made glacially slow (tens of microseconds). Diodes would go from output (low side output here) to +5, but a short across a segment could cause everything connected to +5 to die even with the diodes. Current would be limited only by the high side series resistors. \$\endgroup\$ 2 days ago
0
\$\begingroup\$

If you want to use the constant current regulation feature of the AS1115 you can use a split supply +/-5 V where the cathode drivers are fed from -5 V.

I don't see a way to avoid the inverters for the digit outputs, but there are BJTs with resistors included or P-MOSFET arrays available.

The ULN2804 (or ULN2004) can be used as sink driver array including bias resistors if you need a compact design, but it would operate at the limits. Discrete transistors or MOSFET are needed at higher currents.

It is not possible to drive the decimal points directly via ULN because this would force the SEG outputs below GND. Adding dummy LEDs or z diodes in series would work.

This solution is only useful for low LED currents if the full 8x8 matrix is needed. Assume 32 mA usable SEG driver strength there is only 4 mA average segment current possible.

schematic

simulate this circuit – Schematic created using CircuitLab

I built some displays using these very large LED digits and this is what I have learned from it:

  1. They are not as bright as you think. Don't be disappointed later!
  2. Do not use time multiplexing with drivers like AS1115, MAX7219 or equivalent if you have more than 3 high power digits. Consider the required currents: Assume 20 mA average segment current. At 1:8 multiplex this needs 160 mA driver strength of the segment driver and 1.12 A sink capability per digit driver. LEDs don't tolerate this 1:8 duty cycle at low frequencies.
  3. EMI is a nightmare with 56 long wires/tracks switching more than 1 A.
  4. Use the common anode version with resistors in the cathode paths and one power shift register per digit (NPIC6C595/STPIC6C595/TPIC6C595). No EMI problems and no excessive currents in the LEDs. 3 wire SPI instead of I2C.
\$\endgroup\$
-1
\$\begingroup\$

If 5V is not (bright) enough then you can create something like a Darlington pair using a PNP and an NPN transistor.

schematic

simulate this circuit – Schematic created using CircuitLab

common (General use) NPN transistor in tandem with R2 are used here as a Negator (swapping high and low). While the NPN transistor is closed, R2 pulls voltage up (to the target voltage) so that there is no voltage difference between Base and emitor on a PNP transistor. When NPN transistor opens it pulls the voltage on a base down and as so opening the PNP transistor.

R1 and R3 are there to limit the current where it does not need to be too high

In some cases you can try it on 5 volt first, but if it really has 3 or 4 LEDS in series it won't work. LEDs aren't very picky about their supply. You can often multiply lifespan of LEDs simply by running them on lower voltage. Near the top of the voltage the reduction of emitted light per volt isn't that big. Now use a PNP transistor connected the same way as you would use an NPN and inside te source-code swap your highs and lows around.

\$\endgroup\$
2
  • \$\begingroup\$ If the PNP is supposed to be a pass transistor, I think you've got it connected in reverse. \$\endgroup\$
    – Matt S
    2 days ago
  • \$\begingroup\$ @MattS I have Flipped it. Thanks for your correction Its been more then ten years since I last drown a PNP. I have never used one in a final project \$\endgroup\$
    – Tomas
    2 days ago

Your Answer

Ross Tucker is a new contributor. Be nice, and check out our Code of Conduct.

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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