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.