RGB-LED Ansteuerung (BASCOM)

pcprofi

Neues Mitglied
12. Apr. 2008
90
0
0
Sprachen
Hallo Jungs und Mädels,

nachdem ich auch ENDLICH mal wieder was Zeit habe zum basteln muss ich euch auch direkt mal wieder mit einer Frage überfallen...

Folgendes Problem:

Ich hab ein Poti am ADC hängen. Dieses Poti soll den Farbanteil vorgeben.

Problem: ADC -> 0-1024, PWM 0->255

Und ich kriegs nicht hin... Habe bereits mehrere Codeschnippsel wegen Nichtfunktion wieder verworfen...

Ich möchte möglichst nciht mit dem Register direkt arbeiten - weil ich den Komma-Kram in BASCOM immernoch nicht verstanden habe

habt ihr einen für mich?

Die log. Kennlinie lasst mal einfach aussen vor - das ist was für Fortgeschrittene...

Gruß Rainer
 
Hallo Rainer,

Folgendes Problem:

Ich hab ein Poti am ADC hängen. Dieses Poti soll den Farbanteil vorgeben.

Problem: ADC -> 0-1024, PWM 0->255

Und ich kriegs nicht hin... Habe bereits mehrere Codeschnippsel wegen Nichtfunktion wieder verworfen...

Ich möchte möglichst nciht mit dem Register direkt arbeiten - weil ich den Komma-Kram in BASCOM immernoch nicht verstanden habe

habt ihr einen für mich?
ich hab was ... :D
0..1023 => 10Bit
0..255 => 8Bit
Warum schiebst du dein Ergebnis vom ADC nicht einfach mit dem Shift-Befehl
um 2 Bit nach rechts ? Damit hast du durch 4 geteilt und es ist nix mit Komma.
Alles Integer-Arithmetik.

Gruß
Dino
 
Hallo ihr beiden,

Dino hat da schon recht, einfach um zwei Bitpositionen nach rechts shiften, das entspricht einer Division durch 4.

Eine Alternative wäre noch, wenn du das Flag ADLAR (Left Adjust Result) in dem Konfigurationsregister des ADC setzt, dann ist das Ergebnis linksbündig im 16Bit Ergebnisregister ADCH ADCL. Du brauchst dann nur ADCH verwenden, dort sind die oberen 8Bit enthalten, ADCL ignorierst du, damit hat du einen Wertebereich 0...255.

Shiften wird aber in Bascom einfacher sein.

Grüße,
Dirk
 
Hallo Jungs,

ich werde das Shiften wohl nehmen... Manchmal sieht man ja echt den Wald vor lauter Bäumen nicht mehr...

Vorerst liegt das Projekt auf Eis - ich habe meinen ISP-Programmer kaputt bekommen...

Jetzt heißt es erstmal wieder warten, bis ich wieder Programmieren kann...

Danke und Gruß

Rainer
 
Hi Rainer,

Vorerst liegt das Projekt auf Eis - ich habe meinen ISP-Programmer kaputt bekommen...

Jetzt heißt es erstmal wieder warten, bis ich wieder Programmieren kann...
was hast du denn für einen gehabt der da den Geist aufgegeben hat ?
Überspannung ? Statische Ladung ? Würde mich mal interessieren ...
Wenns nen AVRISPmk2 war ... alle Achtung ... da gehört bestimmt was dazu
den kaputt zu kriegen :D Der soll ja ziemlich unkaputtbar sein. Aber probiert
hab ichs bei meinem noch nicht :rolleyes:

Gruß
Dino
 
Hi Dino,

es war der USB-AVR-Lab von Ulli

Avrisp_small.jpg


Der hat ne 2,7V-Versorgung fürs Target mit wenigen mA eingebau - ohne Überstromschutz...

Kaputtgekriegt folgende Situation:

Jumper für die Targetversorgung gesteckt - war kein Problem, hat einwandfrei funktioniert, trotz externer Versorgung des Prozessors mit 5V.

Dann hab ich auf meiner Platine nen Jumper gesteckt, wo er eigentlich nicht hinsollte, und hab nen Kurzschluss gebaut.

Folge:

die Glasrohr auf der Platine leuchtete hell auf, danach wars dunkel - und der Programmer mochte mich auch nicht mehr...

Ich hatte dann aber keinen Bock mehr zu suchen, ich vermute, dass auf dem Programmer mindestens der (SMD)Transistor zur Spannungsregelung hin ist...

Gruß Rainer
 
Hi Rainer,

Dann hab ich auf meiner Platine nen Jumper gesteckt, wo er eigentlich nicht hinsollte, und hab nen Kurzschluss gebaut.

Folge:

die Glasrohr auf der Platine leuchtete hell auf, danach wars dunkel - und der Programmer mochte mich auch nicht mehr...
das riecht nach Ampere :eek:
Schon ärgerlich ... So schön wie ne Targetversorgung über den Programmer
für kleine Projekte ist, so gefährlich ist das auch.

Der AVRISPmk2 hat keine Target-Versorgung. Dafür hab ich mir nen kleinen
Adapter gebaut.

Gruß
Dino
 
Meistens programmiere ich ja auch ohne Target-Versorgung. Bei der kleinen Belastbarkeit kommt man ja um sowas nicht drumrum - ich habe aber einen Adapter gebaut, wo im Prinzip nur ne Fassung für den Mega8 drauf ist, damit hab ich sie genutzt - und schlichtweg dann wieder vergessen wegzujumpern...

Mit der Adapterplatine: sowas hatte ich früher auch - allerdings hab ich immer Probleme gehabt, wenn die ISP-Leitungslänge über 10-12cm ging - sowohl mit dem AVR-Lab als auch mit dem uralt Pony-Prog RS232 Programmer mit dem Transistor und der Handvoll Hühnerfutter.
Hast du irgendwas besonderes am Layout bei deinem Adapter beachtet?

Hat da einer ne Idee für?
 
Hi,

Mit der Adapterplatine: sowas hatte ich früher auch - allerdings hab ich immer Probleme gehabt, wenn die ISP-Leitungslänge über 10-12cm ging - sowohl mit dem AVR-Lab als auch mit dem uralt Pony-Prog RS232 Programmer mit dem Transistor und der Handvoll Hühnerfutter.
Hast du irgendwas besonderes am Layout bei deinem Adapter beachtet?
Mein Adapter ist hier im Forum bei "Programmierung" zu finden. Platinenreste
mit Pfostensteckern und Litzen dazwischen. Fertig. Leitungslänge hab ich
keine Probleme. Mein STK200-Nachbau (Parallel-Progger für LPT) hab ich mal
mit 2m Flachbandkabel getestet. Kein Thema. Der Adapter hängt meißt am
AVRISPmk2 und dann nen 10pol 30cm Flachbandkabel zum Target. Auch ohne
Probleme. Selbst mit 2MHz ISP-Takt.

Gruß
Dino
 
Ich glaube, da muss ich mir irgendwie acuh mal was frickeln, immer dieses gebastele ist ja schlimm...

Hat aber Zeit...

Ich kann endlich wieder Programmieren:D

Nachdem ich jetzt mal die ersten Tests gemacht habe, ist mir aufgefallen, dass die Kennlinie von LEDs ziemlich krass logarithmisch ist... Für so dermaßen krass hatte ich es nicht gehalten - damit ist meine Planung aber wieder hinfällig...

Ich möchte aber die Helligkeit der einzelnen Farben per Poti einstellen können... Jetzt ist mir woanders schon gesagt worden, ich soll da ne Tabelle für jede Farbe machen...

Jetzt kommt die Große Frage: Wie mache ich das? Ich habe nämlich unter Bascom noch nie so wirklich mit Tabellen gearbeitet...

Gibt es dazu ein Tutorial oder sowas ähnliches? Oder mag jemand was für mich schreiben?

Gruß Rainer


[edith sagt]

Kommando zurück!!! Wartet mal mit dem Tabellen geschreibsel - ich glaube, ich habe da was gefunden...

[edith2]

Wieviele Tabelleneinträge nimmt man denn Zweckmäßigerweise für sone RGB-Steuerung? und wie legt man sie an, damit sie pro Wert ungefähr gleich eben die Helligkeit von 0-100% verändern?
 
Nachdem ich jetzt mal die ersten Tests gemacht habe, ist mir aufgefallen, dass die Kennlinie von LEDs ziemlich krass logarithmisch ist... Für so dermaßen krass hatte ich es nicht gehalten - damit ist meine Planung aber wieder hinfällig...

Ich möchte aber die Helligkeit der einzelnen Farben per Poti einstellen können... Jetzt ist mir woanders schon gesagt worden, ich soll da ne Tabelle für jede Farbe machen...
Wenn du den Strom veränderst ist das total logarithmisch. Das stimmt schon.
Darum mußt du bei gleichbleibendem Strom die Leuchtdauer ändern. Also PWM.
Damit kannst du linear die Helligkeit regeln ;)

Gruß
Dino
 
Und wieso habe ich dann den Eindruck, dass es trotz der ja bereits verwendeten PWM immernoch diesen krassen logarithmischen Verlauf gibt? Ich mein, das ist ja subjektiv - aber es kommt mir recht stark halt vor...

Ich muss da mal testen - weiß aber noch nich so genau, wie ich das machen soll
 
Sooo, ich hab das mal in ein Gehäuse gefrickelt - Fotos gibts morgen mal...

Frage:

Planung ist so, dass ich halt die Farbanteile über 3 Potis festlege. Damit ich aber beim Helligkeit ändern nicht immer jeden Farbanteil einzeln einstellen muss, hab ich mir gedacht, ich nehm ein viertes Poti zum Helligkeit regeln...
Aber wie geh ich das rechnerisch vor? Einfach die jeweilgen Farbanteile prozentual drosseln? Also von allen Anteilen dann jeweils nur 10 % nehmen oder wie?

Gruß Rainer
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)