DAC´s

Gast #354543
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
Gast #354551
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
#354553
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
Gast #354556
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
#354557
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren