Gast
#3610309
Hi, ich beschäftige mich aktuell mit einem kleinen LED-Projekt. Ich habe mir eine 3-Kanal Treiberstufe mit integriertem Trafonetzteil gebaut. Die Treiberstufe verfügt über 3 Konstantstromquellen (LM317). Die Helligkeit der LED's möchte ich dann über das Tastverhältnis mittels PWM regeln, hierzu schließt ein Transistor einfach die LED-Strecke kurz. Es mag eleganter gehen aber es funktioniert soweit. Die PWM möchte ich über einen ATTiny13A realisieren. damit ich alle 3 Kanäle mittels PWM regeln kann, habe ich eine 8-Bit Software-PWM mit einem Timer programmiert. Das funktioniert soweit auch ganz gut. Der Gedanke ist, dass ich 3 analoge Potis zur Einstellung der PWM verwende, hierzu will ich 3 der 4 ADC-Kanäle des Tiny verwenden. Und somit kommen wir auch schon zu meinem Problem. Die PWM etc. das läuft alles. Ich kann ein Byte vorgeben und die PWM funktioniert so, wie sie soll. (Mit dem Oszi geprüft). Allerdings kommen von der ADC-Wandlung keine wirklich sinnvollen Werte zurück. Ich verwende den ADC mit Interrupt, die Bits sind linksorientiert. Allerdings scheinen - unabhängig von der Potistellung - nur Einsen aus der ADC-Wandlung zu kommen. Zumindestens schaltet die PWM die LED's komplett aus (das ist nur bei 0xFF der Fall, habs getestet). Das Programm selbst scheint aber normal zu laufen, zumindestens kann ich durch extra Variablen einen Blink-Takt auf einem anderen PWM-Kanal realisieren. Aktuell komme ich nicht wirklich weiter und hoffe daher auf ein bisschen Unterstützung. Ich hoffe, meine Beschreibung ist soweit vollständig, so dass keine Glaskugel benutzt werden muss. Viele Grüße Nils



