Forum: Mikrocontroller und Digitale Elektronik LED lässt sich nicht ganz ausschalten STM32


von Chris (Gast)


Lesenswert?

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

von Michael D. (Firma: indEAS) (indeas)


Lesenswert?

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....

von Chris (Gast)


Lesenswert?

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 ? :)

von Michael D. (Firma: indEAS) (indeas)


Lesenswert?

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.

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.