Atmega mit LED Ausgang (Spannungsproblem zu trivial?)

Gast #3720848
Lesenswert?

PIN0|-10kohm--LED-----GND
Atmega ------------
                   PIN1|-10kohm--LED-----GND
                   PIN2|-10kohm--LED----GND

Ein Ausgang befindet sich dabei auf High. (Immer nur ein Ausgang)
Dennoch liegen da nur 1,2V an. Wieso?



Atmega -------------PIN0|10kohm ---LED ---GND
Hier liegen stets bei High 5V an. Warum bei obere Schaltung nicht?
Gast #3720859
Lesenswert?

Rene schrieb:
> PIN0|-10kohm--LED-----GND
> Atmega ------------
>                    PIN1|-10kohm--LED-----GND
>                    PIN2|-10kohm--LED----GND
>
> Ein Ausgang befindet sich dabei auf High. (Immer nur ein Ausgang)
> Dennoch liegen da nur 1,2V an. Wieso?
>
> Atmega -------------PIN0|10kohm ---LED ---GND
> Hier liegen stets bei High 5V an. Warum bei obere Schaltung nicht?

Ist das jetzt viermal die gleiche Schaltung, oder übersehe ich etwas?
(Pin-10k-Led-GND)
Gast #3720873
Lesenswert?

npn schrieb:
> Wo liegen die 1,2V an? An der LED? Dann mißt du die Flußspannung der
> LED.

Ich messe an dem Pin direkt: sprich über Widerstand und LED zsm.
Habe beim mittleren Pin 1,8V bei den beiden daneben jeweils 1,6V sofern 
sie aktiv sind.
Ich verstehe nicht warum nicht 5V dort anliegen.

U= 1,8V
<--------------------->
PIN2 ----- 10kohm----GND
Gast #3720875
Lesenswert?

npn schrieb:
> Wo liegen die 1,2V an? An der LED? Dann mißt du die Flußspannung der
> LED.

Ich messe an dem Pin direkt: sprich über Widerstand und LED zsm.
Habe beim mittleren Pin 1,8V bei den beiden daneben jeweils 1,6V sofern
sie aktiv sind.
Ich verstehe nicht warum nicht 5V dort anliegen.

U= 1,8V
<--------------------->
PIN2 ----- 10kohm---LED----GND
Gast #3720886
Lesenswert?

if(menu)
    // ADC Aktiv
    {
      adcval = ADC_Read_Avg(0,5);
      if(adcval < 140) // Kleiner 684mV
      {
        PORTC |= (1<<PC0);
        PORTC &= ~(1<<PC1);
        PORTC &= ~(1<<PC2);
      }
      if((adcval > 140) && (adcval < 800))  // zwischen 684mV und 3,9V
      {
        PORTC |= (1<<PC1);
        PORTC &= ~(1<<PC0);
        PORTC &= ~(1<<PC2);
      }
      if(adcval > 800)  // Größer 3,9V
      {
        PORTC |= (1<<PC2);
        PORTC &= ~(1<<PC0);
        PORTC &= ~(1<<PC1);
      }
    }
    else
    // Analog Comperator Aktiv.................
...............

Genau, eigentlich gibts nur High=5V oder Low und nichts dazwischen, 
daher frage :( .
Gast #3720890
Lesenswert?

Tom schrieb:
> Port auf Ausgang gestellt (DDRx)? Falls nicht, schaltest Du nur
> den
> Pullup (~40k wimre) ein, was die Spannungen ungefähr erklären würde.

  DDRB = 0xFF; // Blaue LED: Ausgang
  DDRB &= ~( (1 << DDB2) | (1 << DDB3) ); // PB2 und PB3 Eingänge
  DDRC = 0xFF;
  DDRC &= ~( (1 << PC0)|(1 << PC1)|(1 << PC2) ); // PC0-3Ausgänge

Aua.... DANKE!!!!
Gast #3720970
Lesenswert?

Ich kann euch gerne Schaltpläne und so schicken.
Aber der Fehler lag darin, dass ich die "Ausgänge" nicht als Ausgänge 
programmiert hatte.

Habe ein Lichtwellenleiter als Signal, welches 10m weit reicht und einen 
Schalter beinhaltet.
Funktion: Im MRT mit einem 3T Scanner gibt es keine andere Möglichkeit 
als einen Taster via LWL-Signal zu unterbrechen und zu nutzen.
Im Nebenraum wird dann per Empfänger(Fototransistor/Fotodiode) das 
Signal in Strom umgewandelt und anschließend per Operationsverstärker so 
verstärkt, dass mittels eines Mikrocontrollers die 
Unterbrechung/Fallende Flankung per Analog Comperator registriert wird 
und zur Zeit nur eine LED zum leuchten bringt. Des Weiteren gibt es die 
Möglichkeit per ADC die Spannung zu messen.

Je nachdem wie hoch die Spannung ist leuchten andere LEDs für ADC und je 
nachdem wie AIN0/AIN1 anliegt leuchtet jeweils eine andere LED um zu 
wissen, ob der Mikrocontroller die Fallende Flanke auch wirklich 
wahrnimmt.
Gast #3720991
Lesenswert?

Rene schrieb:
> Ich kann euch gerne Schaltpläne und so schicken.
> Aber der Fehler lag darin, dass ich die "Ausgänge" nicht als Ausgänge
> programmiert hatte.

Nicht mehr nötig. Nächstes Mal bitte, bitte vollständige Angaben, 
Programm etc und wenn Problem gelöst kann man das auch deutlich 
schreiben und nicht nur sowas wie: Aua danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren