mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik inputs am avr funktionieren nicht richtig!


Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achtung!!! anfängerfragen!!!

ich habe seit kurzem mit mikrokontrollern angefangen. und habe nun seit
ein paar tagen das stk500. hab natürlich direkt mit rumprobiert. und
jetzt tun sich mir ein paar fragen auf. als erstes hab ich einfach mal
ein kleines prog geschrieben, das bei gedrücktem schalter eine led
aufleuchten lassen soll. der schalter ist an port a0 (at90s8515) und
mit internem pull-up. und wenn ich den schalter auf ground lege
leuchtet die led. hat also funktioniert. und jetzt wollte ich es auch
mal andersrum ausprobieren. hab also den internen pull-up weggelassen
und den schalter auf +5v gelegt. dabei tut sich aber nix. die led
leuchtet nicht. wenn ich aber den portpin nur mit dem finger berühre
geht die led sofort an (und bleibt danach auch manchmal noch kurz an).
wieso ist das so? und warum geht die led nicht an, wenn ich pina0 auf
+5v lege?

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast keinen definierten Pegel am Eingang. Wenn Du den Schalter gegen
+5V hast, mußt Du den Portpin mit einem Pull-down Widerstand (1..10kOhm
gegen Masse) beschalten.
Eingänge sind sehr hochohmig, d.h. sie brauchen nur sehr geringe
Stromstärken, um zu reagieren. Deshalb leuchtet die LED bei Berührung
mit dem Finger. Ich würde sogar wetten, daß sie mit 50Hz flackert
(sieht man nur mit einem Oszi), weil der menschl. Körper die 50Hz der
Netzspannung irgendwo auffängt.

Autor: anfänger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ah. du hast recht. so funktionierts. im anhang hab ich das mal
aufgemalt. du hast das doch so gemeint, oder? auf jeden fall klappt es
so. vielen dank für deine hilfe!

kennst du ein gutes programm zum schaltplan zeichnen? mit paint ist das
ein wenig umständlich :-)

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eagle in der Light Version --> ist auch gratis
SPLAN 5.0

Oder schau doch einfach mal im Conrad-Katalog, dort sind auch noch
mehrere Programme mit diversen Fähigkeiten aufgelistet.

Alex

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke! eagle ist wirklich nicht schlecht.

p.s.: hat das auf meiner zeichnung jetzt so gestimmt?

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jep. Der Vollständigkeit halber könntest Du den Taster noch entprellen,
indem Du einen 100nF Kondensator zwischen avr-pin und masse anschließt.
Oder das entprellen in der Software erledigen.

Autor: anfänger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ok, dann hab ich noch ne frage. und zwar wie man den eingang mit nem
transistor schaltet. ich hab nochmal aufgemalt, wie ich mir das
vorgestellt habe. is wahrscheinlich falsch. vielleicht kann mich da mal
jemand korrigieren. die obere zeichnung (interner pullup aktiviert) hab
ich schonmal ausprobiert und hat auch funktioniert. zu der unteren
(kein interner pullup) wollt ich erstmal eure meinung hören. is da denn
auch der pulldownwiderstand (wie beim schalter) notwendig. und wie
sieht es mit der notwendigkeit von R1 aus (für beide schaltungen)? ist
der wirklich nötig oder kann ich den getrost weglassen?

sorry für diese blöden fragen, aber ich fange grade erst mit dem thema
an :)

achja: was genau bedeutet entprellen?

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das einfachste ist, mit dem internen pullup zu arbeiten. Dann brauchst
du nur noch extern einen npn-Transistor, Kollektor auf den Eingangspin,
Emitter an Masse, an die Basis kommt das Signal. Basiswiderstand nicht
vergessen. Und beachten: diese Anordnung invertiert das Signal, also
H-Pegel an der Basis -> L-Pegel am Portpin. Weitere Widerstände sind
nicht nötig. Sperrt der Transistor, erzeugt der pullup den H-Pegel.

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein mechanischer Schaltkontakt prellt beim Einschalten, man kann sich
das wie ein federn vorstellen. Dadurch entsteht nicht nur ein, sondern
mehrere Schaltimpulse irgendwo im msec - Bereich. Der Controller ist
schnell genug, die zu zählen, das kann manchmal zu ungewollten Effekten
führen. Deswegen: Entprellen. Suche mal hier im Forum, da gibts
sicherlich noch einige Beiträge dazu, evtl. auch mal in der
Codesammlung reinschauen.

Autor: anfänger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ok. ich habs nochmal aufgemalt. aber wie muss es denn sein, wenn ich den
internen pullup nicht aktiviert habe? gibts bestimmt situationen wo das
nicht geht, oder (interrupt, uart...)? wie muss ich den input dann
beschalten? meine zeichnung ist da sicherlich nicht ganz richtig, oder?

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry das ich euch hier so mit meinen blöden fragen nerve, aber wer
trotzdem nett, wenn mir das jetzt mal jemand erklären könnte :-)

jeder hat ja mal klein angefangen.

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
och männo!

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dasselbe wie "ohne interne pullup" aber dazu ein 4K7 von Kollektor
nach +5V.

Gr.

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich wollte aber wissen, wie es "ohne internen pullup" geht :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.