Forum: Mikrocontroller und Digitale Elektronik pca9957 komisches Verhalten!


von Markus M. (atmelfreak100)


Lesenswert?

Moin zusammen,

ich nutze den pca9957 mit einem Tiny3217 über SPI. Es ist so, dass es 
prinzipiell funktioniert, ich kann alle Ausgänge ansteuern und auch die 
IREF setzen, habe rumgespielt mit Werten von 1-150 und die LEDs sind 
entsprechend abhängig davon heller oder dunkler. Also, Kommunikation 
funktioniert und die Bibliothek auch.

Allerdings habe ich einen komischen Seiteneffekt, den ich mir nicht 
erklären kann (zumal der pca9957 mit einem Xmega in einem anderen 
Projekt vollständig geht); denn:

ich kann die LEDs nur an oder ausschalten aber nicht dimmen. Die Init 
habe ich genuso gemacht wie im anderen Xmega Projekt wo das 
funktioniert. Also setLEDdriveGroup auf LED_DRIVE_SINGLE (Wert 2) 
gestellt, ist aber auch per Default so.

Der einzige Unterschied zwischen den Projekten ist, das beim Tiny alles 
auf 5V läuft und beim Xmega auf 3,3V. Beschaltung und Software ist sonst 
identisch. Hat jmd. eine Idee was das sein kann?

von Steve van de Grens (roehrmond)


Lesenswert?

Läuft dein PCA an VDDIO mit 3,3V Versorgung? Ich frage weil HIGH >= 0.7 
* VDDIO.

Schaltplan und Bilder vom Aufbau wären hilfreich. Eventuell auch ein 
minimaler Quelltext, der das Problem demonstriert.

: Bearbeitet durch User
von Markus M. (atmelfreak100)


Lesenswert?

Steve van de Grens schrieb:
> Läuft dein PCA an VDDIO mit 3,3V Versorgung? Ich frage weil HIGH >= 0.7
> * VDDIO.
>
> Schaltplan und Bilder vom Aufbau wären hilfreich. Eventuell auch ein
> minimaler Quelltext, der das Problem demonstriert.

Läuft mit 5V. Im Xmega Projekt läuft er mit 3,3V, da geht alles, es hier 
zwar auch alles, außer halt PWM Dimmung. Es geht nur voll an oder voll 
aus.

von Markus M. (atmelfreak100)


Lesenswert?

Man kann es kaum glauben, ich habe jetzt die Widerstände vom 
Schaltregler geändert, sodass dieser 3,3V macht, und siehe da. nun geht 
die dimmung ?!
Warum ist das so ? Warum geht das nicht mit 5V.

Jetzt dachte ich, gut vll. ist es der Schaltregler, und habe mal eine 
lineare gut gepufferte Spannungsquelle angeschlossen - das gleiche. 3,3V 
geht, 5V geht nicht

von Steve van de Grens (roehrmond)


Lesenswert?

Markus M. schrieb:
> Warum geht das nicht mit 5V.

Schaltplan und Bilder vom Aufbau wären hilfreich.

Wie gesagt müssen Signale mit HIGH Pegel mindestens 0.7 * VDDIO haben, 
also in deinem Fall offenbar 3,5 Volt. 3.3 Volt Signale reicht nicht 
aus, um zuverlässig als HIGH erkannt zu werden.

Das ist übrigens bei ganz vielen (allen?) PCAxxxx Chips so.

: Bearbeitet durch User
von Markus M. (atmelfreak100)


Lesenswert?

Steve van de Grens schrieb:
> Markus M. schrieb:
>> Warum geht das nicht mit 5V.
>
> Schaltplan und Bilder vom Aufbau wären hilfreich.
>
> Wie gesagt müssen Signale mit HIGH Pegel mindestens 0.7 * VDDIO haben,
> also in deinem Fall offenbar 3,5 Volt. 3.3 Volt Signale reicht nicht
> aus, um zuverlässig als HIGH erkannt zu werden.
>
> Das ist übrigens bei ganz vielen (allen?) PCAxxxx Chips so.

Der Schaltplan oder Code bringt nichts, da es ja läuft, und wenn alles 
auf 5V läuft (CPU und PCA) haben alle Signale zwangsläufig 5V, also >>> 
0,7 VDDIO. CPU und PCA hängt an der gleichen Versorgung. Mit 5V geht 
kein PWM, mit 3,3V geht es. Ich verstehe nicht warum. Ich habe jetzt die 
Widerstände vom Schaltregler geändert sodass er 3,3V erzeugt, jetzt geht 
alles. Das Relais gibt es auch als 3V Version, damit könnte ich leben, 
dann mache ich es halt auf 3,3V, aber ich würde schon gerne wissen, 
warum es mit 5V nicht geht aber mit 3,3V. (zumal alles andere ja mit 5V 
geht, halt nur nicht PWM)

von Wastl (hartundweichware)


Lesenswert?

Markus M. schrieb:
> aber ich würde schon gerne wissen,
> warum es mit 5V nicht geht aber mit 3,3V. (zumal alles andere ja mit 5V
> geht, halt nur nicht PWM)

Eine gewisse Beratungsresistenz ist dir nicht abzusprechen.
Steve van de Grens hat es dir bereits erklärt:

Steve van de Grens schrieb:
> Wie gesagt müssen Signale mit HIGH Pegel mindestens 0.7 * VDDIO haben,
> also in deinem Fall offenbar 3,5 Volt. 3.3 Volt Signale reicht nicht
> aus, um zuverlässig als HIGH erkannt zu werden.

Dem ist höchstens hinzuzufügen dass ein dynamisches Signal wie
eine PWM sich geringfügig anders im Pegel verhält wie eine
quasi-statische logische Null oder Eins. Das bedeuted dass du
mit deinen 3.3V vs. 5V gerade noch im funktionalen Bereich bist
wenn du statisch ansteuerst, aber eben sehr grenzwertig.

von Steve van de Grens (roehrmond)


Lesenswert?

Wastl schrieb:
> Eine gewisse Beratungsresistenz ist dir nicht abzusprechen.

Ich habe eher den Eindruck, dass er sein Problem noch nicht klar genug 
beschrieben hat. Mir ist jedenfalls nicht klar, welche Schaltung nun 
funktioniert, und welche nicht. Mit dem bisschen Prosa ist das auch 
schwer nachzuvollziehen.

von Wastl (hartundweichware)


Lesenswert?

Steve van de Grens schrieb:
> Mit dem bisschen Prosa ist das auch schwer nachzuvollziehen.

Auch das gehört zum Thema Beratungsresistenz.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Markus M. schrieb:
> warum es mit 5V nicht geht aber mit 3,3V.
Ausser dir weiß niemand, was "es" tatsächlich ist und wie "es" aufgebaut 
ist.

Hast du schon mal mit einem Oszi die üblichen Messungen an der Versorung 
und an den Signaleingängen (direkt dort am IC!!) gemacht und keine 
Auffälligkeiten festgestellt?

Vielleicht klingelt da bei 5V irgendwas wie Harry, was bei 3V3 noch 
nichts ausmacht. Oder, oder, oder...

von Wastl (hartundweichware)


Lesenswert?

Was macht denn ein Tiny3217 bei 3.3V wenn er über SPI MISO
ein 5V Signal bekommt?

von Markus M. (atmelfreak100)


Lesenswert?

Moin allesamt,

ich denke meine Beschreibung ist nicht klar rüber gekommen, es wurden 
Beiträge auch nicht richtig gelesen, also noch einmal:

Es ist EINE Schaltung auf EINER Platine mit EINER Spannung.
Die Schaltung ganz einfach. 15V Netzteil geht an die Platine, auf der 
Platine ist ein Spannungsregler (7805) und dahinter ist ein Tiny3217 + 
PCA. BEIDE hängen an dieser Spannung!!!

Die Software ist fehlerfrei. Die Hardware auch (also COnnection Tiny + 
PCA).
Läuft diese Schaltung mit 5V, dann funktioniert alles außer die PWM 
Dimmung der einzelnen LEDs, der PCA kann nur voll an oder voll aus.

Ersetze ich den 7805 durch einen 3,3V Regler, sprich die GANZE Schaltung 
läuft mit 3,3V, funktioniert alles wie gewünscht, sprich ich kann jede 
LED in der Helligkeit variieren.

Finde den Fehler. Ich tue es nicht.
Die Spannung ist sauber, das ist nicht das Problem.
HW und SW auch nicht.

von Steve van de Grens (roehrmond)


Lesenswert?

Ich würde die Versorgungsspannung und die Signale am Eingang des IC mit 
einem Oszilloskop kontrollieren.

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.