Forum: Mikrocontroller und Digitale Elektronik DAC´s


von hommer (Gast)


Lesenswert?

hi
ich möchte an einen avr pr
dacs anschließen
mit den dacs sollen anschließend leds
betrieben werden.

bei den dacs sie ich im moment habe (von TI)
muss ich danach eienen impedanzwandler als treiber verwenden
das funzt zwar ist mir aber zu aufwendig

die docs sollten ca 20ma bei 3 bis 4 volt liefern
welchen typen könnt ihr mir da empfehlen.
mfg

von Marco S. (masterof)


Lesenswert?

hänge doch die LED direkt an den die Pins vom AVR der kann 20 mA
aufnehmen und wieder abgeben.

von Timmo H. (masterfx)


Lesenswert?

Willst du die LEDs an den DAC machen damit du die Dimmen kannst oder
was? (schonmal was von PWM gehört?)

von hommer (Gast)


Lesenswert?

jo ich will die dimmen


pwm kenn ich funzt aber mit sicherheit net
und die led direkt an den avr anschießen
bringt wohl am wenigsten

von Timmo H. (masterfx)


Lesenswert?

Wieso funzt das nicht? Mit PWM dimmt doch jeder seine LED's!

von hommer (Gast)


Lesenswert?

ach ja und bei tiefen spannungen funzt pvm bei
leds doch garnicht

von Timmo H. (masterfx)


Lesenswert?

Was meinst du mit tiefen Spannungen? Mit PWM kannst du die LED's soweit
runterdrehen bis sie aus sind.

von Schoasch (Gast)


Lesenswert?

wie wärs wenn du einfach einen Transistor am Ausgang deines DACs
schaltest. Basis an DAC-OUT, Collector an Vdd und Emitter an
Vorwiderstand der LED. So kann man ja auch eine LED dimmen.

von hommer (Gast)


Lesenswert?

naja das wäre ja ein ahnlicher verdratungsaufwand
wie bei einem impedanzwandler
und genau das wollte ich vermeiden

zu pvm ich möchte ja mehrere bzw vielle leds betreiben
und die dacs sind ja inder lage die werte zu speichern usw

von Marco S. (masterof)


Lesenswert?

wenn du im avr die Hardware PWM verwendets braucht das auch keine
Rechnenzeit. es wird nur 1 Takt gevraucht wenn du die Helligkeit
änderst.

von Peter D. (peda)


Lesenswert?

"ach ja und bei tiefen spannungen funzt pvm bei leds doch garnicht"

Den Irrtum hatten wir schonmal diskutiert.

Es ist nämlich genau umgekehrt:

Bis zur Flußspannung der LED funzt ein DAC nicht, Dir geht also
Auflösung verloren.

Eine PWM schaltet aber und funktioniert daher immer von 0% bis 100%.


Peter

von Timmo H. (masterfx)


Lesenswert?

Puh, da bin ich ja beruhigt, dass ich keinen Unsinn erzählt habe.

von Schoasch (Gast)


Lesenswert?

so ein grosser Verdrahtungsaufwand ist es dann auch nicht... immerhin
fügst du nur 1 Bauteil mit 3 Pins in den Kreis ein.

Wieviele LEDs willst du denn ansteuern?

von hommer (Gast)


Lesenswert?

ich bis nochmal
ok das pwm funzt ist klar ich habs auspropiert
aber ich will
32 leds ansteuern

und das mit ops geht wohl sehr schlecht

am besten wäre 4 dacs die genügent power hätten das direkt
zu tun
es gibt ja gebufferte aber nur welche
mfg
hommer

von Christoph W. (christoph)


Lesenswert?

Mensch das wird doch wohl nich das Problem sein. Du kannst die LEDs auch
als Matrix aufbauen. Geeignet angeordnet kannst du aufdie Art mit 8 Pins
Portaufwand und einem kleinen bisschen Softwareaufwand alle 32
spotbillig dimmen ! Du hast dann lediglich einen verdrahtungsaufwand
von 4 Widerständen (und den 32 LEDs natürlich) !


    5 6 7 8
    | | | |
1-R-X-X-X-X
    | | | |
2-R-X-X-X-X
    | | | |
3-R-X-X-X-X
    | | | |
4-R-X-X-X-X

Von den 4 Widerständen kommt jeweils einer an Stelle eines Rs.
Der Wert des Widerstandes muss ein Achtel des üblichen Widerstandes
betragen, damit die Gesamthelligkeit dem Dauerbetrieb entspricht.
(Genaueres später).

So. an jeweils ein X setzt du nun 2 LEDs parallel, aber in
entgegengesetzte Richtungen. Und zwar so, dass senkrechte mit
waagerechter Linie verbunden wird. Das nennt man Matrixbetrieb. Wenn du
noch etwas Softwareaufwand sparen willst, baust du eine 4x8 Matrix auf -
brauchst halt dann 12 Pins, musst dich aber nicht um die Flussrichtung
kümmern.

Mit dem 4x4-Design baust du aber trotzdem eine 4x8 Matrix auf, der
einzige Unterschied besteht lediglich darin, dass du zwischendrin die
Stromrichtung änderst und damit andere LEDs zum Leuchten bringst.
Prinzip ist einfach : Damit die LED leuchtet, muss die Anode auf HIGH
und die Kathode auf LOW. Legst du 5 auf HIGH, dann leuchtet die LED auf
dem Kreuzpunkt mit 1, wenn 1 auf LOW ist. Legst du 5 auf LOW, leuchtet
die LED auf Kreuzpunkt 1, wenn 1 auf HIGh ist. Damit nicht ungewollt
die Kreuzpunkte der anderen Reihen (6-8) aufleuchten, musst du diese
während dieser Zeit auf Eingang ohne Pull-up schalten. Dann kann kein
Strom fließen. Am besten, du betreibst die Schaltung bei 3,3V, da bei
5V jeweils zwei in Serie geschaltete LEDs leuchten könnten (durch eine
Spannung zwischen einen der Pins von 1-4). Wenn du trotzdem 5V willst,
lies am Ende des Textes - dort steht noch eine Alternative.

Nun durchläufst du Sequentiell die Leitungen 5-8 wie oben beschrieben
(5H,5L,6H,6L, ... - die anderen dabei auf Eingang stellen !) und legst
entsprechend an 1-4 den Zustand für die LED an.

Mit etwas Softwareaufwand (bei geschickter Programmierung nicht viel)
kannst du eine Software-PWM realisieren, die die Pins 1-4 während einer
Leuchtperiode vorzeitig abschaltet. So durchläufst du Zeile um Zeile und
zwar so schnell, dass sich das ganze "Bild" mehr als 60-70 mal pro
Sekunde aufbaut. Dann wird das vom Auge nicht mehr als flimmern
wahrgenommen. Das heißt, du musst deine PWM für eine Geschwindigkeit
von 50*8*Auflösung auslegen. Sagen wir mal 32 Helligkeitsstufen - mehr
wird wohl bei einer LED kaum Sinn machen - macht eine PWM-Grundfrequenz
von 12,8 KHz. Das ist durchaus zu schaffen. Bei 8 MHz Taktfrequenz hast
du bequeme 625 Takte für einen (!) PWM-Schritt zeit. Das bedeutet, dass
du das bequem in die ISR eines Timers unterkriegst. Mit Assembler
schluckst du vllt. 10% Rechenleistung des AVRs.

Dreh es wie du willst : mit weniger Aufwand und effektiver wirst du es
kaum schaffen. Das ist die Technik, wie sie auch bei Professionellen
Anwendung findet. Hardwareseitig hast du 0 Aufwand. Geldbeutelseitig
ebenfalls nicht. Du brauchst halt 3,3V damit du kein "Fehlleuchten"
erzeugst. Wenn du doch 5V verwenden willst, kannst du das zur Not aber
auch umgehen, indem du einen Spannungsabfall (kein Widerstand) in die
Leitungen 1-4 einbaust, der die ON-Spannung unter die doppelte
Abfallspannung einer LED drückt.

von Kai Markus Tegtmeier (Gast)


Lesenswert?

TLC5923 von Texas instruments. Treibt 16 LEDs, wird
seriell angesteuert und speichert die Werte auch.

Greetz
kmt

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.