• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


PBG12201 Plasma Bargraph Display - reloaded
#1
Nachdem unter "offtopic/mich freut" schon eine Menge Bilder und Erklärungen aufgetaucht sind, kam dieser Kommentar:
(02.05.2016, 09:48 AM)alfsch schrieb: kopiere es doch in ein neues thema...ist doch ein nettes Dings   Wink
unter "mich freut" findet es nie wieder wer
Da hat er recht... also leg ich hier mal los. Und fange mit dem Urschleim an lachend .

Am Anfang war das Licht ein Fang auf Ebay in Form von einigen unauffälligen Pappkisten. Die wollte keiner haben, und ich war neugierig wegen dem Etikett darauf. Das war vor vielleicht 12 Jahren... Für euch heute rausgekramt und fotografiert:
   

"Unboxing", das hat mir damals fast den Atem verschlagen:
   

   

   

Mir war klar: Das Ding musste ich unbedingt zum Laufen bringen!

Also was habe ich da? Wozu es gut ist, erkennt man sofort: Es handelt sich um eine Stereo-Balkenanzeige. Nur die Anzahl der Segmente ist mit 2x201 ungewöhnlich hoch. Und die Zahl der Anschlüsse relativ dazu sehr gering (8).
Prinzipiell handelt es sich hier um eine "moderne" Röhre, die ihre Wurzeln in den Zählröhren der WW2-Ära hat. Da sie exakt genauso funktionieren, fange ich mit ihnen an, die Funktion zu erklären. Hier also die Vorfahren:

[Bild: 376_Dekatron_Uhr_Test.jpg]

Der innere Aufbau der Røhren sieht so aus:
[Bild: 376_dekatron_01.png]

Die Idee dahinter ist folgende: Zunæchst einmal sitzt die Glimmentladung auf einer Hauptkatode. Durch zeitlich abgestimmte Spannungspulse auf die "Guides" wird die Entladung von Kx auf G1 übernommen, dann von G2. Wenn diese Pulse im Nirwana sind, übernimmt die næchstgelegene Katode die Glimmentladung. Und das ist eine andere als vorher... Mit diesen Röhren wurden also Pulse gezählt und direkt angezeigt, meist war ein Zahlenring darum plaziert. Praktischerweise konnten diese Dinger genau bis 10 zählen (deshalb der Name Dekadenzählröhre oder Dekatron)
Der Aufbau der modernen Balkenanzeige ist gleichartig. Nur linear. Und mit mehr Katoden.
[Bild: 376_PBG_explo.png]

Jeder Balken hat 201 Katoden. Sie sind in verzahnten Dreiergruppen verbunden. Indem die Dreiergruppen nacheinander angeschaltet werden, wird eine Glimmentladung von unten nach oben durchgereicht. Es leuchtet also in jedem Balken immer nur ein Segment gleichzeitig. Die Illusion des Leuchtbalkens entsteht durch die Geschwindigkeit der Weiterschaltung. Für eine 70Hz-Wiederholfrequenz des Displays müssen also 70 mal pro Sekunde alle 201 Katoden nacheinander erreicht werden. das ergibt 14070 Schaltvorgänge pro Sekunde!

Immer noch Theorie: Die Ansteuerung als Blockschaltbild...
[Bild: 84_Bargraph_Schema1.png]
aus: Elektronik 1980, H18: "Die Plasma-Leuchtbalkenanzeige", Dipl.-Ing. Detlef Zühlke

Und das dazugehörige Chipgrab:
[Bild: 4_Bargraph_Schema2.png]
Vishay Dale "uncontrolled copy"
Darauf hatte ich keinen Bock. Das musste doch auch einfacher gehen! Fortsetzung im nächsten Posting Weih .
 
Reply
#2
Es ging einfacher Confused . Stichwort µC. Mein erster Aufbau ist detailliert unter folgendem Link beschrieben:

http://kahlo.redirectme.net/~kahlo/index...-pbg12201/

Trotzdem noch ein wenig Peepshow. Das erste Glühen...
   

Probeaufbau:
[Bild: 376_116_1689b.jpg]

Fertig:
   

   

Das war ein schönes Projekt vor mehr als 10 Jahren. Schon damals waren einige Unzulänglichkeiten bekannt:
  1. Der Spannungswandler mit dem MC34063 funktioniert, ist aber unterste Technikschublade. Er produziert ordentlich Wärme. Das geht besser.
  2. Der Vorverstärker für den Audioinput ist funktional, aber weit weg von Eleganz und Genauigkeit, besonders bei leisem Input.
  3. Die Transistoren wurden heiss, kleine Fehldimensionierung...
  4. Die Assemblerprogrammierung des PIC wurde nicht von mir gemacht - deshalb habe ich das Programm nie voll verstanden. Ich konnte ein paar Parameter ändern, aber das war es auch schon. Ganz schlecht für die Pflege des Projekts...

Trotz allem gab es jede Menge Resonanz und auch Nachbauten. Teilweise 1:1, teilweise mit heftigen Änderungen. Das letzte Stadium des 2005'er Projektes war eine Version mit "highlighted segments":

[Bild: 376_vishay_2008_test_05.jpg]

Dann war 10 Jahre Ruhe. Bis vor Kurzem, damit geht es im nächsten Posting weiter aufsmaul.
 
Reply
#3
echt toll --- nur kleiner Haken: die Teile gibts ja nicht mehr + auch nicht mehr als Restposten ...schade Rolleyes
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#4
Die russischen Varianten gibt es regelmässig auf Ebay, und die verschiedenen westlichen Varianten von Zeit zu Zeit. Genau dieses Display allerdings extrem selten, da in den vergangenen Jahren die vorhandenen Exemplare verbastelt wurden. Meine aktuelle Programmierung ist univesal und kann alle Displays bedienen, aber dazu komme ich noch.
 
Reply
#5
Diesen Sommer (hier ist er schon lange vorbei...) bekomme ich Post aus Russland - jemand will ein Mischpult mit vielen Plasmabalken bestücken. Und zwar mit diesen ( IGT2-203R ):





Die Teile sind gewaltig, man beachte das Lineal überrascht . Der Russe fragte an, ob ich die PIC-Programmierung so anpassen könnte, dass viele von diesen Displays angesteuert werden können. Tja... wenn ich die alte Programmierung voll verstanden hätte. Wenn ich noch die alte Programmierhardware aktiv hätte. Aber ich war neugierig und wollte das hinkriegen.

Also neue µC-Plattform und neue Programmierumgebung - Teensy 2.0 und Arduino.
[Bild: 38_Teensy2.jpg]

Erstaunlicherweise sind die russischen und die westlichen Anzeigen prinzipiell gleich. Ein paar Hilfsspannungen sind unterschiedlich, die Anzahl der Katodengruppen kann variieren, die maximal zulässige Schaltfrequenz ist auch anders. Aber nichts weltbewegendes.

Ziel: Ein universelles Ansteuerungsprogramm für mindestens 6 Balken (3 Displays), dass durch simple Variablen auf alle Displays angepasst werden kann.
 
Reply
#6
Ganz tolle Technik, gibts da ein "Set" bei dir?

I need this. Big Grin

Heart
 
Reply
#7
lachend Ein Set!  lachend
Du bist doch nicht so der Steckbretterer... dein Stil sind doch eher ausgefeilte Multilayer-PCBs mit SMD.
 
Reply
#8
Es gibt schon brauchbare Displays:

http://www.ebay.com/itm/222017959510
http://www.ebay.com/itm/221316175364

Mit denen sollte es auch gehen. Mit Geduld und den richtigen Suchworten findet man bestimmt noch mehr.
 
Reply
#9





Big Grin
 
Reply
#10
Nicht ganz Gurke . Das sind Projektionsdisplays. Auch cool, aber keine Balken...
 
Reply
#11
OT: Mit einer Walze drin?

http://forum.oldradio.org.ua/index.php?topic=10685.0





Edit:

In USSR scheint man sehr erfinderisch gewesen zu sein:



 
Reply
#12
Der Aufbau von Projektionsdisplays ist hier beschrieben:
http://www.decadecounter.com/vta/article...p?item=989
Mich reizen sie nicht besonders...

Um mal wieder zum Thema zu kommen: Die Ansteuerung der verschiedenen Typen von Plasma-Balkenanzeigen ist prinzipiell gleich. Sie unterscheiden sich nur durch:
  • Betriebsspannungen
  • Maximalfrequenz
  • Anzahl der Segmente
  • Anzahl der Phasen (normalerweise 3 oder 5)
Bis auf die Betriebsspannungen lässt sich alles im µC regeln:

Code:
const byte Frequency = 70;   // Zielfrequenz des Displays in Hz
const byte Segments = 201;   // Anzahl der Segmente des Displays
const byte Phases = 3;       // Anzahl der Phasen des Displays (maximal 5)

Supereinfach lachend Weih lachend
 
Reply
#13
Nachdem der supereinfache Teil der Programmierung abgeschlossen ist, müssen die Pins am µC zugeordnet werden. Dazu erstmal ein Blick auf die alte Schaltung von 2005:

   

Im Wesentlichen muss der Microprozessor und der DC-DC-Wandler ausgetauscht werden (die Teile der Schaltung in den roten Rahmen). Ich konzentriere mich zuerst auf den Prozessor. Für den Einzelbetrieb mit einem Display (2 Kanäle/Stereo) sieht das so aus:

   

Da sollen aber noch mehr Displays ran, und nicht nur mit 3 Phasensteuerung, sondern bis zu 5. Mal sehn, was der Teensy so schafft:

   

Big Grin  Sieht doch gut aus Big Grin

Also rein in den Code, vorerst für 4 Balken (2 Displays):
Code:
const byte Frequency = 70;   // Zielfrequenz des Displays in Hz
const byte Segments = 201;   // Anzahl der Segmente des Displays
const byte Phases = 3;       // Anzahl der Phasen des Displays (maximal 5)

const byte ResetPin = 5;     // Resetanschluss
const byte InputPin_1 = 21;  // Eingangspins
const byte InputPin_2 = 20;
const byte InputPin_3 = 19;
const byte InputPin_4 = 18;
const byte AnodePin_1 = 6;   // Anodenpins
const byte AnodePin_2 = 7;
const byte AnodePin_3 = 8;
const byte AnodePin_4 = 9;

void setup() {
  pinMode(0, OUTPUT); // Die Pins für maximal 5 Phasen werden als Output-Pins definiert
  pinMode(1, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(ResetPin, OUTPUT); // Resetpin wird als Output-Pin definiert
  pinMode(AnodePin_1, OUTPUT); // hier würde ein Kommentar für Minderbemittelte stehen...
  pinMode(AnodePin_2, OUTPUT);
  pinMode(AnodePin_3, OUTPUT);
  pinMode(AnodePin_4, OUTPUT);
}
(Bei den Phasenpins war ich faul, die bleiben namenlos...)


Immernoch easy, oder?
Confused
 
Reply
#14
Top1A! Big Grin
 
Reply
#15
Btw. Konsequent bitte auch AnodePin_X und PhasePin_X umsetzen. Wink

Ist es nicht sinnvoll, die AnodenPins 1-8 auf einen Port zu setzen, oder bietet der Teensy keinen kompletten Port an seinen Ausgängen?
 
Reply
#16
Die Anodenpins sind doch konsequent umgesetzt. Bei den Phasepins war ich faul, kann ich ja mal bei Gelegenheit machen.

Beim Teensy kann man auch komplette Ports ansteuern. Irgendwann musste ich mich entscheiden: Schiebe ich Bits in Ports hin und her oder kippe ich die Bits an den Pins einzeln um. Die Anodenpins muss ich eh einzeln schalten, und die Phasepins haben die ungünstige Anzahl von >5<. Wenn ich hier portweise arbeite, bleiben 3 Pins ungenutzt.

Es gibt beim Teensy diese 2 Alternativen (mit etwas Übung auch kombinierbar:
https://www.pjrc.com/teensy/card2a.pdf
https://www.pjrc.com/teensy/card2b.pdf
 
Reply
#17
Ich verstehe. Würde ein SPI-Portexpander etwas bringen, sodass man einen Teensy für mehr Displays nutzen kann?

Z.B. http://www.microchip.com/wwwproducts/en/MCP23S17

Bekommt man innerhin 8 Stück auf einen Bus.
 
Reply
#18
Ich bin mir nicht sicher, ob zeitkritische Steuerungen durch serielle Leitungen gequetscht werden sollten. Man braucht ausserdem genug ADC-Eingänge (für jeden Balken einen). Es ist eventuell einfacher, 2 Teensy's zu nehmen....
 
Reply
#19
Naja, LVDS Panels werden auch seriell angesteuert, okay, der Zeilen/Spaltentreiber sitzt am Display. Bzgl. ADC, geht da nicht was mit FFT?
 
Reply
#20
Versteh ich nicht... alter Mann braucht Abkürzungserklärung.
 
Reply