LED lässt sich nicht ganz ausschalten STM32

Gast #4867435
Hallo zusammen,

ich verwende für das Ansteuern der LED den LED Treiber PCA9670. Für die 
Ansteuerung ergibt sich folgendes Bitmuster:

 0 ... LED on
 1 ... LED off

 |Bit      |  7  |  6  |  5  |  4  |  3  |  2  |  1  |  0  |
 +---------+-----+-----+-----+-----+-----+-----+-----+-----+
 |Function | IN  | OUT |  -  |  -  |  -  |  -  | OUT | OUT |
 +---------+-----+-----+-----+-----+-----+-----+-----+-----+
 |Meaning  |PGOOD| LED1|  -  |  -  |  -  |  -  |LEDFL|LEDGD|
 +---------+-----+-----+-----+-----+-----+-----+-----+-----+
 |Default  |  1  |  1  |  0  |  0  |  0  |  0  |  1  |  1  |

LEDDG = Grün
LEDFL = ROT

Für mich interessant ist es die Zustände LEDFL und LEDGD zu verändern, 
da sich meine LED dann Grün, Rot und Orange färben lässt. Mir gelingt es 
problemlos die LED einzuschalten und ihren Zustand auf GRÜN, Orange und 
Rot zu verändert.
Laut meinem Verständnis ergibt sich für GRÜN ein Wert von 0xFE, für 
orange (0xFE & 0xFD).
Das klappt auch was mir Probleme bereitet ist das ausschalten der LED, 
da sie sich nicht mehr ganz aussschalten lässt sondern immer noch leicht 
orange flimmert.

Hat jemand von euch eine Idee an was das liegen könnte und was ich 
falsch mache ? Bin leider noch ein Anfänger auf dem Gebiet.

Gruß,
Chris
(Firma: indEAS) #4867512
Habe das Datenblatt nicht ins letzte Detail durchgelesen, aber es gibt 
die Möglichkeit Pull-Ups im Chip zu aktivieren.
Sind alle Register korrekt initialisierst?
Oder schaltest Du eventuell nur von Ausgang auf Eingang....
Gast #4867781
Ich glaube dass der Fehler bei der Register Initialisierung liegt weil 
ich mir nicht 100% sicher bin wie ich das richtige Register für die den 
jeweiligen Zustand heraus finde....

Könntest du mir evtl. auf die Sprünge helfen ? :)
(Firma: indEAS) #4871177
Hallo,
ich habe immer PCA9554 verwendet.
Da kenne ich mich aus und hatte bis jetzt noch keine Probleme.
Die sind auch viel weiter verbreitet und besser beschrieben.
Im Grunde genommen sind beide pinkompatibel; ich frage mich wo der 
eigentliche Unterschied bzw. Vorteil des PCA9670 liegt.
Versuche es doch mal mit der NXP-Doku vom PCA9554.
Beim PCA9554 ist der Pull-Up (ca. 100k, kannst ja mal messen) aber nicht 
explizit abschaltbar (Fig 9. Simplified schematic of IO0 to IO7 im 
Datenblatt).
Ich denke das Innenleben beider Teile ist weitgehend identisch.
Du hast wahrscheinlich die LEDs fest mit GND verbunden und schaltest die 
5V Seite (Anode).
So wie es aussieht hilft dann nur eines: Die LEDs über die Kathode zu 
schalten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 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.