Ersten RGB Cluster gebaut und programmiert

  • Hi!


    Hab mir gestern gedacht, ich mach mal was "sinnvolles" mit den SoltLeds, und mit nen kleinen 5mm RGB Cluster gebaut. Gesteuert wird er mit nem Atmega8 (vom Pollin Board aus) und gelötet hab ich das Ganze nur auf Lochraster.


    Hier mal ein paar Pics:
    [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/LED/P1050565.jpg]


    [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/LED/P1050566.jpg]


    [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/LED/P1050567.jpg]


    [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/LED/P1050568.jpg]


    [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/LED/P1050569.jpg]




    Zur Software:
    Programmiert wurden 6 Modi
    1) Aus
    2) Fader
    3) Rot
    4) Grün
    5) Blau
    6) Weiß


    Funktioniert soweit alles einwandfrei bis auf ne Kleinigkeit: Beim Faden fangen die LED's an zu "blinken", ganz schnell...
    Hier mal n Video:


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Huir mal der Programm Code:


    Ich vermut mal es liegt am Prescaler vom Timer, wenn ich den auf 8 oder 1 setze, ist das Blinken der LED's zwar weg, aber das faden geht mir zu schnell... Wie kann ich das lösen?


    mfg
    Tommy

  • Standardmäßig kann der Atmega8 ohne externes Gedöns 1MHz und 8MHz. Du hast Crystal als 0,1MHz definiert ;)

    das heißt ne 0 mehr?
    Warum steht dann aber in jedem Tut 1000000 drinne?

    Ich weiß zwar nicht, ob der Wert im BASCOM eine Bewandnis hat, aber standardmäßig läuft der mit 1 MHz. Gerade für Multiplexing (ist das doch, oder) reicht das u.U. nicht aus (das hab ich z.B. beim 3x3x3 Cube gemerkt). Dann muss man auf 8 MHz per Fuse-Bits umstellen.

    Und wie mach ich das in Bascom?



    mfg
    Tommy

  • Wieso versuchst du es nicht erstmal mit 1MHz? Das gänge auch ohne ändern der Fusebits und du würdest schon eine Veränderung sehen, so es denn an dem Wert liegen sollte :)

  • Der Atmega8 ist ab Werk auf 1MHz eingestellt. Mit den Fuses kannst du ihn auf 8MHz (Das ist der Takt des internen Taktgebers) umstellen. Dann hast du den Vorteiler des internen Taktgebers rausgenommen. Wenn du den Atmega auf 16MHz laufen lassen willst, brauchst du einen externen Taktgeber mit dieser Frequenz und muss das in den Fuses einstellen ;)

  • Der Atmega8 ist ab Werk auf 1MHz eingestellt. Mit den Fuses kannst du ihn auf 8MHz (Das ist der Takt des internen Taktgebers) umstellen. Dann hast du den Vorteiler des internen Taktgebers rausgenommen. Wenn du den Atmega auf 16MHz laufen lassen willst, brauchst du einen externen Taktgeber mit dieser Frequenz und muss das in den Fuses einstellen ;)

    Hab aber nen Atmega8-16PU. der sollte doch mit 16MHz interner Takt arbeiten können oder? Wie stell ich die 1MHz auf 8MHz um mit den Fusebits?

  • Und, blinkert jetzt auch nix mehr..? also auch gar kein ganz leichtes Flackern oder sowas...?


    Ich frage deswegen: Du machst das hier ja völlig unorthodox, genau andersrum als üblich, Du hast die SW-PWM ja in der Hauptschleife (Zeilen 66-75) - das faden dafür im Interrupt...


    normal geht das genau andersrum: die SW-PWM gehört auf jeden Fall in nen Timer-Interrupt! - hier ist es ja wichtig, dass bei einem bestimmten Wert immer das selbe Verhältnis zwischen an- und aus-Zeit vorliegt - was hier nicht sicher gegeben ist: Je nachdem, was der µC bei diesen If-Abfragen macht, ob gerade der Timer-Interrupt oder der für den Taster dazwischen funkt oder nicht, sind die Zeiten zwischen zwei PWM-Abfragen unterschiedlich lang, damit ändert sich auch die Helligkeit... gut, das kann sich über nen kompletten PWM-Zyklus evtl. auch wieder ausgleichen wenn Du gerade Glück hast, muss aber nicht so sein...


    also: mach' das doch andersrum, die PWM-Routine (Zeilen 66-75) auf jeden Fall in nen Timer-Interrupt, damit Du hier ne feste Frequenz hast - Warum benutzt Du eigentlich nicht gleich die Hardware-PWM, Mega 8 hat doch 3 Kanäle...


    das faden dann in die Hauptschleife (hier kannst Du die Zeit mit "Wait" anpassen) oder meinetwegen auch in nen 2. Timer-Interrupt (wenn Du den nicht für die Hardware-PWM nimmst) - Du kannst hier übrigens die Geschwindigkeit auch feinfühliger anpassen, indem Du nicht nur den Prescaler änderst, sondern auch den Startwert für den Timer vorgibst (aber k.A., wie das in Bascom geht...)


    Und übrigens: "Atmega8-16PU" heisst nur, dass der 16 MHz Takt *verträgt* - der interne RC-Oszi läuft deswegen trotzdem auf max. 8 MHz... ;)

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Jop. Funzt einwandfrei, werd schnell mal n Vid machen und einstellen.
    Steuer jetzt außerdem die Geschwindiigkeit mittels Taster (Up/Down).


    Klar, ich glaub dir aufs Wort dass das Ganze recht unorthodox programmiert ist, aber für mein allererstes, (vor alledem) funktionstüchtige Programm bin ich sehr zufrieden.
    Klar, man kann überall so einiges optimieren, aber: "Never change a running system" ;)


    Außerdem war das alles nur ein "Versuch" ob ich sowas überhaupt hin krieg, und dafür, dass ich die kompl. SW selbst gecodet hab, kann man sowas schon mal durch gehen lassen =)


    Geht ja weiter, bleibe sicher nicht bei so ner einfachen RGB Schaltung stehen, das nächste Projekt wird mit Sicherheit besser. Und dann auch mit HW-PWM.


    mfg
    Tommy

  • So: Hier nochmal das neue Video


    Hier sieht man, wie die Geschwindigkeit verändert wird und die anderen Modi ( Rot, Grün, Blau, Weiß)

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    mfg
    Tommy

  • So. Kleines Update.


    Software wurde komplett neu geschrieben, gesteuert wird der Cluster jetzt mit HW PWM übern Atmega 8


    Hier die Software: (Ich denk die Kommentare erklären das alles gut genug ;))


    mfg
    Tommy

  • So. Es gibt was neues.


    Hab mit dem RGB Fader meinen Kofferraum beleuchtet.
    Verwendet wurden hierzu 5 Platinen à 3 6-Pin-Suflu's, reicht bei weitem als Deko Zweck.


    Für die jenigen die's interessiert:
    2003 Rockford Fosgate HE2 15" (RFP4215[2x4Ohm])
    2004 Rockford Fosgate P6001bd


    Hier mal ein paar Pics:
    [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/LED/P1050757.jpg]


    [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/LED/P1050754.jpg]



    Hier noch ein kurzes Video:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.



    mfg
    Tommy