Verständnis Problem: Atmega88 temporär freier Eingang wie zu beschalten?

#3028651
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
#3028656
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.
#3028657
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.
#3028682
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.
Angehängte Dateien:
#3028687
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?
#3028689
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.
#3028698
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.
#3028699
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren