Probleme mit Schieberegister (LED Treiber)

Gast #4550122
Hallo zusammen,

Ich versuche schon seit längerem 3 Schieberegister (STAP08DP05) 
hintereinander erfolgreich anzusteuern. Leider passiert es immer wieder, 
dass Bits dabei verloren gehen.

Die Schaltung habe ich dem Anhang beigelegt (schema.png = LEDs.SchDoc) 
und sie ist sehr ähnlich zu einem Evalboard von ST 
(http://www2.st.com/content/ccc/resource/technical/layouts_and_diagrams/schematic_pack/4e/4d/78/55/e0/d1/4c/a9/steval-ill058v1_schematic.pdf//files/steval-ill058v1_schematic.pdf/jcr:content/translations/en.steval-ill058v1_schematic.pdf 
). Auffällig ist, dass bei ST noch ein Elco von 10uF über VCC und GND 
ist. Diesen habe ich versuchsmässig auch mal angelötet, aber es hat sich 
nichts verändert.

Der Print wird dabei versorgt und recht gemütlich angesteuert (200 Hz) 
von einem Board über ein 1m langes Flachbandkabel. Die Spannung der 
Steuersignale wird dabei auf ein höheres Level gewandelt (siehe dazu 
Sch_Plug.png).

Die ersten 8 Bits klappen dabei zuverlässig. Folgende Fehlermuster 
treten allerdings regelmässig auf, wenn ich immer einen Kanal mehr 
einschalte:
- beim Übergang: Bit 8 des 1. Registers schaltet gleichzeitig mit dem 1 
Bit des 2. Registers. Allerdings schaltet Bit 1 des 3. Registers nicht 
gleichzeitig mit dem 8 Bit des 2. Registers.
- Bit 3 vom Register 2 schaltet gar nicht
- Bit 6 und 7 vom Register 3 schalten gleichzeitig.

Was mich stark verwirrt ist, dass es am Anfang funktioniert hat und 
jetzt nach ein paar Tagen pause nicht mehr ohne dass ich Software oder 
Hardware angefasst habe.

Ich habe folgendes schon geprüft/probiert:
- Clk und Datensignal auf Spannungslevel und Zeitpunkt
- Frequenz auf 5 kHz erhöht
- Ansteuerung in Software einmal über SPI-Peripherie und einmal über 
GPIO Ansteuerung realisiert
- Versorgungsspannung auf Level und Störungen geprüft
- Seperate externe Spannungsversorgung angehängt
- TIs TLC5916 ausprobiert, sehr ähnliches Ergebnis
- Inputs auf dem Print nach Wandler auf 74VHC125 um steile Flanken zu 
haben
- 10uF Cs über GND und VCC der Schieberegister


Langsam gehen mir die Ideen aus. Wie würdet ihr weiter vorgehen?

Besten Dank im Voraus,
Gruss Dani
Angehängte Dateien:
Dani schrieb:
> Der Print wird dabei versorgt und recht gemütlich angesteuert (200 Hz)
> von einem Board über ein 1m langes Flachbandkabel.

1m ist schon recht viel.
Die 200Hz spielen keine Rolle, sondern was der STAP08DP05 noch als 
Flanke erkennt, d.h. 30MHz.

Schalte mal direkt vor die STAP08DP05 in MOSI, SCK, LE nen langsamen 
Schmitt-Trigger, z.B. HCF4093.
@Dani (Gast)

>Der Print wird dabei versorgt und recht gemütlich angesteuert (200 Hz)

Das ist egal, entscheindend ist die Flankensteilheit, siehe 
Wellenwiderstand.

>von einem Board über ein 1m langes Flachbandkabel.

Das ist schon recht lang.

Beitrag "Re: Skurriles Problem mit BS170 Mosfets"

> Die Spannung der
>Steuersignale wird dabei auf ein höheres Level gewandelt (siehe dazu
>Sch_Plug.png).

Was soll dann DAS sein? Ein gescheiter Pegelwandler ist das NICHT!

>Langsam gehen mir die Ideen aus. Wie würdet ihr weiter vorgehen?

Mit welchem Board steuerst du das SPI an?
Welche IO-Spannung hat das Board?

Du bauchst 1. eine Terminierung, siehe oben, und 2. gescheite 
Pegelwandler.
Gast
Besten Dank für die Feedbacks.

Crosstalk gibt es tatsächlich in meinem Versuchsaufbau. Dem bin ich kurz 
nach dem Schreiben des Beitrags nach und habe gesehen, dass tatsächlich 
eine kleine Beeinflussung besteht. Die Idee mit GND dazwischen wie MCUA 
es beschrieben hat, wäre daher wahrscheinlich nicht die dümmste.

Ich bin dann Peter Danneggers Idee gefolgt: Mit einem 74LV14D bei den 
Eingängen Clk, MOSI und LE läuft es im Moment wieder, besten Dank.

Ich werde morgen aber nochmals kontrollieren, ob es noch funktioniert :)

@Falk Brunner: Wo siehst du bei meinem Pegelwandler das Problem?

Besten Dank
Gast
Die sog. "Pegelwandler" mit 100 kOhm Serienwiderstand sind richtiger 
Käse.
Wie soll der Widerstand vernünftig Kapazitäten aufladen?
Niederohmiger (Faktor 10 oder 20) wäre schon mal etwas besser.
Gast
Ein Schmit-trigger kann helfen, aus einem unsauberen (manchmal im 
Graubereich liegendes oder auch langsamen) Signal ein sauberes Signal zu 
machen.
Er kann aber nicht hellsehen, woher die Spannung überhaupt kommt.
Gast
Es läuft immernoch. Könnte mir vorstellen, dass dieses Thema somit 
hoffentlich zum letzten Mal als erledigt zu betrachten ist :)

Danke für die konstruktiven Hinweise. Ich werde demnach kleinere 
Widerstände verwenden!

@MUCA: Ich habe wiederum das Problem das mit dem hellsehen zu deuten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.