INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Schieberegister undefinierter Zustand
11.10.2015, 10:28
Beitrag #1
Schieberegister undefinierter Zustand
Hallo zusammen,

ich kämpfe etwas mit dem undefinierten Zustand eines Schieberegisters (7A4HCT595) beim Einschalten des Arduinos.
Ich möchte gerne eine beliebige Anzahl LEDs einzeln schalten und eine einfache Schaltung mit kaskadierten Schieberegistern (Beispiel) schien mir dafür eigentlich ausreichend. Das Problem ist im Moment leider, dass ich den undefinierten Zustand des ICs beim Einschalten des Arduino (genauer gesagt ein Fundunio mit einem günstigen Ethernet Shield) nicht in den Griff bekomme.
Falls ich später 3 oder mehr kaskadierte Register habe und alle LEDs bei Start angehen, dürfte das wohl das Ende des Controllers sein.

Ich habe schon versucht mit OE und Reset zu arbeiten, aber leider erfolgt die Schaltung der Pins unter Umständen zu spät. Das funktioniert einfach nicht zuverlässig.
Mir fehlt da, als Neuling auf dem Gebiet, einfach der die passende Idee für eine Lösung. Mein erster Gedanke war den OE-Pin mit einem NAND-Gatter beim Start auf High zu schalten. Das ist aber auch zu langsam. Ich weiß nicht, ob mir da vielleicht eine Kollektorschaltung mit einem Transistor hilft, oder ich eine ganz andere Lösung brauche.

Gruß
Thomas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2015, 10:46 (Dieser Beitrag wurde zuletzt bearbeitet: 11.10.2015 11:43 von fraju.)
Beitrag #2
RE: Schieberegister undefinierter Zustand
http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf
Ist es dieses Schieberegister.

Mache mal eine kleine Zeichn. wie du das Teil angeschlossen hast!

Prinzip:
OE beim einschalten zwingend auf Ausgänge hochohmig.
Danach Schieberegister laden
Ausgänge freigeben

Edit:
Damit kann auf allen Schieberegistern auch eine Startkonfiguration geladen werden.

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2015, 10:53
Beitrag #3
RE: Schieberegister undefinierter Zustand
Hallo Thomas,

die schnellste Lösung per Software ist, bereits im setup(), den Pin für Reset auf LOW und für output enable auf HIGH zu setzen.
Also die beiden Arduino Pins als Output definieren und sofort danach LOW bzw. HIGH zu setzen.
Wenn das auch noch zu langsam ist, dann muss man an der Stelle eine Hardwarelösung suchen.

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2015, 14:29 (Dieser Beitrag wurde zuletzt bearbeitet: 11.10.2015 14:31 von Bitklopfer.)
Beitrag #4
RE: Schieberegister undefinierter Zustand
Hi,
oder wie Arne schon angedeutet hat...ein bischen Hardware dazu wie z.B. einen 2200 Ohm Widerstand zwischen +5V und Pin 13 = OE- und es dürfte Ruhe sein.
Warum ? ...weil beim Einschalten die Port's der CPU hochohmig sind und somit der Widerstand den Pegel am OE- Pin bestimmt. Wenn der Port dann initialisiert ist dann zieht der Portausgang den OE- Pin samt dem 2,2KOhm Widerstand locker auch Nullpegel.
lgbk

P.S. die 2,2K sind auch nur ein Pi mal Daumenwert...das wären dann ~2mA Strom am Port.... 500 Ohm sollte man nicht unterschreiten...nach oben könnten auch noch 100KOhm ausreichend sein....test it...

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.10.2015, 09:34
Beitrag #5
RE: Schieberegister undefinierter Zustand
Danke für die Tipps.

Den Vorschlag von Arne habe ich probiert. Ich meine das ich das im Vorfeld auch schon getestet hatte. In der Regel funktioniert das, es klappt aber nicht immer.

Die Hardware-Lösung habe ich noch nicht ganz verstanden. Meinst du damit einen Pull up Widerstand? Also den Controller Pin sowohl mit OE verbinden als auch über den Widerstand mit +5V und den Pin als Output definieren?

Gruß
Thomas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.10.2015, 12:06 (Dieser Beitrag wurde zuletzt bearbeitet: 12.10.2015 17:28 von ardu_arne.)
Beitrag #6
RE: Schieberegister undefinierter Zustand
Hallo,
eine Kombination aus beiden Vorschlägen sollte zielführend sein.

Schalte einen Widerstand von 1 kOhm zwischen Reset Pin des 7A4HCT595 und GND. (Pull down Widerstand) evtl. auch 500 Ohm.
Schalte einen Widerstand von 1 kOhm zwischen output enable Pin des 7A4HCT595 und +5V. (Pull up Widerstand)
Nutze die setup() Routine wie im vorigen Beitrag beschrieben.

Sollte das immer noch nicht zuverlässig funktionieren liegt der Hund wahrscheinlich an anderer Stelle begraben.

Gruß
Arne

p.s. Die Reset Pins der 7A4HCT595 mit dem Pull down Widerstand müssen dann natürlich auch mit einem Ausgang des Arduinos verbinden werden.

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.10.2015, 16:02 (Dieser Beitrag wurde zuletzt bearbeitet: 12.10.2015 16:10 von fraju.)
Beitrag #7
RE: Schieberegister undefinierter Zustand
Habe mal deine Zeichn. benutzt.

Der Resetpin wird beim einschalten Kurzzeitig Low.
OE wird beim Einschalten kurz H.

Es wird vielleicht noch ein entlade R benötigt?


Angehängte Datei(en) Thumbnail(s)
   

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.10.2015, 09:16
Beitrag #8
RE: Schieberegister undefinierter Zustand
Das scheint mit den Widerständen ganz gut zu funktionieren und ich hab es auch verstandenSmile.

Vielen Dank für die Hilfe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  LED Matrix Multiplexing mit Schieberegister MrFuzzy 5 702 08.04.2016 16:23
Letzter Beitrag: MrFuzzy
  undefinierter Zustand beim Einschalten Binatone 16 1.516 25.10.2015 13:48
Letzter Beitrag: Bitklopfer
  Gelöst: Ethernet Shield, SPI, Schieberegister, Relais - irgendwie klappt's nicht Thorsten Pferdekämper 3 2.115 28.02.2014 19:29
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste