Ein Bildgenerator für die Bildröhreneinheiten

alles was sich auf einzelne Teile bezieht

Moderator: suntri

Antworten
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Salut Bastelfreunde,

Inzwischen haben wir neben den Original-Bildröhreneinheiten auch die neue, universelle Variante, und davon stehen hier inzwischen vier Stück herum - Grund genug, für eine ausreichende Zahl Bildquellen zu sorgen. Ich habe die kalten Tage genutzt zum Entwurf und Bau einer Schaltung, die eine zusätzliche Bildquelle bereitstellen wird: das BRE-Bildgeneratormodul.
BRE-Bildgeneratormodul.JPG
BRE-Bildgeneratormodul.JPG (302.35 KiB) 19783 mal betrachtet
BRE-Bildgeneratormodul.JPG
BRE-Bildgeneratormodul.JPG (302.35 KiB) 19783 mal betrachtet
Die Vorgeschichte
Zunächst ein paar Worte zur Historie: ich habe ein solches Modul schon 1983 einmal gebaut, damals mit bescheidenen Mitteln aus zwei SN7490-Zählern und zwei ziemlich nicht linearen Sägezahngeneratoren, die ein Bild mit 100 Zeilen auf die EE2007-BRE brachten. Heute würde diese Schaltung meinen Ansprüchen allerdings nicht mehr genügen.

Dann war da das EE3023-Videomodul, das man an den heimischen TV, aber auch an die Fernseher aus dem EE2008 oder dem Schuco-6205F-Labor anschließen konnte – mit erheblichem Materialaufwand, weil man wegen der Antennenverbindung ein komplettes Tunerteil samt ZF-Aufbereitung dazu brauchte und zudem auch noch eine bescheidene Bildqualität bekam.

Vor sechs Jahren (2012) habe ich einmal dieses Videomodul in einer Variante für VGA-Monitore gebaut. Das funktionierte recht gut, insbesondere wegen der Farbe, die da ins Spiel kam. Das Bild zeigt dieses Modul im Betrieb an einem kleinen 5“-TFT-Bildschirm. Ich hatte später sogar mal eine farbige Variante für Composite-Video dieses Moduls geplant, aber der Prototyp wollte nicht so recht und landete im Müll (vielleicht aber nicht für immer...)
VGA-Modul I.JPG
VGA-Modul I.JPG (179.94 KiB) 19783 mal betrachtet
VGA-Modul I.JPG
VGA-Modul I.JPG (179.94 KiB) 19783 mal betrachtet
VGA-Modul-Spiel.JPG
VGA-Modul-Spiel.JPG (211.05 KiB) 19783 mal betrachtet
VGA-Modul-Spiel.JPG
VGA-Modul-Spiel.JPG (211.05 KiB) 19783 mal betrachtet
Videomodul_Farbe.JPG
Videomodul_Farbe.JPG (155.53 KiB) 19783 mal betrachtet
Videomodul_Farbe.JPG
Videomodul_Farbe.JPG (155.53 KiB) 19783 mal betrachtet
Dann baute ich eine Schaltung, die den Bildröhreneinheiten neue Eingänge verschaffen sollte - Composite Video und VGA waren vorgesehen. Allerdings war, wie Ihr unten sehen könnt, die Bildqualität noch recht bescheiden, insbesondere an der Linearität mangelte es. Ein Teil dieser ursprünglichen Schaltung bestand auch aus einer Umsetzung des Videomoduls aus dem EE3023 mit seinen Aus- und Eingängen – hier natürlich ohne den Umweg über Tuner und Bild-ZF-Einheit. Teile dieser Schaltung wanderten dann in das PAL-Modul der universellen Bildröhreneinheit - dort in einer deutlich lineareren Variante, so dass man Testbilder wirklich anschauen mochte, allerdings ohne den Videomodulteil.
BRE-Modul Testbild.JPG
BRE-Modul Testbild.JPG (125.02 KiB) 19783 mal betrachtet
BRE-Modul Testbild.JPG
BRE-Modul Testbild.JPG (125.02 KiB) 19783 mal betrachtet
Prototyp Frontseite.JPG
Prototyp Frontseite.JPG (202.73 KiB) 19783 mal betrachtet
Prototyp Frontseite.JPG
Prototyp Frontseite.JPG (202.73 KiB) 19783 mal betrachtet

Und hier kommt es nun...
Es lag nun also nahe, beide Projekte miteinander zu verbinden, und nach der zweiten Iteration ist nun ein Videomodul für die Bildröhreneinheiten fertig. Es verbindet die Funktionen des EE3023-Moduls mit einem selbsterzeugten Videoraster, so dass darauf dann Bildelemente dargestellt werden können. Die angehängten Fotos zeigen eine Aufschaltung der diversen Ausgänge Q1 bis Q8 des Videomoduls auf den Videoeingang. Diese Ausgänge führen jeweils bild- oder zeilensynchrone, aber höherfrequente Signale, so dass das Bild abwechselnd hell oder dunkel getastet wird.
BRE-Bildgeneratormodul.JPG
BRE-Bildgeneratormodul.JPG (302.35 KiB) 19783 mal betrachtet
BRE-Bildgeneratormodul.JPG
BRE-Bildgeneratormodul.JPG (302.35 KiB) 19783 mal betrachtet

Nun geht es daran, die Funktionen mit Leben zu erfüllen. Mein nächstes Ziel ist ein „Space Invaders“ auf der Bildröhre – das ist das Spiel, bei dem oben Raumschiffe vorbeifliegen und kleine Bomben fallen lassen, die man dann abfangen muss. Und da das mit Sound mehr Spaß macht, habe ich noch eine uralte Platine ausgegraben, der man Synthesizer-Töne entlocken kann – die soll auch mit in die Schaltung integriert werden.

Die für die Fotos benutzte Bildröhre hat ein Problem mit der Beschichtung, deshalb ist an einigen Stellen das Bild heller bzw. dunkler. Das eigentliche Bildraster ist linear. Zur Schaltungsbeschreibung siehe nächster Eintrag.
Horizontal_250kHz.JPG
Horizontal_250kHz.JPG (257.54 KiB) 19783 mal betrachtet
Horizontal_250kHz.JPG
Horizontal_250kHz.JPG (257.54 KiB) 19783 mal betrachtet
Es grüßt herzlich
Frank/JL7
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Schaltungsbeschreibung

Beitrag von JeanLuc7 »

Die Schaltung ist nicht sonderlich komplex, weil sie auf Mikrocontroller setzt. Die ersten beiden Prototypen nutzen noch CMOS-ICs (4060/4040), um die Taktsignale zu erzeugen. Vorgesehen war dabei auch, die Sägezahne für die Horizontal- und Vertikalablenkung per Widerstandsnetzwerk zu erzeugen. Das klappt auch – allerdings sind die Taktflanken der CMOS-Bausteine eben doch nicht ganz so scharf wie nötig, so dass das Signal insgesamt zwar linear ist, aber ein paar Höcker aufweist, die man dann im Bild als helle Zeilen oder Spalten sehen kann. Hier ein Foto des zweiten Prototypen.
BRE-Bildgeneratormodul Prototyp.JPG
BRE-Bildgeneratormodul Prototyp.JPG (337.96 KiB) 19778 mal betrachtet
BRE-Bildgeneratormodul Prototyp.JPG
BRE-Bildgeneratormodul Prototyp.JPG (337.96 KiB) 19778 mal betrachtet
Alle wichtigen Signale werden im großen Mikrocontroller (ATMega328P) erzeugt. Das sind die höherfrequenten zeilensynchronen Signale (Q1 bis Q4), die Ausgänge für Synchronsignale (HS, VS), das Austastsignal und die Ansteuerung des vertikalen Sägenzahngenerators, für den ich einen D/A-Wandler (MCP4911) benutzt habe, wie er bereits im PAL-Modul zum Einsatz kommt. Das horizontale Sägezahnsignal wird auf konventionelle Weise über einen Kondensator und eine Konstantstromquelle gewonnen; der µC dient hier nur als Taktgeber für den Rücklauf.
Horizontal_125kHz.JPG
Horizontal_125kHz.JPG (233.98 KiB) 19779 mal betrachtet
Horizontal_125kHz.JPG
Horizontal_125kHz.JPG (233.98 KiB) 19779 mal betrachtet
Die Endverstärker sind aus OpAmps (NE5532) aufgebaut und weitestgehend identisch. Ein lösbares Problem erzeugt dabei die Spannungsversorgung. OpAmps mögen es gerne dual, also muss man ein wenig tricksen, indem die Eingänge E+ auf ein positives Potenzial gelegt werden. Die Spannungsteiler sind dabei so gewählt, dass die OpAmps die Eingangssignale möglichst verzerrungs- und anschlagsfrei verstärken.

Die Rückläufe der Sägezähne sollten möglichst nicht zu sehen sein, und hier gehen die verschiedenen Bildröhreneinheiten unterschiedliche Wege. Philips EE2007 besitzt einen echten Austasteingang, und der wird in dieser Schaltung auch direkt bedient. Schuco 6105E fehlt ein solcher Eingang, daher muss man das Austastsignal dem Bildsignal beimischen. Das gleiche gilt für die universelle Bildröhreneinheit. Damit alle drei korrekt bedient werden können, sind auf dem Modul Jumper vorgesehen; damit kann einerseits das Austastsignal in negativer oder positiver Variante dem Bild zugemischt werden. Zum anderen kann das Bildsignal auch invertiert werden – die Videoeingänge der BRE von Philips und Schuco funktionieren hier nämlich genau umgekehrt.

Die Videoeingänge sind schnell erklärt. Es gibt drei digitale, die auf einem CD4072 ODER-verknüpft werden. Alles, was hier eingemischt wird, erscheint gemeinsam auf dem Bildschirm. Ein weiterer Eingang ist direkt mit dem Videoteil verbunden; hier können auch Helligkeitsvarianten eingespeist werden. Ein Kontrastregler erlaubt die Regulierung des Unterschieds zwischen Schwarz und Weiß.

Bleibt zuletzt der kleine Mikrocontroller ATTiny26. Er ist verantwortlich für die bildsynchronen Signale – dafür hat der große Controller keine Zeit mehr. Er erzeugt also die Signale Q5-Q8.
Vertikal_120Hz.JPG
Vertikal_120Hz.JPG (173.96 KiB) 19779 mal betrachtet
Vertikal_120Hz.JPG
Vertikal_120Hz.JPG (173.96 KiB) 19779 mal betrachtet
Verikal_240Hz.JPG
Verikal_240Hz.JPG (196.61 KiB) 19779 mal betrachtet
Verikal_240Hz.JPG
Verikal_240Hz.JPG (196.61 KiB) 19779 mal betrachtet
Zusätzlich hat das Modul vier weitere Ausgänge, WL, WR, WO und WU. Diese Ausgänge sind eingeschaltet, wenn das Bild links und oben beginnt bzw. wenn es rechts und unten endet. Auf diese Weise kann man schnell und einfach feststellen, ob ein Objekt am Rand angekommen ist. Man kann das auch diskret aufbauen, aber die µCs haben genug Ausgänge und können daher diese Signale ohne Zusatzaufwand bereitstellen.

Ein Anschluss an die BRE erfolgt über einen achtpoligen Stecker. Dessen acht Pins sind nicht zufällig verdrahtet, sondern folgen exakt der EE2007-BRE. Pin 3 liefert dabei den Pluspol. Zwar arbeitet die BRE auch mit +9V, aber wer die spezifizierten 12V einspeisen möchte, kann das tun – dann wird der 9V-Jumper entfernt, und Pin 3 ist isoliert.

Das Schaltbild hängt an in einem mehrseitigen PDF.
Dateianhänge
BRE_Bildgenerator_Schaltbild.pdf
(147.72 KiB) 420-mal heruntergeladen
BRE_Bildgenerator_Schaltbild.pdf
(147.72 KiB) 420-mal heruntergeladen
Zuletzt geändert von JeanLuc7 am 14.03.2018, 14:05, insgesamt 1-mal geändert.
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Einiges zur Signalaufbereitung

Beitrag von JeanLuc7 »

Die Signale sind nicht TV-, sondern VGA-kompatibel. Das Modul arbeitet also mit 31,4 kHz Zeilen- und 60Hz Bildfrequenz und ca. 480 sichtbaren Zeilen. Hintergrund war, dass ich bereits ein paar Bausteine für kleine Bildelemente in der Schublade habe, die auf die VGA-Timings optimiert sind. Die µCs könnten aber auch TV-Signale ausgeben mit 15625 Hz Zeilen- und 50Hz Bildfrequenz; lediglich ein paar Timing-Konstanten müssten angepasst werden. Allerdings ist ein Anschluss an einen Monitor ohnehin nicht vorgesehen, und außer den BRE kenne ich keine Displays, die Sägezahnsignale erwarten. Mit VGA kommen die BRE aber noch gut zurecht.
Layout.png
Layout.png (666.15 KiB) 19779 mal betrachtet
Layout.png
Layout.png (666.15 KiB) 19779 mal betrachtet
Das Layout ist nachbausicher gestaltet, und es sind auch keine Abgleicharbeiten erforderlich. Der gesamte Videoteil kommt ohne Kondensatoren aus, so dass langsame Bildsignale ebenso gut verarbeitet werden wie schnelle - das war seinerzeit beim VGA-Modul noch ein deutlich sichtbarer Nachteil. Die wenigen Kondensatoren dienen hauptsächlich der Pufferung. Lediglich der 1,5nF-Kondensator hat zentrale Bedeutung - an ihm wird der horizontale Sägezahn erzeugt.

Wichtiger als die Fernseh- oder VGA-Norm sind die bild- und zeilensynchronen Signale an Q1 bis Q8. Diese sind in beiden Fällen nicht symmetrisch aufgebaut – sie pausieren nämlich beim Rücklauf des Strahls. Stattdessen sind sie nur während des sichtbaren Bildes getaktet. Das führt dazu, dass man bei Q1 (250 kHz) und Q5 (480 Hz) tatsächlich acht Hell-Dunkel-Wechsel sieht und nicht nur sechs wie beim Original-Videomodul. Ich fand, das sieht gefälliger aus, und für die µC ist es ein Einfaches, solche Signale zu erzeugen.
Vertikal_480Hz.JPG
Vertikal_480Hz.JPG (193.18 KiB) 19779 mal betrachtet
Vertikal_480Hz.JPG
Vertikal_480Hz.JPG (193.18 KiB) 19779 mal betrachtet
Falls sich jemand über die Pinfarben des Moduls wundert: Rot sind Eingänge, Blau sind Ausgänge. Grün sind die zusätzlichen Ausgänge für die Begrenzung am Bildrand – im Gegensatz zu den anderen Ausgängen sieht man nichts, wenn man diese Ausgänge an den Videoeingang anschließt.

Wie bereits erwähnt: Die für die Fotos benutzte Bildröhre hat ein Problem mit der Beschichtung, deshalb ist an einigen Stellen das Bild heller bzw. dunkler. Das eigentliche Raster ist überall gleich hell bzw. dunkel. Das Testbild stammt natürlich nicht vom BRE-Bildgenerator, es dient nur zur Demonstration der Bildqualität (die im Fernsehmodus ebenso fleckig ist).
Testbild_Röhre.JPG
Testbild_Röhre.JPG (236.05 KiB) 19779 mal betrachtet
Testbild_Röhre.JPG
Testbild_Röhre.JPG (236.05 KiB) 19779 mal betrachtet
Benutzeravatar
Frankje
Fühlt sich wie zu Hause
Fühlt sich wie zu Hause
Beiträge: 430
Registriert: 26.04.2007, 21:42
Wohnort: Belgium

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von Frankje »

Hello,
Great to see that analogue television still finds a place in this digital area.
You did a marvelous and comprehensive job to publish this useful circuit to the world.
For more than 30 years I've been repairing televisions and audio and a signal generator for these were very handy to align picture deflection corrections.
Unfortunately I don't have a EE2007 in my possession 😕
Great job !
Greetings
“All the electronic devices are powered by white smoke. When smoke goes out, device is dead.”
― Milan Nikolic
Benutzeravatar
pingi66
Fühlt sich wie zu Hause
Fühlt sich wie zu Hause
Beiträge: 476
Registriert: 28.11.2015, 21:06
Wohnort: Wolfsburg

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von pingi66 »

Hallo Frank,
JeanLuc7 hat geschrieben: 14.03.2018, 13:55 Mein nächstes Ziel ist ein „Space Invaders“ auf der Bildröhre – das ist das Spiel, bei dem oben Raumschiffe vorbeifliegen und kleine Bomben fallen lassen, die man dann abfangen muss.
Wahnsinn! Um ganz ehrlich zu sein, finde ich schon Deinen Bildgenerator, der ein paar Streifen auf den Bildschirm zaubert, für die Ansprüche eines Baukastenforums nobelpreisverdächtig. Aber dem Bildschirm mit einem selbt entwickelten Videospiel auch noch Leben einzuhauchen, das ist der Hammer. Bei der Umsetzung wünsche ich Dir viel Spaß und Erfolg!

Eine Frage muss ich aber noch los werden: Das ist schon das wasweißichwievielte Projekt, das Du hier im Forum vorstellst. Kommst Du eigentlich zwischen Deinen Projekten noch dazu, feste Nahrung aufzunehmen? :lol:

Beste Grüße
Sven
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Salut Sven,
Kommst Du eigentlich zwischen Deinen Projekten noch dazu, feste Nahrung aufzunehmen?
Leider viel zu oft, wenn ich meiner Waage trauen darf :lol:

Aber im Ernst: so viel ist das gar nicht. Allerdings liegt mein Hobbyinteresse derzeit wieder stärker bei der Elektronik - im vergangenen Jahr war es zunächst der Metallbaukasten und danach meine Modelleisenbahn, eben je nach Lust und Laune.

Dieser Bildgenerator ist dabei ein Projekt, das schon viele Wochen bei mir lag und immer mal wieder eine Weiterentwicklung erfuhr. Den zweiten Prototypen hatte ich auf der Veranstaltung in Aachen vor knapp vier Wochen dabei - mit wenig Resonanz, weil man in dem hellen Raum auf der BRE kaum etwas erkennen konnte und wegen der beschriebenen Probleme mit den Sägezahnsignalen. Es gab übrigens auch einen Versuch mit parallel ansteuerbaren D/A-Wandlern (also ohne die Mitwirkung von µCs) - man lernt dabei schnell, dass es gar nicht so einfach ist, einen sauberen 31,5-kHz-Sägezahn zu erzeugen, denn schon bei einer geringen 8-Bit-Auflösung entstehen da Taktfrequenzen von 4GHz am kleinsten Bit, und das macht kaum ein Baustein mit. Die jetzige analoge Lösung ist wohl immer noch die beste.

Ein paar Ideen für Projekte habe ich noch: eins davon ist ein Redesign des EE2008-Fernsehers. Ich habe hier einen analogen Kabeltuner, eine Bild-ZF-Einheit in Form des IC's TDA4400 und das Horizontalablenkungs-IC TBA920. Daraus sollte sich doch vor der endgültigen Abschaltung analoger SIgnale im Kabelnetz etwas machen lassen. Und für die Zeit nach der Abschaltung habe ich hier einen RF_Modulator aus einem alten SAT-Empfänger ausgebaut. Dann sende ich eben per Kabel selbst :P

Viele Grüße
Frank
Physiker66
Fühlt sich wie zu Hause
Fühlt sich wie zu Hause
Beiträge: 278
Registriert: 25.07.2017, 21:27
Wohnort: Albuquerque, USA

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von Physiker66 »

Signal von einem alten Computer (C64) wären auch eine gute RF Quelle.

liebe Gruesse
Michael
:oops: Selbst ein schlechtes Experiment bildet die Wirklichkeit besser ab als eine gute Simulation.
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Ja. geil! C64-Spiele auf der Bildröhreneinheit! Eigentlich müsste sich daran in den 80ern schon mal jemand versucht haben...

(Und es sind weiter oben natürlich 4MHz und nicht 4GHz, ganz so krass ist es dann doch nicht)

Viele Grüße,
Frank/JL7
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Salut Bastelfreunde,

ich habe mich über Ostern ausgiebig mit dem hier vorgestellten Bildgenerator und seinen Möglichkeiten beschäftigt. Dabei ist ein weiteres Universalmodul entstanden, das im Zusammenspiel mit dem Generator nun verschiedene Elemente auf den Bildschirm zaubern kann:

+ rechteckige Objekte, die in ihrer Größe verändert werden können. Daraus kann man Spiele wie Pong und andere Varianten davon ableiten. Die Position des Objekts kann von außen durch angelegte Spannungen beeinflusst werden.
+ kurze Texte in zwei unterschiedlichen Größen in einem Raster 5x2,5 oder 10x5 (Spalten x Zeilen). Die kleinere Größe kann man mit Potis überall auf dem Bildschirm platzieren, die größere Variante ist zentriert. Damit kann man bei Spielen beispielsweise kurze Infos über Spiel, Satz und Sieg einblenden. Die Texte sind vorgegeben. Ein zweites Einsatzgebiet ist die Messtechnik - hier können beispielsweise Einheiten (Volt, Ampere, Ohm) oder die Art der Messung (Spannung, Frequenz, ...) angezeigt werden.
+ Zahlen - bis zu vier Stellen sind möglich. Es gibt die Möglichkeit, die Zahlen einzeln einzulesen oder aber einen internen Zähler zu bemühen. Der Baustein ist dazu auch kaskadierbar, bis zu 10 Stellen in einer Zeile sind möglich. Es können wahlweise Zahlen im Zehnersystem, Hexadezimalsystem oder Uhrzeiten angezeigt werden. Der Zähler läuft wahlweise vor- der rückwärts, und beim Erreichen des Endzustands (also 9999 bei Vorwärts- oder 0000 bei Rückwärtsgang) gibt es auch ein Signal auf dem Ausgang.
+ "Zeiger" - das ist genaugenommen ein 10x10-Feld, auf dem man wahlweise einen Balken von links nach rechts wachsen lassen kann abhängig von der angelegten Spannung. Der "Zeiger" lässt sich aber auch zweidimensional bewegen, so dass man eine Art "Snake"-Spiel erhält, bei dem sich der Zeiger wahlweise manuell oder automatisch (und mit variabler Geschwindigkeit) bewegt.

Mit diesen Bausteinen lassen sich mit der Bildröhreneinheit ein paar schöne Basteleien umsetzen:

+ Messgerät für Spannungen, Widerstand usw.
+ Messgerät für Frequenzen - bis zu acht Stellen sind möglich
+ (digitale) Uhren und Wecker
+ verschiedene Spiele-Klassiker: TV-Tennis, Snake, Asteroids, Pac-Man, Space Invaders - eben all die kleinen Spiele, die nicht allzu viel Platz benötigen und auch auf der Bildröhreneinheit noch gut aussehen.
+ Spiele gegen die Zeit mit eingeblendeter Zeitanzeige und Trefferanzeige
+ Stereo-Aussteuerungsanzeige für Verstärker
+ Frequenz- und Abstimmanzeige für Radios
+ Markieren des Bildschirms (in Verbindung mit einer IR-Fotodiode, die man auf die zu markierende Position des Schirms hält)
+ ...

Die Bausteine selbst sind ziemlich klein: 4x5,5cm (Raster 3x4) mit einem vorprogrammierten Mikrocontroller (ATMega328P), zwei Trimmpotis und einer Reihe von Pins, mit denen man einstellt, welche Funktion man haben möchte. Sofern man keine komplexen Spiele mit besonderer Logik haben möchte, kommt man daher ganz ohne eigenes Programmieren aus; es genügen die Funktionen, die das Modul bietet. Ich habe hier einmal fünf Module als Prototypen gebaut, wahrscheinlich kommen alle oben genannten Beispiele aber mit maximal vier aus, dazu den einen oder anderen Logikbaustein.

Das Thema wird mich sicher einige Wochen oder gar Monate beschäftigen, bis all die oben genannten Schaltungen aufgebaut und ausprobiert wurden - und alles, was mir oder uns noch dazu einfällt. Letztlich könnte man daraus sogar einen ganzen neuen "Baukasten" zusammenstellen; etwa einen EE2009, der der Bildröhreneinheit wie der alte EE2008 zu einem ganz neuen Tätigkeitsfeld verhilft. Grundvoraussetzung ist dabei lediglich eine BRE aus dem EE2007, dem Schuco-Lab 6105 oder einer der universellen Nachbauten. Auch Kathodenstrahloszilloskope mit z-Eingang (für die Helligkeit) eignen sich.

Die alles entscheidende Frage dabei: hat jemand von Euch daran Interesse? Falls ja, würde ich das ganze als Erweiterungsbuch im EE2000-Design dokumentieren, wie wir es beizeiten mit dem Grafik-Touchscreen-Modul bereits einmal gemacht haben, und das ganze dann als Download verfügbar machen. Vielleicht erstellt Ingo auch einen kompletten Satz Platinen für den neuen Baukasten. Falls nein, bleibt es bei ein paar Fotos. Wie bereits gesagt: die vorgesehenen Schaltungen sollten sich größtenteils ohne Programmieren bauen lassen - nur die Module selbst benötigen vorprogrammierte Controller, das wäre dann nicht anders als ein Bausatz.

Was den Bildgenerator von oben betrifft - da wäre auch eine Variante denkbar, die bei intern gleicher Funktionsweise einen VGA-Ausgang hat. Dann könnte man ihn auch an einen alten Monitor anschließen. Die Variante mit der Bildröhreneinheit ist aber natürlich weitaus stylischer.

Ich bin auf Euer Feedback gespannt. Es grüßt herzlich
Euer JL7/Frank
Physiker66
Fühlt sich wie zu Hause
Fühlt sich wie zu Hause
Beiträge: 278
Registriert: 25.07.2017, 21:27
Wohnort: Albuquerque, USA

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von Physiker66 »

Die Idee klingt sehr reizvoll. Ich denke du solltest es auf jeden Fall gut dokumentieren. Ob man dann zusätzliche Arbeit investiert um daraus ein wirkliches Handbuch zu machen kann man glaube ich erst wissen wenn alle Probe-Aufbauten fertig sind (beim Korrekturlesen und Verlegen kann ich gerne etwas Hilfe anbieten :) )
:oops: Selbst ein schlechtes Experiment bildet die Wirklichkeit besser ab als eine gute Simulation.
Benutzeravatar
suntri
Administrator
Administrator
Beiträge: 1620
Registriert: 30.04.2006, 16:54
Wohnort: Bei Basel (CH)
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von suntri »

Ich komme gerade aus dem Urlaub. Das klingt sehr interessant. Ich bin auf jeden fall sehr interessiert daran, soweit es meine Arbeit zulässt. Ich werde vermutlich ab Montag von der Arbeit aufgefressen. ;-(
Gruss suntri

Erkläre es mir, ich werde es vergessen. Zeige es mir, ich werde es vielleicht behalten. Lass es mich tun, und ich werde es können. Indisches Sprichwort.
Benutzeravatar
Bambini
Stammgast
Stammgast
Beiträge: 116
Registriert: 19.02.2013, 16:44
Wohnort: Confoederatio Helvetica
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von Bambini »

Hallo Frank!
Bin auch eben aus dem Urlaub zurück gekommen und auf deinen Beitrag gestossen!
Ich bin auf jeden Fall interessiert am Projekt, habe da noch 2 BRE Platinen mit D7-16 und DG-7 Röhren betriebsfertig, die auf einen spannenden Einsatz warten... 8)
Gruss Beat
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Salut Bastelfreunde,

es hat jetzt ein wenig gedauert bis zur Fortsetzung, aber ich habe die Zwischenzeit genutzt, um noch ein paar Verbesserungen umzusetzen. Insbesondere läuft der Bildgenerator jetzt nicht mehr mit VGA- sondern mit Fernsehfrequenzen. Das entspannt die Timings und sorgt vor allem für eine flackerfreie Darstellung. Die nicht abgeschirmte Bildröhreneinheit flackerte zuvor mit der Differenzfrequenz zwioschen Netz und VGA (10Hz) munter vor sich hin - sehr störend. Außerdem hat auf diese Weise mehr Text Platz auf dem Schirm: es sind jetzt 6x3 oder 12x6 Zeichen.

Zunächst möchte ich Euch heute ein paar weitere Module vorstellen, die nötig sind, um der Bildröhre mehr als nur ein paar Balken zu entlocken.
Module.jpg
Module.jpg (180.13 KiB) 19404 mal betrachtet
Module.jpg
Module.jpg (180.13 KiB) 19404 mal betrachtet


Das Bild zeigt unten rechts das Bildmodul, das letztlich die ganze Arbeit übernimmt. Darin steckt ein Generator, der passend zum Raster ein Bild mit Texten oder Objekten darstellen kann - dazu später mehr. Er besteht hauptäschlich aus einem Mikrocontroller, vielen Anschlüssen für Jumper oder Eingänge und zwei Potis, mit denen man Text- oder Objektgröße sowie die Position einstellen kann - je nach Anzeige. Allzu viel ist da nicht drauf - das allermeiste steckt in der Software.

Oben sind zwei Module zu sehen, die ich als "Mischer" bezeichne. Das eine mischt bis zu vier horizontale und vertikale Einzelsignale zu einem vollständigen Bild - auf diese Weise werden Objekte wie "Bälle" dargestellt. Das andere invertiert Videosignale und mischt dann bis zu vier davon zusammen. Hier liegt der Grund in der Art und Weise, wie der Text erzeugt wird: nämlich schwarz auf hellem Hintergrund. Das sieht bei den Röhren selten gut aus, weshalb der Mischer das Bild dann einfach invertiert: hell (bzw. grün) auf schwarz. Mit den Mischern kann man bis zu acht Bildmodule gleichzeitig betreiben, um beispielsweise bei einem Spiel mit Schlägern und Bällen auch den Spielstand anzuzeigen.

Das letzte Modul ist ein Fünffach-Schalter, wobei jeweils zwei äußere eine Spannungsreihe bilden. Drückt man den oberen oder rechten, liegt am gemeinsamen Ausgang etwa 1,2V an. Derückt man den linken oder unteren, liegt Masse an. Das lässt sich dann im Bildmodul leicht auswerten und kann für manuell gesteuerte Bewegungen benutzt werden.

Nun kommen ein paar Bilder, die zeigen, was man damit anstellen kann.
Zählen.jpg
Zählen.jpg (142.96 KiB) 19404 mal betrachtet
Zählen.jpg
Zählen.jpg (142.96 KiB) 19404 mal betrachtet
Im ersten Betriebsmodus "Zählen" bietet des Bildmodul einen zwei- oder vierstelligen Zähler an, der vor- oder rückwärts zählen kann. Es kann wahlweise numerisch oder als Uhrzeit gezählt werden, und hier auch wieder Stunde:Minute oder Minute:Sekunde. Damit kann man Uhren bauen, gegen die Zeit spielen oder einfach nur Impulse zählen. Einziges Manko: der Zähler ist nicht allzu schnell, bei mehr als 50Hz geht ihm die Puste aus. Wenn man die kleine Schrift nutzt, kann man auch die Position auf dem Bildschirm frei einstellen (per Poti). Die große Schrift ist immer in Bildmnitte zentriert.
Messen.jpg
Messen.jpg (157.71 KiB) 19404 mal betrachtet
Messen.jpg
Messen.jpg (157.71 KiB) 19404 mal betrachtet
Im zweiten Betriebsmodus "Frequenz" wird ein - schwer zu erraten - Frequenzzähler geboten, und der ist dann auch schnell genug, um bis 100 kHz zu zählen. Die Anzeige kann groß- oder klein dargestellt werden und formatiert sich selbständig je nach Schrift und Frequenz. Auch hier gibt es eine kleine Einschränkung: während der Messung wird alle Prozessorpower fürs Zählen aufgewendet, deshalb bleibt während dessen der Bildschirm dunkel. Das Raster bleibt natürlich bestehen, ebenso die Bildinhalte von anderen Bildmodulen.

Das Bild zeigt rechts unten auch den Objektmodus. Dabei wird ein helles, rechteckiges Objekt dargestellt, dessen Position von außen und seine Größe mit den Potis auf dem Bildmodul verändert werden kann. Dazu später mehr.
Text.jpg
Text.jpg (147.51 KiB) 19404 mal betrachtet
Text.jpg
Text.jpg (147.51 KiB) 19404 mal betrachtet
Außerdem kann das Modul ein paar vorgefertigte Texte anzeigen und nicht nur zählen, sondern auch selbst messen. Die beiden Bilder entstammen einer Spannungsmessung an einer 5,1V-Zenerdiode (mit unterschiedlichen Schriftgrößen). Gemessen wird ein Bereich von 0-1,1V, der über Widerstände bzw. Schaltungen dann an die zu messende Größe angepasst werden kann (wie seinerzeit beim EE2014). Als Einheiten können neben Volt auch A,mA, mV, Ohm, kOhm, cd, Lux, verschiedene Kapazitätsbereiche und die Temperatur angezeigt werden.
Meter.jpg
Meter.jpg (149.82 KiB) 19404 mal betrachtet
Meter.jpg
Meter.jpg (149.82 KiB) 19404 mal betrachtet
Den letzten Modus, den ich hier bvorstellen möchte, habe ich "Meter" getauft. Dabei wird eine in der Länge veränderbare Anzeige horizontal oder vertikal über eine Spannung ausgelenkt - also ein digitales VU-Meter. Man kann damit Aussteuerungsanzeigen, Empfangsanzeigen und was weiß ich noch bauen. Weil man mehrere Bildmodule miteinander mischen kann und die Position der Anzeigen eingestellt werden kann, sind auch mehrkanalige Anzeigen möglich.

Ja, und dann - Snake. Die zwei oberen Bilder zeigen die Anzeige, wie sie sich automatisch in alle Richtungen fortbewegt und jeweils die Richtung ändert, wenn sie anstößt - oder auch einfach einmal zufällig. Das gleiche gibts dann auch noch mal in einer manuellen Variante - dafür dient das Modul mit den vier Schaltern. Mit Automatik und manueller Steuerung gegeniennader dürfte das ein spannendes Spiel werden.
IMG_7556.JPG
IMG_7556.JPG (324.71 KiB) 19404 mal betrachtet
IMG_7556.JPG
IMG_7556.JPG (324.71 KiB) 19404 mal betrachtet
Und so sieht das ganze dann auf der Grundplatte aus. Man erkennt rechts die beiden Mischer - je nach Anwendung braucht man nur einen davon. Links das Bildgeneratormodul und in der Mitte zwei Bildmodule, die nur im Fall der VU-Anzeigen im "Meter"-Modus tatsächlich beide aktiv waren.

Das war's fürs erste. Ich hoffe, Euch gefällt die Sache - dann gibt's hier demnächst auch die ersten Schaltungen - und ganz ohne Programmieren :)

Es grüßt herzlich
Frank/JL7

P.S: alles, was Ihr hier gesehen habt, geht auch mit dem Videomodul aus dem EE3023. Ich arbeite noch an einer Composite-Video-Variante fürt das Bildgeneratormodul. Die können dann alle nutzen, die keine Bildröhreneinheit und kein EE3023-Videomodul haben.
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Guten Abend Bastelfreunde,

frisch aus der Werkstatt kommt nun die erste Schaltung - ein Reaktionszeitmesser. Er nutzt neben den neuen Bildmodulen noch einen NE555 (Schuco-Digital-Lab-Variante), ein NOR-Gatter CD4001 und ein R-S-Flipflop CD4043.
Reaktionszeitmesser.jpg
Reaktionszeitmesser.jpg (144.85 KiB) 19364 mal betrachtet
Reaktionszeitmesser.jpg
Reaktionszeitmesser.jpg (144.85 KiB) 19364 mal betrachtet
Das funktioniert so: über einen Schalter aktiviert man die Schaltung. Ist er offen, dann kann die Messung losgehen. Dann ist ein bis dahin gesperrtes R-S-Flipflop frei und kann von einem langsamen Taktgeber NE555 (ca 1/10 Hz) zurückgesetzt werden. Damit wird nun die Zählfunktion des als Frequenzzähler geschalteten Bildmoduls aktiviert. Das eigentliche Zähsignal stammt vom Q5-Ausgang des Bildgeneratormoduls, wo ein 400Hz-Rechtecksignal zur Verfügung steht. Letztlich gelangen dessen Impulse also innerhalb der Frequenzzähler-Torzeit (1s) nur so lange zum Zähler, bis jemand den Schalter schließt.

Das zweite Bildmodul liefert lediglich die Texte und wird abhängig von den verschiedenen Betriebsmodi angesteuert. Ist der Schalter geschlossen, dann wird dauerhaft die letzte Messung und "Ende" angezeigt. Wenn der NE555 sein Rücksetzsignal geschickt hat, steht auf der Anzeige "Warten". und sobald die Messung beginnt, steht da "Jetzt".

Die angezeigte Reaktionszeit ist wegen der 400Hz Taktfrequenz durch vier zu teilen, wenn man die Anzeige in Hunderstelsekunden haben möchte. Da Reaktionszeiten bei diesen Automaten aber gewöhnlich im Bereich um die 20/100 liegen, fand ich den etwas größeren Messbereich ein wenig besser.
Schaltung.JPG
Schaltung.JPG (491.03 KiB) 19362 mal betrachtet
Schaltung.JPG
Schaltung.JPG (491.03 KiB) 19362 mal betrachtet
Wie zu erwarten, ist der Aufbau recht aufgeräumt. Die beiden zusätzlichen Bausteine CD4043 und CD4001 sind auf den Platinen lediglich eingangsseitig hochohmig gegen Masse geschaltet, damit statische Elektrizität ihnen nichts anhaben kann. Im Schaltpult habe ich parallel zum Philips-Tastschalter einen einfachen Ein-Aus-Schalter montiert. Der Philips-Schalter in diesem Schaltpult neigt zum Hängenbleiben. Außerdem lässt sich der Hebelschalter leichter umlegen, denn meine Testperson neigte dazu, den Schalter beim "Jetzt" mit Gewalt herunterzudrücken, was nicht ohne Einfluss auf die Stabilität des Schalters und des Schaltpults blieb :)

Anbei findet Ihr noch das Schaltbild, ind em die Module jeweils als Blöcke dargestellt und die zu setzenden Jumper bereits eingezeichnet sind.

Einen schönen Sonntagabend wünscht
JL7/Frank
Dateianhänge
BM_Reaktionszeitmesser.pdf
(35.58 KiB) 374-mal heruntergeladen
BM_Reaktionszeitmesser.pdf
(35.58 KiB) 374-mal heruntergeladen
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Salut Bastelfreunde,

dieses Projekt hat ein gutes halbes Jahr geruht; es gab auch eine Menge anderer Dinge zu tun. Aber über die Weihnachtszeit ging es voran, und jetzt kann ich Euch ein neues Spiel präsentieren, das auch etwas anspruchsvoller ist als ein Reaktionszeitautomat. Kennt ihr noch Snake? Das hatte man früher auf Nokia-Telefonen als Spiel dabei, und hier kommt es nun für die Bildröhre - und auch den Fernseher, denn ich habe zwischenzeitlich das Modul auch für PAL-TV fit gemacht. Und diesmal ist es echtes PAL, denn wir spielen in Farbe. Und ich dachte, das Ganze würde sich sehr schön in einem ABC-Schaltpult machen, gab es das gleich noch dazu.

Wie macht man Farbfernsehen? Dafür gibt's heute Standardschaltkreise, die aus drei Farbkanälen Rot, Grün und Blau das passende 4.33MHz-Trägersignal erzeugen, das ein Fernseher dann auswerten kann. Hier kommt zum Einsatz der AD724, Den gibt es leider nur als SMD-Bauteil, aber seine Beinchen stehen noch soweit voneinander ab, dass man sie mit einer ruhigen Hand gut löten kann. Der AUfbau ist ansosnten fast gleich zum Modul für die Bildröhre. Statt drei digitalen Eingängen gibt es je einen für Rot, Grün und Blau. Alternativ kann man auch analog ansteuern und dann per Schalter festlegen, welche Farbkanäle benutzt werden sollen. Nimmt man alle, ergibt sich ein SW-Bild.

Wie schon weiter oben beschrieben, übernehmen die Universalbausteine such hier den größten Teil des Jobs. Einer davon erzeugt die sich automatisch bewegende Schlange, deren Länge und Geschwindigkeit man noch - zur Wahl des Schwierigkeitsgrads - einstellen kann. Der zweite erzeugt die Schlange des Spielers, die über den ebenfalls oben vorgestellten 5-Wege-Schalter gesteuert wird. Ein Klick bewegt die Schlange jeweils um einen Schritt nach links, rechts, oben oder unten. Der OK-Schalter in der Mitte wird nicht benutzt. Beide bedienen je einen Farbkanal, so dass man sehr schön erkennen kann, wenn sie sich treffen. Dann wird der aus Rot und Grün zusammnengemischte Punkt gelb. Sie sind auch auf ein UND-Gatter aufgeschaltet, das aktiv wird, wenn sie sich treffen.

Der dritte Universalbaustein ist als Rückwärtszähler geschaltet. Er erzeugt eine von 59 rückwärts laufende Zahl. Wenn er Null erreicht, ist das Spiel zu Ende. Dafür besitzt er einen Ausgang, der den Überlauf - das Erreichen der Null - anzeigt. Angesteuert wird er durch einen NE555, der ungefähr mit 1Hz taktet, so dass das Spiel etwa eine Minute dauert.

Damit nun Spiel und Ende klar unterschieden werden können, ist noch ein RS-Flipflop vorhanden. Es wird aktiviert durch den Taster im Schaltpult - damit wird über den Transistor auch der Zähler auf 59 gesetzt und beginnt rückwärts zu zählen. Der Transistor ist nötig, weil der Universalbaustein ein Low-Signal erfordert für den Reset, das Flipflop aber ein High-Signal. Außerdem gibt das Flipflop die automatische Schlange frei - sie läuft nur, wenn an einem dafür vorgesehenen Eingang ein High-Signal anliegt. Und los geht's.

Das Spiel endet entweder, wenn die Minute um ist - dann schaltet das Überlaufsignal des Zählers über eine ODER-Verknüpfung aus zwei Dioden das Flipflop um. Oder aber die beiden Schlangen kollidieren - dann spricht die UND-Verknüpfung an, die den zweiten Eingang der Dioden-ODER-Verknüpfung nutzt. Manchmal reicht eben auch eine einfache Diodenlogik statt eines Bausteins. In der Industrie ist es wohl eher umgekehrt - zwei externe Dioden sind weitaus teurer als ein internes ODER-Gatter. In beiden Fällen hält die Schlange an, und der Zähler zeigt die noch übrige Zeit. Wenn da mehr als Null steht - verloren.

Ich habe zwei Videos gemacht, eins davon mit sehr langsamer Schlangengeschwindigkeit - da habe ich "gewonnen". Das zweite nutzt die höchste Geschwindigkeit, da war schon nach wenigen Sekunden Schluss.

Video 1: Gewonnen
Video 2: Verloren

Außerdem gibt's natürlich ein paar Fotos; an einem Schaltbild arbeite ich gerade noch. Auch wenn das Ganze hier nun auf einem modifizierten ABC-Schaltpukt aufgebaut ist - die Bauteile sind exakt dieselben wie bei der offenen Lösung. Mit Farbe macht sie allerdings mehr Spaß als mit der Bildröhre.

Es grüßt herzlich
JL7/Frank
Dateianhänge
Vorderseite.jpg
Vorderseite.jpg (203.02 KiB) 17506 mal betrachtet
Vorderseite.jpg
Vorderseite.jpg (203.02 KiB) 17506 mal betrachtet
Rückseite.jpg
Rückseite.jpg (238 KiB) 17506 mal betrachtet
Rückseite.jpg
Rückseite.jpg (238 KiB) 17506 mal betrachtet
Frontansicht.jpg
Frontansicht.jpg (197.82 KiB) 17506 mal betrachtet
Frontansicht.jpg
Frontansicht.jpg (197.82 KiB) 17506 mal betrachtet
SChrägansicht.jpg
SChrägansicht.jpg (178.34 KiB) 17506 mal betrachtet
SChrägansicht.jpg
SChrägansicht.jpg (178.34 KiB) 17506 mal betrachtet
Physiker66
Fühlt sich wie zu Hause
Fühlt sich wie zu Hause
Beiträge: 278
Registriert: 25.07.2017, 21:27
Wohnort: Albuquerque, USA

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von Physiker66 »

Das weckt Erinnerungen :)

Könntest du bitte auch deine Universalbausteine genauer beschreiben?

liebe Gruesse
Michael
:oops: Selbst ein schlechtes Experiment bildet die Wirklichkeit besser ab als eine gute Simulation.
Benutzeravatar
Bambini
Stammgast
Stammgast
Beiträge: 116
Registriert: 19.02.2013, 16:44
Wohnort: Confoederatio Helvetica
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von Bambini »

Tolle Sache! Kann mich gut an die Nokia-Geschichte erinnern.
Das heisst also dass man permanent die Fortbewegung tippen muss und nicht nur die Richtungsänderung?
Gruss Beat
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Salut Bastelfreunde, Michael, Beat,

das Universalmodul besteht nur aus ganz wenigen Bauteilen, die meisten Funktionen werden in der Software des ATMega328P abgebildet. Ich wollte hier einen Baustein, bei dem man zum Basteln keine weitere Software entwickeln muss, sondern lediglich ein paar Einstellungen vornimmt, damit er sich wie gewünscht verhält. Und man sollte ihn mehrfach verwenden können, so dass sich dadurch auch komplizierte Bildschirme mit Text und Grafik bauen lassen. Ich habe einmal Schaltbild, Layoput und vor allem die Beschreibung angehängt - die musste ich mir selbst erstellen, weil es fast unmöglich ist, sich genau zu merken, welche Jumper nun für welche Einstellungen zu setzen sind. Im Snake-Spiel sind zwei Bausteine als Schlangen eingesetzt, eine davon automatisch, die andere von Hand steuerbar. Der dritte zeigt einen Zähler. Und alle drei kommen sich nicht ins Gehege, sondern überlagern sich bei der Darstellung einfach. Ledglich ein paar Logikbausteine brauchte ich noch - und genau so wollte ich das haben. Um das Snake-Spiel mit den vorhandenen Bausteinen zum Laufen zu bekommen, brauchte ich nicht eine einzige Zeile Code schreiben.

Man muss dann natürlich ein paar Kompromisse eingehen. Beispielsweise "frisst" unsere Schlange (anders als das Nokia-Original) keine Objekte und wird deshalb während des Spiels auch nicht länger. Das Bild hat auch keine sichtbaren Begrenzungen, so dass man am Anfang erst einmal erahnen muss, wo man an den Rand anstößt. Sowas ließe sich natürlich auch bauen; beispielsweise könnte man vier weitere Module nehmen und sie lediglich Balken darstellen lassen, die dann die Begrenzung symbolisieren. Da scheitert es dann bei mir letztlich am Platz, aber so ein selbstgebautes Spiel muss ja auch nicht perfekt sein.

Bambini, richtig beobachtet: hier muss man tatsächlich für jede Bewegung drücken. Beim Original drückt man nur für Richtungsänderungen, aber dann bewegt sich die Schlange automatisch weiter. Das war letztlich eine Designentscheidung - es ginge auch anders, allerdings müsste ich dann tatsächlich die Software des Universalmoduls ändern, weil diese Betriebsweise dort festgelegt ist.

Es grüßt herzlich
JL7/Frank
Dateianhänge
Universalmodul Schaltbild.png
Universalmodul Schaltbild.png (43.76 KiB) 17458 mal betrachtet
Universalmodul Schaltbild.png
Universalmodul Schaltbild.png (43.76 KiB) 17458 mal betrachtet
Universalmodul Layout.png
Universalmodul Layout.png (52.62 KiB) 17458 mal betrachtet
Universalmodul Layout.png
Universalmodul Layout.png (52.62 KiB) 17458 mal betrachtet
Universalmodul Beschreibung.pdf
(326.38 KiB) 284-mal heruntergeladen
Universalmodul Beschreibung.pdf
(326.38 KiB) 284-mal heruntergeladen
Physiker66
Fühlt sich wie zu Hause
Fühlt sich wie zu Hause
Beiträge: 278
Registriert: 25.07.2017, 21:27
Wohnort: Albuquerque, USA

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von Physiker66 »

Hallo Frank

Vielen Dank, das macht die ganze Sache viel viel klarer. Könntest du vielleicht auch noch den source code anhängen?

liebe Gruesse
Michael
:oops: Selbst ein schlechtes Experiment bildet die Wirklichkeit besser ab als eine gute Simulation.
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Wenn es nicht sofort sein muss, gerne. Ich stelle ohnehin alle Quellcodes von Mikrocontrollerprojekten zur Verfügung; es gibt dafür extra einen FTP-Zugang fürs Forum. Momentan muss ich noch etwas aufräumen - derzeit unterscheiden sich die Varianten für CRT und PAL ein wenig im Timing. Das ist historisch bedingt; ich hatte mit VGA-Timings angefangen und dann auf TV umgeschwenkt, musste mich aber bei der Ansteuerung der Bildröhre nicht exakt daran halten. Das kam dann erst mit der Unterstützung von PAL-Bildschirmen, und jetzt gilt es, die Änderungen auch auf die CRT-Variante zu übertragen.

Grüße, Frank
Physiker66
Fühlt sich wie zu Hause
Fühlt sich wie zu Hause
Beiträge: 278
Registriert: 25.07.2017, 21:27
Wohnort: Albuquerque, USA

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von Physiker66 »

kein Problem

Mich interessiert hauptsächlich wie viel Arbeit das mit einem uController ist - ich habe mit denen noch nie "gespielt" :)

schönes Wochenende
Michael
:oops: Selbst ein schlechtes Experiment bildet die Wirklichkeit besser ab als eine gute Simulation.
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Salut Michael,

ohne jetzt allzu tief in das Thema einzusteigen - dafür gibt es bspw. im Mikrocontrollerforum ein gutes Tutorial - gebe ich Dir hier einen kurzen Überblick, wie das Ganze funktioniert:

Diese Mikrocontroller sind kleine 8-Bit-Prozessoren, deren Ein- und Ausgänge beliebig festgelegt werden können - das erleichtert gegenüber Hardware wie der CMOS-4000-Serie schon einmal das Layouten. Außerdem bieten einige Pins spezielle Funktionen. Das Universalmodul nutzt beispielsweise die "Hardware-Interrupts", um das horizontale und vertikale Synchronsignal zu verarbeiten. Wenn so ein Impuls von außen auftritt, wird im µC eine Routine aufgerufen, die hier dafür sorgt, dass das erzeugte Bild immer synchron ist (also an derselben Stelle erscheint). Denn einen echten Grafikspeicher gibt es hier nicht (mangels Masse, der ATMega hat nicht genug davon), das Bild wird also 50mal in der Sekunde neu erzeugt, und jede Zeile 15625mal. Man kommt da schon andie Leistungsgrenzen. Die Texte werden mittels eines im Speicher abgelegten 8x12-Font erzeugt. Deshalb gibt es festgelegte Raster, man kann Text nicht an beliebiger Stelle ausgeben. Zur Ausgabe nutze ich hier wiederum eine Sonderfunktion des Controllers - man kann dort Daten einem internen Bus übergeben, der sie dann mit vorgegebener Geschwindigeit ausgibt. Üblicherweise nutzt man das für eine Kommunikation zwischen zwei µCs, aber hier werden auf dieselbe Weise Texte auf den Bildschirm geschrieben - die dank der vorgegebenen Geschwindigkeit ebenfalls stabil an derselben Stelle erscheinen. Die zwei unterschiedlichen Schriftgrößen werden erzeugt, indem einfach diese Geschwindigkeit verändert wird. Langsamer bedeutet dabei also größere Schrift.

Für die Verarbeitung von Eingangsdaten wird die Zeit des Zeilenrücklaufs benutzt, wenn keine Bildsignale erzeugt werden. Die Eingänge des Universalmoduls sind teilweise digital (Jumper rein oder raus), teilweise aber auch analog. Da werden dann regelmäßig die Eingänge abgefragt, allerdings mit sehr mäßiger Geschwindigkeit - 50Hz und teilweise sogar nur einmal pro Sekunde. Auf diese Weise kann man mit einem Poti die Ausgabeposition des Textes oder die Position von kleinen Rechtecken auf dem Bildschirm einstellen. Hier bei dem Snake-Spiel wird ein Poti genutzt, um die Bewegungsgeschwindigkeit der verfolgenden Schlange einzustellen. Auch der Fünf-Wege-Schalter funktioniert so. Im Ruhezustand liegen an den zwei Pins für Hoch-Runter und Links-Rechts etwa 0,6V an. Drückt man eine Taste, dann liegt an dem Pin entweder 1,2V an (für Rauf oder Rechts) oder 0V (für Runter oder Links). Der µC misst diese Spannungen und setzt sie dann in die gewünschte Aktion um. Auf diese Weise kann man sehr vielfältige Dinge umsetzen und auch echte Spannungsmessungen durchführen, wie es weiter oben gezeigt wurde.

Der ebenfalls weiter oben beschriebene Frequenzzähler zeigt aber auch die Leistungsgrenzen auf. Denn fürs Zählen höherer Frequenzen braucht man die volle Leistung des µC, weshalb während der Messung kein Bild angezeigt werden kann. Das würde sonst die Messung stark verfälschen. Da das Bild selbst aber von dem Bildgeneratormodul erzeugt wird, fehlt während der Messung auf dem Bildschirm nachher lediglich der ausgegebene Text; das Bildraster selbst bleibt stabil, und andere angezeigte Sachen von anderen Universalmodulen sind natürlich weiterhin zu sehen.

Noch ein Wort zu der immer notwendigen Mischerstufe: Das oben beschriebene Verfahren mit der Textausgabe erzeugt, würde man es direkt auf dem Bildschirm wiedergeben, schwarzen Text auf hellem Grund. Dafür sind die Bildröhren aufgrund der Begrenzungen der Videoverstärker nicht gut geeignet. Besser ist heller Text auf dunklem Grund - und das kann man dieser speziellen Ausgabeart nicht beibringen. Daher invertiert der Mischer das Textsignal und führt vier solcher Signale einem 4-fach-ODER-Gatter zu. So bekommt man bis zu vier helle Texte auf dunklem Grund mit einem Baustein auf den Bildschirm.

Der Rest ist reine Software, und da werden lediglich ein paar Pins ausgewertet, um dann bestimmte Texte auszugeben oder die Schlange in ein VU-Meter umzufunktionieren. Das ist zwar durchaus aufwändig, aber eben Butter-und-Brot-Programmierung.

Es grüßt herzlich
Frank/JL7
Benutzeravatar
JeanLuc7
Fast schon Admin
Fast schon Admin
Beiträge: 675
Registriert: 09.02.2011, 16:07
Wohnort: Berlin
Kontaktdaten:

Re: Ein Bildgenerator für die Bildröhreneinheiten

Beitrag von JeanLuc7 »

Salut Bastelfreunde,

nach ein paar Wochen gibt's mal wieder eine neue Schaltung aus diesem Bereich. Diesmal ist es eine Echtzeituhr mit Tagesanzeige und einem simulierten Pendel. Dazu kommen drei Universalbausteine zum Einsatz. Der eine erzeugt die Texte für den Wochentag, der zweite enthält die Uhr, der dritte steuert das Pendel.

Hinzu kommt die Echtzeituhr - und da wird es jetzt hakelig, denn solche Bausteine gibt es praktisch nur mit Mikrocontrollerbedienung. Deshalb habe ich den Hauptartikel auch unter der Mikrocontrollerrubrik abgelegt. Hier kommt einer von Ingos Bausteinen zum Einsatz.

Ein paar Infos zu den Universalbausteinen: Da die Bausteine zwar zählen und auch Uhrzeiten anzeigen können, aber nicht voreingestellt werden können, ist ein wenig Aufwand erforderlich. Beim Einschalten zählt die Uhr deshalb im Schnelldurchlauf von 0:00 vorwärts oder von 23:59 rückwärts - je nachdem, ob es schon nach Mittag ist. Sie hält dann exakt zur passenden Uhrzeit an und zählt im Minutentakt weiter. Gesrtellt werden kann die Uhr durch den oben vorgestellten 5-Wege-Schalter, dessen Werte hier der Mikrocontroller auswertet und umsetzt. Die Wochentage werden einfach durch Belegungen von drei Eingangspins des Universalbausteins erzeugt - Texte dafür waren schon vorgesehen.

Das Pendel wird durch ein Rechteck dargestellt, das auf dem Bildschirm frei positioniert werden kann durch Eingangsspannungen am Universalbaustein. Die Spannungen stammen aus einem zweikanaligen Digitalpotentiometer, das wiederum am Mikrocontroller hängt - ebenfalls einer der Bausteine, die Ingo seinerzeit herstellen lassen hat. Der Mikrocontroller erzeugt dazu die notwendigen Daten für eine sinusförmige Bewegung. Das macht er nicht selbst, sondern ich habe vorher eine passende Tabelle erstellt, die er einfach durchgeht und deren Werte an das Poti schickt - es soll ja auch schön aussehen.

Ein Video dazu gibt's auch.

Es grüßt herzlich
JL7/Frank
Dateianhänge
IMG_3251.JPG
IMG_3251.JPG (145.77 KiB) 17064 mal betrachtet
IMG_3251.JPG
IMG_3251.JPG (145.77 KiB) 17064 mal betrachtet
IMG_3256.JPG
IMG_3256.JPG (137.88 KiB) 17064 mal betrachtet
IMG_3256.JPG
IMG_3256.JPG (137.88 KiB) 17064 mal betrachtet
IMG_3255.JPG
IMG_3255.JPG (173.02 KiB) 17064 mal betrachtet
IMG_3255.JPG
IMG_3255.JPG (173.02 KiB) 17064 mal betrachtet
IMG_3253.JPG
IMG_3253.JPG (209.74 KiB) 17064 mal betrachtet
IMG_3253.JPG
IMG_3253.JPG (209.74 KiB) 17064 mal betrachtet
Antworten

Zurück zu „Bauteile, Baugruppen, Nachbauten, eigene Erweiterungen“