Mir war kalt schrieb:> .. bzw. die ggf. höhere, anliegende Spannung als high+0.7V, richtig?> Das wäre ideal.
Dein ADC misst bis VREF. Alles was darüberliegt wird als "gleich VREF"
(0x3FF bei 10 bit) angezeigt. Wenn Du externe Überspannung erkennen
willst musst Du VREF über VDD legen -- wenn Dein Controller das erlaubt.
Aber aufpassen: bei Überspannung an einem Portpin fließt ein Strom durch
die ESD-Schutzstruktur in die VDD. Der liefert eben diese ca 0,7 V, die
der Pin über VDD liegen kann. Dieser injizierte Strom stört
üblicherweise analoge Schaltungsteile auf dem Chip, insbesondere den
ADC. Oft spezifiziert der Hersteller, mit wieviel LSB zusätzlicher
Ungenauigkeit man bei welchem injection current zu rechnen hat.
Man kann sicher einiges ausprobieren, aber zwei Zitate aus dem
Datenblatt:
Voltage on any Pin except RESET with respect to Ground -0.5V to VCC+0.5V
AREF External Reference Voltage Max= Vcc
"nichts drunter"? Verstehe ich jetzt nicht. Mit Aref=Vcc sollte man
durchaus messen können, ob der Ausgang sein high hält oder aufgrund
Belastung "in die Knie" geht. Andererseits stört eine zu hohe Belastung
an diesem Pin den AD-Converter, denn der wird ja auch über diesen Zweig
versorgt.
Mir war kalt schrieb:> Danke für die Hinweise, das hatte ich nicht bedacht.> Dann lässt sich nur HIGH=AREF=VCC messen, nichts drunter, und erst recht> nichts drüber.
Alles zwischen 0V und Vref kann man messen.
Es wäre halt interessant, worum es dir geht.
Messen, ob
- an einem Pin mit gesetztem DDR-Bit auch hoch genug ist, oder
kurzgeschlossen.
- an einem Pin, das mit gelöschten PORT-Bit über DDR-Bit Open-Source
(die HW-Variante) bei High jemand anderer auf Löw zieht (z.B. I2C,
OneWire,...)
- irgend was ganz anderes
Was also?
Es wäre interessant zu wissen, ob das Signal vom GPIO oder von einem
parallelgeschalteten Taster kommt.
Evtl. lässt sich anstelle des GPIO-Ausgangs mit HIGH-Pegel mit dem
integrierten Pull-Up und einem externen Widerstand ein Spannungsteiler
aufbauen, so dass die sich einstellende Spannung vom Controller oder vom
Taster kommt.
Dann kann die Spannung "in die Knie" gehen, ohne Gefahr, den Port zu
überlasten.
Andererseits gibt es lt. S. 183 des "ATtiny25/45/85 [DATASHEET]
2586Q–AVR–08/2013" in "Figure 22-21.I/O Pin Output Voltage vs. Source
Current (VCC = 3V)" bereits bei 5 mA Last einen Spannungsabfall > .1 V.
Mir war kalt schrieb:> Lässt sich ein high geschalteter GPIO-Ausgang per ADC messen?>> "Figure 10-5.Alternate Port Functions" (S. 58) des attiny85
logisch
Selectable 1.1V / 2.56V ADC Voltage Reference
wähle intern 1,1V oder 2,56V
Einen Spannungsteiler der VCC max 6.0V passend teilt, also auf 1/3 ->
REF 2,56V oder 1/6 -> REF 1,1V
dann GPIO messen und umrechnen
S. Landolt schrieb:> Mit Aref=Vcc sollte man> durchaus messen können, ob der Ausgang sein high hält oder aufgrund> Belastung "in die Knie" geht
Man "sollte" nicht nur, sondern man kann das definitiv. Das
Zabex-Ohmmeter macht genau das, um den unter Last einknickenden H-Pegel
rauszurechnen. Da man aber auch mit VREF nicht über Vcc gehen kann,
bleibt der Meßbereich auf Spannungen zwischen GND und Vcc eingeschränkt.
Mir war kalt schrieb:> Es wäre interessant zu wissen, ob das Signal vom GPIO oder von einem> parallelgeschalteten Taster kommt.
Es gibt nur eine legale Anwendung, wo man einem als Ausgang geschalteten
GPIO einen Taster parallel legen darf: wenn das ein Open-Drain Ausgang
ist und der Taster nach GND geht. Alles andere ist gefährlicher Murks.
Wie bereits gesagt wurde: wenn man dein eigentliches Problem kennen
würde, dann könnte man dir besser helfen.
Joachim B. schrieb:> Einen Spannungsteiler
Ich meinte ein und denselben Pin - ich kann keinen Spannungsteiler in
den IC einbauen ;-) Aber statt Ausgang liesse sich der Pull-Up
einschalten.
Axel S. schrieb:> wo man einem als Ausgang geschalteten> GPIO einen Taster parallel legen darf: wenn das ein Open-Drain Ausgang> ist und der Taster nach GND geht.
Dann ist die Unterscheidung Ausgang/Taster aber nicht mehr möglich -
oder?
Mir war kalt schrieb:> Ich meinte ein und denselben Pin
wenn ich hellsehen könnte würde ich Lotto spielen
Mir war kalt schrieb:> ich kann keinen Spannungsteiler in> den IC einbauen ;-)
muss man auch nicht, Spannungsteiler werden fast immer extern
angeschlossen, was soll also diese Aussage?
Mir war kalt schrieb:> Dann ist die Unterscheidung Ausgang/Taster aber nicht mehr möglich -> oder?
doch, als Ausgang schaltet der µC auf GND oder VCC, man kann den auch
per Software auf Eingang setzen und dort natürlich nicht einen Schalter
mit Fremdspannung anschliessen, wenn dieser Schalter aber mit
Fremdspannung ein Photomos Relais schaltet kann der der µC das durchaus
feststellen.
lieber TO, sorge dafür das dir nicht mehr kalt ist, dann klappt das
denken auch besser!
Nun wäre es mal an der Zeit das Schaltbild zu zeigen und mal genauer zu
beschreiben was du eigentlich machen willst mit ALLEN Daten.
Man kann zyklisch den Ausgang abschalten und dann messen, ob ein Taster
oder Schalter betätigt ist.
Ein Beispiel findest Du hier:
Beitrag "Taster + LED am selben Draht (4*)"
Peter D. schrieb:> Man kann zyklisch den Ausgang abschalten und dann messen, ob ein Taster> oder Schalter betätigt ist.
kann man nur wenn keine unpassenden Spannungen und GND Bezüge im Spiel
sind!
Ein Taster hinter dem Kondensatornetzteil wäre keine tolle Idee an einen
externen µC!
S. Landolt schrieb:> Welche Last wird mit diesem "GPIO-Ausgang" geschaltet und wogegen> (Vcc> oder GND)?
Das Gate eines kleinen Mosfets. P-Kanal, aber invertieren ginge auch.
Was hast du gegen "GPIO-Ausgang", ausser, dass bei AVR das "GPIO" wohl
implizit ist?
Peter D. schrieb:> Man kann zyklisch den Ausgang abschalten und dann messen, ob ein Taster> oder Schalter betätigt ist.
Danke, auch interessant.
Joachim B. schrieb:> lieber TO, sorge dafür das dir nicht mehr kalt ist, dann klappt das> denken auch besser!
Uncool.
Mir war kalt schrieb:> Axel S. schrieb:>> wo man einem als Ausgang geschalteten>> GPIO einen Taster parallel legen darf: wenn das ein Open-Drain Ausgang>> ist und der Taster nach GND geht.>> Dann ist die Unterscheidung Ausgang/Taster aber nicht mehr möglich -> oder?
Kommt drauf an. Wir wissen ja immer noch nicht, was du eigentlich
erreichen willst. Du erzählst immer nur, was du tun willst, aber
nicht, warum du es tun willst.
Typischer Kandidat für http://xyproblem.info/Mir war kalt schrieb:> S. Landolt schrieb:>> Welche Last wird mit diesem "GPIO-Ausgang" geschaltet>> Das Gate eines kleinen Mosfets. P-Kanal
Klingt wie eine Variante von "ein Gerät soll per Taster eingeschaltet
werden und sich dann selbst eingeschaltet halten" mit der Erweiterung
"und ein zweiter Druck auf den gleichen Taster soll das Gerät wieder
ausschalten".
Wenn das deine Aufgabenstellung sein sollte, dann wurde sie hier schon
gefühlt 1000-mal diskutiert.
> Das Gate eines kleinen Mosfets.
Also eine minimale Last. Muss man dann nicht lediglich den
Serienwiderstand zum Taster so dimensionieren, dass die Schaltschwelle
des MosFets nicht unter- bzw. überschritten wird, gleichzeitig aber die
Spannungsänderung beim Tastendruck eben noch mit dem 10-bit-ADC
detektierbar ist?
Klingt jetzt irgendwie zu einfach, ich trinke erstmal Kaffee.
S. Landolt schrieb:> den> Serienwiderstand zum Taster so dimensionieren, dass die Schaltschwelle> des MosFets nicht unter- bzw. überschritten wird, gleichzeitig aber die> Spannungsänderung beim Tastendruck eben noch mit dem 10-bit-ADC> detektierbar ist?
Ja, danke, das ist wohl eine Möglichkeit.
Funktioniert doch einwandfrei - z.B.: Vcc= 5.0 V, Ausgang auf high,
Taster per 1k5 nach GND, fließen bei Tastendruck also rund 3 mA, der ADC
liefert einen Abfall von 0x3FF auf 0x3F2; und wird den MosFet sicher
nicht stören.
Oder habe ich das Problem nicht verstanden?
S. Landolt schrieb:> Oder habe ich das Problem nicht verstanden?
keine Ahnung, das versteht ja hier fast niemand!
Mir war kalt schrieb:> Es wäre interessant zu wissen, ob das Signal vom GPIO oder von einem> parallelgeschalteten Taster kommt.
ist dieser Taster vom TO im selben Gerät wie der µC?
oder ist das ein externer Taster auf Netzspannung am
Kondensatornetzteil?
Liegt am Taster überhaupt DC an oder AC?
Liegt am externen Taster gar eine Spannung an die höher ist als VCC vom
µC?
Darf man 2 Spannungen einfach parallel schalten?
Muss die Spannung vom externen Taster nach dem Taster im Strom begrenzt
werden damit der µC keinen magischen Rauch abbläst?
Wird mit dieser Strombegrenzung der externe Taster noch seine Aufgabe
erfüllen können?
S. Landolt schrieb:> Oder habe ich das Problem nicht verstanden?
Jain: das ist eine gute Möglichkeit, die ich bis gestern noch nicht
kannte.
Der Taster sollte allerdings selbst auch ein high-level (alternativ low)
erzeugen. Aber das dürfte sich ja auch mit einem Spannungsteiler
realisieren lassen.
Daher: erstmal vielen Dank für die konstruktiven Beiträge.
Axel S. schrieb:> Kommt drauf an. Wir wissen ja immer noch nicht, was du eigentlich> erreichen willst. Du erzählst immer nur, was du tun willst, aber> nicht, warum du es tun willst.
Die erste richtige Frage zu diesem Thema.