1
\$\begingroup\$

EDIT: After short discussion and walking through ESP documentation, I decided to throw up PWM using OE pin (ESP does not have HW PWM), and use do it as part of multiplexing as Kartman suggested. Thanks

I'm doing very original project you never heard of - a clock. It will be my first use of PNP/NPN (especially the high-driver side) and shift registers, one reason to not use any led driver.

The project will be supplied by 9V, controlled by ESP8266 which will feed two 74HC595 by data. All transistors should be their SMD versions (bought as MMBT3904 and MMBT3906). The 7 segments display are some cheap chinese, common cathode, most probably with two red LEDs (their voltage drop is little bit below 4V).

The whole schematic would be pretty huge, so I'm pasting just the part I'm concerned about - driving one segment on one display. There will be two SR (shift registers), one (SR1) for driving actual segments and one (SR2) for driving low-side (common cathode) - basically for "selecting" a display to display number on.

And, I would like to add a special function - dimming, which I would like to achieve using PWM-ing an OE pin, which should change "Input from SR1" to open collector. In my head and on the paper, it works. However before I order the PCB and start endless soldering of few hundreds of pins, I would like to ask you, more experienced:

  • Is it even a good idea?
  • Will this design work at all?
  • Does it have some major (or minor) flaws?

Thank you (and sorry for little bit lame question)

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
11
  • 2
    \$\begingroup\$ Please draw Q3 the right way up! I.e. emitter pointing down. It does make understanding the circuit much easier. R2,6 and 7 seem way too low in value. I’d suggest you recalculate the values. You could use something like a tpic6b595 to simplify things a bit. You could dim using the OE or do it as part of your multiplexing code. \$\endgroup\$
    – Kartman
    Commented Apr 9, 2022 at 3:26
  • \$\begingroup\$ Why don't you just run the simulation? You have the circuit already drawn in the simulator; you could answer your own questions in a few seconds. \$\endgroup\$ Commented Apr 9, 2022 at 11:26
  • \$\begingroup\$ @Kartman is it better this way? I'm sorry, I never did schematics for others, just for myself. You are right about R2, 6, 7 - you are right. If I understand it correctly, to safely saturate I need just around 2mA, so I will use 560R. Is it OK? Dimming as part of multiplexing seems much better idea, thanks! \$\endgroup\$
    – Mike S.
    Commented Apr 9, 2022 at 11:29
  • \$\begingroup\$ @ElliotAlderson: hi, I did simulation (in ltspice) and it looked to me OK. But it won't show for example that something will burn, create some RF interference or whatever. \$\endgroup\$
    – Mike S.
    Commented Apr 9, 2022 at 11:50
  • \$\begingroup\$ There's not really enough here to go on. If you have (say) 18mA per segment and 4 digits plus colon that's as much as ~500mA (a bit less because 88:88 is not a valid time), but in any case way too much for a 2N3906. \$\endgroup\$ Commented Apr 9, 2022 at 14:46

1 Answer 1

1
\$\begingroup\$

Okay, so I have decided to do it little bit different way.

ESP8266 does not have hardware PWM, so it would have to be done in SW. As it seems to be an sub-ideal solution, I decided to use just multiplexing code to do dimming as suggested in comments. 74HC595 are fast enough to do it.

\$\endgroup\$

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.