www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED-Treiber an mega32 PWM


Autor: Marten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen!
Ich möchte mit meinem mega32 eine LED-Leiste steuern, die in Endausbau 
ziemlich groß werden kann (~80 LEDs pro Kanal). Dazu benötige ich 
natürlich einen LED-Treiber, der mir die 1,6A bei 5V schaltet. Bei 
normalen Transistoren habe ich keinen Typ finden können, der diesen 
Strom verkraftet, ein ULN2803 fällt da wegen der schlechten 
Kühlmöglichkeit und dem zu kleinen Maximalstrom ebenfalls raus.

Ich lese immer wieder, dass in diesem Bereich MOSFETs eher genutzt 
werden, die Theorie sieht ja auch nicht so unglaublich schwer aus.
Trotzdem ist da die Frage, welcher Typ geeignet wäre, bzw. auf welcher 
Webseite/... ich fündig werden kann/könnte.

Muss ich dem MOSFET bei der Beschaltung noch spezielle Widerstände 
mitgeben (abgesehen von den LED-Vorwiderständen)?

Wie ihr seht, bin ich da noch nicht ganz so fit.

Vielen Dank und Gruß
Marten

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grundsätzlich ist die Ansteuerung von LEDs mit PWM in mäßigen Frequenzen 
relativ einfach.

Ein Widerstand, der bei I/O Spannung vom AVR maximal 20 mA fließen lässt 
(z.B. 5 V / 20 mA = 250 Ohm) zwischen AVR Pin und Gate und evt ein paar 
kOhm vom Gate nach Masse reichen im Grund schon.

https://ec.irf.com/v6/en/US/adirect/ir?cmd=eneNavi... 
ist die Übersicht über N-FET Mosfets von IRF. Selbst winzige FETs im 
SOT-23 Gehäuse für 20 Cent wie der IRLML2502PBF  verkraften dauerhaft 3 
bis 4 A.

Bei der Auswahl auf möglichst geringen R_DS_on achten und im Datenblatt 
nachsehen wie die Kennlinie bei der gewünschen Gatespannung aussieht. 
Nicht alle FETs steuern bei 5 V schon voll auf, auf die Bezeichnung 
"Logiclevel" achten.

80 LEDs parallel ist aber nicht ohne. Jede defekte LED erhöht den Strom 
durch die verbleibenden und die sind dann auch schnell tot.
Besser wäre ein höhere Spannung, wenige Stränge mit einigen LEDs in 
Reihe. Durch die höhere Spannung sinkt natürlich auch der Gesamtstrom 
bei gelicher Leistung und damit hat der FET weniger Arbeit :).

Autor: Nicky C. (nicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marten,

ich würde Dir auch vorschlagen Ketten zu verwenden. Denn bei LED 
einzelaufnau mit Vorwiderstand brauchst Du Dir keine Sorgen zu machen, 
wenn eine LED-ausfällt (wenn ich es richtig verstanen habe --> 5V mit Rv 
je LED) aber Du speisst 8Watt für die 80 LED's ein und verheizt allein 3 
nur in den Vorwiderständen. Wenn es geht mach lieber 12V oder 24V Ketten 
und weniger Strom. Als Fet habe ich oft den IRL024 verwendet.

Autor: Marten P. (alias5000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo und danke für die schnellen Antworten!

Gast schrieb:
> Grundsätzlich ist die Ansteuerung von LEDs mit PWM in mäßigen Frequenzen
> relativ einfach.
An was denkst du bei "mäßigen Frequenzen"? Ich betreibe meinen mc 
derzeit mit 8 MHz und habe nen Vorteiler von (ich meine) 8. D.h. PWM von 
etwa 4 kHz.

>
> https://ec.irf.com/v6/en/US/adirect/ir?cmd=eneNavi...
> ist die Übersicht über N-FET Mosfets von IRF. Selbst winzige FETs im
> SOT-23 Gehäuse für 20 Cent wie der IRLML2502PBF  verkraften dauerhaft 3
> bis 4 A.
>
> Bei der Auswahl auf möglichst geringen R_DS_on achten und im Datenblatt
> nachsehen wie die Kennlinie bei der gewünschen Gatespannung aussieht.
> Nicht alle FETs steuern bei 5 V schon voll auf, auf die Bezeichnung
> "Logiclevel" achten.
Was meinst du mit "voll aufsteuern"? Meinst du den Betrieb im 
Sättigungsbereich? Die Bezeichnung "logic level" konnte ich bisher in 
keinem Datenblatt finden, was bedeutet sie genau?
>
> 80 LEDs parallel ist aber nicht ohne. Jede defekte LED erhöht den Strom
> durch die verbleibenden und die sind dann auch schnell tot.
Solange ich den Mosfet im linearen Bereich betreibe ist sein R_ds_on 
doch einigermaßen konstant. Somit sollte doch der durch den Ausfall 
einer LED steigende Belastungswiderstand (die Gesamtheit aller Rv mit 
LED) eine Minimierung des Stroms bedeuten und sich das System somit 
einpendeln. Wohlgemerkt hat jede LED einen Vorwiderstand.
Oder wo liegt mein Denkfehler, dass es dann alles durchbrutzelt?

> Besser wäre ein höhere Spannung, wenige Stränge mit einigen LEDs in
> Reihe. Durch die höhere Spannung sinkt natürlich auch der Gesamtstrom
> bei gelicher Leistung und damit hat der FET weniger Arbeit :).
Der Vorschlag klingt gut, allerdings hätte ich auch da eine Frage:
Ich habe gelesen, dass es verdammt böse sein soll, LEDs in Reihe zu 
schalten (die dann zusammen einen Rv haben), da sich dort durch 
Fertigungsunterschiede unterschiedliche Spannungsabfälle, die Temperatur 
unterschiedlich stark ansteigt und somit eine der beiden leicht 
durchbrennt.
Inwiefern ist das hier nicht zutreffend oder liege ich da ganz falsch?

Nicky C. schrieb:
> Hallo Marten,
>
> ich würde Dir auch vorschlagen Ketten zu verwenden. Denn bei LED
> einzelaufnau mit Vorwiderstand brauchst Du Dir keine Sorgen zu machen,
> wenn eine LED-ausfällt (wenn ich es richtig verstanen habe --> 5V mit Rv
> je LED) aber Du speisst 8Watt für die 80 LED's ein und verheizt allein 3
> nur in den Vorwiderständen.
Das ist ein guter Punkt, den habe ich vergessen, danke :)
Allerdings noch die Frage von oben, bzgl. Reihenschaltung

> Wenn es geht mach lieber 12V oder 24V Ketten
> und weniger Strom. Als Fet habe ich oft den IRL024 verwendet.


Und dann hätte ich noch eine Frage, bei der ich etwas verunsichert bin. 
Wenn mein Bild, dass der MOSFET im On-Zustand (linearer Bereich) ein 
einigermaßen konstanter Widerstand ist, dann ist es doch ebenso möglich, 
die Last zu variieren und das System verhält sich in deinem 
Ein-Ausschaltverhalten im Endeffekt gleich, richtig? (gleiches 
Verhalten: gleiche PWM-Frequenz führt zu einiermaßen gleicher Helligkeit 
einer LED, egal, ob da jetzt 40 am Transistor hängen oder 80). Der 
Hintergrund ist, dass ich nicht die Zeit haben werde, gleich alle 80 zu 
verbauen, sondern würde gerne erstmal 20-40 verbauen und mir das dann 
mal ansehen können.

Vielen Dank für eure Antworten
Gruß
Marten

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit mäßigen Frequenzen meinte ich alles was ein AVR in der Lage ist per 
Hardware-PWM auszugeben, also nicht viel mehr als 250 kHz.
Im Bereich von einigen 100 kHz oder MHz kommt dann die Gatekapazität 
deutlich ins Spiel und fordert eine aufwändigere Ansteuerung.

Logic-level bedeutet dass der R_DS(on) bei Gatespannungen von (je nach 
Definition) 3,3 oder 5 V schon sehr klein ist und man sich einen Treiber 
mit höherer Gatespannung spart. Das lässt sich aus den Kennlinen auch 
ablesen.

Bei gleichem Tastverhältnis des PWM und Parallelschaltung sollte es in 
der Tat keinen großen Unterschied machen ob nun 40 oder 80 LEDs 
angeschlossen sind weil der R_DS(on) wesentlich geringer ist als Rv :).

Dass LEDs nicht Reihe geschaltet werden sollen ist mir neu. Das wird 
schließlich in jedem popeligen Handy TFT gemacht und wer weiß wo sonst 
noch. Sollte das System sehr warm werden wird es vielleicht eher zum 
Problem. Aber Langzeittests habe ich weder selbst gemacht noch davon 
gelesen.

Grüße

Autor: Nicky C. (nicky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marten,

dein gelesenes verhält sich genau anders herum! Es ist wahr, dass die 
LED's fertigungstoleranzen haben, und genau dort liegt das problem bei 
einer PARALLEL schaltung der LEDs mit einem widerstand - weil eine LED 
bei z.b. 3,2V 19mA und eine andere 22mA fließen läst. über den RV 
stellst du z.b. für 3 LEDs 60mA ein. dies kann durch die abweichungen zu 
einer aufteilung 30mA, 17mA und 13mA führen und nicht wie gwollt 3x 
20mA.

die reihenschaltung von lLEDs hingegen ist ohne probleme durchführbar, 
weil der strom im strang nunmal der strom ist. da die LED eine diode ist 
und über den strom und nicht die spannung gesteuert wird, ist bei 
definiertem strom auch eine definierte helligkeit vorhanden, die 
spannung interessiert dich im gewissen rahmen eher weniger.

nachteil der reihenschaltung, fällt eine LED aus, kann es sein, dass der 
komplette strang aus ist --> siehe weihnachtsbaumbeleuchtung. um dem 
gegenzuwirken kannst du jeder LED eine z-diode spendieren und alles wird 
wieder gut, solange nicht zu viele defekt sind.

mfg nicky

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.S.: In der Tabelle bei IRF gibt es eine Spalte, die den R_DS bei 4,5 V 
angibt. Wenn dein AVR mit 5 V läuft ist das ein brauchbarer Richtwert 
bei der Auswahl.

Autor: Marten P. (alias5000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das klingt ja alles schonmal ziemlich cool.

12V krieg ich aus meiner Spannungsquelle auch raus, von daher werde ich 
dann 3 in Reihe schalten und komme auf ungefähr 0,5A runter :)

U_gs bestimme ich in dem Fall mit R_ds_on*I_ds, richtig?

Dann würde es ein IRLD 024 tatsächlich tun, der ist bei Reichelt 
verhältnismäßig günstig und nicht SMD, das ist für mich angenehmer zu 
löten :)

Der Tipp mit der z-Diode ist cool, aber ich werde ihn erstmal weglassen, 
da damit der Aufwand beim fertigen kräftig steigt ;)

Zusätzlich würde ich noch ein 74LS21 o.ä. (AND-Gatter) zwischen Gate und 
mc-Port legen, da ich das PWM-Signal ggf. extern abschalten können will.

Ich entwerfe mal einen Schaltplan und melde mich dann nochmal

Viele Grüße
Maten

Autor: Marten P. (alias5000)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!
Etwas verspätet, aber ich habe jetzt mal ansatzweise ne Schematic 
zusammengeklickt, um nochmal fragen zu können, ob das so stimmen kann.

Der verwendeter MOSFET soll ein IRLD024 wie oben angesprochen, das 
Symbol ist das eines anderen Transistors. Habe aber kein passendes in 
Eagle finden können, das mir dann auch das entsprechende DIL-Gehäuse 
bietet, in dem der IRLD024 verpackt ist.

R1 ist mit 1kOhm ausgestattet, damit der Port und das AND-Gatter nicht 
so stark belastet ist. Es kommen jeweils noch andere Belastungen auf den 
Port zu.
Das AND-Gatter hat den Sinn, dass ich das PWM-Signal extern schalten 
kann, da ich den PWM-Ausgang des MC auch noch mit einem zweiten Treiber 
identischer Bauweise verbinden möchte.
Der ENABLE-Eingang des AND-Gatters soll mit einem normalen MC-Port 
verbunden werden, muss ich dazu noch Widerstände zwischenschalten, oder 
ist der Gatter-Eingang hochohmig genug, damit da wenig fließt?

Der Ausgang nach oben wird dann an die LED-Kette angeschlossen, die dann 
als Spannungsversorgung auf der anderen Seite 12V bekommt.

Kann das so funktionieren?

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke das kann klappen. Zwischen Portpin und Gatter brauchst du 
keinen Widerstand. Aber der R1 ist mit 1k doch schon recht groß.

Ein MOSFET zieht im geschaltetem Betrieb fast keinen Strom durch das 
Gate. Strom fließt nur beim schalten. (Stichwort Gatekapazität) Wenn der 
Wiederstand zu groß ist, dann kann der MOSFET nicht sehr schnell ein / 
ausschalten. Wenn dann deine PWM-Freqeunz zu hoch ist schaltet der 
MOSFET nicht mehr sauber und der R_DS steigt.

Ich hab jetzt keine Datenblätter gelesen, aber so aus dem Bauch raus 
würde ich da nur 100 Ohm spendieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.