Drive large 12V 7 segments display with a STC15F204EA

Discussion in 'Embedded Systems and Microcontrollers' started by digital_citizen, Jun 22, 2015.

  1. digital_citizen

    Thread Starter New Member

    Jun 22, 2015
    3
    0
    Hi, I just bought this clock:
    http://www.aliexpress.com/item/DIY-...ge-Screen-Red-Blue-Green-LED/32281188065.html
    And I want to replace the original display with a much larger one that requires 12V. In the link you will also find the schematic, but BE AWARE there is an ERROR: the displays are COMMON ANODE and not common cathode as written. The clock requires 5V. So I firstly need to use transistors like a switch (or better, ICs like ULN2803) connected to the MCU outputs (which is an STC15F204EA). Will this work, if I connect the ULN2803 inputs directly to the MCU outputs without resistors? The LED's cathode of the larger display will be then connected to the ULN2803's outputs with the limiting resistors, of course. Will this work?

    Now for the anode side, I need to use 4 PNP (one for each digit) instead of the original 8558's, but I have trouble to calculate the new Rbase (that will replace the old 4.7K resistor) because I don't know if I have to use the max current output of the STC15F204EA and if yes, what's it's value?

    So, before I order all the parts I need to know if such thing could work, and how to calculate the Rbase of the PNP transistor. And BTW the new display does not require much current, maybe 2mA in TOTAL (it shoud be very dim to be used in a bedroom).

    Please if you find errors, explain it as clearer as possible and with understandables formulas to calculate the values, because I'm not an electronic engineer.

    Thanks.
     
  2. AnalogKid

    Distinguished Member

    Aug 1, 2013
    4,542
    1,251
    1. The 2803 will work as a level translator/buffer between 5V and 12V circuits. BUT, it will invert the drive signals. If you can't modify the STC code, one solution is additional inverters between the STC and the 2803 (or two 2803's in series). You'll need 8 inverter stages, or 1.33 78HC14's.

    2. 8550's are PNP's and will work at 12 V. So will 2N4403, 2N3906, 2N2907. But the base is at 11.3 V in the 12 V display circuit. This means that when an STC output is hi, which turned off a digit in the 5 V circuit, there still sill be over 6 V across the base resistor, whatever its value. So all 4 PNP's will be on all the time. The easiest solution here is to put a 6.8 V zener diode in series with each base resistor. 4.9V (STC high output) + 6.8 (zener) + 0.6 (8550 Vbe) = 12.3 V. This is greater than 12 V, so the 8550 will be off when the STC output is high. To assure this, add a 10K resistor from each 8550 base to its emitter (+12V) to make sure it turns off. The 4.7K base resistor value is fine.

    3. Hey, there's a thought. Instead of the hex inverters and 2803, let your low current requirement come to the rescue. When you say the new display requires 12 V, what does that mean? Specifically, if each segment of the new display is multiple LED's in series, what is the Vf (forward voltage drop) of the string? This is the Vf of an individual LED (probably around 1.8V to 2.1V) times the number of LEDs in the string. 12V minus this number is the open circuit voltage the STC will see. If it is greater than 5.1 V, then an appropriate zener diode in series will adjust the voltage the STC sees without any logic inversion.

    Example: The current system is 5V through a saturated switch, and has a 300 ohm segment resistor to the STC to ground. 5V minus 0.1V (8550 voltage drop) minus 0.1V (STC output low voltage) = 4.8 V. Minus Vf for a display segment (2.0 V) - 2.8 V. 2.8 / 300 = 9.3 mA segment current.

    For the new system, let's assume each segment has 2 LEDs in series. 12-0.1-0.1-4.0 = 7.8V, too high. Insert 5.1 V zener. 7.8-5.1=2.7V. 2.7/300 = 9 mA per segment. For 2 mA per segment, 2.7 / .002 = 1350 = 1.3K segment resistors.

    That's the method; adjust as necessary.

    ak
     
  3. digital_citizen

    Thread Starter New Member

    Jun 22, 2015
    3
    0
    Hi, first of all thank you for replying and suggestions.

    The larger display I want to drive is actually made by several 3mm LEDs (6 leds per segment, 3 in series+3 in series and then connected in parallel, each series with his resistor of course) so they should work on 12V without any problem. The current per segment is 70nA (yes, NANOamps) so the total display current should not exceed 2mA if all digits are on. This is because it will be otherwise impossible to use in a bedroom. So each segment will require 9V, but I will use a small 12V power supply to drive the large display.

    Regarding the first answer, did you mean that I can simply use two 2803's in series without any other additional components to invert the outputs? Will I in this case still need the 78HC14?
    Of course if there's another simpler solution let me know.
    The display should look like this (but as I said with 6 LEDs per segment)

    [​IMG]
    Thanks
     
  4. AnalogKid

    Distinguished Member

    Aug 1, 2013
    4,542
    1,251
    In each segment, the two strings of 3 LEDs each will require separate ballast resistors; because no two diodes have *exactly* the same forward voltage, you can't just parallel up diodes and expect them to share current (and therefore brightness) evenly. I suggest you draw out a schematic of the display with each diode and resistor. It will be a mess, but it is the best way to track each connection.

    As I wrote above in point 3, you can eliminate the 2803 and any other inverting and driving components other than the original 8550's and some zener diodes. If you adjust the 12 V power supply down to 11 V (or put 1 or 2 1N4004 diodes in series with the output, you don't need any other components for the STC to drive the cathodes. As above, you'll need a zener in the base circuit of each 8550, something around 5.1 to 6.2 V.

    Sure you don't mean microamps rather than nanoamps?

    ak
     
  5. digital_citizen

    Thread Starter New Member

    Jun 22, 2015
    3
    0
    Hi, sorry for the late reply.
    Just to understand more:
    True, the two strings do have separate resistors.

    This is because of the low current required of the display, right? For higher current I have to use the 2803.

    Sure :)
     
  6. cblx5

    New Member

    Sep 19, 2015
    3
    1
    Hi,

    I was amazed to see this thread, I was building something very similar to digital citizen and Analog Kid's 6.8v zener tip was just what I needed to drive transistors with 12V supply from 5V drivers.

    Each segment of a display below is 6 blue rectangular LEDs ( 2mm x 5mm x 7 mm depth) so each display is about 65mm high ( 2 segments x 5mm x 6 LEDs plus gaps) .

    The 6 LEDs are wired as 2 parallel sets of 3 LEDs in series from a 12 V supply, forming 6 LEDs physically in a row (segment).

    Please see my work in progress (sorry about focus, and excuse my wiring neatness).
    1) Half finished clock in home brew case .... still finalising display brightness resistors ......

    20150919_155043_800x600.jpg


    2) Original Clock board attached to my driver board, notice the 4 6.8v zener diodes driving the 4 display transistors. I have used 2 SN7407 to (sink) each segment and 'seconds' LEDs.

    Clock board_1024x768.jpg


    3) Display wiring views - not the neatest, note display 3 (10's of mins) should be wired upside down ( as per original board software) which I forgot !!!!!

    clock display_800x600.jpg


    display wiring_800x600.jpg



    Thanks for the tips...
     
    PRAKASH KOPPAL likes this.
  7. cblx5

    New Member

    Sep 19, 2015
    3
    1
    BTW the additional circuitry ..... note there are 4 display drivers and 7 segment sinks plus the seconds LED sink..........

    clock circuit.jpg
     
  8. ScottWang

    Moderator

    Aug 23, 2012
    4,855
    767
    The files size that you attached were too too big, I was compressed them to the normal size, they are from about 3MB compressed to about 100KB, next time before you upload the files, please compress the photos to 800x600 or 640x480, if necessary then you can compress to 1024x768, almost the photos using 800x600 image is enough.

    I spent three times to download the images, two of them were failed, too much file size will affecting the connecting speed of members to the forums, thanks for your cooperation and understanding.
     
  9. cblx5

    New Member

    Sep 19, 2015
    3
    1
    Hi ScottWang - ok thank you my apologies - my first post so was not familiar with upload sizes.
     
  10. dannyf

    Well-Known Member

    Sep 13, 2015
    1,819
    362
    Technically speaking, that is not compliant with a 5v tolerant / capable pin. The voltage being applied to the pins, assuming a typical input pin with clamping diodes, will be dependent on the zener's characteristics @ the current levels. In this case, the current through the resistors / zener is close to zero so there is very little voltage being dropped over the zener and you are simply relying on the clamping diodes to keep the pin at 5v.

    A better approach is to use a npn here.
     
  11. RRITESH KAKKAR

    Senior Member

    Jun 29, 2010
    2,831
    89
    The best way i suggest is shift register serial to parallel out put rather than multiplexing!
     
Loading...