-         

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

Thema: Sieben-Segment Anzeige wie ansteuern?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.06.2006
    Alter
    24
    Beiträge
    43

    Sieben-Segment Anzeige wie ansteuern?

    Anzeige

    Nun möchte ich eine Sieben-Segment Anzeige (beliebig [max. 20Stück] erweiterbar) realisieren. Würde am liebsten vor jedem Segment eine art Speicher legen, dieser wird dann passend Beschrieben und mein RN-Control (ATMega16) wechselt dann den Speicher usw.

    So nun zwei Fragen: Ist sowas überhaupt sinnvoll und wenn ja was für ein Speicher verwenden? Oder soll doch eher ein BUS (z.B. SPI) verwendet werden? -->sehe das Problem bei einem Bus das es Software technisch schwere zu Handhaben ist, ergo ich habe erst vor zwei Wochen angefangen und möchte nicht gleich alles zu schwer machen beim Programmieren [Bascom].

    Zweite Frage: Was ist wenn gerade eine neue Ausgabe auf die Speicher geladen wird und der Controller aber aus irgendeinem Grund (z.B. Interrupt) unterbrochen wird und die Interrupt Routine etwas länger dauert dann wird ja völliger mist angezeigt, wie verhindert man sowas? Oder ist das einer der größten/ausschlaggebenden gründe nicht auf diese weise die Segmente anzusteuern?

    Wäre dankbar wenn ihr mir etwas bei diesem Problem hälfen könnte...

    Nochetwas ich möchte alle Pins des Controllers nur so gering wie möglich mit Strom belasten.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.566
    Für bis zu 20 SSG würde ich einen Bus (I2C, SPI,...) verwenden.
    Du wirst weitere Ein- und Ausgänge für eine Steuerung brauchen.
    Wenn du noch nicht mit einem Bus arbeiten willst, verwende am Anfang LEDs

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    10.02.2007
    Ort
    Brig-Glis
    Alter
    24
    Beiträge
    277
    Ich empfehle, sofehrn du ein Steckbrett besitzt, erst einmal eine bis zwei Segment Anzeige darauf zu testen. Somit hast du es später auch beim verdrahten leichter haben.

    Wenn du z.B. die Zahlen von 0-9 anzeigen willst, kannst du im Programm eine Art Tabelle erstellen, bei der jede Ziffer vorgegeben ist. Somit musst du im Programm nur noch schreiben "1", dann wird auch einfach eien 1 anzgezeit. Somit erspartst du dir ne Menge Schreibarbeit.


    Mfg JeyBee

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Am Anfang habe ich es so gemacht und es hat auch sehr schnell funktioniert:

    Du nimmst als Speicher ein Schieberegister. Diese Register haben den Sinn, dass Du die Daten hineinschiebst (nacheinander, also seriell), und sie geben dann auf Befehl die Daten parallel aus (d.h. alle gleichzeitig).
    Das einfach daran ist, Du kannst die Schieberegister nacheinander schalten, und dadurch hast Du zwar ne Art Bus, aber kaum Softwareaufwand.

    Und mach Dir in diesem Fall keine Sorgen ums Unterbrechen, wenn Du einen Interrupt zwischenrein kriegst, ändert das nichts, aus zwei Gründen:
    - Der Interrupt ist sehr kurz
    - Das Schieberegister schiebt nur auf Deinen Befehl, also schiebt es bei einem Interrupt eben mal 2ms lang nichts.

    Ich hab zwar keine 7-Segment-Anzeigen verwendet, aber LEDs, das kommt von der Anzahl aufs selbe raus, ich hatte dann eine Matrix von insg. 60 LEDs, und konnte ein Bild (d.h. 60 mal schieben) innerhalb weniger ms aufbauen, so dass ich sogar "Filme" abspielen lassen konnte, ohne dass man Flackern, o.ä. gesehen hätte.
    Für genauere Infos und Hilfen einfach hier schreiben oder an mich wenden.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    25.06.2006
    Alter
    24
    Beiträge
    43
    Danke für die schnelle Info. Also die eigentliche Verdrahtung (Vorwiderstände, Spannungsversorgung/regelung) stellt nicht so das große Problem da...mein Vater ist Elektroniker von Beruf der kann mir notfalls helfen. Diverse Sockel, verschiedene Platinen und Kleinteile sind auch alle vorhanden...

    Mein eigentliches Problem ist wie schon genannt die genau Ansteuerung (I2C, SPI...) und die Umsetzung in der Bascom (Bascom-AVR).

    Momentan läuft es darauf hinaus dass die Ansteuerung per Schieberegister realisiert wird.

    Meine Fragen:
    - Ist der SPI der richtige Port?
    - Ist eine Tabelle und die Ansteuerung des SPI Port für einen Anfänger zu schwer?
    - Was für ein IC muss ich verwenden? z.B. der 74HCT595 kann laut Datenblatt nur 70mAh insgesamt schalten. Würde aber gerne mind. pro Ausgang 20mAh (insgesamt 160mAh). Gibt es passende ICs die höhere Ströme vertragen? Oder muss ein Transistor hintergeschaltet werden?

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Also ich empfehle ein normales Schieberegister, das hat dann keinen Bus, sondern nur die drei Eingänge: Data, Clock und Output_Enable. Hinten dran dann ein Treiber-IC (ULN2803), und daran dann die LEDs/Segment-Anzeigen.
    Fertig.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    25.06.2006
    Alter
    24
    Beiträge
    43
    Also ich habe nun mal ein Schaltplan entworfen. Dazu habe ich noch einige Fragen.

    1. Gehört der Eingang SER vom 74HC595 an MOSI des Controllers?
    2. Darf ich RCK an jeden beliebigen Pin hängen und dieser Pin wird dann einfach kurz von Low auf High geschaltet? (Hier wurde er auf PB0 gelegt)
    3. Ist es gut wenn ich ein 100nF Kondensator zwischen G und SCL lege als Stabilisierung?
    4. Pin 9 vom IC8 (QH*) kann frei bleiben oder?
    5. Wenn ich noch ein Eingang auch per Registerverschiebung anschließen möchte wie wird der dann angeschlossen?
    6. Kann ich die Schaltung noch vereinfachen, vorallem wegen den Widerständen?

    Im Anhang ist der Schaltplan. Dies würde ich einfach auf einer Lochrrasterplatine machen. Wie gesagt kommen evt. noch weitere vier Module drauf und ein weiterer Eingang zur Tastenabfrage und evt. noch ein Ausgangsport um ext. Lampen anzusteuern (per PWM). Da wäre es halt geschickt Bauteile und verbindungen einzusparen...

    Danke für die Hilfe
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken schaltplan_686.png  

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    25.06.2006
    Alter
    24
    Beiträge
    43
    Hat keiner eine Antwort?

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    hmmm ... also,
    die Schieberegister kannst Du an MOSI und SCK anschließen
    und die SPI benutzen, musst Du aber nicht.
    Du kannst auch 2 Beliebige Pins nehmen und einfach
    den Wert synchron ausshiften.
    Beides ist möglich.
    Nen Kondensator an RCK halt ich für keine gute Idee ...
    Signalleitungen würd ich nicht puffern, das versaut Dir nur die Flanken.
    Dein µC sollte den Haltestrom schon bringen.
    IC8 QH bleibt offen, es sein denn Du willst n weiteres Schieberegister
    anhängen.
    Die Schieberegister haben Ausgänge, ich würd sie nicht mit Eingängen mischen.
    Wenn Du noch andere Verbraucher schalten willst kannste das
    klaro über weitere Register machen ... entsprechende Treiber natürlich
    mit dazu.
    Vereinfachen ... hmmmm ... mal abgesehen die Geschichte einfach
    per Multiplex zu betreiben fällt mir keine Vereinfachung ein. Dann
    brauchste halt die Vorwiderstände nur einmal für den Bus.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    25.06.2006
    Alter
    24
    Beiträge
    43
    die Schieberegister kannst Du an MOSI und SCK anschließen
    und die SPI benutzen, musst Du aber nicht.
    Du kannst auch 2 Beliebige Pins nehmen und einfach
    den Wert synchron ausshiften.
    Beides ist möglich.
    Also ich will es schon per Hardware SPI realisieren, damit ich das ansteuern verschiedener Busarten lerne. Also sollte es richtig sein das SER an MOSI kommt und SCK an SCK.

    Nen Kondensator an RCK halt ich für keine gute Idee ...
    die Kondensatoren an den ICs sind zwischen GND und SCL [+5V] gelegt und nicht auf RCK. Ist vllt. etwas schlecht von mir gezeichnet gebe ich zu. Ist aber mein erster erstellter Schaltplan. Habe ich jetzt eigendlich grundlegende Fehler gemacht wie der Schaltplan strukturiert ist?

    IC8 QH bleibt offen, es sein denn Du willst n weiteres Schieberegister
    anhängen.
    Danke, das wollte ich genau hören.

    Die Schieberegister haben Ausgänge, ich würd sie nicht mit Eingängen mischen.
    Mhmm wie schließe ich dann meine Taster an?

    Bin dir sehr dankbar für deine Antwort.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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