-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Idee für Ansteuerung "mehrerer" 7-Seg.-Displays?

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987

    Idee für Ansteuerung "mehrerer" 7-Seg.-Displays?

    Anzeige

    Moin.

    Für ein geplantes Projekt müsste ich so geschätzt 60 einzelne 7-Segment-Anzeigen mit Daten füttern können.

    Der bisherige Plan sieht die Beschaltung wiefolgt vor:
    Jede Anzeige bekommt einen 4511 zur Auswertung; alle Eingänge (A-D) der 4511 sind miteinander verbunden.
    2 ATMega32 schalten - je nach per I2C erhaltenem Befehl - einen der 4511 auf Enable, so dass dieser die BCD-Daten auf das Display legen kann.
    (Die BCD-Daten kommen von einem ATmega8, der die anzuzeigenden Daten aufbereitet)
    Vorteil: Kein Flimmern der Segmente durch Ansteuerung über 4511.
    Durch "Haltefunktion" der 4511 müssen die Daten nur dann gesendet werden, wenn sie aktualisiert werden müssen.
    Nachteil: Nen Haufen 4511 benötigt...

    Eine Direktansteuerung der Segmente per AVR möcht ich nicht machen, da die Anzahl der Segmente zu gross ist, um ein "flimmerfreies" Bild hinzukriegen und gleichzeitig noch genug Rechenzeit zu haben.

    Hat jemand noch ne bessere Idee, wie man die Ansteuerung evtl "vereinfachen" könnte?

    mfG
    #ifndef MfG
    #define MfG

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ich selbst würde bei 60 Anzeigen eher versuchen, das wie eine DotMatrix aufzuziehen. d.h. alle gleichnamigen segment sind verbunden und sind eine ROW, die Kathoden sind die COLUMNS.
    Für die Rows braucht man da recht kräftige Treiber ( max 60 * ~20 mA) mit off. Emitter.
    Die KAthoden hängen auf Schieberegister (60 /8 = 8 Stk), da wird weniger verlangt.

    Anderes Argument: bei 60 Anzeigen + 4511, die ja idente Schaltungen sind, kannst du die Platinen wegen der grossen Anzahl recht günstig machen lassen.

    Tja.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Die Kathoden-Schaltung mit Schieberegistern müsste so wie im Anhang funktionieren. Gezeichnet sind da mal nur 3; Getaktet werden alle, nur eines kriegt jedoch eine 1 am Anfang. Wird die 1 beim letzten rausgeschoben, kriegt das nächste eine 1.

    (Beim Schreiben ist mir grad aufgefallen, dass man die 1 fürs nächste ja von der letzten Stelle des vorherigen Registers abfragen kann)

    Fehlt jetzt nur noch ein entsprechender Treiber für die Rows. Was wäre denn da was brauchbares? Sollten ja dann 1-1,5A sein.

    Edit: Anhang aus Platzgründen entfernt
    #ifndef MfG
    #define MfG

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Nein, die Schieberegister müßten in SERIE hängen, d.h. die mußt ALLE 60 Bits reinschien, dann Output enablen UND die passende ROW aufdrehen.

    Treiber sollten schon feste Knöpfe sein, vielleicht 2N 3055 , die nehm ich gerne.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Das mit in Serie hängen versteh ich grad nicht ganz.
    Bisher war geplant, dass ich einfach eine 1 reinschieb und die mit jedem Takt eins weiterschieb (damit die Kathoden eben der Reihe nach durchschalte).

    Du meinst also, ich sollte das Bitmuster, das ich brauche, komplett reinschieben (z.B. 000000000000010000000000), dann alle Enable?
    Nur die Frage, ob damit dann nicht zu viel Zeit "draufgeht"...

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ich hab eine Dot-Matrix angesteuert mit 19 x 5*7.
    Da hab ich erst alle 95 Kathoden seriell auf 0 oder 1 gesetzt.
    Dann die entsprechende ROW aufgedreht und alle Kathoden enabled
    Während des reinschiebens bleibt ja das Display stehen und hat Zeit, zu leuchten. Das ging ganz gut.
    Das "reinschieben" geht ja mit einigen hundert kHz, das ist mit dem SPI kein Problem.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    achja, der Enable aktualisiert ja nur die Ausgänge mit den neuen Daten. Hatte da den Denkfehler, dass Enable die Ausgänge abschaltet.

    Und ich glaub jetzt hab ich auch dein Vorgehen verstanden: Du baust also zuerst alle Segmente A auf, dann B, dann C...; mit der seriellen Fütterung wird bestimmt, bei welcher Ziffer das Segment leuchten soll.
    Dann macht das auch Sinn, da das tatsächlich schneller geht als meine Version (die Ziffern der Reihe nach aufbauen, also für die 1: SegB + SegC an, Ziffern-Kathoe kurz an, Segmente für Ziffer 2 vorbereiten, Ziffer 2 kurz an, etc...)

  8. #8
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Als Treiber für die Segmente würde ich je einen PNP darlington Transistor (z.B. BDW94) vorschlagen. Wenn die Matrix 7x60 Aufgebaut wird, müßten nacheinander die Segmente Durchlaufen werden. Da kommt einiges an Bits umsortieren auf den AVR zu. Auch der Speicherbedarf (RAM) wird nicht ohne sein: mindestens wohl 120 Bytes. Das wird gehen, ist aber nicht ohne.

    Als Alternative könnte man jeweils 6 Stellen zusammenfassen und statt der Schieberegister 10 mal den 4511 als Speicher und Segmentteiber nehmen. Wenn man mit der Treiberleistung des 4511 Auskommt, könnte das einfacher werdem. Statt einer 7(x 60 Martix hätte man dann 70(80)x6. Die Dezimalpunkte (in Klammern bei der Matirx) kämen aber irgendwie noch dazu, wenn man die denn braucht.
    Hängt auch davon ab, wie die LED Stellen Angeordnet sind. Bei so viel Teilen kann es sich lohnen mehr für die ICs auszugben und dafür eine einfachere Leiterplatte zu haben.

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Die Dezimalpunkte werden nicht einzeln angesteuert; die werden je nach Position dauerhaft aktiviert.

    Wobei ich jetzt vor dem nächsten Problem steh: Vorwiderstände... die brauch ich da ja fast, da die LEDs sonst nicht sehr lange halten werden... Nur wären das 420 Widerstände; etwas viel...
    Mehrere Segmente zusammenfassen wird auch schwierig, da die Segmente dann ungleichmässig hell leuchten...

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.09.2007
    Ort
    Südbaden
    Beiträge
    182
    Versuchs doch mit Wiederstandsnetzwerken, wird vielleich einfacher.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •