Hallo Johannes & Alfons,
viel helfen kann ich da nicht, aber möglicherweise gibt Dir der Screenshot von meinem System ein paar neue Ideen.
Links die Hauptmaske. Auf der Skala ganz links kann man sehen, wo der Tisch gerade steht. Oben die Position, "Distanz" kann man mit dem Knopf "Messen" auf Null stellen und dann die relative Distanz zwischen Positionen messen. Wichtig war mir die Funktion "Positionen anfahren", man kann sich bis zu 6 Höhen speichern und die dann gezielt anfahren. Zum Stacken gibt's ein Fenster, in dem die berechneten optimalen Höhendistanzen je nach Objektivapertur angezeigt werden. Das Fenster "Stackdaten" zeigt dann die tatsächlich gefahrenen Positionen. Wie man sieht, gibt's Unterschiede zwischen gewollter Höhe und tatsächlicher. - Die Kamera (Zeiss Axiocam) wird auch per Programm automatisch ausgelöst.
Programmiert ist das mit Visual Basic, aber da das nur Rechnerei ist, geht es mit allen anderen genau so gut. Leider ist es für Dein Stepmotorsystem nur indirekt verwendbar, weil die Z-Achse nicht über Schrittmotor, sondern über DC-Servo mit Encoder angetrieben wird.
[Blockierte Grafik: http://www2.pic-upload.de/img/32284324/ZAchse_Screenshot.jpg]
Für den y,x-Tisch habe ich ein Schrittmotorsystem, kann ich bei Interesse auch mal beschreiben (geht mit Arduinos).
Alfons, die Tische haben nicht nur Schrittmotoren, sondern es gibt auch welche (die besseren) mit DC-Servo. am besten mal aufschrauben und nachsehen, was auf dem Motor steht. Wenn Schrittmotor: einfache Lösung machbar. Servo: machbar aber teuer, weil der Treiberbaustein gekauft werden muß (hat eingebaute PID-Regelung, das ist für den Laien schwierig zu realisieren) - jedenfalls ist heute alles viel kleiner. Das Original-Steuergerät MCU28 von Zeiss für x,y,z war eine Riesenkiste, dagegen ist so ein Treiber heute nicht größer als eine Zigarettenschachtel.
Viele Grüße
Mallinckrodt