Forum: Mikrocontroller und Digitale Elektronik Verständnis Problem: Atmega88 temporär freier Eingang wie zu beschalten?


von Phil E. (mieper)


Lesenswert?

Guten Abend :)

Ich habe momentan ein verständnis Problem mit meinem Atmega88.
Wenn ein Pin frei in der Luft hängt und als Eingang mit internem Pullup 
konfiguriert wird, welchen Wert hatbder eingang dann? Ist der High oder 
Low?
Andersrum ohne internem Pullup, High oder Low?

Ich frage deshalb weil bei meinem Projekt 6 Eingänge vorhanden sind. 
Momentan aber nur 5 Gebraucht werden. Der 6te eingang soll viel später 
einfach "dazugelötet" werden. Ohne nochmal neu zu programmieren.
Er hängt also eine ganze Weile in der Luft.
Die Eingänge sind Active-Low. Also eine 0 am Eingang löst eine Funktion 
im Programm aus. Wenn der Pin in der Luft hängt darf er die Funktion 
nicht Auslösen.
Wie stelle ich das am besten an?

Ich hoffe ich konnte es einigermaßen Verständlich rüberbringen. Ist 
schon spät :)

Freundliche Grüße
Phil

von Peter II (Gast)


Lesenswert?

Phil E. schrieb:
> Wenn der Pin in der Luft hängt darf er die Funktion
> nicht Auslösen.

dann aktviere denn PullUp und gut ist. Einen eingang NIE offen lassen 
wenn kein Pull-UP (oder Down) vorhanden ist. Denn dann ist es nicht 
definiert was passiert.

von Floh (Gast)


Lesenswert?

Eingang mit Pullup ohne Beschaltung: high.
Eingang ohne Pullup ohne Beschaltung: undefiniert -> schlecht.

von Achim M. (minifloat)


Lesenswert?

Phil E. schrieb:
> Andersrum ohne internem Pullup, High oder Low?

Genau. Durch äußere Einflüsse flatternd oder stabil. Einfach irgendwas.

Auch mit dem eingebauten Pullup kann mans in E-SMOG-verseuchten 
Umgebungen nicht genau sagen. Im Zweifel einen externen, kräftigeren 
Pullup oder Pulldown im einstelligen bis unteren zweistelligen 
kΩ-Bereich vorsehen.

von Karl H. (kbuchegg)


Lesenswert?

Phil E. schrieb:
> Guten Abend :)
>
> Ich habe momentan ein verständnis Problem mit meinem Atmega88.
> Wenn ein Pin frei in der Luft hängt und als Eingang mit internem Pullup
> konfiguriert wird, welchen Wert hatbder eingang dann? Ist der High oder
> Low?

Der Pullup heißt Pull-'Up', weil der den Pin auf High zieht.
pull   ziehen
up     nach oben. Also dort wo high ist.

> Andersrum ohne internem Pullup, High oder Low?

keinen definierten.
Welcher konkret anliegt hängt von der Umgebung ab. Fährst du mit der 
Hand in der Nähe des Pins vorbei, stehen die Chancen nicht schlecht, 
dass der Pin zb auf 0 auf 1 wechselt. Verhandelt dein Handy mit der UMTS 
Station am nächsten Handy-Mast, stehen die Chancen nichtso schlecht, 
dass du den Pin auf High erwischt.

Ein offener Pin ist wie eine Antenne: er fängt sich jedes 
elektromagnetische Feld aus der Umgebung ein.

> einfach "dazugelötet" werden. Ohne nochmal neu zu programmieren.
> Er hängt also eine ganze Weile in der Luft.
> Die Eingänge sind Active-Low. Also eine 0 am Eingang löst eine Funktion
> im Programm aus. Wenn der Pin in der Luft hängt darf er die Funktion
> nicht Auslösen.
> Wie stelle ich das am besten an?

Pullup ein.

von Phil E. (mieper)


Angehängte Dateien:

Lesenswert?

Karl Heinz Buchegger schrieb:

>> einfach "dazugelötet" werden. Ohne nochmal neu zu programmieren.
>> Er hängt also eine ganze Weile in der Luft.
>> Die Eingänge sind Active-Low. Also eine 0 am Eingang löst eine Funktion
>> im Programm aus. Wenn der Pin in der Luft hängt darf er die Funktion
>> nicht Auslösen.
>> Wie stelle ich das am besten an?
>
> Pullup ein.

Auch wenn der Teil der dazu gelötet wird kein Schalter ist sondern die 
Schaltung aus dem Bild? IX würde zB an PC5 kommen.

von Karl H. (kbuchegg)


Lesenswert?

Phil E. schrieb:
> Karl Heinz Buchegger schrieb:
>
>>> einfach "dazugelötet" werden. Ohne nochmal neu zu programmieren.
>>> Er hängt also eine ganze Weile in der Luft.
>>> Die Eingänge sind Active-Low. Also eine 0 am Eingang löst eine Funktion
>>> im Programm aus. Wenn der Pin in der Luft hängt darf er die Funktion
>>> nicht Auslösen.
>>> Wie stelle ich das am besten an?
>>
>> Pullup ein.
>
> Auch wenn der Teil der dazu gelötet wird kein Schalter ist sondern die
> Schaltung aus dem Bild? IX würde zB an PC5 kommen.

Hast du es jetzt schon drann, oder hast du es nicht drann.
Wenn du es nicht drann hast UND du nicht haben willst, dass deine 
Software Falschpulsen nachläuft, dann musst du dem Pin einen definierten 
Pegel geben. Egal wie.


Denk dir in deiner Schaltung noch einen Widerstand von 10K zwischen 5V 
und IX dazu (den internen Pullup). Ändert der was an deiner Schaltung?

von Phil E. (mieper)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Phil E. schrieb:
>> Karl Heinz Buchegger schrieb:
>>
>>>> einfach "dazugelötet" werden. Ohne nochmal neu zu programmieren.
>>>> Er hängt also eine ganze Weile in der Luft.
>>>> Die Eingänge sind Active-Low. Also eine 0 am Eingang löst eine Funktion
>>>> im Programm aus. Wenn der Pin in der Luft hängt darf er die Funktion
>>>> nicht Auslösen.
>>>> Wie stelle ich das am besten an?
>>>
>>> Pullup ein.
>>
>> Auch wenn der Teil der dazu gelötet wird kein Schalter ist sondern die
>> Schaltung aus dem Bild? IX würde zB an PC5 kommen.
>
> Hast du es jetzt schon drann, oder hast du es nicht drann.
> Wenn du es nicht drann hast UND du nicht haben willst, dass deine
> Software Falschpulsen nachläuft, dann musst du dem Pin einen definierten
> Pegel geben. Egal wie.

Die Schaltung kommt noch dran. Wenn sie dann dran ist soll sie Plug&Play 
wie ein USB Stick funktionieren.
Daher mein Dilemma mit dem internen Pull Up.

von Karl H. (kbuchegg)


Lesenswert?

Phil E. schrieb:

> Die Schaltung kommt noch dran. Wenn sie dann dran ist soll sie Plug&Play
> wie ein USB Stick funktionieren.
> Daher mein Dilemma mit dem internen Pull Up.

Definiere in deinere Schaltung, dass R3 durch den internen Pullup 
realisiert ist und alles ist gut.

von Phil E. (mieper)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Phil E. schrieb:
>
>> Die Schaltung kommt noch dran. Wenn sie dann dran ist soll sie Plug&Play
>> wie ein USB Stick funktionieren.
>> Daher mein Dilemma mit dem internen Pull Up.
>
> Definiere in deinere Schaltung, dass R3 durch den internen Pullup
> realisiert ist und alles ist gut.

Also ganz simpel R3 weglassen? Wäre echt Klasse.

von Karl H. (kbuchegg)


Lesenswert?

Phil E. schrieb:
> Karl Heinz Buchegger schrieb:
>> Phil E. schrieb:
>>
>>> Die Schaltung kommt noch dran. Wenn sie dann dran ist soll sie Plug&Play
>>> wie ein USB Stick funktionieren.
>>> Daher mein Dilemma mit dem internen Pull Up.
>>
>> Definiere in deinere Schaltung, dass R3 durch den internen Pullup
>> realisiert ist und alles ist gut.
>
> Also ganz simpel R3 weglassen? Wäre echt Klasse.

zeichne dir halt mal die Schaltung ein wenig um! Und du wirst sehen, 
dass du R3 in den µC Pin verschieben kannst und das er dort durch den 
Pullup realisier ist. R3 in deiner Schaltung IST ein Pullup. Ob du 
selber den verbaust oder ob du den vom AVR nimmst, wird ziemlich egal 
sein.

von Phil E. (mieper)


Lesenswert?

Du hast mir die Augen geöffnet. Jetzt bin ich wieder auf Kurs und kann 
schlafen gehen.
Vielen Dank :)

Freundliche Grüße
Phil E.

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.