7 Segment Displays and MAX7219


Closed Thread
Results 1 to 14 of 14

Hybrid View

  1. #1
    Join Date
    Nov 2007
    Location
    South-West of Australia. A small town called Denmark. 'Where the forest meets the sea.'
    Posts
    136


    Did you find this post helpful? Yes | No

    Default Cascading Displays

    Tony,

    Thanks for your interest, I was beginning to think this subject was a dead duck.

    I think you must be correct with the communications issue. A few facts about the displays:

    1. They are a commercially made item (not that this guarantees perfection, but it rules out obvious stuff-ups) from Futurlec.

    2. Each display board has 8 digits and the MAX7219 driver.

    3. The Iset resistors are 10k, not 'A maximum of 9.53k' as stated in the data sheet from MAXIM. Do you think the extra 470 Ohms matters?

    4. There are decoupling capacitors on the boards: value 47mF, not '0.1mF' as stated in the MAXIM data sheet.

    When the display fails it shows '88888888' without the decimal points.

    I have just had a thought!

    The supply voltages that I measured down the chain of three boards was OK - BUT this was whilst the displays were working OK.

    Suppose that the three displays are commanded to display (worst case)
    '88888888' '88888888' '88888888'
    then the current drain will be much higher than (best case)
    '-------1' '-------1' '-------1'
    And the 5 Volt supply will be pulled down to a level where the MAX7219 chips won't work?

    So it could be caused by an inability to suppy the current if all digits need to be on?

    Any ideas/comments

    Regards Bill Legge

  2. #2
    Join Date
    Nov 2007
    Location
    South-West of Australia. A small town called Denmark. 'Where the forest meets the sea.'
    Posts
    136


    Did you find this post helpful? Yes | No

    Default Cascading MAX7219

    Tony,

    Not much luck with my idea that the supply was being pulled down by the displays attempting to show '88888888' '88888888' '88888888'

    I did three tests:

    1. Bypassed the MCU/PIC 5Volt supply and provided 5V from my bench-top PSU. No luck - problem remains.

    2. Set the intensity register low to minimise current drawn by the displays - No luck.

    3. Measured the Vcc pins on the displays whilst showing '88888888' '88888888' '88888888' - and the voltages are 'healthy' i.e. about 4.8 Volts

    I think I'll just have to revert to one port per MAX7219?

    I also made an error in understanding the Iset resistance, it's a MINIMUM of 9.5k so 10k is OK. The circuit I am using is identical to the one in the MAX spec sheet for cascading devices but with the decoupling capacitor 47mF not 0.1mF

    Regards Bill Legge

  3. #3
    Join Date
    Nov 2005
    Location
    Bombay, India
    Posts
    967


    Did you find this post helpful? Yes | No

    Default

    Hi Bill

    This looks like a timing problem to me. The clock is getting skewed with time due to capacitive load changes due to temperature drift (maybe) A possible solution maybe to buffer your clock and Load lines which are common to all the 7219s.

    A couple of suggestions
    - try to use the internal oscillator @4MHz if available so that this might me ruled out.
    - rule out a ground problem by jumpering the grounds. This may be a cause for signal level deterioration at the last chip
    - Use standard decoupling of 0.1mfd. The 47mfd sounds generous but may not be good to filter the ripples caused due to the displays scanning.

  4. #4
    Join Date
    Nov 2007
    Location
    South-West of Australia. A small town called Denmark. 'Where the forest meets the sea.'
    Posts
    136


    Did you find this post helpful? Yes | No

    Default Cascading MAX7219

    Jerson,

    Thank's for your thoughts. I'll try:

    1. 0.1 mfd decouplers.
    2. Buffering the data and clock lines.

    I've got a storage scope so perhaps the answer is to grab the clock/data out of the MCU and compare it with the data out of the last display and - hopefully, spot some degredation?

    Regards Bill Legge

  5. #5
    Join Date
    Mar 2008
    Location
    Gerogetown, Texas
    Posts
    94


    Did you find this post helpful? Yes | No

    Default

    Bill

    I have used these displays for a couple of years and also have made my own displays using the MAX7219. I can tell you they are sensitive at start up you need to ensure you have enough capacitance. For my home brew project I had to add a 100uf cap on the 5 volt lines. Got a lot of strange results without it' I have also included the setup I use with two chips daisey chained.

    Code:
    '###############################################################################    
     ' ====================== MAX7219 SETUP ==========================
    
    MAX_SET_UP:
    for a = 0 to 3
        For index = 0 to 7		' Retrieve 8 items from table. 
          LookUp index,[SCAN,7,BRITE,10,DECODE,%11111111,ON_OFF,1],max_dat
          ShiftOut DATA_n,CLK_n,1,[max_dat]
          IF odd = 0  Then noLoad	' If odd is 1, 
          PulsOut LOAD_n,1		' pulse LOAD line.
        NoLoad:				' Else, don't pulse. 
        Next index					' Get next item from table. 
    next a
    		
    return
    '' ===================== DISPLAY SUBROUTINE ========================
    
    Max1:
    
      ShiftOut DATA_n,CLK_n,1,[0,0] '
      ShiftOut DATA_n,CLK_n,1,[seg,dat]	' Send the digit. 
      PulsOut LOAD_n,1				' Load the display. 
      						' Repeat for all 4 digits. 
    return						' Done? Return. 
    
    Max2:
        ShiftOut DATA_n,CLK_n,1,[seg,dat]	' Send the digit. 
        ShiftOut DATA_n,CLK_n,1,[0,0]
        PulsOut LOAD_n,1	
    
    return

    Good luck

    Dave

  6. #6
    Join Date
    Nov 2007
    Location
    South-West of Australia. A small town called Denmark. 'Where the forest meets the sea.'
    Posts
    136


    Did you find this post helpful? Yes | No

    Default Cascading MAX7219

    Dave,

    Thanks for the tip, I'll try big caps.

    Prices are excellent at Futurlec but the support/documentation is sometimes lacking - still a bargain.

    I like your MAX set-up (mine is lots of lines of obvious code!) but cant quite follow it:

    1. The set-up generally is of the form [Register,Value]
    2. Where Register goes from 0 to F
    3. And value is byte sized

    4. What is your variable 'a' ?
    5. What size is the variable 'Max_dat' ?
    6. I can't see how you are writing 'Register' and 'Data' to the MAX?

    Regards Bill Legge

  7. #7
    Join Date
    Apr 2005
    Location
    Virginia
    Posts
    65


    Did you find this post helpful? Yes | No

    Default

    Bill,

    I don't know that I can offer much more help, but it looks like Jerson and Dave have some excellent leads. When you mentioned seven segment displays from Futurelec, it rang a bell. I had a project last year where I needed 3", dual color seven segment displays and I got in touch with the manufacturer in China. They have even more options than what Futurelec offers and you can buy from them directly if you wish - be warned they don't accept credit cards (at least last year), so you have to do a bank transfer, which somehow cost us ~$40 bucks and shipping was about ~$25, but for the quantities you're talking about, it might be worth it. Regardless, they try to be helpful so if you have questions on their units or need a datasheet you can e-mail them and they usually get back to you by the next day. Their website is: http://www.nb-flying.com/.

Similar Threads

  1. MAX7219 Helping Hand Please
    By isaac in forum mel PIC BASIC Pro
    Replies: 22
    Last Post: - 14th February 2014, 15:07

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts