4
\$\begingroup\$

I'm a self-taught/hobbyist electronic engineer, and I enjoy taking apart old scrap electronics both to salvage components and to try to study design patterns (and as a challenge!). I've recently extracted a nice 1.5" 4-digit 7-segment display from an old slot machine (I'd guess from the early 1990s), but I'm having a little trouble explaining how it's wired, and I'd love any information from more knowledgeable folks!

I attach photos of the unit in question:

  • the markings on the LED digits themselves suggest they are OasisTek TOS-15102BE-1 (Common Anode, 2.0Vf).
  • the anode pin(s) of each digit are wired to separate pins on the edge connector
  • the segment pins are each wired first through a 1N4148 diode, and then to one of eight 3W 680Ω resistors (along with the same segment from the other digits), and then to a pin on the edge connector
  • I have no datasheets, manuals, etc. and a Google search for the only markings on the board came up blank, but after poking around with a multimeter, I'm fairly happy the wiring is as shown in the schematic below which looks like a fairly standard multiplexing array. But....

My question is: what's the purpose of the 1N4148 diodes placed immediately after each LED segment? They don't seem to add any value to the functionality of the circuit, and all they do is drop voltage. I can successfully drive the display from an Arduino (using a MIC5891 high-side driver connected to the digit pins, and a TPIC6B595 on the low side to sink the appropriate semgents), but with the additional voltage loss across the diodes, and the fact I'm multiplexing, means I'm having to use a 24V power supply to get anything like reasonable brightness from the LEDs. Also, I notice the chunky resistors are getting quite warm when all segments are lit (although I'm quite pleased that the brightness between segments/digits seems nicely uniform). Or can you suggest a better way to operate this display? (to be clear, if I was starting a new design, I would do away with the multiplexing completely and just mount a TPIC6B595 to sink the segment cathodes per-digit, but I'm keen to try to use the digits as mounted, and also to try to understand the design decicion!)

TIA.

Front

Reverse

Schematic

\$\endgroup\$
2
  • \$\begingroup\$ Your schematic is incomplete. Please show how those eight 680 ohm resistors are connected. \$\endgroup\$ Aug 12, 2021 at 15:13
  • 3
    \$\begingroup\$ @WhatRoughBeast Exactly as shown - they're placed in series between all the cathodes for a given segment and the pins on the edge connector \$\endgroup\$ Aug 12, 2021 at 16:14

3 Answers 3

7
\$\begingroup\$

You are correct in looking for the design decisions, and all the information you need is on hand. From your schematic and an assumption that the segment currents are in the 25 mA range we can work out the voltage across the resistors.

V = IR --> 0.025 * 800 = 20V (about 0.5W dissipation)

IMO this display was used in a 24V multiplexed drive system and the diodes are necessary to protect the segments from excess reverse voltage.

All you need to do to reduce the drive voltage is to reduce the resistor values. If the supply voltage can be reduced to say 5-6V then you could short out (remove) the diodes. However, in using high side drivers such as the MIC5891 you have significant voltage drop on the high side (about 1.5-1.8V), precluding a 5V drive. It may be best to use a FET high side drive rather than the bipolar drive in the MIC5891. If you are using your Arduinos with a Vin raw of 7-12V it may be more convenient to use that as a drive voltage minimizing the changes to your boards. .

\$\endgroup\$
1
  • 1
    \$\begingroup\$ That's really helpful advice, thanks. I started using the MIC5891s because they were recommended to me in a previous project (where I had been previously using a 74HC595 + UDN2981). While they're certainly convenient, considering I've only got 4 anodes to drive, perhaps a 74HC595 + 4 separate FETs would be a better choice then? \$\endgroup\$ Aug 12, 2021 at 14:19
4
\$\begingroup\$

I can only think of 2 reasons for the 1N4148s. The first is to drop some voltage (and power) so that the resistors are not driven at their max. operating specs. The second is the improvement of the reverse voltage. (The LEDs can only take 6V max. reverse voltage)

\$\endgroup\$
3
  • 2
    \$\begingroup\$ The latter especially as the supply voltage is: I'm having to use a 24V power supply to get anything like reasonable brightness from the LEDs \$\endgroup\$
    – Andy aka
    Aug 12, 2021 at 13:45
  • 1
    \$\begingroup\$ Thanks for the reply. So you mean they're there as a reverse-polarity protection? That would make sense (although the original connector is keyed, so other than the fact you can see I'm just shoving jumper wires into it, that probably seems unnecessary!) \$\endgroup\$ Aug 12, 2021 at 14:05
  • 2
    \$\begingroup\$ I don‘t know anything about the driver circuit, but it could be that the polarity is sometimes reversed during the multiplexing operation and the diodes protect from this. \$\endgroup\$ Aug 12, 2021 at 14:21
1
\$\begingroup\$

The wiring flyback inductance will cause a positive spike that exceeds all LED specs for reverse voltage (-5V per spec max), so a lower capacitance signal diode than the LED is used, so it reverses instead of the LED.

Diode clamps could add more ghosting.

A simpler solution is to wire it directly to an Arduino. I found someone who has already done it, of course with smaller current limiting segment driver R's from 5V.

https://forum.arduino.cc/t/3-digit-7-segment-display-arudino-multiplexing-counter/383254/3

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Thanks for the answer, @Tony! Weirdly, in my head that was the first design I considered, but then I ruled it out because I thought it would exceed the (40mA) max current source/sink rating of the Arduino GPIO pins. And it would, but only if I drove more than D10/D11/D12 on at once, right? But, if I'm multiplexing both the high- and low- side, at any given time there's only ever one segment being sourced (from D10-12) and one being sunk (D2-D9), so if I set R=150Ω, that would (5-2/0.015) = 20mA. I guess all I'd need to so is consider how much dimmer that would make the displays. Thanks! \$\endgroup\$ Aug 13, 2021 at 14:32

Your Answer

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.