Fräse

Positionsanzeigesystem

Ausgangspunkt

Von Anfang an sollte an jede Achse eine Positionsmessung, damit ich mich beim Fräsen auf das Werkstück konzentrieren kann und nicht über die Anzeigeskalen grübeln muß, die gerade mal 50um Auflösung bieten.
Die professionellen Systeme waren mir mit einigen tausen EUR etwas zu teuer. Bei Deuss gibt es günstige Digitalmaßstäbe zu kaufen. Die passende Drei-Achsen Anzeige reichte mir weder in der Anzahl der Achsen noch in der Funktionalität aus. Ich wollte wenigstens von der Anzeige aus die Meßschieber in den fast mode bringen, beliebige Werte setzen und beliebige Achsen addieren und subtrahieren können. Das Ausgabepro-
tokoll der Meßschieber war in einem Beilegeblatt beschrieben. Also stand dem Eigenbau einer passenden Anzeigeeinheit nichts mehr im Weg.

Konzept

Die Ausgaben der vier Meßschieber laufen nicht synchronisiert. Ich wollte auch im fast mode jeden Ausgabe-
wert jedes Meßschiebers erfassen und anzeigen. Die maximale Reaktionszeit auf den ersten Puls durfte für die korrekte Meßwerterfassung 5us nicht überschreiten.
Also bekam jeder Meßschieber einen uC spendiert. Der liest die Daten aus dem Meßschieber aus, errechnet daraus einen Wert in mm und gibt diesen auf Anfrage an den Hauptprozessor weiter. Die Anzeige erhielt den Hauptprozessor. Der kümmert sich um die Menüführung, die Nutzerfunktionen und fragt die Meßwerte der Ausleseeinheiten ab. Das System erlaubt neben der reinen Abfrage der Meßschieber auch die Steuerung der Meßschieber, d.h. das Rücksetzen und Umschalten zwischen den einzelnen Betriebsmodi.

Hardware

Ausleseeinheit


Ausleseschaltung zum Messchieberinterface.

Im obigen Bild ist die Schaltung dargestellt. Als uC ist ein ATTiny2313 verbaut. Er läuft mit einem 8MHz-Takt, der im System an einer anderen Stelle erzeugt wird.
T103 und T104 dienen als Pegelwandler. Sie haben eine hinreichend geringe Schwellspannung, um bei der Interfaceamplitude von weniger als 1.5V immer noch sicher zu schalten. T101 und T102 dienen zum Um-
schalten zwischen den einzelnen Betriebsmodi der Meßschieber. Mehr dazu ist im Abschnitt Software aufge-
führt.
Das Interface zum Messchieber ist Anschluß X101. Darüber wird der Meßschieber auch mit Spannung ver-
sorgt. Die Knopfzelle kann also aus dem Meßschieber ausgebaut werden. X102 ist eine reine Programmier-
schnittstelle für den Prozessor. Die Kommunikation mit dem Hauptprozessor erfolgt über die UART-Leitun-
gen. Die UART-Leitungen aller Ausleseeinheiten sind parallelgeschaltet. Der TX-Ausgang wird per Software nur dann als Ausgang konfiguriert, wenn die Einheit vom Hauptprozessor adressiert wurde und antwortet. Für den Rest der Zeit ist der TX-Ausgang hochohmig. Da es nur einen Master im System gibt, sind Kollissionen ausgeschlossen.

Hauptprozessor, Bedienteil und Anzeigeeinheit



Hauptprozessor mit Schnittstellen.

Zum Schaltungsteil rund um den Hauptprozessor gibt es wenig zu sagen. Als Prozessor kommt ein ATMega8 zum Einsatz. Er läuft mit dem internen RC-Oszillator. X503 ist der Anschluß für ein vierzeiliges Standard ASCII-Display mit Hintergrundbeleuchtung. An X502 ist eine 4x4-Tastatur von RS-Components angeschlossen. X501 ist wieder ein reiner Programmiereingang.

Stromversorgung des Systems und der Meßschieber.

Der obere Teil der Stromversorgung versorgt die Prozessoren und das Display. Zu ihm gibt es nicht viel zu sagen. Der untere Teil ist die Versorgung der Meßschieber. Die Meßschieber benötigen eine recht genaue Spannungsversorgung. Unter 1.45V gehen sie teilweise schon in die Unterspannungswarnung. Über 1.55V wollen einige schon nicht mehr starten. Deshalb ist die Versorgung einstellbar und mit annehmbarer Schleifenverstärkung gestaltet, damit man damit das Optimum für die angeschlossenen Meßschieber su-
chen kann.

Interface und Übertragungsprotokoll der Meßschieber

Das folgende Bild zeigt den Interfaceanschluß und die Pinbelegung. Bei Deuss gibt es passende Stecker zu kaufen.

Interfaceanschluß des Meßschiebers.

Ausgangssignal des Meßschiebers. Codierte Längeninformation.

Der Datenstrom besteht aus 2*24 Bit (Bild links). Das erste Paket startet mit einer Clock High Phase von ca. 45us. Die Daten des ersten Pakets sind uninteressant. Vor dem zweiten Paket hat das Taktsignal eine High Phase von ca. 100us. Die nun folgenden 24 Bit enthalten die Längeninformation (Bild rechts).
Die ersten drei Bits (0..2) kann man unberücksichtigt lassen - oder zur Erhöhung der angezeigten Genauigkeit verwenden. Die weitere Längeninformation ist in den Bits 3..22 enthalten. Bit 23 ist das Vorzeichen der Län-
geninfo (0: positiv, 1: negativ). Die Länge in 1/100mm ist gleich der ausgelesenen Zahl (Bits 3..22) dividiert durch 1.00787.
Beim Schreiben dieser Seite stellte ich fest, daß es auch noch andere, sehr einfache Meßschieber mit einem anderen Protokoll gibt. Dieses ist im nachfolgenden Bild dargestellt. Das Signal besteht aus sieben Paketen zu je vier Bits. Wahrscheinlich entspricht jedes Paket einer dargestellten Ziffer. Genauere Untersuchungen zu diesem Protokoll habe ich noch nicht durchgeführt.

Übertragungssignal eines einfacheren Meßschiebers.

Betriebsmodi der Meßschieber

Jeder auch noch so billige Meßschieber hat mehr als einen Betriebsmodus. Bisher kenne ich zwei verschie-
dene Typen bezüglich der Betriebsmodi, einen mit kleinem Zustandsautomaten und einen mit einem größe-
ren Zustandsautomaten.
Kleiner Zustandsautomat. Großer Zustandsautomat.
   
Meßschieber mit kleinem Zustandsautomaten. Meßschieber mit großem Zustandsautomaten.

Alle Meßschieber bieten neben dem Normal Mode noch einen Hold Mode und einen Fast Mode. Im Hold Mo-
de bleibt die Anzeige stehen. Der Fast Mode ist für Anwendungen an Werkzeugmaschinen absolut zu empfeh-
len. In diesem Modus tastet der Meßschieber mit ca. 20Hz ab und gibt auch mit dieser Frequenz aus. Bei die-
ser Abtastfrequenz erfolgt die Anzeige in Echtzeit. Das ist der einzige Modus, in dem man nicht verzweifelt, wenn man an einer Kurbel der Mschine dreht. Die Meßschieber mit größerem Zustandsautomaten bieten zu-
sätzlich noch einen MIN- und einen MAX Mode. Wozu man diese und den Hold Mode je gebrauchen kann ist fraglich.
Zwischen den verschiedenen Betriebsmodi schaltet man um, indem man die Taktleitung (im Folgenden mit "0" bezeichnet) oder die Datenleitung (im Folgenden mit "1" bezeichnet) für kurze Zeit mit der Versorgungs-
spannung des Meßschiebers verbindet.
Die Tabelle unten zeigt die Anzeige eines Meßschiebers in den verschiedenen Betriebsmodi.
Normalmodus. Hold Mode.
Fast Mode.
Fast Min Mode. Fast Max Mode.
Hold Min Mode. Hold Max Mode.

Die Meßschieber mit kleinem Zustandsautomaten haben meist keine Anzeige für den Betriebsmodus. In welchem Modus sich ein solcher Meßschieber befindet sieht man nur anhand der Reaktion.

Software

Die Software für die Ausleseeinheiten ("caliperint.asm", siehe Downloads) ist für alle Ausleseeinheiten fast identisch. Der einzige Unterschied besteht im Wert "number", der zwischen 1 und 4 liegen muß und die ent-
sprechende Achse adressiert. Die Software liest den Wert aus dem Meßschieber aus und konveriert ihn in einen mm-Wert. Auf Anforderung ("0x8?", ?=Wert, der bei "number" eingetragen wurde) über die serielle Schnittstelle sendet die Software den konvertierten Wert über die serielle Schnittstelle. Außerdem gibt es noch drei weitere Befehle:
"0x9?" setzt den Meßschieber auf Null, wenn er im Normal Mode oder im Fast Mode ist. In anderen Betriebs-
modi dient er zum Auslösen eines Zustandsüberganges, siehe Abschnitt "Betriebsmodi der Meßschieber".
"0xA?" dient zum Auslösen verschiedener Zustandsübergänge, siehe Abschnitt "Betriebsmodi der Meßschieber".
"0xB?" schaltet den Meßschieber vom Normal Mode in den Fast Mode um.

Die Software für die Anzeigeeinheit wartet nach dem Power Up zunächst ca. 20 Sekunden. Danach sendet sie an alle angeschlossenen Ausleseeinheiten den Befehl, die Meßschieber in den Fast Mode umzuschalten. Die lange Wartezeit ist nötig, da meine bisherigen Meßschieber je nach Bauart erst ca. 10s..20s nach dem Power Up auf diesen Befehl reagieren.
Hier ein paar Features der Software:

Die Software ist weitestgehend intuitiv bedienbar. Im Hauptmenu kann man durch Betätigen der Taste "0" alle Achsen auf Null rückstzen. Durch Betätigen einer der Tasten "1".."4" gelangt man in die Untermenus der Ach-
sen 1 bis 4. Die Optionen der Untermenus erscheinen im Display. Nach Erreichen eines Untermenus einfach warten und die unteren Zeilen durchlesen. Die Einzelnen Einstellmöglichkeiten werden dort im Wechsel von mehreren Sekunden angezeigt. Auch in den tieferen Untermenus werden in gleicher Form die zur Verfügung stehenden Optionen angezeigt.
Nur die Modussteuerung ist nicht im Menu erläutert. Sie funktioniert folgendermaßen: Nach dem Drücken einer der Modustasten sollte man immer ca. 2s warten. Das ist kein Software Bug, son-
dern leider eine Notwendigkeit, da manche Meßschieber nach dem Senden eines solchen Signals für ca. 1s..2s keine Befehle entgegennehmen. In den Umschaltvorgang für den Fast Mode sind diese Wartezeiten bereits eingebaut, damit die Umschaltung fehlerfrei funktioniert.

Downloads

Es gibt zwei Hardwareversionen zum Download.
Version 1 beinhaltet die vier Ausleseeinheiten und die Zentrale zusammen auf einer Leiterplatte.
Version 2 beinhaltet separate Platinen für jede Ausleseeinheit und die Zentrale.
Die Software ist für alle Versionen identisch.

Aufbau

Die Platinen sind als einseitige Leiterplatten mit wenigen Brücken konzipiert. Sie lassen sich problemlos mit Hausmitteln anfertigen. Die Tastatur und das ASCII Display werden mit Steckverbindern angeschlossen. Vor dem ersten Anschluß der Meßschieber muß unbedingt die korrekte Versorgungsspannung von 1.5V einge-
stellt werden. Ist die Software eingelesen, sind Aufbau und Inbetriebnahme der Anzeigeeinheit abgeschlos-
sen.
Die Meßschieber verhalten sich mitunter beim Power Up etwas störrisch. Dieses Verhalten ließ sich mit einem direkt im Meßschieber eingelöteten Keramik-C verbessern. Treten damit immer noch Probleme auf, hilft es, in 20mV-Schritten nach einer günstigsten Versorgungsspannung für die Meßschieber zu suchen.

Meßschieber mit eingelötetem Siebkondensator.

Danach steht der Verwendung in der Endapplikation nichts mehr im Weg.
Ausleseeinheit nach Download Version 2, Unterseite. Ausleseeinheit nach Download Version 2, Oberseite.

Die freien/überbrückten SMD Footprints dienen dem Umschalten des 6poligen Interfaces zwischen Prozessor programmieren und Applikation.
Zentrale nach Download Version 1, Oberseite. Zentrale nach Download Version 1, Unterseite.

Die dargestellte Platine ist noch eine Vorversion gegenüber dem Download. Sie enthält noch ein paar Pat-
ches, die im Download bereits eingearbeitet sind. Tastatur und Display werden auf die beiden Buchsenlei-
sten an der Unterseite gesteckt.

Eingebaute Anzeigeeinheit.