-         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Verständnisproblem von Wiki-Eintrag

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.04.2007
    Beiträge
    10

    Verständnisproblem von Wiki-Eintrag

    Anzeige

    Hallo!

    Ich habe mir gerade den Wiki-Eintrag AVR-Einstieg leicht gemacht durchgelesen und habe ein Problem mit der Schaltung.
    Sowohl unter "Läuft die Schaltung und das Programm?" als auch "Eingangsport fragt Taster ab" wird PC0 als Ausgang bezeichnet und im Code auch so programmiert.
    In der Schaltung hängt aber der Port an +5V und die LED ist in in Richtung zum Port eingesetzt.

    Das ist meines Erachtens widersprüchlich. Funktioniert das so überhaupt und wenn, wieso?

    Grüße,
    Johannes

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    31
    Beiträge
    270
    Ja, das ist alles korrekt so.
    Wenn man den Pin/Port als Ausgang konfiguriert, kann man ihn per Software auf 1 (5 Volt) oder auf 0 (GND) schalten.
    Ersetze nun gedanklich einfach mal den Pin durch eine Verbindung zum GND. Wie du siehts, leuchtet die Diode dann.
    Und nun denk dir anstelle des Pins eine Verbindung an +5V. Wie du siehst, leuchtet die Diode dann nicht mehr, da sie an beiden seiten an +5V geschalten ist und kein Strom fließen kann.

    Würdest du den Pin/Port nun als Eingang konfigurieren, wie willst du ihn dann auf GND schalten? Einen EINGANG kann man nur abfragen, aber nicht schalten

    Die (ich glaube alle) Atmel AVRs haben dann zusätzlich noch eine funktion: wenn man einen Pin/Port als Eingang konfiguriert UND den Pin/Port auf high setzt, dann wird ein Pull-Up Widerstand dazu geschalten.

    Wenn du den Pin/Port in dieser Schaltung nun als Eingang konfigurieren würdest, dann könnte kein Strom fließen, denn der Pin kann niemals auf GND geschalten werden sondern lediglich das Potential über den Pull-Up auf +5V angehoben werden.

    Kannst es ja auch einfach ausprobieren, dadurch würde in diesem Fall nichts kaputt gehen.

    Ich hoffe ich konnte dir weiter helfen.

    Gruß Robodriver

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    10.04.2007
    Beiträge
    10
    Zitat Zitat von robodriver
    Wenn man den Pin/Port als Ausgang konfiguriert, kann man ihn per Software auf 1 (5 Volt) oder auf 0 (GND) schalten.
    Ersetze nun gedanklich einfach mal den Pin durch eine Verbindung zum GND. Wie du siehts, leuchtet die Diode dann.
    Ok gut, ich hatte irgendwie nicht erwartet, dass sich der Pin so missbrauchen (meinem Verständnis nach, s.u.) lässt (und es deshalb auch nicht einfach ausprobiert).

    Würdest du den Pin/Port nun als Eingang konfigurieren, wie willst du ihn dann auf GND schalten? Einen EINGANG kann man nur abfragen, aber nicht schalten
    Ich hätte den Pin zwar auch als Ausgang genommen, aber die LED andersrum eingebaut und gegen GND verdrahtet. Den Strom in der technischen Richtung aus dem µC heraus nach GND fliesen zu lassen entspricht mehr dem was ich unter Ausgang verstehe.

    Die (ich glaube alle) Atmel AVRs haben dann zusätzlich noch eine funktion: wenn man einen Pin/Port als Eingang konfiguriert UND den Pin/Port auf high setzt, dann wird ein Pull-Up Widerstand dazu geschalten.

    Wenn du den Pin/Port in dieser Schaltung nun als Eingang konfigurieren würdest, dann könnte kein Strom fließen, denn der Pin kann niemals auf GND geschalten werden sondern lediglich das Potential über den Pull-Up auf +5V angehoben werden.
    Ich hatte schon versucht aus der Grafik im Mega8-Datenblatt schlau zu werden. Aber ich bin mir ehrlich gesagt nicht sicher was die (im beigefügten Bild rot umrandeten) Teile sein sollen, bzw. wie sie funktionieren. Der obere scheint den Pull-Up-Widerstand für den Eingang zu schalten und der untere für den Ausgang zu sein.
    Aber liege ich richtig, dass aus dem Port im Eingangsmodus und aktivem Pull-Up auch (minimaler) Strom aus dem Pin rausfliesen kann? So könnte eine LED mit Anode an den Pin und Kathode gegen GND auch am Eingang betrieben werden.

    Gruß,
    Johannes
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken general_digital_io.png  

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    18.12.2006
    Ort
    Oderberg
    Alter
    26
    Beiträge
    870
    Zitat Zitat von joh_walt
    Ich hätte den Pin zwar auch als Ausgang genommen, aber die LED andersrum eingebaut und gegen GND verdrahtet. Den Strom in der technischen Richtung aus dem µC heraus nach GND fliesen zu lassen entspricht mehr dem was ich unter Ausgang verstehe.
    Soweit ich weiß gibt es bei den "neuen" Controller keine Probleme den Ausgang sowohl in der technisch richtigen Richtung als auch andersrum zu verwenden. Bei µC der AT90xxxx Baureihe funktioniert das glaub ich nicht.
    MfG Christopher \/


  5. #5
    Benutzer Stammmitglied
    Registriert seit
    03.11.2004
    Ort
    Süderlügum
    Alter
    37
    Beiträge
    86
    Was die technische Stromrichtung anbelangt, die wird ja in keinster Weise in der Logik verletzt.

    Es ist ja nicht so, dass ein Pin bei einer logischen "1" einfach nur Strom liefert, und bei einer logischen "0" nicht.
    Bei einer "1" liefert er 5V, bei einer "0" liegt er eben auf GND, was heisst, man kann "Strom in ihn reinfliessen lassen".
    Diese "Es fliesst einfach kein Strom"-Kondition wird erzeugt indem man den Pin als Eingang schaltet und den Pullup deaktiviert. Das nennt sich dann Hi-Zero oder auf gutdeutsch Hochohmig.

    Ich glaube die Verwirrung ist einfach entstanden weil es sich beim AVR um einen Tri-State-Fähigen Baustein handelt.
    Der kann eben nicht einfach nur "Saft/Nicht-Saft", sondern als Ausgang "Saft/GND" und als Eingang den "Nicht-Saft"-Zustand.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    10.04.2007
    Beiträge
    10
    Zitat Zitat von Steinigtmich
    Was die technische Stromrichtung anbelangt, die wird ja in keinster Weise in der Logik verletzt.
    Stimmt, aber das behauptete ich ja nicht. Nur hatte ich bei Ausgang die umgekehrte Richtung also in den µC rein eben ignoriert.

    Ich glaube die Verwirrung ist einfach entstanden weil es sich beim AVR um einen Tri-State-Fähigen Baustein handelt.
    Der kann eben nicht einfach nur "Saft/Nicht-Saft", sondern als Ausgang "Saft/GND" und als Eingang den "Nicht-Saft"-Zustand.
    Aber das Nicht-Saft scheint doch nicht so ganz zu stimmen, denn auch wenn der Pull-Up am Eingang ein ist, ist einfach nur ein (endlicher) Widerstand da und den Pin extern auf GND gelegt müsste einen Strom rausfliesen lassen.

    Gruß,
    Johannes

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    03.11.2004
    Ort
    Süderlügum
    Alter
    37
    Beiträge
    86
    Zitat Zitat von joh_walt
    Aber das Nicht-Saft scheint doch nicht so ganz zu stimmen, denn auch wenn der Pull-Up am Eingang ein ist, ist einfach nur ein (endlicher) Widerstand da und den Pin extern auf GND gelegt müsste einen Strom rausfliesen lassen.
    Jo, stimmt, tuts auch. Ich ging von einem deaktivierten Pullup aus. Die im AVR integrierten Pullups sind auch eigentlich kein direkter Bestandteil eines Tri-State-Pins. Die sind nur ein nettes Gimmik damit man nicht selbst extern welche draufschalten muss.
    Ohne aktivierten internen Pullup und ohne angeschlossene externe Pullup-/Pulldown-Widerstände ist der als Eingang geschaltete Pin hochohmig, und sein Zustand ist fatalerweise nicht definiert.

    Und ja, bei aktivierten Pullups fliesst ein Strom raus. Machst Du damit nichts, wird der Eingang eine logische "1" detektieren, legst Du ihn auf GND, eine logische "0".

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.07.2006
    Ort
    nähe Rottweil
    Alter
    34
    Beiträge
    240
    Hallo

    Dass man beim AVR eine LED mit einer "0" einschaltet hat meines Wissens auch noch den Grund dass der µC Strom gegen Masse besser verträgt als wenn man den Ausgang bei logisch 1 belastet. Ich hab zwar bis jetzt noch keine Probleme gehabt, ich verwende aber auch low current LEDs (brauchen weniger Strom). Aber es gibt ja noch Anwendungen wo mehr Strom fließt (Reed-Relais z.B.) und da ist es dann denke ich wirklich besser wenn der Strom in den µC hinein fließt.
    Hoffe das war soweit verständlich. Musste mich am Anfang aber auch erst daran gewöhnen dass die LEDs bei 0 leuchten


    Grüße!!

    Bean

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    15.12.2007
    Beiträge
    28
    Hallo

    bin neu hier und möchte mit einem AT mega 34 microcontroller anfangen
    und hab die Grundschaltung im Wiki gesehen.

    Hab mich am Anfang nicht ausgekannt aund hab im forum den Beitrag gefunden. Das mit der LED und dem Eingang hab ich dank euch kapiert aber was hilft mir der Widerstand nach der LED??
    Und nun noch ne Frage könntet ihr das mit dem Taster noch mal genauer erklären.

    Hoffe auf eine Antwort, danke im voraus.

    Theussl

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2007
    Ort
    Kornwestheim (kWh)
    Beiträge
    1.118
    Aber es gibt ja noch Anwendungen wo mehr Strom fließt (Reed-Relais z.B.) und da ist es dann denke ich wirklich besser wenn der Strom in den µC hinein fließt.
    mmmmh, bei höheren Strömen als 20mA nehm ich dann doch lieber die Variante mit nem Transistor und nem widerstand zwischen dessen Basis und dem Pin des Microcontrollers.

    @Theul: der Widerstand nach (vor gienge natürlich auch) der LED ist zur strombegrenzung und damit die LED die vollen 5V nicht abbekommt. LEDs vertragen, jeh nach Bauart, 1-2,6V (manche auch 3V).

    Da wir hier mit 5V arbeiten würde ohne Vorwiederstand eine Zu große Spannung an der LED anliegen und ein zu großer Strom durch die LED und den Microcontroller fließen.
    Im schlimmsten Fall würden beide abrauchen, wenn du glück hast, nur die LED.

    meinst du wirklich ATmega34??? nicht den ATmega32?? Ersteren gibts nicht.
    Gruß, AlKi

    Jeder Mensch lebt wie ein Uhrwerk, wie ein Computer programmiert...
    ==> UMPROGRAMMIEREN!

    Kubuntu

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •