LED Nachglüheffekt simulieren Funktioniert das so?

Fragen zu Elektronik und Elektro allgemein.Fragen zu Bauteilen wie z.B. Tansistoren, Dioden, Kondensatoren usw.

Fragen zu Elektronik und Elektro allgemein.Fragen zu Bauteilen wie z.B. Tansistoren, Dioden, Kondensatoren usw.

Moderator: Moderatorengruppe

LED Nachglüheffekt simulieren Funktioniert das so?

Neuer Beitragvon Eprom am Mittwoch 12. September 2007, 15:28

Hallo zusammen,

ich habe ein Nightrider-Lauflicht mit meinem PIC programmiert und an die Ausgänge LED´s angeschlossen.

Nun möchte ich aber mit den LED´s ein "Nachglühen" simulieren, wie es bei normalen Glühlampen auch vorkommt!

Dazu habe ich mir gedacht ich schalte einfach einen Kondensator parallel zu der BE-Strecke meines Schalttransistors in der Hoffnung das der Transistor dann nicht schlagartig sperrt sondern lansam.
Siehe Schaltplan unten!!

Meine Frage ist nun ob das zulässig bzw. üblich ist das man einen Kondensator parallel zur BE_Strecke schaltet und ob das schädlich für Transisor oder PIC sein kann und mit welchen zusätzlichen Strömen ich zu rechnen habe?

Vielen Dank im Voraus

Gruß

Tobias
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Eprom
Threadstarter
28702
Bronze Mitglied
 
Beiträge: 66
Registriert: Sonntag 26. September 2004, 11:48

Neuer Beitragvon gonimax am Mittwoch 12. September 2007, 15:52

Hallo, wenn der Basiswiderstand nicht die max. zulässige Auagangsbelastung des PICs unterschreitet, hast nix zu befürchten. Ich hab zwar keine PIC-mässigen Vorstellungen, aber wenn > 500 OHM bei 5V bleibst, sollte es funzen. Natürlich nur bis zu einem Mindestmaß an Basisvorspannung > 0.7V, darunter ist nix mit "Nachglühen" ;-)

Allerdings sollte um dem Nachglüheffekt Nachdruck zu verleihen, ein Widerstand zwischen Kontenpunkt Rv/Kondensator und Basis eingeschliffen werden, damit der Kondensator sich nicht zu schnell über die Basis-Emitter-Strecke entlädt. Ist der Kondensator nicht überdimensional groß (Aufladestromstoß, abhängig vom max. zulässigen Ausgangsstrom des PIC), kann der jetzige Rv entsprechend verkleinert, und der zusätzliche Basis-Vorwiderstand entsprechend vergößert angesetzt werden.
gonimax
28704
Platinum Mitglied
 
Beiträge: 665
Registriert: Montag 30. August 2004, 16:53
Postleitzahl: 01936
Land: Germany / Deutschland

Neuer Beitragvon Master-Jimmy am Mittwoch 12. September 2007, 20:50

Programmier doch einfach ein hübsches PWM-Signal, dann kannst du dir die HW-Bastelei sparen.
Benutzeravatar
Master-Jimmy
28715
Titanium Mitlgied
 
Beiträge: 401
Registriert: Mittwoch 11. April 2007, 10:21
Postleitzahl: 00000
Land: not selected

Neuer Beitragvon Eprom am Samstag 15. September 2007, 11:05

Hallo,

vielen Dank für die Antwoten bis jetzt!

Ich habe heute morgen versuchsschaltungen aufgebaut und mit etlichen Kondensatoren von 1-4700 uF herumprobiert, habe auch den Ratschlag von gonimax angenommen und habe widerständen mit hineingeschaltet, jedoch ist bei keiner schaltung auch nur ein geringes Nachglühen zu sehen.

Es verändert sich einfach garnichts. Die LEDs gehen an und aus jedoch ohne nachglühen.

Hat jemand eine Erklärung dafür? oder weiß jemand wo man bei solch einem Problem mal nachfragen könnte? An der UNiversität vielleicht?

Danke im Voraus
Eprom
Threadstarter
28747
Bronze Mitglied
 
Beiträge: 66
Registriert: Sonntag 26. September 2004, 11:48

Strom

Neuer Beitragvon BernhardS am Samstag 15. September 2007, 13:41

Hallo,

Du müsstest den Strom steuern, nicht die Spannung. Im Moment fällt mir dazu auch nichts gescheites ein. Für eine oder zwei LED´s würde ich eine spannungsgesteuerte Stromquelle mit einem Operationsverstärker bauen.
Wenn aber schon ein PIC dran ist, würde ich auch das Programm in Richtung PWM erweitern.

Bernhard
BernhardS
28751
Moderator
 
Beiträge: 4597
Registriert: Donnerstag 17. Februar 2005, 17:50
Postleitzahl: 84028
Land: Germany / Deutschland

Re: Strom

Neuer Beitragvon derguteweka am Samstag 15. September 2007, 13:56

Moin,

Natuerlich bin ich auch fuer die Loesung mit der PWM.

In deinem Schaltbild seh' ich keinen Vorwiderstand fuer die LED. Ich hoff' doch, dass es den in echt gibt.
Denn koenntest du mal in die Emitterleitung schalten, dadurch wird dein Transistoreingang hochohmiger und die Entladung des Elkos dauert laenger.
Aber wiejesaaacht: Lieber mit PWM schaffen. Ist einfach eleganter und die Nachleuchtzeiten lassen sich besser einstellen.

Gruss
WK
derguteweka
28753
Moderator
 
Beiträge: 1048
Registriert: Freitag 18. August 2006, 15:47

Neuer Beitragvon Master-Jimmy am Samstag 15. September 2007, 14:28

Wahrscheinlich fehlt genau dieser Vorwiderstand.
Ohne den hast du immer nur die selben zwei Ströme, nämlich Kurzschluss und 0A.

Die LED ist nicht, wie es auf den ersten Blick vielleicht scheinen mag, spannungsgesteuert sondern stromgesteuert.
Das heisst, dass sich mit dieser Schaltung nur zwei "Leuchtzustände" einstellen lassen.

P.S.:
Das die obige Schaltung mit Vorwiderstand dann funktioniert, glaube ich mal eher nicht.-Ich denke nur es ist evtl. angebracht, hier kurz den grundsätzlichen Fehler auszumerzen, dass die Leuchtstärke von der Spannung an der LED abhängigsei.
Benutzeravatar
Master-Jimmy
28754
Titanium Mitlgied
 
Beiträge: 401
Registriert: Mittwoch 11. April 2007, 10:21
Postleitzahl: 00000
Land: not selected

Neuer Beitragvon Master-Jimmy am Samstag 15. September 2007, 14:53

Wenn es explizit kein Software-PWM sein darf, ist ein Spannungs-Frequenz-Wandler eine mögliche Lösung.
---------------------
So könnte ein C-Programm aussehen, mit welchem du eine LED mittels PWM am Pin1 des LPT1 "glühen" lässt (Vielleicht hilft's dir :?: ):

Code: Alles auswählen
#include <windows.h>
#include <conio.h>

#define CYCLEDURATION   25
#define SET_HIGH        _outp(0x37A,_inp(0x37A)|0x01)
#define SET_LOW         _outp(0x37A,_inp(0x37A)&0xfe)

void main(void)
{
    DWORD dwDelayTime=0;
    BOOL  bDirectionFlag=false;

    while(1)
    {
        switch(bDirectionFlag)
        {
            case    false          :  dwDelayTime++; break;
            case    true           :  dwDelayTime--;
        }
        switch(dwDelayTime)
        {
            case    CYCLEDURATION  :  bDirectionFlag=true; break;
            case    0              :  bDirectionFlag=false;   
        }

        Sleep(dwDelayTime);
          SET_HIGH;
        Sleep(CYCLEDURATION-dwDelayTime);
          SET_LOW;
    }
}
Zuletzt geändert von Master-Jimmy am Sonntag 16. September 2007, 14:25, insgesamt 1-mal geändert.
Benutzeravatar
Master-Jimmy
28756
Titanium Mitlgied
 
Beiträge: 401
Registriert: Mittwoch 11. April 2007, 10:21
Postleitzahl: 00000
Land: not selected

Neuer Beitragvon Eprom am Sonntag 16. September 2007, 13:04

Hallo zusammen,

vielen Dank für die Lösungsvorschläge und auch das c Programm von Master-Jimmy.


OK ihr habt mich überzeugt ich werde es mit der PWM Methode versuchen!!

Gestern wusste ich noch garnichts über PWM und jeztzt hab ich schon die ganze Nacht im Web gesurft und mich über PWM informiert und ich finde das es ziemlichkomplex ist.

Das hier wahrscheinlich niemand dazu bereit wäre mir zu erklären wie ich solch eine PWM mit dem Pic realisieren könnte, kann und will ich niemandem übel nehmen, aber vielleicht könnte mir jemand mal kurz erläutern, ob ich noch zusatzelemente benötige wie einen encoder oder so etwas, oder ob ich das alles allein auf software ebene realisieren kann?

Was ich bis jetzt verstanden habe ist, das diese PWM im prinzip nur ein ganz schnelles Ein und Auschalten der Betriebsspannung in ganz vielen Zeitinterwallen ist, richtig? :?

Danke im Voraus

Gruß
Eprom
Eprom
Threadstarter
28763
Bronze Mitglied
 
Beiträge: 66
Registriert: Sonntag 26. September 2004, 11:48

Neuer Beitragvon Master-Jimmy am Sonntag 16. September 2007, 13:59

Natürlich kannst du alles per Software erledigen; ich wüsste nicht was du mit einem encoder machen möchtest...

Du musst ein Signal erzeugen welches dem folgenden Prinzip folgt:
Die Länge des 5V-Pulses wird variert, während die Länge des gsammten Signals (0V und 5V Teil) konstant bleibt.

Je kleiner der 5V-Anteil am Signal wird, desto weniger lange, während der Periodendauer, fliesst ein Strom durch die LED und sie leuchtet entsprechend weniger hell.
Code: Alles auswählen
100% hell

             100%
  |<----------------------->|
5V|_________________________|
  |                         |
0V|                         |

Code: Alles auswählen
75% hell

          75%             
  |<--------------->|<----->|
5V|_________________|       |
  |                 |       |
0V|                 |_______|

Code: Alles auswählen
50% hell

       50%           
  |<---------->|<---------->|
5V|____________|            |
  |            |            |
0V|            |____________|

Code: Alles auswählen
25% hell

     25%             
  |<----->|<--------------->|
5V|_______|                 |
  |       |                 |
0V|       |_________________|

Code: Alles auswählen
0% hell

  0%
  |<----------------------->|
5V|                         |
  |                         |
0V|_________________________|


Du programmierst wahrscheinlich in Good-Old-ASM :? , oder? (Wie es sich für PICs auch gehört :!:)

Wenn du trotzdem etwas C verstehst, würde ich mal schauen was mein Beispiel-Programm macht. Wenn du dessen Funktion verstehst, weisst du eigentlich auch was PWM bedeutet.
Benutzeravatar
Master-Jimmy
28764
Titanium Mitlgied
 
Beiträge: 401
Registriert: Mittwoch 11. April 2007, 10:21
Postleitzahl: 00000
Land: not selected

Neuer Beitragvon Eprom am Montag 17. September 2007, 08:29

@ Master Jimmy

Vielen Dank für die anschauliche Erklärung!

Also mit dem C Programm kann ich leider garnichts anfangen aber ich denke ich werde es versuchen in assembler umzusetzten.

In wie vielen "Schritten" soll ich denn am besten runterdimmen?

Wenn ich mir vorstelle ich reduziere die 5V Intervalle pro Periode um 10% dann sieht dieses Nachglühen doch bestimmt stockend aus, oder?

Und wenn ich mir vorstelle ich reduziere die Spannung in 1% Intervallen dann stelle ich mir den Programmieraufwand enorm vor!

Gruß
Eprom
Eprom
Threadstarter
28773
Bronze Mitglied
 
Beiträge: 66
Registriert: Sonntag 26. September 2004, 11:48

Neuer Beitragvon bansa am Montag 17. September 2007, 10:49

Muss ja nicht.. du kannst auch per FOR, oder LOOP UNTIL programmieren...



Gruss, jan
bansa
28774
Bronze Mitglied
 
Beiträge: 40
Registriert: Sonntag 16. September 2007, 18:42

Neuer Beitragvon gonimax am Montag 17. September 2007, 18:45

Eprom hat geschrieben:
Ich habe heute morgen versuchsschaltungen aufgebaut und mit etlichen Kondensatoren von 1-4700 uF herumprobiert, habe auch den Ratschlag von gonimax angenommen und habe widerständen mit hineingeschaltet, jedoch ist bei keiner schaltung auch nur ein geringes Nachglühen zu sehen.

Es verändert sich einfach garnichts. Die LEDs gehen an und aus jedoch ohne nachglühen.


Hallo @Eprom, laut resultierendem Zeitglied (ELKO / Widerstand) "sollte" es funktionieren. Die anderen User haben insofern recht: ...ich hatte auch den Strombegrenzungwiderstand für die LED vergessen - das nur so neben bei.

Zu Deinem Effekt: Kann es sein, dass der Entladungsstrom des ELKOs nicht wie gewünscht das Zeitverhalten beeinflußt, weil dieser event. schneller über die Ausgangsstufe des PICs entladen wird ? Ist nur so eine Vermutung. Wenn dem so sein könnte, dann schalte zwischen PIC-Ausgang und der Schaltung eine Diode, so, dass sie den event. rückfliessendem ELKO-Entladestrom sperrt.

Wie lang glüht eigentlich eine Glühlampe nach ? ...ich habs nie gemessen ;-)
gonimax
28780
Platinum Mitglied
 
Beiträge: 665
Registriert: Montag 30. August 2004, 16:53
Postleitzahl: 01936
Land: Germany / Deutschland


Zurück zu Fragen zur Elektronik

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 41 Gäste