- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: AVR Einstieg Leichtgemacht Wiki Frage

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.07.2009
    Ort
    Gustorf
    Beiträge
    217
    Anzeige

    Powerstation Test
    Hallo,
    nochmals danke für die Antworten.
    Ich denke ich habe nun verstanden wie die Schaltung dort funktioniert:

    Da der Schalter mit GND verbunden ist gibt die Abfrage von Pina.7 eine 1 zurück sobald der Schalter gedrückt, also der Stromkreis geschlossen ist.

    Dem PortC.0 wird es darauf hin erst ermöglicht den Strom der von der Stromquelle kommt aufzunehmen da er auf High geschaltet wird, also eine Spannung da ist.

    Ist das so korrekt? Wenn ja dann kann ich in Zukunft sehr gut darauf zurückgreifen. Ist das etwas Amtel / Atmega32 spezifisches oder funktionieren alle Microcontroler I/Os nach diesem Schema?

    Leider kann ich das noch nicht ausprobieren da mir noch das Programmierkabel fehlt, aber sobald das da ist werde ich loslegen mit der Programmierung

    Es grüßt,
    Basteltisch

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Nochmal nein.
    Wenn der Schalter gedrückt wird, wird der PA7 auf GND gezogen, GND ist wenn du Pina.7 einliest eine 0.
    Es geht hier nicht um Stromkreise, beim einlesen geht es nur um die anliegende Spannung.

    Und das Programm rennt die ganze Zeit im Kreis (DO ... LOOP bildet hier eine Endlosschleife) und fragt diesen Pin ab.
    Das Programm entscheidet darüber, wie PC0 dann konfiguriert wird.
    Bei dem Beispielprogramm aus dem Wiki wird der PC0 auf High konfiguriert, wenn PA7 High eingelesen wurde. PA7 ist genau dann High, wenn der Taster das Signal nicht auf GND zieht.
    Wurde PA7 als Low ausgelesen, ändert das Programm das Ausgangssignal für PC0 auf Low, das andere Ende der LED hängt aber an High, es fließt also in genau diesem Fall ein Strom der die LED zum leuchten bringt.

    Ich hege den Verdacht, dass du dem Mikrocontroller zu viel Eigenintelligenz zuschreibst.
    Der AVR (und jeder andere Mikrocontroller) tut genau das, was du ihm sagst.
    Sagst du ihm, er soll einen Ausgangspin auf Low/High ziehen, stellt er intern eine Verbindung zwischen GND/VCC und dem Pin her. Wenn dabei ein Kurzschluss entsteht, stirbt (im besten Fall nur) der Pin.
    Sagst du ihm, er soll einen Pin als Eingang benutzen, schaltet er nicht mehr direkt GND oder VCC an den Pin, sondern bietet nur noch die Möglichkeit, ihn nicht zu beeinflussen oder mit einem Pullup anzusteuern.
    Sagst du ihm, er soll den momentanen Wert auslesen, tut er genau das.

    Ferner solltest du ein wenig vom Stromkreisdenken wegkommen. Bei den Mikrocontrollern läuft viel nur mit Pegeln (High/Low), dass aus anliegenden Pegeln ein Stromfluss (wie bei der LED) folgen kann, ist für die Signalverarbeitung im AVR selbst weniger wichtig.
    Wenn du Ausgänge schaltest, musst du primär wissen, dass du damit eben jene besagte Leitung nach GND oder VCC durchschaltest. Wie das dann die nachfolgende Schaltung beeinflusst, ist für den AVR erst einmal unwichtig.

    mfG
    Markus

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.07.2009
    Ort
    Gustorf
    Beiträge
    217
    Hallo,
    oh weia also bedeutet High auf der einen Seite und Low auf der anderen das Strom von High zu Low fliesst?
    Also wird mit dem schliessen des Tasters das LOW auf A7 erzeugt da es nun mit GND verbunden ist?

    Stimmt dies nun?

    Ich habe zwar beruflich mit Anwendungsentwicklung zu tun, sogar speziell Basic devirate, aber in diesem Fall tue ich mich unterwartet schwer mit dem Verständniss.

    Es grüßt,
    Basteltisch

  4. #14
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Hey, du redest schon wieder von Strom

    Ja, High auf einer Seite (z. Bsp Pin eines AVR) und Low auf der anderen Seite (z.Bsp. GND) verursacht eine Spannung die zwischen den beiden Seiten anliegt, und damit kann also auch ein Strom fließen.
    Und weiter richtig, Schließen wir den Taster, ziehen wir den PA7 auf LOW, korrekt. (Weil die Ladung am Portpin nach GND abfließt und der geringe Strom, den der Pullup im AVR abgibt ebenfalls).
    Lässt man den Taster los, kann der Pullup den Pin wieder auf HIGH ziehen.
    Der direkte "Kurzschluss" des Pins über den Taster hat keine weiteren Folgen, weil der Pullup mit ~50kOhm nur sehr wenig Strom fließen lässt.
    Hätte man den Pin aber als Ausgang konfiguriert, würde der Pin direkt mit GND kurzgeschlossen, ein hoher Stromfluss würde den AVR (oder zumindest Teile von ihm) beschädigen oder zerstören.

    mfG
    Markus

    PS: Sieh dir doch mal das Datasheet (nicht die Summary) unter Product Card ATMega32A an.
    Auf Seite 50, Fig 12-1 siehst du, wie der Pin innen weiter verschaltet ist (zumindest der erste Teil).
    Die ersten beiden Schaltzeichen (von links) sind Schutzdioden, die das Eingangssignal gegen VCC bzw. GND ableiten, wenn es über oder unter GND bzw. VCC steigt/fällt.
    Cpin ist momentan uninteressant, aber das was danach als Rpu zu sehen ist, ist der schaltbare Pullup-Widerstand gegen VCC.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

12V Akku bauen