The Arduino Daisy Wheel Electronic Typewriter Interface for a Commodore SQ-1000 connecting to a Centronics Port

  • Nachdem ich keine Schreibmaschine mit Interface im Internet gefunden habe, dachte ich mir, das kann doch gar nicht so schlimm sein, ein Interface zu entwickeln.

    Also als Erstes nach einer passenden Schreibmaschine gesucht, die günstig zu bekommen ist, und auch kein Exot ist, falls sie dann mal ihren Geist aufgibt.

    Gefunden habe ich eine Commodore SQ-1000, wohl baugleich zu Samsung SQ-1000 und noch weiteren.

    Als erstes habe ich das Ding aufgeschraubt, um mal zu sehen, was für Möglichkeiten es gibt, dort ein Interface anzuschliessen. Die Tastatur ist über eine Flachbandfolie mit der Platine verbunden,

    und das eignet sich hervorragend als Anschlußpunkt. Im Internet findet man ein bisschen darüber. Letzendlich ist die Tastatur über eine 8x8 Widerstandsmatrix angebunden, die also 64

    verschiedene Möglichkeiten bietet eine Verbindung herzustellen. Ist aber nicht so einfach, da für manche Buchstaben ja 2 Tasten gleichzeitig zu betätigen sind. Um es kurz zu machen:

    die 8 key scan Anschlüsse schicken Impulse raus, über den Empfangs-Zeitpunkt bei den 8 key return Anschlüssen erkennen diese dann, welcher scan Anschluss mit welchem return Anschluss verbunden ist, also welche Taste bzw. welche Tasten gedrückt sind. Die Tastatur Nachbildung ist also ganz einfach: zum richtigen Zeitpunkt einen Impuls ( oder mehrere ) an einen von den 8 return Anschlüssen schicken.

    Es gibt natürlich noch andere Lösungen, ich wollte aber außer dem ATMEGA und notgedrungen ein paar Widerständen keine anderen Bauteile verwenden, und die Software den Rest erledigen lassen.

    Und diese Platine ist dabei herausgekommen:


    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Rechts befindet sich die Centronics Schnittstelle, 14 Leitungen sind über Angst-Widerstände an den ATMEGA angebunden. Links die 8 Return Bus Leitungen über Widerstände verbunden, um zu verhindern, daß beim Betätigen der Tastatur der ATMEGA dicke Backen macht. Darunter die 8 scan Bus Leitungen mit Pull-Up Widerständen, sonst erkennt der ATMEGA die Impulse nicht.

    Eine Skizze über den Aufbau liegt ebenfalls bei.


    So sieht es jetzt unter der Tastatur aus. Links die Platine von der Schreibmaschine. Rechts das fest angeschlossene Centronics Kabel, das an der Seite nach hinten in das Netzkabelfach und von dort nach außen geführt wird. Irgendwelche Löcher zu bohren nicht nötig.


    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.


    Das ist die Unterseite der Commodore Platine, wo die 16 Leitungen für scan und return Bus angelötet wurden.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.


    Und zum Schluß ein Bildschirmausdruck ( Shift Print ) von einem 80286er.


    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Alles was das Typenrad hergibt, kann auch ausgedruckt werden, einschliesslich der besonderen Codes. Natürlich gab es damals noch kein @ , € und \.

    Ein kleiner Wermutstropfen: es gibt leider ein paar Ausreißer beim Ausdruck, wo statt des Großbuchstabens der Kleine geschrieben wird, dem BIT-Fresser werde ich noch auf dem Grund gehen.

    Wenn Interesse besteht, werde ich versuchen, das Ganze noch bei GitHub einzustellen, dann auch die Software dazu.

    Abschliessende Anmerkung: über die aufgewendete Zeit möchte ich lieber nicht sprechen.

  • Mir gefallen auch solche Basteleien. Die Zeit die man für sowas aufbringt darf man da einfach nicht sehen. Jetzt brauchen wir aber noch eine Livedemo auf Youtube :)

  • Das Programm läuft jetzt stabil, also Zeit es zu veröffentlichen.

    Den Stromlaufplan habe ich nochmal etwas hübscher gemacht.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.


    Aber Vorsicht, die Typewriter sind ziemlich laut und können dem Hausfrieden schaden.

  • Das Programm läuft jetzt stabil, also Zeit es zu veröffentlichen.

    Den Stromlaufplan habe ich nochmal etwas hübscher gemacht.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.


    Aber Vorsicht, die Typewriter sind ziemlich laut und können dem Hausfrieden schaden.

    Das finde ich hervorragend. Das lässt sich sicher auch einfach auf andere Schreibmaschinen, auch aus Italien, anpassen. Wenn das jemand für die Praxis 100/200 macht, dann passt das für eine ganze Menge andere Maschinen der Italiener: ET Personal 55, 56, PTP 505, PT 606, Linea 101, Triumph Adler Junior Electronic, Anitech DT 2002/3003, usw. Eine andere Gruppe weitestgehend baugleicher Maschinen wäre von Olivetti die älteren Praxis 30, 35, 40 und (seltene, da suche ich noch eine) Praxis 41 und Underwood 3000, evtl. auch die Praxis 45D, da muss ich nochmal schauen ob die auch die gleiche Tastatur hat. Für die alten Praxis-Maschinen (30, 35, 40, U3000) habe ich irgendwo den Schaltplan, auch für die Tastaturmatrix.

    Was du übrigens noch einbauen kannst, ist eine Konvertierung von besonderen Zeichen:

    - € kannst du mit einem "C", Rückschitt und "=" darstellen, da müsste der Ardiuno nacheinander eben diese 3 Tastendrücke an die Tastaturmatrix schicken.

    - @ kannst du mit einem großen "O", Rückschritt und "a" darstellen

    - ẞ (großes SZ, gibts eher selten) - da findet sich vielleicht auch etwas (vielleicht "B" Rückschritt "p").

    usw.

    Was du auch mal ausprobieren kannst, diese kleinen Maschinchen können ja meistens nicht unterstreichen - aber mit dem Ardiuno kannst du es ihnen beibringen, kostet halt Geschwindigkeit und Kopfbewegung, erst das Zeichen drucken, dann Rückschritt, dann "_" drucken, dann das nächste Zeichen. Das würde ich mit der passenden Epson-kompatiblen ESC-Sequent Ascii-27 und "-" zum ein und ausschalten machen, dann klappts aus den meisten Textverarbeitungen "out of the box". Alternativ wäre auch der Diabolo-630 Steuercorde Ascii-27+E (underline an), Ascii-27+R (underline aus) interessant. Vielleicht schaffst du sogar Fettdruck, bei den einfachen Maschinen ist die Positionsgenauigkeit des Druckwerks nicht so genau, wenn du also ein Zeichen druckst, dann Rückschritt, dann das gleiche Zeichen nochmal gedruckt, das könnte schon reichen um fette Buchstaben zu erzeugen, weil der Druckkopf nicht auf den 1/10mm genau auf die alte Position zurück kehrt.

    Das einzige was die Maschinchen bei dem Überdrucken-Trick mit Rückschritt schief gehen könnte, ist das Verhalten am rechten Rand, das muss man ausprobieren, evtl. muss man die Zeilenbreite z.B. auf der Maschine auf 61 Zeichen (rechter Rand zu linkem Rand) einstellen und vom PC aus dann nur 60 Zeichen pro Zeile drucken, oder sowas. Manche Maschinen führen beim Überdrucken evtl. auch eine automatische Korrektur mit Korrekturband aus, die Olivetti-Maschinen aber zumindestens nicht, da muss man vorher die Löschtaste "<X" drücken. Sowas lässt sich aber manuell vorher ausprobieren.

    1ST1

    3 Mal editiert, zuletzt von 1ST1 (29. April 2021 um 18:35)

  • Hallo PeacockXT , ich bin zufällig auf deinen Beitrag hier gestoßen. In meinem Keller vegetiert noch eine SQ1000 dahin, die Umrüstung als Typewriter sieht interessant aus.

    Ich hatte die Idee meine Schreibmaschine als Ein und Ausgabegerät für meinen Altairduino zu nutzen. Mich würde dein Quellcode für den Arduino interessieren, könntest du mir diesen freundlicherweise zur Verfügung stellen ?

    Viele Grüße 🙋🏼‍♂️

  • Hallo PeacockXT,

    vielen Dank für Dein hervorragendes Projekt und den zur Verfügung gestellten Code!

    Das ist genau das, was ich schon ewig gesucht habe.

    Ich wollte mir das als Stand-Alone-Projekt realisieren, bei dem der Arduino einen Text druckt, der auf ihn mit einer SD-Card übertragen wird.

    Aber direkt über den Parallel-Port, das ist genial!

    Ich bräuchte bitte noch etwas Hilfe, was Deinen Anschlußplan betrifft:

    Gehe richtig in der Annahme, daß die Pins 14,16 und17 unbenutzt sind?

    Und was mir komplett unklar ist:

    Womit ist Pin 13 der Centronics-Schnittstelle über den Widerstand verbunden? Da ist im Anschlußplan nur ein Kringel eingezeichnet.

    Welchen Druckertreiber kann man verwenden, wenn man von einem Windows-PC aus drucken bzw. tippen lassen will?


    Viele Grüße,

    Paul

  • Die Anschlüsse sind in dem Code beschrieben, das sollte der letzte Stand sein.

    ... der Weg ist das Ziel