How to read an equipment's 7 segment display

Discussion in 'General Electronics Chat' started by RodSTAR, Nov 2, 2016.

  1. RodSTAR

    Thread Starter Member

    Jan 3, 2008
    15
    0
    Hello guys,
    I want to read the pins from a 7 segment display (5V DC) from an old working equipment. My purpose is to remotely monitor the value of that display (equipment status). Preliminary I plan to use an Arduino to software decode pins and send value (0-9) to network.

    I'm mostly a software guy, so the question is:

    Question 1/2: a or b?
    a)Would it be safe if I just connect display's pins directly to Arduino's pins,
    b)or should I add some resistances or even optocouplers to be read by Arduino's pins?

    Question 2/2: In the case of using a Parallel to Serial IC, is there some one that already decodes 7 segment displays or am I just limited to a 74HC165 general purpose shift register?
     
  2. MrChips

    Moderator

    Oct 2, 2009
    17,010
    5,257
    I have done this already but you really need to state the make and model of the equipment that you want to read.
     
  3. shteii01

    AAC Fanatic!

    Feb 19, 2010
    4,425
    700
    Why?
    They already said the equipment is using 5V logic. Arduino is 5V system that is also using 5V logic.

    The only real question is how much current the original equipment outputting to the original led.
     
  4. dl324

    AAC Fanatic!

    Mar 30, 2015
    7,175
    1,649
    You could do this if the Arduino and the display signals use the same the same voltage.

    We need more information regarding the display. If it's multi-digit, it might be multiplexed. You also need to consider if '6' and '9' have 'tails'.
     
  5. MrChips

    Moderator

    Oct 2, 2009
    17,010
    5,257
    Because you need to know how the seven-segment displays are interfaced.
    Is it multiplexed or non-multiplexed?
    Is it common anode or common cathode?
    Is it BCD or straight seven-segment?
     
  6. RodSTAR

    Thread Starter Member

    Jan 3, 2008
    15
    0
    Well, it's a YPV 4.5kW chinese servodrive.

    I've measured it and it rates 4~10 mA.
    It's a single digital display, so it's not multiplexed (that's a good luck).
    They play "tails" to '6' and '9' digits.

    Is it multiplexed or non-multiplexed?: it's non-multiplexed
    Is it common anode or common cathode?: no idea yet, but not a problem according to case, i will read 5v as active or inactive.
    Is it BCD or straight seven-segment? not idea if uses a BCD or comes directly from the DSP processor, but I think that point irrelevant to my question.

    So,
    if that 5V segments drive less than 10 mA would it be safe to connect them direct to my 5V Arduino?
     
    Last edited: Nov 2, 2016
  7. dl324

    AAC Fanatic!

    Mar 30, 2015
    7,175
    1,649
    It doesn't matter what segment current is. You need to tap into the control signals.

    If it's common anode, you need to invert the segment signal. With common cathode, you use the signal directly.
    A lookup table to decode the digit on your Arduino might be the easiest to implement.

    You still need to determine the voltage levels from the display. If it's the same as the Arduino voltage, interface is straightforward; otherwise, level shifters may be necessary.
     
  8. AnalogKid

    AAC Fanatic!

    Aug 1, 2013
    7,045
    1,993
    You might consider that we're not asking the same question repeatedly for the fun of it.

    No matter what the display type is, the voltage at the display pins are almost certainly *not* 5 V TTL logic levels. For example, if the display is common anode and the anode is tied to an internal 8 V so the display current does not generate heat in the 5 V regulator, then the on and off voltages on the segment pins are 6 V and 8 V. Even if the display is running on the regulated 5 V, the pin voltages are 5 V and 3 V (or 5 V minus whatever the forward voltage drop if a segment LED is). If the display is common cathode and the cathode is at ground, the pins are at 0 V (with no pull-down impedance) and 2 V, not high enough to guarantee a logic 1 at an input.

    ak
     
    absf likes this.
  9. takao21203

    AAC Fanatic!

    Apr 28, 2012
    3,783
    502
    This can not work since the LED voltage will be 2 volts or less. If there are resistors you can tap before the resistors. Can you show the PCB?
     
  10. GopherT

    AAC Fanatic!

    Nov 23, 2012
    8,025
    6,786
    The ancient MM74C915 could be fun to work into this project! A 7-segment to BCD converter. I have two but I have no idea if they work or where they came from.
     
  11. AnalogKid

    AAC Fanatic!

    Aug 1, 2013
    7,045
    1,993
    Blast from the past. Old NS part?

    ak
     
  12. RodSTAR

    Thread Starter Member

    Jan 3, 2008
    15
    0
    In the software side, yes, i will read a lookup table to determine the corresponding digit indeed it's the 1st thing a made.
    I have just dismembered the servodrive: the pins come out from an ACTEL A54SX16A FPGA RUNNING AT 5V. Between FPGA pins and the display pins there is a 470ohms resistor for each segment. (... 8 resistors (including the dot '.' segment)). The segment display says KINGBRIGHT SA56-11HWA, the datasheet description says: "Common Anode, Rt. Hand Decimal."

    So with that info, what would you advice me?
    Would it be prudent to intercept the trace before or after the resistors?

    thx ;]
     
  13. AnalogKid

    AAC Fanatic!

    Aug 1, 2013
    7,045
    1,993
    Before. Posts #7 and #9.

    ak
     
  14. GopherT

    AAC Fanatic!

    Nov 23, 2012
    8,025
    6,786
    Yes.

    image.jpeg
     
  15. RodSTAR

    Thread Starter Member

    Jan 3, 2008
    15
    0
    ok, i'll solder wires to the SMD resistors in the fpga side and play with Arduino. Cross your fingers for me. If i'm still alive i'll tell you the results with text, pictures and video, if I find my cell phone.
    thx
     
  16. RodSTAR

    Thread Starter Member

    Jan 3, 2008
    15
    0
    That chip looks quite interesting. For my luck, in this era, microcontrollers can do that easily with a simple programming. I guess it's interesting to play with it.
     
  17. takao21203

    AAC Fanatic!

    Apr 28, 2012
    3,783
    502
    you need negative logic.

    If the segment is on the pin on the IC will be L otherwise it will be Vcc (5V) - VLED of less than 2v at low currents.

    This may get you sort of a problem since you will not see full H level.

    Instead you need to use internal pullup or add external resistors.
     
  18. RodSTAR

    Thread Starter Member

    Jan 3, 2008
    15
    0
    If H level is not enough, would a level shifter do the job?
     
  19. dl324

    AAC Fanatic!

    Mar 30, 2015
    7,175
    1,649
    If you're limited to connecting to the pins on the display, you need to incorporate some sort of level shifter. If you can connect further upstream, you might be able to avoid that issue.
     
  20. GopherT

    AAC Fanatic!

    Nov 23, 2012
    8,025
    6,786
    Without seeing the board and how it is connected, there is no way to tell.

    follow the instructions and post a very clear photo of the board (both sides).
     
Loading...