Busanzeigen: Unterschied zwischen den Versionen

Aus RaumZeitLabor Wiki
Keine Bearbeitungszusammenfassung
 
(16 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Archiv|title=RZL-Historie|msg=Diese Seite wurde archiviert, um RaumZeitLabor Historie zu erhalten}}
{{ProjektInfoBox
{{ProjektInfoBox
|name        = Busanzeigen
|name        = Busanzeigen
|status      = experimental
|status      = experimental
|image      = IMG_0453.JPG
|image      = Pingie Pie.jpg
|description =  
|description =  
|author      = [[Benutzer:Felicitus|Felicitus]] [[Benutzer:Nessi|Nessi]]
|category    = Elektronik
|author      = [[Benutzer:Felicitus|Felicitus]]
|version    = 0.1
|version    = 0.1
|download    = https://github.com/timoahummel/pingie-pie-plusplus
}}
}}


Die Busanzeigen wurden von Felicitus' Bruder zur Verfügung gestellt. Primär erstmal zum testen, wenn die FlipDot-Anzeige ansteuerbar ist, bekommen wir auch eine große FlipDot-Anzeige. Diese braucht nur Spannung zum Umschalten der Dots und eignet sich super zur Anzeige des Chats.
Die Busanzeigen wurden von Felicitus' Bruder zur Verfügung gestellt. Primär erstmal zum testen, wenn die FlipDot-Anzeige ansteuerbar ist, bekommen wir auch eine große FlipDot-Anzeige. Diese braucht nur Spannung zum Umschalten der Dots und eignet sich super zur Anzeige des Chats.


= LCD-Anzeige =
Das Mainboard ist mit einer 0.75A Sicherung geschützt, leider ist diese geflogen und wurde durch eine 1A Sicherung ersetzt. Passender Ersatztyp ist [http://de.farnell.com/littelfuse/0448-750mr/sicherung-v-flink-smd-750ma/dp/1596921 dieser in flink], unbekannt welche Trägheit die Originalsicherung hatte.
== Steckerbelegung vom Mainboard zum LCD ==
== Steckerbelegung vom Mainboard zum LCD ==


Zeile 18: Zeile 25:
Pin 4: 6V
Pin 4: 6V
Pin 5: Takt (4ms)
Pin 5: Takt (4ms)
Pin 6: ?? (meistens low) wird benötigt, ohne geht's nicht. Wird im betrieb vom controller auf low gezogen, ansonsten kommt da komischer analog-foo raus (auf <100mV niveau).
Pin 6: Shift Register Reset
Pin 7: Data? kommt zeugs. kleinster Impuls bei 30µS
Pin 7: Clock
Pin 8: Data oder shift? Kleinster Impuls bei ca. 83µS
Pin 8: Data oder shift? Kleinster Impuls bei ca. 83µS. Scheint ne Rückleitung vom Display zu sein.
Pin 9: Data nochmal?
Pin 9: Bitdaten
Pin 10: Takt (Rückleitung)
Pin 10: Takt (Rückleitung)
Pin 11: +12V
Pin 11: +12V
Zeile 27: Zeile 34:
</pre>
</pre>


== Protokol ==
Das Buspanel nimmt auch problemlos Daten vom rPI ohne Level Shifter an (3.3V Pegel).
 
== Protokoll ==
Wir hijacken die Daten zwischen dem Mainboard und den LCD-Multiplexern, da wir kein IBIS sprechen möchten. Das Mainboard in dem Panel generiert also nur noch die Versorgungsspannungen, der Rest wird vom Raspberry Pi erzeugt. Das LCD schluckt die 3.3V-Daten, ein Pegelwandler ist also nicht notwendig.
 
* Signale: [http://timohummel.com/temp/untitled.vcd] (Lesbar mit GTKWave)
* Signale: [http://timohummel.com/temp/untitled.vcd] (Lesbar mit GTKWave)
* Daraus entstehendes Bild: [https://twitter.com/_felicitus/status/214992498085478400/photo/1]
* Daraus entstehendes Bild: [https://twitter.com/_felicitus/status/214992498085478400/photo/1]
* Auflösung: 152 * 16 (ca.)
* Auflösung: 152 * 16 (ca.)


== Doku ==
* Pin 7 gibt den Datenübertragungstakt vor, Pin 9 die Daten. Flankengesteuert.
* Pin 6 setzt das Schieberegister zurück.
* Der Aufbau eines Bildes geschieht mit Halbzeilen
* Die Übertragungsgeschwindigkeit scheint nicht von relevanz zu sein
 
=== Pixelblöcke ===
Ein sogenannter Pixelblock kennzeichnet die Übertragung einer Reihe von Pixeln. Ein Pixelblock enthält genau 38 Pixel. Die Übertragung geschieht zeilenweise.
 
Beispiel:
** Spalte 1, Zeile 2
** Spalte 1, Zeile 4
** Spalte 1, Zeile 6
** Spalte 1, Zeile 8
** Spalte 1, Zeile 16
** Spalte 1, Zeile 14
** Spalte 1, Zeile 12
** Spalte 1, Zeile 10
** Spalte 2, Zeile 2
** Spalte 2, Zeile 4
** etc
 
Ein Pixel wird als ein Bit übertragen. Ein Bit wird übertragen, indem der Pegel auf Pin 9 bei fallender Flanke von Pin 7 gelesen wird.
Insgesamt werden 2*32 Pixelblöcke übertragen.


Die Doku liegt auf dem Datengrab bzw. abgeheftet in den Schnellheftern im oberen E-Eck-Regal.
=== Spacer ===
Nach einem jeden Pixelblock kommt ein Spacer, der 10 Bits lang ist. Die Bedeutung ist folgendermaßen:


* Die Hintergrundbeleuchtung schaltet erst dann aktiv, wenn 24V anliegen. (Damit könnte man was tricksen, um die Hintergrundbeleuchtung Situationsabhängig zu schalten).
* 1. Bit: immer low (unbekannt)
* 2. Bit: immer low (unbekannt)
* 3. Bit: low für ungerade Zeilen, high für gerade Zeilen
* 4. Bit: immer low (unbekannt)
* 5. Bit: immer low (unbekannt)
* 6. Bit: immer high (unbekannt)
* 7. Bit: immer low (unbekannt)
* 8. Bit: immer low (unbekannt)
* 9. Bit: immer low (unbekannt)
* 10. Bit: immer low (unbekannt)


==Zu Besorgen==
=== Blockende ===
[x] Doku <br>
Sind alle 32 Pixelblöcke für ein Halbzeilenbild übertragen, muß das Blockende signalisiert werden. Dies passiert, indem Pin 6 kurz auf high gezogen wird. Ich nenne es den Schieberegister-Reset. Danach kann mit der Übertragung der nächsten Pixelblöcke begonnen werden.
[ ] Netzteil


==ToDo==
== Doku ==
[ ] Labeln <br>
[ ] Putzen <br>
[ ] Testen <br>
[ ] Interface Blackbox <-> Anzeige bauen<br>
[ ] Aufbauplatz finden<br><br>
Später:<br>
[ ] Hausbus <-> Anzeige bauen


Die Doku liegt auf dem Datengrab bzw. abgeheftet in den Schnellheftern im oberen E-Eck-Regal.


==Bilder Flipdot==
* Die Hintergrundbeleuchtung schaltet erst dann aktiv, wenn ca. 20V anliegen. (Damit könnte man was tricksen, um die Hintergrundbeleuchtung Situationsabhängig zu schalten).
{|
| [[Datei:IMG_0414.JPG|thumb|left]]
| [[Datei:IMG_0416.JPG|thumb|left]]
|}


==Bilder LCD Display==
==Bilder LCD Display==
Zeile 69: Zeile 101:
| [[Datei:IMG_0405.JPG|thumb|left]]
| [[Datei:IMG_0405.JPG|thumb|left]]
| [[Datei:IMG_0406.JPG|thumb|left]]
| [[Datei:IMG_0406.JPG|thumb|left]]
|-
| [[Datei:Pingie Pie Hijack Board.jpg|thumb|left]]
| [[Datei:Pingie Pie Raspberry Pi Embedded.jpg|thumb|left]]
|
|
|}
|}


[[Kategorie:Projekt]]
= Flipdot-Anzeige =
 
[[Benutzer:Felicitus|Felicitus]] hat schon ein bisschen rumgespielt. Das Display spricht den sogenannten Monobus, und leider tut das Display beim Einschalten gar nichts, da es auf ein "Telegramm" vom Monobus wartet. Die Steckerbelegung ist auf dem Mainboard abgedruckt:
 
Das Display erwartet 8V, 24V (auf I-DOT), bidirektionale Serielle Daten mit 24V Pegeln und braucht GND.
 
Der µC schaltet die meisten Pins auf High, insofern wird der nächste Schritt sein: Kabel dranlöten und mittels Multimeter durchtesten, wo das Ende ist (und hoffentlich geht nix kaputt).
==Bilder Flipdot==
{|
| [[Datei:IMG_0414.JPG|thumb|left]]
| [[Datei:IMG_0416.JPG|thumb|left]]
|}
 
 
 
== Flip-Dot-Anzeige ==
 
11 power mosfets (dual)
50 pol connector
 
7 power mosfets auf der gegenseite (dual)
 
 
13 zeilen
28 spalten
 
20-22 gnd
 
 
 
 
flip dot board
pin 1+64 gnd
pin 2+63 +24V
 
===Unsortierte Kommentare aus dem IRC===
<pre>
Quelle: Feli https://www.dropbox.com/s/ij2nptm7kq6h1mp/RevEngineering.txt
 
Braun - Enable Lines
Grün - B0+B1
Rot - A0-A2
Weiß - Data
 
 
 
0 -> 1-7
1 -> 8-15
2 -> 16-21
3 -> 22-28
 
 
 
2F -> Spalte 9
2D -> Spalte 11
2E -> Spalte 10
 
 
E0 -> Spalten
E1 -> Zeilen
 
Rechter Treiber Spalte
Mittlerer Treiber Zeile
</pre>
 
Ansonsten:
<pre>
10:32 < Felicitus> so als faustregel: alles über 100mA ist tödlich für den treiber-ic
10:33 < Felicitus> das ist übrigens ein FP2800a
10:33 < Felicitus> naja ok, 370mA
</pre>
 
== Unterseiten ==
<splist />

Aktuelle Version vom 5. November 2023, 12:47 Uhr

Archiv ARCHIV: RZL-Historie Archiv
Diese Seite wurde archiviert, um RaumZeitLabor Historie zu erhalten
         
Busanzeigen

Release status: experimental [box doku]

Beschreibung
Kategorie  Elektronik
Autor(en)  Felicitus
Letzte Version  0.1
Download  https://github.com/timoahummel/pingie-pie-plusplus

Die Busanzeigen wurden von Felicitus' Bruder zur Verfügung gestellt. Primär erstmal zum testen, wenn die FlipDot-Anzeige ansteuerbar ist, bekommen wir auch eine große FlipDot-Anzeige. Diese braucht nur Spannung zum Umschalten der Dots und eignet sich super zur Anzeige des Chats.

LCD-Anzeige

Das Mainboard ist mit einer 0.75A Sicherung geschützt, leider ist diese geflogen und wurde durch eine 1A Sicherung ersetzt. Passender Ersatztyp ist dieser in flink, unbekannt welche Trägheit die Originalsicherung hatte.

Steckerbelegung vom Mainboard zum LCD

Pin 1: +5V
Pin 2: +12V
Pin 3: GND
Pin 4: 6V
Pin 5: Takt (4ms)
Pin 6: Shift Register Reset
Pin 7: Clock
Pin 8: Data oder shift? Kleinster Impuls bei ca. 83µS. Scheint ne Rückleitung vom Display zu sein.
Pin 9: Bitdaten
Pin 10: Takt (Rückleitung)
Pin 11: +12V
Pin 12: GND

Das Buspanel nimmt auch problemlos Daten vom rPI ohne Level Shifter an (3.3V Pegel).

Protokoll

Wir hijacken die Daten zwischen dem Mainboard und den LCD-Multiplexern, da wir kein IBIS sprechen möchten. Das Mainboard in dem Panel generiert also nur noch die Versorgungsspannungen, der Rest wird vom Raspberry Pi erzeugt. Das LCD schluckt die 3.3V-Daten, ein Pegelwandler ist also nicht notwendig.

  • Signale: [1] (Lesbar mit GTKWave)
  • Daraus entstehendes Bild: [2]
  • Auflösung: 152 * 16 (ca.)
  • Pin 7 gibt den Datenübertragungstakt vor, Pin 9 die Daten. Flankengesteuert.
  • Pin 6 setzt das Schieberegister zurück.
  • Der Aufbau eines Bildes geschieht mit Halbzeilen
  • Die Übertragungsgeschwindigkeit scheint nicht von relevanz zu sein

Pixelblöcke

Ein sogenannter Pixelblock kennzeichnet die Übertragung einer Reihe von Pixeln. Ein Pixelblock enthält genau 38 Pixel. Die Übertragung geschieht zeilenweise.

Beispiel:

    • Spalte 1, Zeile 2
    • Spalte 1, Zeile 4
    • Spalte 1, Zeile 6
    • Spalte 1, Zeile 8
    • Spalte 1, Zeile 16
    • Spalte 1, Zeile 14
    • Spalte 1, Zeile 12
    • Spalte 1, Zeile 10
    • Spalte 2, Zeile 2
    • Spalte 2, Zeile 4
    • etc

Ein Pixel wird als ein Bit übertragen. Ein Bit wird übertragen, indem der Pegel auf Pin 9 bei fallender Flanke von Pin 7 gelesen wird. Insgesamt werden 2*32 Pixelblöcke übertragen.

Spacer

Nach einem jeden Pixelblock kommt ein Spacer, der 10 Bits lang ist. Die Bedeutung ist folgendermaßen:

  • 1. Bit: immer low (unbekannt)
  • 2. Bit: immer low (unbekannt)
  • 3. Bit: low für ungerade Zeilen, high für gerade Zeilen
  • 4. Bit: immer low (unbekannt)
  • 5. Bit: immer low (unbekannt)
  • 6. Bit: immer high (unbekannt)
  • 7. Bit: immer low (unbekannt)
  • 8. Bit: immer low (unbekannt)
  • 9. Bit: immer low (unbekannt)
  • 10. Bit: immer low (unbekannt)

Blockende

Sind alle 32 Pixelblöcke für ein Halbzeilenbild übertragen, muß das Blockende signalisiert werden. Dies passiert, indem Pin 6 kurz auf high gezogen wird. Ich nenne es den Schieberegister-Reset. Danach kann mit der Übertragung der nächsten Pixelblöcke begonnen werden.

Doku

Die Doku liegt auf dem Datengrab bzw. abgeheftet in den Schnellheftern im oberen E-Eck-Regal.

  • Die Hintergrundbeleuchtung schaltet erst dann aktiv, wenn ca. 20V anliegen. (Damit könnte man was tricksen, um die Hintergrundbeleuchtung Situationsabhängig zu schalten).

Bilder LCD Display

Flipdot-Anzeige

Felicitus hat schon ein bisschen rumgespielt. Das Display spricht den sogenannten Monobus, und leider tut das Display beim Einschalten gar nichts, da es auf ein "Telegramm" vom Monobus wartet. Die Steckerbelegung ist auf dem Mainboard abgedruckt:

Das Display erwartet 8V, 24V (auf I-DOT), bidirektionale Serielle Daten mit 24V Pegeln und braucht GND.

Der µC schaltet die meisten Pins auf High, insofern wird der nächste Schritt sein: Kabel dranlöten und mittels Multimeter durchtesten, wo das Ende ist (und hoffentlich geht nix kaputt).

Bilder Flipdot


Flip-Dot-Anzeige

11 power mosfets (dual) 50 pol connector

7 power mosfets auf der gegenseite (dual)


13 zeilen 28 spalten

20-22 gnd



flip dot board pin 1+64 gnd pin 2+63 +24V

Unsortierte Kommentare aus dem IRC

Quelle: Feli https://www.dropbox.com/s/ij2nptm7kq6h1mp/RevEngineering.txt

Braun - Enable Lines
Grün - B0+B1
Rot - A0-A2
Weiß - Data



0 -> 1-7
1 -> 8-15
2 -> 16-21
3 -> 22-28



2F -> Spalte 9
2D -> Spalte 11
2E -> Spalte 10


E0 -> Spalten
E1 -> Zeilen

Rechter Treiber Spalte
Mittlerer Treiber Zeile

Ansonsten:

10:32 < Felicitus> so als faustregel: alles über 100mA ist tödlich für den treiber-ic
10:33 < Felicitus> das ist übrigens ein FP2800a
10:33 < Felicitus> naja ok, 370mA

Unterseiten

<splist />