PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit StatusLED



harry3
05.08.2007, 18:15
Hallo!

Bei mir war von Anfang an schon die StatusLED so, dass RED die grüne LED aktivierte und GREEN die rote. Also genau verkehrt herum.
Nun wollte ich dieses Problem beheben. Ich benutze die lib2.7 rc3.

Sowohl die asuro.h der lib als auch die ins Programm inkludierte asuro.h hab ich folgendermaßen geändert:

Ich hab bei den #define's einfach die Pinnummern getauscht:


#define GREEN_LED (1 << PD2) /*!< PB0 Port fuer Gruene Status LED */
#define RED_LED (1 << PB0) /*!< PD2 Port fuer Rote Status LED */


Und dann bei den PORT's hab ich PORT B und D getauscht.


#define GREEN_LED_ON PORTD |= GREEN_LED /*!< Gruene Status LED an */
#define GREEN_LED_OFF PORTD &= ~GREEN_LED /*!< Gruene Status LED aus */
#define RED_LED_ON PORTB |= RED_LED /*!< Rote Status LED an */
#define RED_LED_OFF PORTB &= ~RED_LED /*!< Rote Status LED aus */


Das Problem: Die LED's leuchten jetzt in der richtigen Farbe, aber nur ganz schwach(schaut aus wie eine normale Glühbirne die ganz leicht 'glimmt').

Hat jemand eine Lösung dafür? Mal ganz abgesehen davon verstehe ich nicht warum bei mir die LED anders herum leuchtet als bei jedem anderen???

Grüße,
Harri

jzd
05.08.2007, 18:20
ähm, keine ahnung ob die dann überhaupt noch ginge, aber könnte es sein,
dass die LED falsch herum eingebaut ist?

radbruch
05.08.2007, 18:21
Mal ganz abgesehen davon verstehe ich nicht warum bei mir die LED anders herum leuchtet als bei jedem anderen???
Falsch eingebaut?

harry3
05.08.2007, 18:29
Der - Pol der Diode ist auf die quadratische Fläche gelötet, das passt also.
Wenn man sie falsch herum einbaut dürfte sie gar nicht funktionieren weil + und - Pol dann vertauscht wäre=>Diode in Sperrichtung.

Außerdem funktioniert sie ja mit den Original Headerdateien ganz normal, nur eben verkehrt!

harry3
05.08.2007, 18:34
Könnt ihr mal bei Eurer LED schauen: Wenn ich die äußerste Anode mit einer kleinen Spannung versorge(1,5Volt), dann leuchtet sie grün. Kann es sein dass sie normalerweise rot leuchten sollte und ich da eine LED habe, die sozusagen "falsch" ist, sprich, man hat mir eine falsche LED in die Packung getan?

Wie auch immer, wie kann man das softwaremäßig abändern, dass sie mit voller Leuchtkraft leuchtet?

Derzeit fällt über die LED eine Spannung von nur 180mV ab, wenn sie vom Mikrocontroller die Anweisung bekommt zu leuchten. Kein Wunder dass sie nur 'glimmt'

jzd
05.08.2007, 19:35
ok, war ja auch nur ne vermutung.
und wie gesagt, ich war mir auch nicht sicher ob das ganze dann überhaupt
noch ginge.

harry3
05.08.2007, 20:54
Ich hab jetzt in der leds.c Datei folgendes gemacht, und es funktioniert:


/*in den if Anweisungen RED und GREEN vertauscht*/
if (color == RED)
{
GREEN_LED_ON;
RED_LED_OFF;
}

if (color == GREEN)
{
GREEN_LED_OFF;
RED_LED_ON;
}

Trotzdem würde mich interessieren warum die Version mit den Vertauschen der Ausgänge nicht funktioniert hat. Vielleicht weiß ja ein AVR Experte eine Antwort darauf.

damaltor
05.08.2007, 21:24
stop stop stop:

die led ist mit sicherheit fallschrum eingelötet. der minuspol dieser led ist nömlich in der mitte! das längste beinchen bezeichnet bei diesem teil ausnahmsweise nicht den minuspol, sondern die seite die rot leuchtet (oder grün? weiss nimmer). minus ist in der mitte!!

Sternthaler
06.08.2007, 03:32
Hmmm, eventuell ist die Diode gar kein Typ, bei dem der Masse-Anschluß (-) in der Mitte liegt, denn wie harry3 schon schreibt, ist es sehr verwunderlich, dass die Leuchtstärke total unterschiedlich ist nach der Umdefinition der Bits.
Erst mit bewußtem ausschalten der 'anderen' Farbe scheint es ja bei ihm zu gehen.
Ich hatte auch auf eine verdrehte LED getippt, und zwar so, dass aber die Vorwiderstände unterschiedlich wären, so dass beim verdrehen irgendeine Seite zu wenig Saft bekommt. Widerstände sind aber beide mit 470 Ohm identisch.

Meiner LED kann ich nicht mehr ansehen in welcher Richtung sie eingebaut ist.
Das Gehäuse ist jedenfalls halbtransparent und... ach hier Foto:

damaltor
06.08.2007, 14:01
meine led war zu anfang falschrum, und die farben waren vertauscht. umgedreht, und ging...