-
        

Ergebnis 1 bis 8 von 8

Thema: Keine 5V am Ausgang

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2008
    Alter
    27
    Beiträge
    21

    Keine 5V am Ausgang

    Anzeige

    Hallo,
    also ich möchte mich zuerst einmal vorstellen.
    Mein Name ist Patrick, bin vor kurzem erst 18 geworden. Ich komme aus Österreich und bin noch Schüler an einer HTL für Elektrotechnik.


    Ich bin eigentlich ziemlicher Anfänger, habe aber doch schon mehrere Programme auf einem Attiny2313 und Atmega8 zum laufen gebracht.

    Naja nun zu meinem Problem:
    Ich habe nach längerer Zeit wieder einmal programmiert. Ich habe mir so ein Tasterprogramm auf einen Atmega 8 geflasht. Also Taster gedrückt -> LED ein, Taster nicht gedrückt LED aus.

    Code:
    #include <avr/io.h>
    
    int main()
    {
    
      while(1)
      {
    
        DDRD &= ~(1 << PD2);    // PortD2 als INPUT 
        PORTD |= (1<<PD2);      // interne Pullups einschalten
    
    
        if ( !(PIND & (1<<PIND2)) ) // wenn Taste gedrückt
        {
           PORTD |= (1<<PORTD5);    // LED an
        }
       
        else                        // sonst
        {
           PORTD &= ~(1<<PORTD5);   // LED aus
        }
      }
    }
    Wird der Taster dann aber gedrückt leuchtet die LED nur halb so stark wie normalerweise. Am Portpin wo die LED dranhängt habe ich nur 2,5 V gemessen! wie kommt das?
    Die LED ist von Portpin über einen 1k Widerstand nach GND geschaltet.
    Ist der Pin jedoch unbelastet also keine LED dann messe ich 5 V.
    Ich bitte euch um Hilfe [-o< !
    Danke

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    04.02.2006
    Beiträge
    24
    Was hast du denn da für eine LED dran?
    Ein 1k Widerstand erscheint mir ein bisschen viel.
    Selbst für hochleistungsleds braucht man für den Betrieb an 12V grade mal 400-500 Ohm.

  3. #3
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Da die Ports defaultmäßig auf Input eingestellt sind fehlt wohl noch ein fluffiges

    DDRD |= (1<<PD5);

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2008
    Alter
    27
    Beiträge
    21
    Cool, ziemlich schnelle Antwort!
    Ich hab da eine low current LED drauf:
    Ich habe mir das programmieren mehr oder weniger selbst durch tutorials beigebracht und dort steht meistens 1k Vorwiderstand bei einer LED.
    Das merkwürdige ist ja das es schon mal funktioniert hat mit den 5V. Also das die LED hell geleuchtet hat. Funktioniert zeitenweise auch jetzt bei verschiedenen PINs aber nicht bei allen.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2008
    Alter
    27
    Beiträge
    21
    Ooooh,
    der Mann spricht aus Erfahrung!

    DDRD |= (1<<PD5);

    das ist es wirklich gewesen. Danke mic!
    Ich dachte wenn ich nichts schreibe, dass der Pin dann automatisch als Ausgang definiert ist. Dem ist aber seh ich gerade nicht so. Also wenn ich nichts schreibe ist der Pin dan einfach hochohmig ist das richtig????

    Ich bedanke mich für eure schnellen Antworten
    gruß

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Ich hab' noch PORTD5 nach PD5 geändert. Wenn der Port auf Input eingestellt ist schaltet PORTD |= (1<<PORTD5); den PullUp ein. Dieser ist dann in Reihe zum 1k und der LED und hat wohl ca. 50K. Da sollte die LED eigentlich immer dunkel sein. Manche Pins haben aber Sonderfunktionen, möglicherweise erklärt das die hell leuchtende LED.

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Zitat Zitat von Grenade
    Ich dachte wenn ich nichts schreibe, dass der Pin dann automatisch als Ausgang definiert ist. Dem ist aber seh ich gerade nicht so. Also wenn ich nichts schreibe ist der Pin dan einfach hochohmig ist das richtig????
    Richtig! Und wenn du nochmal drüber nachdenkst, wirst du auch feststellen, warum das so ist: wenn der Pin hochohmig ist, kann erst mal nichts kaputtgehen, was an dem Pin angeschlossen ist. Falls der Pin später mal Eingang sein soll und schon ein Signal anliegt, könnte es sonst Probleme geben.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2008
    Alter
    27
    Beiträge
    21
    Klingt eigentlich logisch!
    Ich bin froh das mein Problem gelöst wurde.

Berechtigungen

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