Forum: Mikrocontroller und Digitale Elektronik ATmega 383 I/O Pin abschalten


von Michael E. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte eine LED über einen großen Helligkeitsbereich mit 3 
PWM-Ausgängen und verschiedenen Vorwiderständen steuern. Gibt es eine 
Möglichkeit die gerade nicht verwendeten Ausgänge hochohmig zuschalten, 
damit kein Strom über die Ausgänge abfließen kann? Ich verwende ein 
ATmega328, auf einem Arduinoboard.

Mfg, Michael

von Karl H. (kbuchegg)


Lesenswert?

Den Ausgang auf Eingang schalten und keinen Pullup

von Michael E. (Gast)


Lesenswert?

Danke, hatte ich schon probiert, hab trotzdem einen Spannungsabfall über 
den anderen Widerständen. Werde jetzt FET's oder nen Analog-Schalter 
nehmen, dann hab ich die Kreise saubert getrennt.

von Karl H. (kbuchegg)


Lesenswert?

Mit ist ehrlich gesagt auch nicht wirklich klar, was du dir da 
eigentlich versprichst. Musst du die LED bis in die Sichtbarkeitsgrenze 
runterdimmen?

von Michael E. (Gast)


Lesenswert?

Ja, die LED wird bis auf Sichtbarkeitsgrenze gedimmt, muss aber auch 
richtig hell aufgesteuert werden. Die LED wird in der Nähe des Auges 
betrieben, darf also bei Nacht nicht blenden und tagsüber gut sichtbar 
sein. Die Stromkurve wurde schon am Probanten ermittelt, für die 
entsprechende LED.
Ich denke, dass ich mit FET's arbeiten muss, da die Analogschalter einen 
zu hohen Innenwiderstand haben --> siehe MAX4051 und das ist nach meiner 
Erkenntnis schon einer der besten.

von Andreas F. (aferber)


Lesenswert?

Michael E. schrieb:
> Ja, die LED wird bis auf Sichtbarkeitsgrenze gedimmt, muss aber auch
> richtig hell aufgesteuert werden. Die LED wird in der Nähe des Auges
> betrieben, darf also bei Nacht nicht blenden und tagsüber gut sichtbar
> sein. Die Stromkurve wurde schon am Probanten ermittelt, für die
> entsprechende LED.

Also ich kann schon mit einer popeligen 6bit-PWM eine LED so ansteuern, 
dass im einen Extrem das auch bei Tageslicht gut erkennbar ist, im 
anderen aber selbst bei Dunkelheit nur ein leichtes Glimmen zu sehen 
ist...

> Ich denke, dass ich mit FET's arbeiten muss, da die Analogschalter einen
> zu hohen Innenwiderstand haben --> siehe MAX4051 und das ist nach meiner
> Erkenntnis schon einer der besten.

Welche Analog-Schalter? Du kannst die Widerstände direkt an deinen 
ATmega-Pin hängen (selbst der 120Ohm-Pfad ist, wenn ich von einer roten 
LED ausgehe, noch locker im Rahmen des erlaubten). Oder allenfalls über 
einen simplen Transistor geschaltet (dessen Spannungsabfall dann 
natürlich bei der Widerstandsberechnung berücksichtigt wird!).

Andreas

von Michael E. (Gast)


Lesenswert?

Andreas Ferber schrieb:
>
> Also ich kann schon mit einer popeligen 6bit-PWM eine LED so ansteuern,
> dass im einen Extrem das auch bei Tageslicht gut erkennbar ist, im
> anderen aber selbst bei Dunkelheit nur ein leichtes Glimmen zu sehen
> ist...
>
So einfach ist es leider nicht, die Kurve muss an die Empfindlichkeit 
des Auges auf ein paar Prozent und in einer gewissen Schrittweise 
angepasst werden, da lässt sich nichts dran ruckeln, ist aber auch gar 
nicht das Thema...
>
> Welche Analog-Schalter? Du kannst die Widerstände direkt an deinen
> ATmega-Pin hängen (selbst der 120Ohm-Pfad ist, wenn ich von einer roten
> LED ausgehe, noch locker im Rahmen des erlaubten). Oder allenfalls über
> einen simplen Transistor geschaltet (dessen Spannungsabfall dann
> natürlich bei der Widerstandsberechnung berücksichtigt wird!).
>
Es geht auch nicht um die Belastbarkeit, sondern um die Querströme die 
über die anderen Pins dann fließen. Durch die Querströme enstehen in der 
Steuerkurve unschöne Stufen, die für das Auge sichtbar sind. Die Kurve 
soll schön weich von "0 bis 100" fahren.

von vjmghkm (Gast)


Lesenswert?

Frueher (tm) hat man fuer sowas Dioden verwendet.
Je eine in Reihe mit dem Widerstand und fertig.
Allerdings glaube ich nicht, dass da wirklich Stroeme in die Eingaenge 
fliessen, die Auswirkungen haben, die nicht zu korrigieren waeren.

Gast

von Andreas F. (aferber)


Lesenswert?

Michael E. schrieb:
> Es geht auch nicht um die Belastbarkeit, sondern um die Querströme die
> über die anderen Pins dann fließen.

Wenn die anderen Pins auf Eingang (ohne Pullup!) geschaltet werden, dann 
fliessen da keine Querströme, ausser dein Controller ist kaputt. Naja, 
Leckströme ein bisschen, aber da ist deine externe Schaltung mit 
ziemlicher Sicherheit auch nicht besser. Die Leckströme sind aber so 
klein, das siehst du mit dem Auge nicht.

> Durch die Querströme enstehen in der
> Steuerkurve unschöne Stufen, die für das Auge sichtbar sind. Die Kurve
> soll schön weich von "0 bis 100" fahren.

Die Stufen entstehen eher dadurch, dass deine PWM-Stufen und deine 
Widerstandswerte nicht wirklich zusammenpassen. Teste mal einerseits den 
Zusammenhang zwischen PWM-Duty-Cycle und subjektiver Helligkeit, 
andererseits den zwischen LED-Strom und subjektiver Helligkeit. Es würde 
mich wirklich wundern, wenn dabei dieselbe Kurve (mit nur konstanten 
Faktoren Unterschied) rauskommen würde. Du hast vermutlich das eine 
eins-zu-eins in das andere umgerechnet, und daher hast du im subjektiven 
Ergebnis auf einmal Sprünge drin.

Andreas

von Peter D. (peda)


Lesenswert?

Michael E. schrieb:
> Es geht auch nicht um die Belastbarkeit, sondern um die Querströme die
> über die anderen Pins dann fließen.

Wenn da Ströme fließen, dann ist das ein Fehler in Deinem Programm.
Ein abgeschalteter Pin (=Eingang) ist abgeschaltet, da fließt nix.

Oder es ist ein Fehler in Deinem Schaltplan, d.h. es hängen noch weitere 
Lasten an den Pins, die Du uns verschweigst.



> Die Kurve
> soll schön weich von "0 bis 100" fahren.

Dann ist eine einzige 16Bit-PWM dicke ausreichend.
Außerdem ist die PWM dann auch monoton.
Deine Umschaltung der 3 Widerstände hat dagegen richtig große Sprünge 
durch die Toleranz der Widerstände (1%, 5%?).


Peter

von Michael E. (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Wenn da Ströme fließen, dann ist das ein Fehler in Deinem Programm.
> Ein abgeschalteter Pin (=Eingang) ist abgeschaltet, da fließt nix.
>
> Oder es ist ein Fehler in Deinem Schaltplan, d.h. es hängen noch weitere
> Lasten an den Pins, die Du uns verschweigst.

So hab ich auch gedacht =) Muss ich nochmal drüber gucken, bau es jetzt 
erstmal mit FET's auf, so hatte ich es schon mal bei nem älteren Projekt 
gemacht, hat gut funktioniert, ist halt nur bissi aufwendiger von der 
Hardware her... man hat doch mal schneller nen Port initialisiert, wie 4 
FET's aufgelötet....

Peter Dannegger schrieb:
> Dann ist eine einzige 16Bit-PWM dicke ausreichend.
> Außerdem ist die PWM dann auch monoton.
> Deine Umschaltung der 3 Widerstände hat dagegen richtig große Sprünge
> durch die Toleranz der Widerstände (1%, 5%?).

Dieser Aufbau ist nur ein Demonstrator, ich möchte später dieses oder 
einen anderen Prozessor nur mit 32Khz betreiben um die Stromaufnahme 
soweit wie möglich herunter zufahren (jedes µA zählt...), bei 120Hz 
Widerholfrequenz geht leider nicht mehr wie 8bit-PWM. Danke trotzdem

von vjmghkm (Gast)


Lesenswert?

Wenn Du unbedingt willst, dann nimm halt FET's. Klingt auch viel besser 
als Dioden.

Gast

von Michael E. (Gast)


Lesenswert?

vjmghkm schrieb:
> Wenn Du unbedingt willst, dann nimm halt FET's. Klingt auch viel besser
> als Dioden.

Wenn du doch nichts sonnvolles beitragen willst, dann spar dir doch den 
Kommentar. Den Spannungabfall über Dioden will und kann ich nicht 
gebrauchen...

von vjmghkm (Gast)


Lesenswert?

>Den Spannungabfall über Dioden will und kann ich nicht gebrauchen...

Das ist jetzt aber nicht Dein Ernst oder?
Wenn Du nicht in der Lage bist, die 0,7V in die Berechnungen der 
Vorwiderstaende einzubeziehen, dann bist Du fuer dieses Projekt sowieso 
nicht ausreichend qualifiziert.

Gast

von Andreas F. (aferber)


Lesenswert?

Michael E. schrieb:
> Dieser Aufbau ist nur ein Demonstrator, ich möchte später dieses oder
> einen anderen Prozessor nur mit 32Khz betreiben um die Stromaufnahme
> soweit wie möglich herunter zufahren (jedes µA zählt...), bei 120Hz
> Widerholfrequenz geht leider nicht mehr wie 8bit-PWM. Danke trotzdem

WTF? Auf der einen Seite brätst du mal eben bis zu 30mA durch deine LED, 
und dann willst du auf der anderen Seite um µA feilschen?

Andreas

von Michael E. (Gast)


Lesenswert?

vjmghkm schrieb:
>>Den Spannungabfall über Dioden will und kann ich nicht gebrauchen...
>
> Das ist jetzt aber nicht Dein Ernst oder?
> Wenn Du nicht in der Lage bist, die 0,7V in die Berechnungen der
> Vorwiderstaende einzubeziehen, dann bist Du fuer dieses Projekt sowieso
> nicht ausreichend qualifiziert.
>
> Gast

Die ganze Schaltung wird über ne Batterie betrieben (CR2032, da lässt 
sich auch nix dran ändern, Bauraum) und die Schaltung muss bis zur 
untersten Schwelle betrieben werden, also auch bei niedriger Batterie / 
Kälte etc. also ist das sch***e, wenn ich dann noch 0,7V über der Diode 
verliere, dann hab ich irgendwann nix mehr und die Spannung 
hochzuschalten (StepUp o.Ä.) ist zu ineffektiv.

von vjmghkm (Gast)


Lesenswert?

Das ist ein Argument.
Bleibt also noch die Ursachenforschung fuer die raestelhaften 
Leckstroeme.

Gast

von Michael E. (Gast)


Angehängte Dateien:

Lesenswert?

Das frag ich mich auch, anbei hab ich mal die Signale am Oszi 
aufgenommen. Die einzelnen Signale sind jeweils direkt an den Ports 
gemessen. CH3 ist der Port der als Ausgang geschaltet ist, die anderen 
beiden als Eingang. Wenn über die Widerstände kein Strom fließen würde, 
also der Port hochohmig wäre, dürfte ja kein Spannungsabfall über die 
jeweiligen Widerstände vorhanden sein. Oder seh ich das falsch?
Hab jetzt die PWM so angepasst, dass es einigermaßen passt, das 
ursprüngliche Problem würde mich trotzdem interessieren.

von vjmghkm (Gast)


Lesenswert?

Das kommt daher, dass an Ch2 und CH1 nur die Flusspannung der LED minus 
evtl. Spannungsabfall anliegen kann. An Ch3 dagegen liegt die 
Ausgangsspannung des Ports.

Gast

von Michael E. (Gast)


Lesenswert?

Das macht allerdings Sinn =) Ich hab jetzt soviel an der Schaltung und 
an meiner PWM-Tabelle als geändert, dass ich gar nicht richtig 
nachvollziehen kann, ob ich nur einem Messfehler hinterher gerannt 
bin... die Kruve sieht jetzt akzeptabel aus, mit ein wenig feintuning 
ist es bestimmt perfekt. Vielen Dank für die Hilfe,

Michael

von Peter D. (peda)


Lesenswert?

Die gelbe ist wohl am 100k Widerstand, der bildet dann mit dem Oszi 
einen Spannungsteiler. Daher ist sie etwas kleiner als die grüne.
Und 2V Flußspannung der LED sollte auch stimmen.

Die Kurven sehen also vollkommen o.k. aus.


Ich frage mich allerdings, wie man immer derart unscharfe Fotos 
hinkriegt.
Meine uralte 1Mega-Pixel kanns ja schon besser, damit verglichen ist die 
scharf wie ein Samuraischwert.


Peter

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.