Ein Arduino-Programmierinterface für die TPS           

von  Günther Zivny
              
Elektronik-Labor  Literatur  Projekte  Lernpakete  TPS




Download: Diese Anleitung  TPS-Programmer.pdf              

Als Vorteil der „tastenprogrammierbaren Steuerung“ kann gelten, dass man zur Programmierung keinen PC braucht. Der kleine und anspruchslose Controller ist sehr praktisch für kleine Projekte. Wenn die ersten Versuche gut geklappt haben, hat man aber vielleicht auch Ideen für größere Aufgaben. Weil die Programme dann länger sind und meist auch nicht auf Anhieb laufen, wird man mit der Tastenprogrammierung aber nicht mehr froh. In diesem Fall ist das Emulationsprogramm SPS_Emu von Wilfried Klaas genau richtig. Besonders schön ist, dass die eingegebenen Programme auch am PC getestet werden können. Eine direkte Übertragung des Programms auf die TPS ist aber nur möglich, wenn die TPS ein Arduino ist (ebenfalls von Wilfried Klaas). Zur Übertragung auf die Original-TPS mit dem HOLTEK-Controller braucht es ein Interface. Mit diesem Beitrag möchte ich diese Lücke im Angebot schließen. Das Interface ist mit einem Arduino Uno realisiert.

Das Emulationsprogramm SPS_Emu.exe kann von der Webseite www.rcarduino.de, Menüpunkt Arduino SPS / TPS/SPS Emulator heruntergeladen werden. (umgelenkt auf neue Adresse: https://wk-music.de/ArduinoWiki/ )
Mein Programm, das in den Arduino geladen werden muss, gibt es hier.
TPS-Programmer.zip

Schritt-für Schritt-Anleitung

1. Öffnen Sie die Arduino-IDE und laden Sie das Programm TPS-Programmer.ino in den Arduino.
2. Ziehen Sie den USB-Stecker und verbinden Sie den Arduino mit der TPS, wie gezeigt. Achten Sie auf die richtige Polung der Betriebsspannung. Die Dioden schützen den Arduino. Es geht natürlich auch ohne, dann dürfen aber die Tasten der TPS nicht betätigt werden, wenn die TPS mit dem Arduino verbunden ist.
3. Erstellen und testen Sie ihr Programm mit SPS_Emu. Wählen Sie als Zielsystem HOLTEK.
4. Schließen Sie den Arduino über USB an den PC an.
5. Wechseln Sie zur Programmübertragung das Zielsystem auf „Arduino“. Klicken Sie auf den Button „Übertragen“ in der Bedienleiste am oberen Bildschirmrand.

Die Übertragung ist beendet, wenn die LED auf der Arduino-Platine nicht mehr flackert, sondern dauernd leuchtet. Ziehen Sie den USB-Stecker. Fertig!
Falls sich auf der TPS nichts tut, wurde die Übertragung wegen eines Übertragungsfehlers abgebrochen, was in der Praxis aber nicht vorkommt.



Hintergrundinformationen:

SPS_Emu sendet ASCII-Zeichen mit 9600 Baud. Man kann diese Zeichen auch mit dem Seriellen Monitor der Arduino-IDE senden.
Die folgende Sequenz




ergibt ein Blinkprogramm. Die grün gedruckten Ziffern geben die Anzahl der Programmcodes in der Zeile an. Die rot gedruckten Ziffern sind der eigentliche Programmcode. Man kann diese Sequenz auch erhalten, wenn man auf den Button „HEX-Datei erzeugen“ der SPS_Emu klickt. Um das Programm zu starten, muss man „w“ senden und zum Abschluss „e“.

Am Seriellen Monitor kann man nun den Ablauf der Programmierung beobachten. Die gleichzeitige Verwendung des Monitors und von SPS_Emu ist leider nicht möglich, weil beide auf dieselbe COM-Schnittstelle zugreifen.

Ich habe den Programmcode weitgehend von der Arduino-basierten TPS übernommen und nur die Passage, in der das EEROM programmiert wird, durch neuen Code ersetzt, sodass jetzt der HOLTEK-Controller programmiert wird. Bei den Verzögerungszeiten habe ich mich an den Angaben zum
Tippomat 2 orientiert.



Elektronik-Labor  Literatur  Projekte  Lernpakete  TPS