TMCM-351, encoder: Gabellichtschranke als Endschalter ?

TMCM-351, encoder: Gabellichtschranke als Endschalter ?

Postby tom_s » 10 Sep 2011, 12:22

Hallo,

wir haben ein spezialisiertes Mikroskop in welchem 3 linear stages (jeweils für X,Y und Z Achse) verbaut sind, jedoch kein Controller enthalten war.
Jede einzelne stage wird über einen 0,9° Schrittmotor mit 1000-line encoder angetrieben.
Um die einzelnen Schrittmotoren präzise steuern zu können, wird ein Trinamic TMCM-351 Modul eingesetzt.
Damit lassen sich zwar die einzelnen stages bereits bewegen, jedoch ist mangels Referenz noch keine absolute Positionierung möglich.
Anstelle von Endschaltern ist in dem Mikroskop nun auf jeder Achse eine Gabellichtschranke mit einem Encoderstreifen verbaut, der in etwa wie folgt aussieht:


z_axis_stripe_small.jpg
z_axis_stripe_small.jpg (38.67 KiB) Viewed 553 times



* Wie lassen sich diese Gabellichtschranken am besten mit dem TMCM-351 Modul nutzen ?


Als Lösungsansatz wurde aktuell eine kleine Mikrocontroller-Schaltung (ATMega) aufgebaut, die den Zustand der jeweiligen
Gabellichtschranke (offen, geschlossen) ausliest und entsprechend die stop switch inputs (z.B. REF_0_R und REF_0_L) auf dem TMCM-351 Modul ansteuert.
Der Schaltung wird dabei direkt über das TMCM-351 Modul versorgt (mittels "+5V supply output for active switches").
Das Hauptproblem bei diesem Ansatz ist jedoch, daß unsrer Meinung nach ohne Zusatzinformation, lediglich mit der Information "Gabellichtschranke offen/geschlossen",
keine Aussage getroffen werden kann, ob das Ende einer Achse erreicht wurde.


* Gibt es in Bezug auf diese Problemstellung Lösungsvorschläge ?


Unsre derzeitigen Ansätze gehen in folgende Richtungen:

1)
Die Mikrocontroller-Schaltung wird an den SPI Bus des TMCM-351 Moduls angebunden.
Auf diese Weise könnten im Rahmen eines TMCL Programms Informationen über die aktuelle Laufrichtung, -geschwindigkeit oder relative Position an die Schaltung
geschickt werden, sodass diese entweder durch einfaches Zählen oder durch relative Positionbestimmung der "Gabellichtschranken Zustände" Rückschlüsse
auf die absolute Position ziehen kann.
Der große Nachteil dieses Ansatzes scheint allerdings zu sein, daß nun mehr keine einfachen TMCL Kommandos (etwa MVP, ROR, ROL, etc.) in der direct mode abgesetzt werden können,
da bei jeder Bewegung auch immer die notwendigen Informationen ausgelesen (etwa mit GAP) und über SPI (mit SAC) verschickt werden müssen.
Anstatt eines einfachen Kommandos, müsste also jedesmal ein komplettes TMCL Programm durchlaufen werden.
Dies erscheint insbesondere problematisch, da die Ansteuerung des TMCM-351 Moduls in den bestehenden Quellcode einer Mikroskopie-Software (µManager) eingearbeitet werden soll.
Anstatt einfache Kommandos von der Software aus abzusetzen, müssten jedesmal in der direkt mode zuvor erstellte und hochgeladene TMCL Programme/Funktionen aufgerufen werden.
Dadurch entsteht aus unsrer Sicht nicht nur ein wesentlich höherer Aufwand, sondern die Funktionalität des Moduls würde auch eingeschränkt auf die selbst erstellten TMCL Programme/Funktionen.

2)
Die Mikrocontroller-Schaltung bekommt (zusätzlich zum TMCM-351 Modul) das Quadratur-Signal der Encoder.
Pro Umdrehung wären dies 2*2*1000=4000 Flanken. Wir haben zwar die aktuell maximale Drehzahl (U/min) der Schrittmotoren mit den derzeitigen Parametern nicht bestimmt, da aber bereits bei 60 U/min (somit 1 U/sek) die Frequenz des Quadratur-Signals bei 4 kHz liegen würde, würde dies für einen kleineren Mikrocontroller schnell zu viel werden.
Man müsste also etwas in die Trickkiste greifen und etwa einen Prescaler (auf Kosten der Präzision) vorschalten.
Folglich hätte die Mikrocontroller-Schaltung unabhängig vom TMCM-351 Modul ständig die Richtungsinformation, die relative Position und die Geschwindigkeit.
Entsprechend dem obigen Ansatz 1) wäre es damit möglich die absolute Position zu bestimmen und die Referenzkontakte (z.B. REF_0_R und REF_0_L) auf dem TMCM-351 Modul anzusteuern.


* Gibt es andere, evt. einfachere Ansätze/Lösungsvorschläge ?


Wir würden uns jedenfalls über hilfreiche Vorschläge oder Anregungen freuen.

Grüße,
Tom
tom_s
User
User
 
Posts: 8
Joined: 10 Sep 2011, 10:25

Re: TMCM-351, encoder: Gabellichtschranke als Endschalter ?

Postby Olav Kahlbaum (TRINAMIC) » 12 Sep 2011, 07:40

Die einfachste Lösung für das Finden einer Referenzposition wäre wohl, eine zusätzliche Gabellichtschranke oder einen Schaltkontakt (z.B. Mikroschalter) zumindest an einem Ende des Weges anzubringen und mit einem der Endschaltereingänge (vorzugsweise dem linken) zu verbinden. Dann kann auf einfache Weise eine Referenzfahrt durchgeführt werden (das Modul enthält bereits eine Referenzfahrtfunktion, bei speziellen Wünschen kann natürlich auch in TMCL eine eigene Referenzfahrt programmiert werden).
Falls der Encoder über einen Nullkanal verfügt, könnte auch dieser als Referenzpunkt verwendet werden. Andere Lösungsansätze erscheinen mir doch zu aufwendig bzw. kompliziert und störanfällig.

Quadraturencoder werden am besten direkt an die Encodereingänge des TMCM-351 angeschlossen. Mit diesen Eingängen sind Zählfrequenzen bis in den MHz-Bereich möglich.
User avatar
Olav Kahlbaum (TRINAMIC)
Site Admin
 
Posts: 3416
Joined: 11 Aug 2006, 08:02

Re: TMCM-351, encoder: Gabellichtschranke als Endschalter ?

Postby tom_s » 12 Sep 2011, 12:48

Hallo,

ich danke für die Antwort. ich stimme ihnen zu, daß die einfachste Möglichkeit wäre die notwendigen Kontakte in die Stages einzubauen.
Nachdem die Stages aber ein in sich abgekapseltes System sind, können wir leider (vorallem aus Platzgründen) keine Komponenten wie weitere Gabellichtschranken oder Mikroschalter hinzufügen.
Es gilt somit die vorhandenen Information so zu nutzen, dass eine Aussage über die Endpositionen getroffen werden kann.

Die Quadraturencoder sind inkrementell und haben keinen Nullkanal. Es stehen lediglich die üblichen um 90° phasenverschobene Kanäle A und B zur Verfügung.
Die Encoder sind bereits direkt mit den Encodereingängen des TMCM-351 verbunden.
Falls die Lösung es erfordert, könnte jedoch der Encoder-Output zwischen Encoder und TMCM-351 abgegriffen und unabhängig verarbeitet werden.

Wir haben mittlerweile den 2. Lösungsansatz etwas weiter verfolgt:
Entsprechend dem Schaltungsbeispiel auf http://www.web-books.com/eLibrary/Engineering/Circuits/Digital/DIGI_11P3.htm lässt sich über ein D-type flip-flop auf einfache Weise die Drehrichtung des Encoders feststellen. Mit diesem Ausgang (rechts- (1) bzw. nicht rechts-drehend (0)) lässt sich mit dem Encoder Takt ein Counter (mit entsprechender Bitbreite) ansteuern.
Je nach gewählten Bauteilen sind damit Encoder-Frequenzen von mehreren MHz kein Problem mehr.
Die Mikrocontroller-Schaltung würde bei jeder Zustandsänderung der Gabellichtschranke den relativen Zählerwert aus dem Counterbaustein auslesen.
Mit einfachen Mitteln ist somit die Breite eines Streifens auf dem zuvor abgebildeten Encoderstreifen feststellbar.
Dadurch wäre dann auch die aktuelle Position und insbesondere die Endposition ermittelbar, sofern sich die stage beim Einschalten nicht bereits an einem Ende befindet.

Wir würden zwar einen echten Endschalter (wie von ihnen vorgeschlagen) präferieren, jedoch lässt dieser leider nicht in die stages integrieren.
Mit den gegebenen Informationen erscheint uns der obige Lösungsweg umsetzbar, für evt. bessere/einfachere Lösungswege sind wir jedoch natürlich weiterhin offen.

Grüße,
Tom
tom_s
User
User
 
Posts: 8
Joined: 10 Sep 2011, 10:25


Return to Modules / Interface issues / PC software

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron