Beiträge von jkunz

    Ich persönlich würde eher den Atmel AVR-ISP-MK2 nehmen.

    Halte ich nicht für sinnvoll. Das Teil kostet ca. 40,-EUR, z.B. bei Reichelt. Für 50,-EUR krigt man schon einen AVR Dragon. Der Dragon kann wesentlich mehr, vor allem JTAG. Das ist zum Debuggen bisweilen ganz nett. Bei dem geringen Preisunterschied hat das AVR-ISP-MK2 schon fast seine Existenzberechtigung verloren.


    Der billigste Programmierer ist und bleibt der USBasp für unter 10,-EUR in der eBucht.

    Frage: Muss es WLAN sein?


    Wenn ja könnte auch ein Olinuxino Mini von z.B. Watterott mit einem generischen USB-WLAN Snüffelstück den Dienst tun. Da man an die GPIOs des Olinuxinos ran kommt kann man sich den µC sparen.


    Wenn nein wäre 6LoWPAN eine Alternative. Sowas kann man dann auch in richtig stromsparend haben. Contiki z.B. unterstützt 6LoWPAN und entsprechende Funkmodule.


    Oder eine Mischung: Ein Router, z.B. auf Basis eines Olinuxinos schlägt die Brücke in ein 6LoWPAN Netz. Das wäre interessant, wenn du mehrere 6LoWPAN Geräte hast.

    Geht auch ein andere µC an welchem ich den einen Ausgang immer ein und ausschalte, mit einer Frequenz zwischen 0,9 und 3Mhz?

    Ja. Aber vorher im richtigen Datenblatt nachguggen welches der beiden XTAL Pins der Eingang ist... Man kann auch zur Sicherheit einen 560 Ohm Widerstand in das Taktsignal vom anderen µC einschleifen.

    Oder lohnt es sich gar nicht die Leuchtstoffröhren durch LED zu ersetzen (Stromsparend)?

    So ist es. LEDs und Leuchtstoffröhren sind ähnlich effizient. Gerade wenn man viel Licht braucht haben Leuchtstoffröhren darüberhinaus einen erheblich geringeren Anschaffungspreis. LEDs bringen dir also keine bis nur geringe Ersparnis. Falls deine Leuchtstoffröhren noch konventionelle Drosseln als Vorschaltgeräte haben könnte man vielleicht über anständige EVG, Elektronische VorschaltGeräte, nachdenken. Mit denen kann man oft noch einige % Wirkungsgrad rausholen.

    In Anhang noch eine gepimpte Version des Steuerprogramms für den PeeCee. Ich hab eine primitive HSV-Farbraumkonversion eingebaut und einge Kommandozeilenoptionen hinzugefügt. Damit kann man den ganzen Streifen einfach auf einen HSV-Farbwert setzen. Die HSV-Werte werden in Fixkommadarstellung gegeben. H 0..360 Grad entsprechend 0..36000, S bzw. V 0%..100%. An sonsten läuft eine kleine Farb-Waber-Animation. An der Erzeugung dieser sieht man schön wie man mit einigen verschachtelten Schleifen mit Divisonen und Modulooperationen im HSV-Farbraum Effekte erzeugen kann.

    Dateien

    • host_ctrl.c.txt

      (6,32 kB, 368 Mal heruntergeladen, zuletzt: )

    Nabend.


    So eben fertiggestellt, noch ganz warm aus dem Compiler. ;-)


    Eines vorweg: Ich verstehe das nicht als schlüsselfertiges Rundumsorglosglücklichpaket. Es ist gedacht als solide Bastelgrundlage für eigene Experimente.


    Zutaten, man nehme:
    - ALDI LED Stripes mit TM1829 Controller Chip.
    - ATmega32U4 Breakout Board+ von Adafruit. Hierzulande erhältlich z.B. bei Watterott.
    - Die AVR USB Bibliothek LUFA.


    Das Datensignal der LED Stripes ist an Pin PB2 / MOSI zu klemmen.
    Da es nix extra gekostet hat spuckt das Programm die Daten auch noch auf dem USART im SPI Modus aus. Man kann also z.B. auch einen WS2801 anklemmen. (CLK von WS2801 an PD5 / XCK1 und Data von WS2801 an PD3 / TXD).


    LUFA auspacken.
    In das Verzeichnis LUFA-130303/Projects/USBtoSerial wechseln und darin die Dateien aus dem Anhang abladen. Dabei die Dateiendung .txt entfernen. Die Forensoftware ist zu blöd das anders zu fressen...
    Kompilieren, wie üblich: make
    AVR programmieren: make up
    Steuerprogramm für den Rechner kompilieren: make host
    Test laufen lassen: ./host_ctrl /dev/ttyU1
    (Name des Device Node anpassen...)


    Das host_ctrl Programm ist unter NetBSD geschrieben. Es sollte halbwegs schmerzfrei unter Linux laufen. Vielleicht sogar unter MäcOS.


    Das "Protokoll" ist primitiv: Der AVR meldet sich als USB CDC Gerät, also als serielle Schnitte / Modem. Der AVR hat intern einen 512 Byte großen Puffer. (a la DMX) Dieser Puffer wird zurückgesetzt und gelöscht, wenn man die Baudrate ändert oder ein serielles "Break" sendet. Danach muss man einfach Blöcke von 512 Byte an den AVR senden. Alle 512 Byte gibt er die Daten an den LED Stripe aus.


    Nachtrag:
    Farbfolge WS2801: rot, grün, blau
    Farbfolge TM1829: blau, rot, grün

    Dateien

    • USBtoSerial.c.txt

      (7,47 kB, 504 Mal heruntergeladen, zuletzt: )
    • host_ctrl.c.txt

      (4,29 kB, 410 Mal heruntergeladen, zuletzt: )
    • makefile.txt

      (1,48 kB, 444 Mal heruntergeladen, zuletzt: )

    Einfach und gut: ERSA Multitip C25 für ca. 30,-EUR bei den üblichen Verdächtigen. Mit so einem hab ich jahrelang fast alles gelötet. Man krigt viele verschiedene Spitzen und man wird die Spitzen auch noch in etlichen Jahren krigen.


    Ich hab mir irgend wann mal eine nicht ganz so billige Lötstation (ERSA RDS80) gekauft. Hat damals IIRC 100,-EUR gekostet. Iss OK. War aber nicht so der Hit. Habe mir daher eine OKi MFR geholt. (Ab 300,-EUR) Das ist für dich aber absolut überkandidelt. Will sagen: Wenn du mal was deutlich besseres als den ERSA Multitip C25 brauchst, wirklich brauchst, dann nim gleich was wirklich anständiges wie eine OKi MFR. Sonst kaufst du wie ich zwei mal. ;-(

    Ich hab grad eben in unserem Hackspace mal ein Oszi an den Controller der Aldi-Stripes gehalten:
    Eine logische "0" wird gesendet als 270ns Low-Puls gefolgt von 1,85µs High-Puls.
    Eine logische "1" wird gesendet als 770ns Low-Puls gefolgt von 1,6µs High-Puls.
    Es ist also das "langsame" 800kHz Timing.


    Da der Ruhepegel High ist kann man das schön mit SPI hinzaubern:
    SPI-Bitrate auf 3 MBit/s einstellen. (12 MHz Quarz, Teilerfaktor 4.)
    Dann entsprechen zwei Bits des TM1829 genau 8 SPI-Bits.
    MOSI kommt an DI vom TM1829, SCK und MISO werden nicht benutzt.
    Die beiden Bits 00 an TM1829 senden entspricht 0x77 via SPI senden.
    Die beiden Bits 01 an TM1829 senden entspricht 0x71 via SPI senden.
    Die beiden Bits 10 an TM1829 senden entspricht 0x17 via SPI senden.
    Die beiden Bits 11 an TM1829 senden entspricht 0x11 via SPI senden.


    Noch nicht erforscht habe ich die Sache mit den zwei verschiedenen Betriebsarten. Vielleicht werde ich einfach mal meinen chinesischen Arbeitskolegen damit belästigen...

    Ich konnte ebenfalls nicht wiederstehen und hab mir so ein Ding ins Haus geholt. Meines funktioniert. Etwas entteuchend ist, dass, wie schon gesagt, ein "Pixel" aus drei LEDs besteht. Die Farben sind frei einstellbar, d.h. die RGB Werte jeweils unabhängig per PWM (?) einstellbar. Nicht wie beim HL1606. Auch ich habe TM1829 auf den Chips gelesen. Das Datenblatt fand ich sehr schnell. Leider gibt es das Datenblatt aber nur auf Chinesich. Zur Not werde ich einen chinesichen Arbeitskolegen damit belästigen müssen... Von den Diagrammen, die man erkennen konnte, ist das Protokoll wohl ein Manchester-Code / Phasenmodulation. Das stinkt ganz gewaltig nach WS2811 / TM1804.

    Aber hat die instructable KSQ nicht auch einen drop von min.0,7V ?

    Siehe die Variante mit verringerter Drop-Spannung. Schaltplan ist IIRC hier irgendwo im Forum oben angenagelt. Verschiedene Leuchtstufen kannst du auch durch umschalten / zu-/abschalten von verschiedenen Strommesswiderständen realisieren. Da braucht es nicht unbedingt PWM.


    Wenn du eine LED ohne KSQ oder wenigstens einen Vorwiderstand an einen LiPo hängst blitzt es nur kurz und du hast eine verkokelte LED.