Microcontroller-Tutorial - Teil II - PowerLED-Fader

  • hallo,
    könnte jemand vielleicht nochmal das aktuelleste layout und vorallem die aktuelle Software bzw. das hexfile für den µC posten?
    Danke und Gruß
    Matthias


    PS: Seh ich das richtig das die Schlatung so auch an 7V laufen würde?

  • Zitat von "fladimir"

    hallo,
    könnte jemand vielleicht nochmal das aktuelleste layout und vorallem die aktuelle Software bzw. das hexfile für den µC posten?
    Danke und Gruß
    Matthias


    PS: Seh ich das richtig das die Schlatung so auch an 7V laufen würde?


    Ja, tuts an 7V - ist ja ein Regler mit an Bord...
    Code ist oben im Thread in verschiedenen Abwandlungen zu finden

  • Zitat von "Stefan_Z"

    Ne, da ist die Massefläche nicht berechnet worden!
    Klick mal auf Ratnest ganz unten in der Werkzeugleiste!


    Muss man da im Schaltplan GND irgendwie speziell deklarieren dass das so berechnet wird? Ich hab da mal nen Schaltplan zum Testen erstellt, wenn ich auf Ratsnest klicke passiert gar nix... Is nämlich ne schöne Sache... wiel weniger zum Ätzen...

  • Ja, das ist trickreich...
    Ratsnest berechnet grundsätzlich erstmal die kürzesten Airwires. Wenn z.B. alle Bauteile, die an GND hängen umsortiert werden, kreuzen sich unnötig die Airwires.


    Wenn du nun ein Polygon mit Füllung zeichnest (auf der richtigen Ebene natürlich) und dem den Namen GND gibst, dann wird es mit an das GND Netz gehangen. Das geht mit allen Netzen - man kann es also mit GND, VCC, DGND, etc machen, spielt keine Rolle.


    Die benutzten Abstände stellst du unter "Clearance" in den Einstellungen ein.

  • Hi bin ganz frisch hier im Forum und insperiert von einer ganz simplen Faderschaltung mit Wald und Wiesen Bauteilen wollte ich jetzt mal ein wenig in µC reinschnuppern.Also ich habe mir die Platiene von Seite 5 das ist wohl die Aktuellste geätzt und Bestückt Zeitgleich kam auch das Paket von Polin mit dem Evalution Board das auch noch schnell zurechtgelötet und anschließend den Tiny programmiert dann habe ich normale 5mm Led`s angeschlossen was auch funktionierte gestern kamen dann endlich meine 2P5 RGB die habe ich dann mit seperaten KSQ daran angeschlossen jetzt kommt meine Frage bei den High Power LED`s ruckelt es ziehmich zwischen den Farbübergängen an den KSQ habe ich 470µ Kodies gegen Massen sind die nicht außreichend?
    Und 2.auf der Platiene ist ja ein TSOP für eine Ferbedienung vorgesehen jetzt habe ich in einem anderen Projekt gelesen das wenn man die verwenden will man nur noch 2Led`s anschließen kann weil ein PWM ausgang für die TSOP gebraucht wird?ich weiß nicht ob dieses Projekt überhaupt noch aktuell ist bin aber für antworten dankbar.

  • Nein, der TSOP braucht keine PWM - aber die Sende-Diode auf der Gegenseite braucht einen OCx Pin.


    Das Ruckeln zwischen den Übergängen könnte an einem zu niedrigen Takt des 2313 liegen - hast du die Fuse für CLKDIV8 ausgemacht? Dann läuft der nämlich nur auf 1MHz!

  • Danke für die schnelle Antwort und ja habe die Fusebits mal an und mal aus geschaltet dieses ruckel ist ja erst seit dem ich die P5 dran habe mit normalen Led`s funktioniert es gut nur die Programme laufen für mich alle zu schnell habe mal dieses probiert


    [code:1]'*** 4-Kanal PWM-Power-Fader für http://www.LEDStyles.de
    '*** Hardware: 1x ATTiny2313 2x MMDF3N03HDR2 Dual-Mosfet + Pullups, Taster, Spannungswandler, TSOP
    '*** http://www.ledstyles.de/viewtopic.php?t=1472
    '*** Version 2.2 - 21.10.2007 - Weiches Fading zwischen Zufallsfarben


    $regfile = "attiny2313.dat" ' specify the used micro
    $crystal = 8000000 ' used crystal frequency
    $hwstack = 64
    $swstack = 16
    $framesize = 21



    'Die Fuses des ATTiny2313 auf 8MHz interner Oszillator stellen und Clockdivision ausmachen
    'Gesetzte Fuses: SPIEN / SUTO / CKSEL3 / CKSEL1 / CKSEL 0


    Config Pinb.2 = Output 'Die vie PWM-Pins als Output definieren
    Config Pinb.3 = Output
    Config Pinb.4 = Output
    Config Pind.5 = Output
    Config Pind.0 = Input 'Die drei DIP-Taster als Input definieren
    Config Pind.1 = Input
    Config Pind.3 = Input 'Dieser Pin liegt auf INT1 (externer Interrupt 1)


    'Die Timer auf PWM-Modus stellen
    'Die PWM-Register haben eine Breite von 8 Bit - also Werte von 0 bis 255
    'Wobei 0 = 0% Helligkeit und 255 = 100% Helligkeit bedeuten
    Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
    Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down


    'Die Timer starten
    Start Timer0
    Start Timer1


    Red Alias Ocr1bl
    Green Alias Ocr1al
    Blue Alias Ocr0b



    Dim I As Word
    Declare Sub Color_set(byval Hue As Word)



    Do


    For I = 0 To 764
    Call Color_set(i)
    Waitms 10
    Next I


    Loop


    Sub Color_set(byval Hue As Word)
    If Hue < 128 Then
    Red = 128
    Green = Hue
    Blue = 0
    Elseif Hue < 255 Then
    Red = 255 - Hue
    Green = 128
    Blue = 0
    Elseif Hue < 382 Then
    Red = 0
    Green = 128
    Blue = Hue - 255
    Elseif Hue < 510 Then
    Red = 0
    Green = 510 - Hue
    Blue = 128
    Elseif Hue < 637 Then
    Red = Hue - 510
    Green = 0
    Blue = 128
    Else
    Red = 128
    Green = 0
    Blue = 765 - Hue
    End If
    End Sub
    'Programmende
    Return[/code:1]


    und das ist schon mehr nach meinem geschmack nur fänd ich es ganz gut wenn man da mehr verschiedene Programme über Taster auswählen könnte so wie bei deinem aber wie Du vielleicht schon bemerkt hast stehe ich noch ganz am anfang der Materie und habe noch viel zu lernen.
    Ach so zurück zum TSOP also man könnte auf dieser Platine eine Fernbedienung für die RGB`s verwenden?

  • Sowohl Taster als auch TSOP müsste man in einem Interrupt abfragen.
    Passenden Code findet man hier: http://www.roboternetz.de/phpBB2/viewforum.php?f=32


    Das mit dem Ruckeln könnte in der Tat an einer Unterbestromung liegen, wobei das Teil bei mir wunderbar funktioniert...
    Ich denke mal, dass du vielleicht die Kondensatoren der KSQs größer machen solltest. Das sind aber schon lineare und nicht getaktete KSQs?

  • Die KSQ die ich mir Benutze habe ich aus einem LM317 plus 3,9Ohm Widerstand gebaut und nachträglich habe ich einen Kondensator wie schon geschrieben 470µ - 50V. gegen Masse gelegt da das der großte den ich zur Zeit habe (fange gerade erst an und habe noch nicht viele Elektronikteile) ich nehme auch an das da ein größerer dran muß was meinst Du 1000µ?

  • Habe die Seite die Du mir forgeschlagen hast mal angeschaut und eventuell was brauchbares gefunden ,muß ich eigentlich beiden Timer`n (Timer0,Timer1) über Interupt ansprechen?
    kann ich das irgendwie in meinem Code verwenden?


    ***************************
    Config Timer1 = Timer , Prescale = 1
    Enable Timer1
    On Timer1 Timer1_int
    Enable Interrupts


    Timer1 = 65530


    Dim Zaehler As Byte '<- wichtig, dass es byte ist
    Dim Trigger As Byte
    Dim Taste As Byte


    Trigger = 0


    Do
    Taste = Inkey()


    If Taste > 0 Then
    Select Case Taste
    Case 43 'Das ist der ASCII Code für Taste +
    Trigger = Trigger + 1
    Print Trigger


    Case 45 'Das ist der ASCII Code für Taste -
    Trigger = Trigger - 1
    Print Trigger


    End Select
    End If


    Loop


    Timer1_int:
    Timer1 = 65530


    If Zaehler > Trigger Then
    Set Portc.7
    Else
    Reset Portc.7
    End If


    Zaehler = Zaehler + 1


    Return

  • Habe mir diese Schaltung mehrmals geätzt und mit verschiedenen Programmen am laufen jetzt wollte ich alles mal über Ferbedienung laufen lassen der TSOP war ja dafür vorgesehen aber irgendwie bekomme ich es nicht hin gibt es hier im Forum jemanden der diese Schaltung mit Fernbedienung am laufen hat der mir vielleicht ein paar Tips geben kann.Gruss chris16

  • Moin Stefan,


    wie ich sehe arbeitest du mit RGB? Ist das Zufall?
    Was das angeht, hast du da evtl. eine Lösung bzw. Ansatzidee bezüglich einer RGB-Matrix (6x6)? Warscheinlich komme ich um einen ATmega128 mit 58 IO-ports nich rum (6 + 6 x 3 Farben=36 Ports)?


    Ansonsten bliebe da auch die Idee mitm ATtiny2313 oder was ich hier noch hab eine Versuchsreihe zu starten, da fehlt mir aber softwareseitig die Information wie sich die einzelnen "Pixel-Tinys" als Slaves von einem Master ordentlich steuern lassen, das was brauchbares bei rum kommt.


    gibts zufällig fertige Software in Bascom um eine Schnittstelle zum Blinkenleds hinzubekommen?


    Gruß, Dennis


    P.S.: synchronisierter RGB-Fader würde allerdings auch erstmal reichen. :)