Forum: Mikrocontroller und Digitale Elektronik LED mit ULN2003 und PWM


von Jens (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,
ich möchte mehrere LED's über ULN2003 schalten und über den CD-Anschluss 
die LED's über eine PWM (MOSFET Low-Side) dimmen. Funktioniert das?

SP siehe Anhang

von Sven (Gast)


Lesenswert?

Theoretisch ja. Aber wenn der MOS durchschaltet, sind alle LED an, egal 
was an den einzelnen Eingängen anliegt. Du hast also eine 
ODER-Verknüpfung. Ist wohl nicht, was Du willst. Du bräuchtest eine 
UND-Verknüpfung von Eingang und PWM-Signal.

Lass den MOS weg und mach eine Software-PWM mit dem µC an den Eingängen. 
Code gibts von Peter Danegger hier im Forum.

Den 100R-Widerstand an den Eingängen (nicht den an den LED) kannst Du 
weglassen, der 2003 hat intern 2k7. Aber nicht den 2001 verwenden, der 
hat keinen internen Vorwiderstand.

von Jens (Gast)


Lesenswert?

Danke für den Hinweis. Das mit der ODER-Verknüpfung ist nicht von mir 
gewollt.
Wollte eine Zentrale Dimmung mit "nur einer" PWM Ansteuerung, da es 
insgesamt ca. 30 LED's werden sollen. Könnte höchstens einen High-Side 
MOSFET in die PLUS-Versorgung der LED's packen. Dann wäre es ja eine 
UND-Verknüpfung - oder?

von mx (Gast)


Lesenswert?

Wenn ich das jetzt richtig versteh sollen die LEDs unabhängig 
ansteuerbar sein.
Eine ganz andere Variante wäre dies mit SPI und schieberegistern zu 
realisieren.

Also keine PWM sondern ein getaktetes ansteuern der LEDs
D.h. über einen Interrupt oder auch einfach nur das hauptprogramm, die 
jeweiligen LEDs ein und ausschalten.

Wenn du noch nicht allzu sehr auf die PWM versteift bist, kann ich dir 
diese Idee etwas genauer erklären...

Gruß
mx

von Jens (Gast)


Lesenswert?

Genau. Die LED's sollen unabhängig voneinander angesteuert werden 
können. Die LED's sollen aber alle gleich dimmbar sein. Dachte mir, das 
einfachste wäre ein gemeinsamer Bezug (entweder PLUS od. MINUS), welcher 
über eine PWM angesteuert wird. Der MINUS ist halt immer angenehmer ;-)
Kann aber auch über einen High-Side MOSFET geschehen.

Die andere Variante von Dir mittels SPI schließt sich leider aus, da ich 
diese SS nicht zur Verfügung habe.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Du kannst alle externe Hardware zum Dimmen weglassen. Die LEDs können 
alle in Software gedimmt werden. Da es dann Software ist, können sie 
sowohl einzeln gesteuert, einzeln gedimmt oder allesamt gedimmt werden. 
Was Du brauchst, ist eine Timer-ISR, die einen Zähler hochzählt, der 
sich mit den Werten in 7 Registern vergleicht und in Abhängigkeit davon 
den betreffenden LED-Pin setzt oder löscht. Durch das Einschreiben von 
beliebigen Werten in diese Register kannst Du jede LED in ihrer 
Helligkeit beeinflussen. Der Rest der Software bestimmt über die Werte, 
die zu gegebener Zeit eingetragen werden.

von Falk B. (falk)


Lesenswert?

@Jens (Gast)

>Dateianhang: ULN2003.JPG (51 KB, 38 Downloads)

Bildformate

>ich möchte mehrere LED's über ULN2003 schalten und über den CD-Anschluss
>die LED's über eine PWM (MOSFET Low-Side) dimmen. Funktioniert das?

Nöö. Schau mal ins Datenblatt, dort ist die Innenbeschaltung drin. Du 
musst den Masseanschluss vom ULN2003 über den MOSFET leiten, dann gehts.

MFG
Falk

von Jens (Gast)


Lesenswert?

okay danke. Denke aber darüber nach, die LED's per CPLD ein/aus zu 
schalten (aufgrund der Anzahl). Dann würde die SW Variante nicht 
funktionieren, bzw. nur bedingt.

von Falk B. (falk)


Lesenswert?

@Jens (Gast)

>okay danke. Denke aber darüber nach, die LED's per CPLD ein/aus zu
>schalten (aufgrund der Anzahl). Dann würde die SW Variante nicht
>funktionieren, bzw. nur bedingt.

30 LEDs kann man auch mit Soft-PWM ansteuern. Und mit etwas Knoff 
Hoff belastet das den Controller auch nicht übermässig. Been there, done 
that.

MFg
Falk

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wow - per CPLD?! Wieviele LEDs wolltest Du doch gleich noch schalten?

von Jens (Gast)


Lesenswert?

Im Moment sind es ca. 30 LED, könnten aber noch ein paar hinzukommen. 
Aber ich höre aus deiner Antwort, dass du diese Lösung ziemlich dämlich 
findest...ich selber nicht, da ich für jede LED auch einen eigenen 
Eingang habe und diesen ebenfalls auf das CPLD lege.

von mx (Gast)


Lesenswert?

Für meine Variante braut man übrigens nicht zwingend ne SPI,
geht auch ohne, nur die schieberegister wären notwendig, bei der Anzahl 
von LEDs.

Da bräuchtest du übrigens nur 5 pins
Master, SPI oder eben SPI ersatz, und eben die Schiebe-Enable
Je nach Anzahl der Schieberegister.

Die ansteuerung ist dann auch Softwaresache,...

Gruß

von mx (Gast)


Lesenswert?

Master ist schwachsinn, ich meinte die EN- Leitung

von Oliver P. (atmega32user)


Lesenswert?

Hi

habe das gerade gelesen.

Andere Idee - µC z.B ATmega8 steuert MAX7219/21 über spi an.
max 64 LED´s ohne ULN2003.

Den LED Strom kann man über spi im MAX einstellen!

Grüße OLLI

von Falk B. (falk)


Lesenswert?


von mx (Gast)


Lesenswert?

Genau soetwas (wie Falk Brunners Beitrag) meinte ich,...
übrigens die Data- Leitung würde mit dem SPI verbunden werden,
ist wie schon gesagt aber nicht zwingend notwendig,...

von Jens (Gast)


Lesenswert?

Vielen Dank derweil. Werde es so mal probieren

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.