-
        

Ergebnis 1 bis 6 von 6

Thema: LED leuchtet schwach nach Programmierung

  1. #1
    DjEKI
    Gast

    LED leuchtet schwach nach Programmierung

    Anzeige

    Moin,

    Ich habe das Atmel Evaluationsboard v2.01 und da sind 2 LEDs vorhanden. Ich habe ein Diamex All-Programmer und konnte erfolgreich ein Attiny2313 flaschen mit lunaavr. Simple Aufgabe (LEDs leuchten abwechselnd). Sie leuchten aber sehr schwach! Dann habe ich mein Atmega32 rausgeholt, der schon geflasht war (siehe Zielscheibensystem) und da leuchten die LEDs stark auf. Als ich den ATmega32 mit Lunaavr und den gleichen script geflasht hatte, leuchteten die LEDs plötzlich wieder sehr schwach. Woran kann ds nur liegen?

    Nicht wundern, ich habe noch ein Summer hinzugefügt.
    Code:
    avr.device = atmega32
    avr.clock  = 1000000
    
    #define LED1 as Portd.5
    #define LED2 as Portd.6
    #define SU as Portd.7
    LED1 = 0
    LED2 = 0
    SU = 0
    
    do
    LED1 = 1
    LED2 = 0
    SU = 1
    
    wait 1
    LED1 = 0
    LED2 = 1
    SU = 0
    Wait 1
    loop

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    938
    Schwach leuchtende LED klingt nach per default aktivem internem Pullup-Widerstand des Controllers.

  3. #3
    DjEKI
    Gast
    Wunderbar! zwar musste ich sehr viel suchen, was du meinst, aber dann bin ich dahinter gekommen, dass der Port nicht richtig als Ausgang definiert worden ist. Ist das vom Controller normal, dass der Ausgang, fals man Portd.6.mode = output vergessen sollte, als Pullup defeniert wird? Oder ist das Programm abhängig. Damals musste ich auch Output für den jeweiligen port einstellen.

    Das hier hatte gefehlt:
    Code:
    Portd.5.mode = output
    Portd.6.mode = output
    Portd.7.mode = output
    auf jedenfall danke für den kleinen Denkanstoß ^^
    mfg EKI

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    938
    Hallo Erik.

    Zitat Zitat von Erik Huber Beitrag anzeigen
    ... zwar musste ich sehr viel suchen, was du meinst, aber dann ...
    Ups, da hatte ich nachts um Halbeins nicht mehr ganz sauber formuliert ...

    Zitat Zitat von Erik Huber Beitrag anzeigen
    Ist das vom Controller normal, dass der Ausgang, fals man Portd.6.mode = output vergessen sollte, als Pullup defeniert wird?
    Ich arbeite ausschließlich mit PICs, von daher würde ich die Frage gerne an die Kenner weiterreichen. Die Antwort sollte sich aber auch in der Doku zum Controller finden lassen.
    Mein offenbar treffender Hinweis beruht halt darauf, dass 1.) ich schon seit Jahren auch die Atmel-Themen mitlese und 2.) deine Frage zu den Top-Five der Anfängerprobleme mit Atmel-Controllern gehört.

    Viel Erfolg und Spaß weiterhin.
    RoboHolIC

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    59
    Beiträge
    2.435
    Hallo EKI.
    Zitat Zitat von Erik Huber Beitrag anzeigen
    Ist das vom Controller normal, dass der Ausgang, fals man Portd.6.mode = output vergessen sollte, als Pullup defeniert wird? Oder ist das Programm abhängig.
    Ich kenne die Amtel nicht speziell, dafür aber eine Menge andere Controller.

    Grundsätzlich können die meisten Ports als Ein- oder Ausgang verwendet werden.
    Bei einem Reset, weiss der Controller aber nicht, als was ein Port benutzt werden soll. Wenn da jetzt z.B. ein Schalter daran angeschlossen ist und das Port als Ausgang definiert wird, gäbe es einen Kurzschluss an diesem Port.

    Also setzt man alle Ports als Eingang.

    Dann hat man aber noch dass Problem, dass wenn der Pin als Eingang geschaltet ist und da aber ein Eingang z.B. eines Gatters dran hängt, sich ungültige Pegel einstellen, ist ja alles sehr hochohmig. Bei manchen Gattern können aber, bei ungültigen Pegeln, beide Transistoren in der Ausgangsstufe gleichzeitig leitend sein, was einem Kurzschluss der Versorgungsspannung gleich kommt. Will man auch nicht wirklich!

    Also werden oft auch die Pull Ups aktiviert.

    Nach einem Reset übernimmt dann die Software, da kann es dann Unterschiede geben, je nachdem was du für Bibliotheken verwendest.

    Grundsätzlich muss man aber immer ins Datenblatt schauen, in welchem Zustand die Ports nach einem Reset nun genau sind!

    MfG Peter(TOO)

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.183
    Bei einem AVR ist der Port nach einem Reset auf Eingang geschaltet. Schreibt man in diesem Zustand eine 1 auf den Port, wird der PullUp (50k bis 70k) aktiviert.
    Schaltet man den Port auf Ausgang, entweder so: Portx.5.mode = output oder so DDRx=0b00100000; und schreibt eine 1 auf den Port, dann geht der Port auf High und mit einer 0 auf Low. Über den max. Strom informiert das Datenblatt.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

Ähnliche Themen

  1. RN Control defekt? LED 1 leuchtet dauerhaft
    Von Andy003 im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 15
    Letzter Beitrag: 15.07.2012, 17:45
  2. [ERLEDIGT] Front LED glimmt nur ganz schwach
    Von RobWes im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 10.02.2012, 17:34
  3. Warum leuchtet die LED nicht ?
    Von Bqube im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 21.12.2008, 23:37
  4. Status-LED leuchtet nicht grün
    Von jeffreydj im Forum Asuro
    Antworten: 30
    Letzter Beitrag: 12.02.2007, 21:39
  5. Antworten: 1
    Letzter Beitrag: 28.12.2004, 19:26

Berechtigungen

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