- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 54

Thema: 7-Segmentanzeige mit Farbsteuerung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    DIAMEX DIGI-DOT-BOOSTER
    Gefällt mir sehr gut, den kannte ich auch noch nicht

    Da ist ein Prozessor von ST Microelectronics drauf mit ARM Cortex M0
    Das Board bekommt man ja für unter 10 Euro.

    Ganz Echtzeitfähig ist es zwar auch nicht, macht aber einen wirklich guten Eindruck
    So wie es scheint, schiebt man die Daten zunächst mittels SPI Protokll zum DIAMEX Booster
    dann folgt der Befehl zum Aktualisieren. BOOSTER_SHOW
    Jetzt muss man ein geringe Zeit warten ca. 8ms.
    Diese Zeit benötigt der Controller um alle Daten Timinggerecht auszuschieben,
    Während dieser Zeit scheint er nicht den SPI Interrupt auszuschalten, deshalb
    kann es zu Problemen kommen wenn man innerhalb der Ausschiebung zu den LEDs
    erneut Daten sendet.
    Das gleiche Problem hatte ich auch mit meinem PIC Controller.
    Was aber nicht wirklich ein Problem darstellt.

    Hier bekommt man unter anderem die Datenblätter:
    https://www.led-genial.de/DIGI-DOT-B...elle-ansteuern


    Würde sagen, absolut empfehlenswert, habe aber auch gelesen, dass es Softwarebugs geben soll.
    Das kann ich aber nicht beurteilen, habe es selbst nicht ausprobiert.

    Siro
    Geändert von Siro (01.06.2018 um 12:07 Uhr)

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    Das bedeutet, nach einem Flash von zB 64 Datenpaketen a 24 bit,
    welche nicht weiter als 50 Mikrosekunden auseinanderliegen,
    werden 64 RGBs bedient. Am Ausgang der letzten RGB sind dann
    also alle Datenpakete "verbraucht", so ersichtlich im Datasheet.
    Dabei dürften die einzelnen RGBs jedoch erst NACH Ablauf der
    50 Mikrosekundenpause in ihrer "eigenen, aktualisierten" Farbe
    aktiv werden, um "Falschflimmern" zu vermeiden, danach hält
    die RGB ihren Leuchtstatus OHNE Nachflash.
    Sollten zwischen den 24 bit Datenpaketen wesentliche längere
    Pausen vorhanden wären, wäre Dieses ein neuer Nachflash.
    Hoffe, ich habs jetzt geschnallt.
    Da eine gezielte, direkte LED- oder DIGIT-Adressierung auf
    Grund dieses "Datendurchschiebens" offensichtlich nicht
    möglich ist, andererseits den Hauptprozessor der Anwendung
    so zu entlasten, dass Dieser nur Anzeigeaktualisierungen
    vornehmen muss, müsste die Anzeigeansteuerung den
    gegenwärtigen Status der Anzeige speichern. Nach
    Aktualisierung des/der LED(s) bzw DIGIT(s) müsste die
    Anzeigeansteuerung entweder komplett oder zumindest
    bis zur letzten zu aktualisierenden LED nachflashen.
    Unter der Vorraussetzung, keinen Denkfehler gemacht
    zu haben, da ich es noch nicht praktisch erprobt habe,
    stellt sich jetzt, als Alternative zu einer reinen
    Hardwarelösung mit nicht wenigen, jedoch schnellen
    Digitalbausteinen und auch noch parallel ladbar eventuell
    die Frage, mit den DIAMEX DIGI-DOT-BOOSTER, ohne
    lästigen Programmierstress für diesen Einsatzzweck
    schnelle praktische Ergebnisse zu erzielen.
    Dann sind mir die 10 EUR das wert.
    VG Micha
    Was brauche ich für Werkzeug - in dieser Reihenfolge seht ihr es:
    Vorschlaghammer, Notebook, BASCOM, Lötequipment, Rohrzange, Bolzenschneider ...

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.310
    Nun daß diese WS2812 & Co. verflucht schnell sind, sieht man ja in zahlreichen Videos im Netz: hier bauen manche Bildschirme mit mehreren tausend dieser LEDs auf und zeigen auf diesen Videofilme.

    Ich selber habe mir mit APA102 ein Ambilight gebaut (ca. 200 LEDs), das auch 25x/sek aktualisiert wird. Zugegeben das Protokoll der APA gefällt mir für eine Ansteuerung durch ein eigenes Programm auf einem µC wesentlich besser.
    Ich programmiere mit AVRCo

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Nun daß diese WS2812 & Co. verflucht schnell sind, sieht man ja in zahlreichen Videos im Netz: hier bauen manche Bildschirme mit mehreren tausend dieser LEDs auf und zeigen auf diesen Videofilme.
    das stimmt nur, wenn man mehrere gruppen parallel ansteuert

    vergleiche einfach mal die grunddaten

    APA102: 4Mhz Baudrate (angeblich funktionieren die bis 10Mhz, nicht getestet, mir fehlt immernoch ein ausreichend schneller Pegelwandler)
    WS2812: 800kHz Baudrate

    Okay wir reden hier von 32bits(APA) statt 24bits(WS), also verlieren wir ein wenig, aber schon bei 1Mhz SPI Clock hat man das schon fast raus und nach oben gibt es noch mind. 4 mal mehr Steigerungspotential

    Zumal man auch sog. D/QSPI benutzen kann, bei dem mit jedem Takt an CLK 2(DSPI) oder 4(QSPI) Bits gleichzeitig auf unterschiedlichen Pins ausgegeben werden. Mit einem QSPI fähigem Controller kann man also noch ein paar Stufen effizienter werden wenn man nur eine Transferroutine für 4 Ketten gleichzeitig aufrufen muss

    diese APAs sind einfach die WS nur eben weitergedacht, leider verharrt arduino und co. sehr fest bei seiner Unterstützung und promotet die neopixel über den nanodots recht heftig
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Ceos Beitrag anzeigen
    APA102: 4Mhz Baudrate (angeblich funktionieren die bis 10Mhz, nicht getestet, mir fehlt immernoch ein ausreichend schneller Pegelwandler)
    Das sollte doch kein wirkliches Problem sein. Ein HCT14 schafft 10MHz locker, das haben ja alte LS-TTL Gatter schon geschafft. Und wenn man die Signalpolarität nicht im µC anpassen kann, zwei hintereinander.

    Zitat Zitat von Crazy Harry Beitrag anzeigen
    Zugegeben das Protokoll der APA gefällt mir für eine Ansteuerung durch ein eigenes Programm auf einem µC wesentlich besser.
    Wirklich entspannter ist es nicht. Wenn ich einen SPI-Controller mit 10MHz bediene, muß ich auch knapp alle µs ein Byte an den SPI-Controller liefern, sonst gibts einen Underun-Error. Das klappt genauso gut oder schlecht per Interrupt wie beim Neopixel. Gewinnen kann ich eigentlich nur mit einem Fifo am SPI oder einem DMA.

    Was aber sicher richtig ist, daß man es beim Bitbanging leichter hat. Da man bei SPI als Master den Clock selbst erzeugt, ist man nicht auf ein genaues Timing angewiesen. Man kann also so schnell man kann 8 Bit raustakten und dann das nächte Byte aus dem Speicher holen. Die entstehende Pause ist unproblematisch. Wenn es aber stimmt, das man bei den WS die Länge der Low-Zeit auch etwas länger ausfallen lassen kann, geht das auch mit denen.

    Für die 64 LEDs, die man auch nur einige wenige Male in der Sekunde updaten muß, ist das höchsten ein Problem für BASCOM. Da bräuchte man eine Unterstützung durch eine eingebaute Funktion, wie die Neopixel-Libraries beim Arduino. In C und sicher auch in Assembler geht das aber, wie man hier sieht. Die 57 LEDs sind nicht weit weg von 64.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Gewinnen kann ich eigentlich nur mit einem Fifo am SPI oder einem DMA.
    meine worte

    ein XMEGA würde sich direkt langweilen bei dem job XD
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    Kurze Zeit habe ich überlegt, das komplette Datenprotokoll im
    Format 24 mal HXL (X ist das aktive BIT) pro RGB mit dem AVR
    zu erzeugen und in ein 128 BIT-Schieberegister MC4562B seriell
    einzulesen (man braucht nur 72). Die ca 50 Mikrosec Pause
    sollten dafür genugen. Das notwendige Auslesen mit ca 2,4 MHz
    in die LED-Kette stiess allerdings nach Studium der dynamischen
    Werte im Datasheet auf grosse Skepsis.
    Favorisieren werde ich jetzt das parallele Laden von 3 schnelleren
    8-BIT-Schieberegistern 74FCT299B, welche die X-BITS sogar
    nur noch mit 800 kHz rausschiebt und das mittlere BIT eines
    durch einen "1-zu-3-Zahlers" erzeugten Bitmusters beeinflusst.
    Die Anzeigeschaltung (8xRGBDIGITs) wird autark mit einem
    ATMega8 betrieben. Die Farbsteuerung wird "runterreduziert",
    da lediglich 7 Farben für die Anzeige notwendig sind.
    Die restliche Rechen- und Speicherperformance des ATMega
    bietet dann Platz für eine komfortable quasialphanumerische
    Anzeigedecodierung mit nur 6 BIT.
    Alles Weitere nach erfolgten Tests.
    VG Micha
    Was brauche ich für Werkzeug - in dieser Reihenfolge seht ihr es:
    Vorschlaghammer, Notebook, BASCOM, Lötequipment, Rohrzange, Bolzenschneider ...

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.310
    Zitat Zitat von Klebwax Beitrag anzeigen
    Wirklich entspannter ist es nicht. Wenn ich einen SPI-Controller mit 10MHz bediene, muß ich auch knapp alle µs ein Byte an den SPI-Controller liefern, sonst gibts einen Underun-Error. Das klappt genauso gut oder schlecht per Interrupt wie beim Neopixel. Gewinnen kann ich eigentlich nur mit einem Fifo am SPI oder einem DMA.
    Ich finde das wesentlich entspannter, da durch den separaten Clock-Pin das Timing absolut unkritisch ist. Der APA ist es egal ob sie mit 400kHz oder 2MHz angesteuert wird.
    Ich programmiere mit AVRCo

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Ich glaube wir reden hier mittlerweilen über "Geschmäcker" udn über Geschmack lässt sich vorzüglich streiten, sollte man aber nicht

    Beide Wege haben Vor- und Nachteile, die einen sind etwas neuer die anderen etwas älter, es ist nur schade dass sich die Arduino Community eben so unendlich hart auf die WS eingeschossen hat und die APA einfach keine Liebe bekommen, denn technisch gesehen brauchen sie keine Liebe, sondern nur die SPI API und die ist schon fertig, eine weitere Lib wäre überflüssig, aber wenn es eben keine Lib mit dem Namen der LEDs gibt schreckt das die meisten Anfänger halt ab.
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

Ähnliche Themen

  1. 7 Segmentanzeige multiplexen
    Von Maverick83 im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 01.06.2011, 14:19
  2. Picaxe <-> 7-Segmentanzeige
    Von D!PSW!TCH im Forum PIC Controller
    Antworten: 16
    Letzter Beitrag: 04.11.2007, 15:58
  3. Farbsteuerung im HSV modell
    Von Jörn Arne im Forum Assembler-Programmierung
    Antworten: 5
    Letzter Beitrag: 05.10.2007, 23:40
  4. 7 Segmentanzeige
    Von TobiasBlome im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 22
    Letzter Beitrag: 17.08.2007, 21:26
  5. Anschlussbelegung 7 Segmentanzeige
    Von Elektronikus im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 19.12.2004, 19:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress