INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Schrittmotorsteuerung über LPT bzw. parallel Port



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

20.11.2013, 09:17
Beitrag #1

StudiFH Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Nov 2010

2016
2010
DE


Schweiz
Schrittmotorsteuerung über LPT bzw. parallel Port
Hallo zusammen

Ich versuche seit einiger Zeit eine 3-Achsen Schrittmotorsteurung über die parallele Schnittstelle anzusteuern. Leider sind meine Kenntnisse in diesem Bereich eher beschränkt und bin daher auf Hilfe angewiesen. Es handelt sich um ein TB6560 driver board.

Mein Ziel ist es die gesamte Platine, also alle drei Achsen über das LPT zu steuern. Auf der mitgelieferten CD war leider keine dll
oder anere Kommunkationsmöglichkeit beschrieben.

Vielen Dank für eueren Input!


Angehängte Datei(en)
0.0 .pdf  Beschreibung.pdf (Größe: 667,22 KB / Downloads: 799)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2013, 11:27
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schrittmotorsteuerung über LPT bzw. parallel Port
Hallo Studi,

hat dein PC überhaupt noch einen LPT-Anschluß?

Ansonsten: Wenn man sich die PIN-Belegung anschaut, dann muss der Hersteller eine Software mitgeliefert haben (oder wenigstens simple BASIC/PASCAL-Beispiele)...

Dein Treiberboard macht anscheinend nur genau das: den Motor treiben. Alles weitere musst du in Software erledigen: Drehrichtungsvorgabe, Motorfreigabe und Clock-Generierung. Dafür benötigst du entsprechend viele digitale Ausgänge (DOs), die evtl. am LPT vorhanden sind. Ansonsten solltest du etwas in der Art einer USB6008 (software-getaktet, d.h. nur langsamer Clock möglich) nutzen.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2013, 12:02
Beitrag #3

StudiFH Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Nov 2010

2016
2010
DE


Schweiz
RE: Schrittmotorsteuerung über LPT bzw. parallel Port
Hallo GerdW

Vielen Dank für deine Antwort.

Der Hersteller hat eine Software mitgeschickt. Allerdings keine welche ich in LabVIEW verwenden könnte. Daher hatte ich gehofft, über die parallele Schnittstelle die einzelnen Pins zu steuern. Würde denn das gehen?

Andernfalls könnte ich es natürlich, wie du erwähnt hast, mit einer NI-Karte versuchen. Die erste Variante wäre allerdings "schöner".
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2013, 12:17
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Schrittmotorsteuerung über LPT bzw. parallel Port
http://www.ni.com/example/29213/en/

Gruß Markus

(20.11.2013 12:02 )StudiFH schrieb:  Der Hersteller hat eine Software mitgeschickt. Allerdings keine welche ich in LabVIEW verwenden könnte. Daher hatte ich gehofft, über die parallele Schnittstelle die einzelnen Pins zu steuern. Würde denn das gehen?

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2013, 14:40 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2013 14:43 von Kiesch.)
Beitrag #5

Kiesch Offline
LVF-Stammgast
***


Beiträge: 412
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Schrittmotorsteuerung über LPT bzw. parallel Port
Da ich sowas auch gemacht habe (quasi) und de facto die gleiche Architektur vorliegen habe:

Ansteuern konntest (bzw. kannst) die den Parrallel Port über die inPort bzw. outPort VIs. *weis grad nichtmehr wo die zu finden sind*
Das geht allerdings maximal bis Win Vista 32 bit bzw. Win XP (Win Vista 64 und neuere unterstützen die wohl garnichtmehr; bei Vista 32 Bit kann es wohl noch eingeschränkt funktionieren). Dafür musst du dann die Registeraddresse des Parralel Port raussuchen und benutzen. Funktioniert auch mit Steckkarten die einen Parralel Port haben. Du liest dann die entsprechende Registeraddresse ein für die ersten 8 Pins; die Addresse +1 für die Nächsten 8; anschließend wurde es glaube komplizierter. Schreiben geht natürlich genauso. Kann auch sein das du erst ab Pin 2 ansprichst, müsste ich nochmal nachschauen (also bei der Registeraddresse vom Parralelport Pin 2 - 9 und bei der Addresse +1 Pin 10 - 17).

Da du die Pins nicht einzeln setzen kannst besteht also ein Vorgang immer aus: Lesen --> Ändern --> Setzen (das muss also von anderen Zugriffen isoliert werden, wenn dein Programm nicht Scheiße machen soll). Das ganze sollte man dann noch auf 1ms pro Vorgang runterbremsen, dann taktest du das ganze auf 1kHz (was die Schrittmotoren leisten können sollten; falls immer noch zu schnell entsprechend Zeit weiter hochsetzen.

Empfehlen würde ich das ganze nur bedingt, da die Schnittstelle aus der Unterstützung von Labview rausgefallen ist / rausfällt (da man einfach keine neuen Treiber für die neue Win Architektur schreiben will / kann; wegen der entsprechenden MS seitigen Restriktionen).

Ich habe meine Architektur auf eine
NI USB 6501
http://sine.ni.com/nips/cds/view/p/lang/de/nid/201630

umgebaut. Sprich also: Über diese USB Box einen Parralelport "emuliert" (ergo: Die einzelnen Anschlüsse einfach entsprechend den PINs zugeordnet). Das dürfte einigermaßen Zukunftssicher sein, hat aber einen Nachteil: Dein Maximaltakt sinkt auf 500Hz (liegt wohl irgendwie an der USB Schnittstelle die eine Setzoperation auf 1ms Ausführungszeit runterbremst).


Wie funktioniert das ganze dann praktisch:

Wenn ich den Schaltplan sehe springen mir Spontan Ausgänge ins Auge die mit "X Step", "Y Step" etc. bezeichnet sind. Die dürften (wahrscheinlich) entweder auf einen Abfallende oder auf eine Ansteigende Flanke triggern und einen Step auslösen. Die Richtung wird dabei vorgegeben durch "X Dir", "Y Dir", etc. (dir = direction). Welche Richtung High ist und welche Low musst du natürlich noch selbst austesten. "X Enable", "Y Enable", etc. musst du vermutlich auf True setzen damit der überhaupt was macht (im schlimmsten Fall musst du da sogar nen Rechtecksignal dran haben damit der angeschaltet ist). Das kannst du an sich nur rausfinden indem du entweder High anlegen testetst und es geht ^^ oder indem du im Betrieb mit der Software mit einem Oszilloskop abgreifst was da genau anliegt.
Über den Bezeichnungen steht jeweils auf welchem Pin sich das befindet, so dass du das also auch per PC beschalten können solltest.

Im Betrieb musst du dann jeweils nur zuerst den Dir Eingang auf die Richtung setzen die du haben willst (High oder Low). Und dann ein Rechtecksignal am entsprechenden Step Eingang erzeugen (du brauchst zwar vermutlich nur eine der Flanken - bei meinem Aufbau mit einer anderen Treiberkarte Low auf High - allerdings musst du natürlich danach wieder auf Low zurück um eine neue Flanke zu erzeugen. Bei dem USB 6501 dauert einmal setzen jeweils 1ms, so dass du dann effektiv auf eine Taktfrequenz von 500Hz (also 500 Schritt pro Sekunde) kommst. Bei den inPort und outPort VIs geht das deutlich schneller als 1ms, da musst du schauen dass du die Funktion einbremst, da vor deutlich mehr als 1kHz die Motoren + Treiberkarte vermutlich kapitulieren werden (du merkst das daran, dass Schritte verloren gehen).
Das dürfte wahrscheinlich das Wesentliche sein was du für den Betrieb brauchst.

Was mich wundert ist, dass scheint es keine Endschalter vorgesehen sind auf dem Board. Die solltest du im Zweifel anbringen wenn du irgendwie mal ne Chance haben willst das zu kalibrieren und sinnvoll automatisiert zu fahren (Stichwort: Feststellen wo der Schrittmotor gerade steht - das geht quasi nur über fahren zu nem Endschalter).

Ansonsten: Die Angaben sind natürlich ohne Gewähr - ich kann nur deuten was ich da geschrieben sehe. Im Zweifel kann dir der Hersteller der Karte sicher auch weiterhelfen dabei, welche Signale auf welchem PIN erwartet werden. Den also am besten einfach mal ansprechen. Mit viel Glück bieten die dir sogar ne DLL mit der du Grundfunktionen zur Verfügung gestellt kriegst.

Ich muss auch mal schauen ob ich meine Ansteuerung über die inPort und outPort VIs hier noch rumliegen habe, dann kann ich dir die auch als Beispiel mal anhängen (auch wenn ich mich für das Programm eigentlich schämen muss da es noch aus meiner LV Anfangszeit stammt und entsprechende Unschönheiten enthält). Praktisch gesehen kannst du dich daran allerdings maximal orientieren, da bei dir die PIN Belegung natürlich anders ist als sie das bei meinem Aufbau ist.

Gruß Kiesch

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2013, 17:05 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2013 17:07 von StudiFH.)
Beitrag #6

StudiFH Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Nov 2010

2016
2010
DE


Schweiz
RE: Schrittmotorsteuerung über LPT bzw. parallel Port
Vielen Dank für eure Inputs !

Ich konnte das Problem mittlerweile über die parallele Schnittstelle lösen. Dazu werden die Daten (x738) und Status (x73A) Bytes der Schnittstelle verwendet. Trotzdem ich finde deinen Hinweis sehr hilfreich, dass diese nur bis Win XP funktioniert bzw. von NI supportet wird. Eventuell macht es sogar Sinn, das ganze mit NI-Hardware zu lösen.

Ich habe meinen Code als Anhang angefügt.


Angehängte Datei(en)
9.0 .vi  LPT_V2.vi (Größe: 18,9 KB / Downloads: 446)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2013, 17:26 (Dieser Beitrag wurde zuletzt bearbeitet: 20.11.2013 17:27 von jg.)
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Schrittmotorsteuerung über LPT bzw. parallel Port
(20.11.2013 17:05 )StudiFH schrieb:  Trotzdem ich finde deinen Hinweis sehr hilfreich, dass diese nur bis Win XP funktioniert bzw. von NI supportet wird. Eventuell macht es sogar Sinn, das ganze mit NI-Hardware zu lösen.
Support bis Win XP hat weniger mit NI zu als vielmehr mit Winzigweich, die nicht mehr den direkten Speicher-Zugriff erlaubt.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.11.2013, 23:48
Beitrag #8

StudiFH Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Nov 2010

2016
2010
DE


Schweiz
RE: Schrittmotorsteuerung über LPT bzw. parallel Port
Wie meinst du das mit dem WinzigWeich?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2013, 07:18
Beitrag #9

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Schrittmotorsteuerung über LPT bzw. parallel Port
Übersetz mal ins Englische. Big Grin

Gruß Markus

(20.11.2013 23:48 )StudiFH schrieb:  Wie meinst du das mit dem WinzigWeich?

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.11.2013, 08:42
Beitrag #10

StudiFH Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Nov 2010

2016
2010
DE


Schweiz
RE: Schrittmotorsteuerung über LPT bzw. parallel Port
Microsoft Construction
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  S7-300 über Ethernet parallel auslesen Hund am Strand 7 9.708 21.07.2012 11:31
Letzter Beitrag: Y-P

Gehe zu: