Forum: Mikrocontroller und Digitale Elektronik Ansteuerung von 2 kaskadierten Ls259 (DL259) mit AtMeg8515.


von Wolfgang (Gast)


Lesenswert?

Hallo.
Anfrage wegen LS259-Ansteuerung.

Da habe ich nun ein Problem, bei welchem ich nicht weiter komme.
Da ich gerade dabei bin, im Rahmen eines etwas umfangreicheren Projektes
u. A. 16 Relays mit einem AVR von Atmel ansteuern zu wollen,
bin ich bei der InterNet-Recherche auch auf Eure Seiten gestoßen.
Dazwischen gibt es natürlich noch zwei ULN2803A.
Im Moment liegen LEDs mit Vorwiderständen an den LS259-Ausgängen,
damit ich erst mal mit kriege, was wirklich passiert.
Da ich aber noch ein Problem mit der richtigen Ansteuerung der LS259 
habe,
könnt Ihr mir vielleicht einen Rat geben.
Ich hatte bisher immer laut Wahrheitstabelle /Clr fest auf Low und Di 
fest auf High.
Um den richtigen Chip anzusteuern, habe ich bisher immer nur /OE bzw. /G 
über entsprechende AVR-Ausgänge umgeschaltet.
Ich will ja eigentlich nichts zwischen speichern,
sondern es darf immer nur ein Chip das direkt adressierte Bit auf High 
schalten.
Da habe ich eben offenbar noch ein Verständnis-Problem.
Jedenfalls scheint bei mir u. A. das Zurück-Setzen nicht zu 
funktionieren.
Dadurch zieht natürlich pro Chip immer das jeweils adressierte Relays 
an.
Es darf aber immer nur eins aktiv sein.
Natürlich könnte man als möglichen Ausweg noch Di getrennt mit 
ansteuern...
Das sollte aber laut Wahrheitstabelle aber eigentlich nicht notwendig 
sein, oder verstehe ich sie nicht richtig.
Da ich 16 unabhängige Ausgangs-Signale brauche,
von denen aber immer nur einer auf High sein darf,
schien es mir praktikabel, die Adressen der Dekoder zusammen zu fassen.
Mit /OE bzw. /G, je nach Datenblatt wollte ich den richtigen Chip 
selektieren.
Wie ich es im Assembler-Programm definieren muß ist klar,
und alles Andere macht ja auch, was es soll.
Nur die richtige Ansteuerung der LS259 als reine Dekoder nebst /Clr...
Dabei sieht die Wahrheitstabelle doch eigentlich sehr einfach aus.

Vielen Dank im Voraus: Wolfgang Meyer.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Sorry, ich nöle ungern 'rum, aber dein Text ist völlig unleserlich
formatiert.  Die Zeit hab' ich leider nicht, das jetzt optisch zu
erfassen, was du hier eigentlich willst.

Vielleicht kannst du den ja mal klar und deutlich in Absätze fassen
und nur so breit schreiben, dass es keine Umbrüche ,,irgendwo''
gibt?  Dann les ich mir das auch gern durch.

von Wolfgang (Gast)


Lesenswert?

Entschuldigung, aber die Umbrüche sind nicht von mir.
Ich kann es aber noch mal überarbeiten.
Aber es kann aber sein, das ich erst morgen dazu komme.
Eigentlich komme ich nur mit der Ansteuerung der 74LS259 nicht klar.
So einfach wie ich es der Wahrheitstabelle entnehme, geht es nicht.
Wolfgang.

von jack (Gast)


Lesenswert?

Bei meinem DB ist Pin 15 "clear" und Pin 14 "/E".

Clear kann fest mit Gnd verbunden werden. Für die Ansteuerung von 16
Ausgängen brauchst Du 5 Portpins: 3 für ABC und 2 für /E1 und /E2
(IC1 u. IC2).
Ausgangszustand: /E1 und /E2 sind high, an ABC liegt z.B. 010 an.
Jetzt ziehst Du /E1 auf low, dann müßte Q2 vom IC1 auf high gehen.
Dann /E1 wieder auf high und ein anderes ABC wählen und /E1 oder /E2
auf high.

D kann dauernd auf high bleiben.

von jack (Gast)


Lesenswert?

>Dann /E1 wieder auf high und ein anderes ABC wählen
>und /E1 oder /E2 auf high.

und /E1 oder /E2 auf "LOW" muß es natürlich heißen.

von H. W. (digger72)


Lesenswert?

Hallo Wolfgang,

Ich kenne folgende Wahrheitstabelle für den DL259, allerdings
mit abweichenden Signalbezeichnungen
/RD  /En   Gew. Latch   andere Latches         Funktion

 L    L       D         gespeich.Zustand        gewähltes Latch
 L    H       ---  keine Änderung---            Speichern
 H    L       D              L                  Demuxer (ohne Speichern)
 H    H       L              L                  Löschen

/RD (pin15) müsste /Clr und /En(14) /OE entsprechen.

Ich hoffe, das hilft dir weiter.

Digger

von Peter D. (peda)


Lesenswert?

Wolfgang wrote:

> Da ich gerade dabei bin, im Rahmen eines etwas umfangreicheren Projektes
> u. A. 16 Relays mit einem AVR von Atmel ansteuern zu wollen,
> bin ich bei der InterNet-Recherche auch auf Eure Seiten gestoßen.
> Dazwischen gibt es natürlich noch zwei ULN2803A.
> Im Moment liegen LEDs mit Vorwiderständen an den LS259-Ausgängen,

Wozu der LS259, soll immer nur ein Relais angezogen sein?

Ansonsten ist es viel einfacher, ein Schieberegister mit 
Leistungsausgang zu nehmen, z.B. TPIC6C595 oder TPIC6B595, dann braucht 
man auch keinen ULN2803 mehr.
Für 16 Relais schaltet man dann 2 hintereinander.

http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI


Peter

von Wolfgang (Gast)


Angehängte Dateien:

Lesenswert?

Hallo.

Erst mal vielen Dank für Eure Hilfe.
Das gilt für alle, auch wenn ich nur einen Antwort-Button auwählen kann.
Ich fasse also mal zusammen:

Da jede Firma in der Anleitung einen anderen Namen für die Pins benutzt,
kann es gut sein, daß ich die passenden Steuer-Anschlüsse werwechselt 
habe.
Mir liegt dazu u. A. ein Daten-Heft über den DL259 (DDR-Entsprechung) 
vor.
Außerdem habe ich ein englisches Dateblatt von Texas Instruments.

Also ich habe noch mal alles nachgeprüft.
Laut dieser Tabelle muß /Clr auf High und nicht auf Low.
Laut meinen Beschreibungen soll ich immer /Clr auf Low legen
und diese Tabelle sagt nun das Gegenteil.
Sonst habe ich D (Di) fest auf High
und will mit /G (/E, /OE) dann umschalten.
Die Adressen werden natürlich immer parallel angesteuert.

Wenn man den Wald vor lauter Bäumen nicht mehr sieht,
kann es eben doch passieren daß man /Clr umschaltet und nicht /OE.
Das habe ich dann sofort umgelötet.

Jetzt geht wirklich immer nur eine LED pro Chip an, wie es auch sein 
soll.
Ja die vorgesehene Anwendung darf wirklich immer nur ein Relays 
anschalten.

Das ganze steuere ich über ein AtMeg8515-Port.
Dieses Probier-Programm tut nur das in ständiger Wiederholung.
Natürlich gibt es dazwischen immer Zeitschleifen, damit man auch was 
sieht.

Dabei ergab sich eine fast korrekte Funktion.
Es wird nämlich bei jedem Chip immer die 8-te LED ausgelassen.
Wenn jeweils die letzte LED pro Chip dran wäre,
gibt es allerdings die richtige Wartezeit bis zur nächsten LED.

Wenn ich das noch beseitigen könnte, wäre alles in Butter.

Im Programm kann ich erst mal keinen Fehler sehen.
Warscheinlich habe ich irgentwas simples noch nicht bedacht.

Wolfgang

von Wolfgang (Gast)


Lesenswert?

Hallo.

Sehr vielen Dank für Eure Hilfe.
Jetzt geht es endlich so, wie ich es haben will.
Man soll halt die LEDs nicht versetzt anschließen.
Dadurch hing jeweils die achte in der Luft.
Nun mag ich die DL259 richtig,
weil ich mit 5 AVR-Pins zum Ansteuern auskomme.
Die übrigen 3 brauche ich eh noch für andere Zwecke.
Jede andere auch machbare Lösung hätte mehr gebraucht.

Wolfgang.

von Peter D. (peda)


Lesenswert?

Wolfgang wrote:

> Nun mag ich die DL259 richtig,
> weil ich mit 5 AVR-Pins zum Ansteuern auskomme.
> Die übrigen 3 brauche ich eh noch für andere Zwecke.
> Jede andere auch machbare Lösung hätte mehr gebraucht.

Na, na!

Die Schieberegisterlösung braucht seit ewigen Zeiten nur 3 Pins (Takt, 
Daten,  Speichern).

Es gibt aber auch 1-wire Schalter-ICs von Maxim (also nur 1 Pin).
Ist aber von der Ansteuerung her nicht gerade für Anfänger.


Peter

von Wolfgang (Gast)


Lesenswert?

Hallo.

Das wußte ich nicht.
Leider bin ich auch sehr im Zeitdruck.
So konnte ich auch nicht weiter nach anderen Lösungen suchen.
Und die DL259 haben wir einfach da.
Was Anderes zu bestellen, hätte auch wieder Zeit gekostet.
Ich bin froh daß es jetzt macht, was ich brauche.

Wolfgang.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter Dannegger wrote:

> Die Schieberegisterlösung braucht seit ewigen Zeiten nur 3 Pins (Takt,
> Daten,  Speichern).

Das kann er ja dann machen, wenn er die nächsten beiden Pins auch
noch braucht. ;-)

von Peter D. (peda)


Lesenswert?

Wolfgang wrote:
> Hallo.
>
> Das wußte ich nicht.

Aha.

Du hast also meinen Beitrag und denn angegebenen Link nicht angesehen 
:-(


Peter

von Falk B. (falk)


Lesenswert?

@ Peter Dannegger (peda)

>Du hast also meinen Beitrag und denn angegebenen Link nicht angesehen
>:-(

Jaja, Generation Restless. Schnell, schnell war zusammengebraut, nicht 
wirklich verstanden, "läuft aber erstmal".

In der Ruhe liegt die Kraft.

MFg
Falk

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Ich habe den 74HC259 zur Ansteuerung der Kommapunkte einer 
Siebensegmentanzeige verwendet. Die drei Adressbits A,B,C plus Datenbit 
D bilden einen 4-Bit-Datenbus, der noch die 7-Segment-Decoder 4543 
versorgt, damit ist nur noch das  Bit /E speziell für die Kommapunkte 
nötig.
(Damit können auch z.B. der 3. und 6. Punkt gleichzeitig gesetzt werden 
oder auch "Lauflicht"-Kommas als Spielerei programmiert werden)

von Wolfgang (Gast)


Lesenswert?

Hallo, bitte nix für ungut oder so.
Kann ja Euren Unmut verstehen...
Nein ich habe zwar nie studiert, sondern nur Anfang 70
meinen Elektomechaniker (so hieß das damals) gemacht.
Man lernt aber dazu, wenn man Gelegenheit dazu bekommt.

Aber aber ab nächste Woche muß ich mich
die die nächsten 2 Monde leider um Anderes kümmern.
So müßte es dann halb fertig liegen bleiben
und könnte womöglich erst nächstes Jahr
im Praktikum verwendet werden.
Da der dafür zuständige Kollege
ja auch nicht mehr viel Zeit zur Vorbereitung hat,
muß er jetzt wissen, ob er es mit einbauen und vorbereiten kann.

Es geht dabei um ein funktionsfähiges
möglichst anschaulich arbeitendes Lehrmittel.
An diesem parallelen A/D-Wandler mit 8 Bit Auflösung
lassen sich nun auch richtige Meß-Reihen aufnehmen.
Deshalb ist auch alles erst mal auf einer Lochraster-LeiterPlatte
plaziert und von Hand verlötet worden.
Ob ich später auch mal eine richtige Leiterplatte daraus machen kann,
hängt unter Anderem vom Geld ab.

Ich wollte den Kollegen einfach nicht hängen lassen...
Deshalb hatte ich auch keine Zeit, mir noch andere Lösungen anzusehen.

Wolfgang.

von Falk B. (falk)


Lesenswert?

@ Wolfgang (Gast)

>und könnte womöglich erst nächstes Jahr
>im Praktikum verwendet werden.
...
>Es geht dabei um ein funktionsfähiges
>möglichst anschaulich arbeitendes Lehrmittel.
...
>Deshalb hatte ich auch keine Zeit, mir noch andere Lösungen anzusehen.

Sollte aber nicht gerade ein LEHRMITTEL halbwegs praxisorientiert sein? 
Akademische Elfenbeintürme und angestaubtes Zeug gibt es schon mehr als 
genug.

Die Chinesen sagen "Wenn du es eilig hast, gehe langsam."

MFG
Falk

von Wolfgang (Gast)


Lesenswert?

Hallo.

Da hast Du sicher wirklich recht,
aber ich muß es ja so bauen,
wie es verlangt wird.

Wolfgang.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.