Hilfe bei der Programmierung von RGB Farbkreis (mit R2R)

  • Hallo!
    Ich habe ein verzwicktes Problem, denn ich soll für ein Uni-Projekt LEDs ansteuern. Evtl. gibt es hier nette Menschen, die bereits Erfahrungen mit meinem konkreten Problem gemacht haben?!
    Kurz zur Erläuterung:
    Aufgabe: Eine RGB-LED dazu bringen, die Farben des RGB-Spektrums abzulaufen.
    Vorgabe: Es soll ein Altera DE2 Board mit Cyclon II (EP2C35F672C6N) Prozessor und ein R2R Netzwerk benutzt werden. Die Software dafür soll über Quartus II umgesetzt werden. Leider habe ich noch keine Erfahrungen mit dieser Software und bin etwas überfordert mit der Gesamtaufgabe. Da wir dies auch praktisch umsetzen sollen, dachte ich hier könne mir vielleicht geholfen werden!
    Generell habe ich schon einige Grundkenntnisse in C++ - jedoch fehlt mir bei diesem Problem der Einstieg.
    Vielen Dank für die Mühe!

  • Mit einem µC würdest du einfach drei PWM Kanäle programmieren, die entsprechend die PWM Werte abfahren würden.
    Das wäre auch wahrscheinlich die effizienteste Art so etwas zu entwickeln.


    Ihr sollt aber was für euren Abschluss lernen. :D
    Da hilft nur wenn man keine Ahnung hat, was dazu lesen und dann reinknien und üben.
    Die Aufgabe ist wenigstens für den Anfang schön anschaulich. Ich gehe mal davon aus, dass dann noch ganz andere Kaliber kommen werden.


    In Quartus wirst du mit C++ wahrscheinlich nicht weit kommen. Ich würde es eher mit VHDL versuchen. ;)


    Wenn ich das richtig sehe, sind die Dimmstufen mehr oder weniger durch das R2R NW vorgegeben. Der FPGA braucht dann nur noch ein bisschen Bitschieberei zu veranstalten.

  • Wenn er das mit R2R Netzwerken einen (bzw. 3) DA-Wandler - jeweis einen für R, G und B - realisieren soll, dann braucht er keine PWM.
    Das Ganze über R2R zu lösen finde ich aber suboptimal, da die Kennlinie einer LED stark nichtlinear ist. Ok, wenn man über die Zeit gleichmäßiges, flimmerfreies Licht braucht für ein Kamerasystem, o.ä. macht auch eine rein analoge Ansteuerung wieder Sinn.
    Mehr als 8 bit brauchst du keinesfalls umsetzen, da die Toleranzen von üblichen Widerständen schon größer sind. Bei handelsüblichen 1% Toleranz bei Metallschicht, würde das 8. bit schon Käse sein bei 1/256 :P
    Wobei, wenn alle Widerstände aus der selben Produktionscharge kommen, könnte es auf Grund der geringeren Abweichungen untereinander mit 8 bit gerade noch klappen.
    Was ich damit sagen will, das du bei R2R keinen 10 oder mehrbittigen Wandler aufbauen brauchst :D

  • Danke Kanwas für die schnelle Antwort!


    Das mit der einfacheren Methode über PWM habe ich auch schon gelesen - wäre ja aber an der Aufgabe vorbei :D


    Ich würde es wirklich gerne lernen, leider sind unsere Uni-Materialien nicht sehr hilfreich.
    Ich bräuchte eigentlich erstmal nur eine Einstiegshilfe. Gibt es da evtl. gute Dokumentation im Netz? Mir fehlt der Anfang - würde mich gerne reinknien ;)


    VHDL habe ich leider noch keine Erfahrungen - aber ja das brauche ich für Quartus (steht ebenfalls in der Aufgabe ^^)


    PS: Das ist für dieses Semester erstmal die Abschluss-Aufgabe - werde das Fach danach wohl abgeben :saint: