Direkte Schrittmotoransteuerung durch CNC-Programme unter Windows (z.B. Mach 3)

Gast #2771806
Lesenswert?

Hallo allerseits

Dass die direkte Schrittmotoransteuerung unter Windows über Parallelport 
suboptimal ist, ist ja bekannt. Nun gibts aber z.B. Mach3, das die Takt- 
und Richtungssignale direkt in Windows erzeugt und über den Parallelport 
ausgibt.

Weiß jemand, wie das genau gelöst wurde? Mein persönlicher Ansatz wäre, 
die notwendigen Rampen zum beschleunigen und abbremsen mittels 
Timer-Ereignissen zu erzeugen, das kann aber nicht wirklich eine Lösung 
sein. Mit Windows-Mitteln und Windows-Timern schafft man so gerade mal 1 
kHz als Taktfrequenz, das wäre für eine CNC-Maschine ja viel zu langsam.

Grüße, Georg
Moderator Persönliche Seite #2776291
Lesenswert?

Ich kenne das zumindest für LinuxCNC.

Dort arbeitet ein Echtzeit-Kernel.
Genaugenommen liegt dort der "übliche Linuxkern" nur als normale Task 
unter anderen vor, die aufgerufen wird, wenn sonst nichts zu tun ist. 
Die eigentliche Steuerung und Ausgabe der Schritte erfolgt derweil in 
harter Echtzeit durch entsprechend feine Timereinstellungen und Aufrufe 
der dort eingehängten Funktionen.

Es tritt dann nur noch eine Verzögerung (und vor allem) Jitter durch die 
Umschaltdauern der Taskwechsel auf, die (leider) je nach Board stark 
unterschiedlich sein können.

Es gibt aber schon eine Reihe von Boards, die man guten Gewissens nehmen 
kann und mit denen 50kHz durchaus möglich sind.

Ein Board ist das Intel D525MW mit Atom-Doppelprozessor, welches wir 
hier verwenden.

Dort kann man das in der Tat so wie Reinhard schreibt einrichten, dass 
ein Prozessor nur die Echtzeittasks bearbeitet und der andere für das 
"weiche" Linux zuständig ist. Damit wird die Dauer des Prozesswechsels 
nochmal reduziert und man hat trotzdem einen Flotten Desktop zur 
Verfügung.

Es ist auf jeden Fall beeindruckend, wenn die Fräse mit voller 
Geschwindigkeit läuft und man ohne Probleme und Ruckeln Filme gucken 
kann :-)

Chris D.
Gast #2776401
Lesenswert?

Pieter schrieb:
> ..und wo kann man so etwas einstellen?

Was heisst einstellen, das kann man bei Kithara kaufen, ist ganz neu 
(neue c't Seite 19). Kithara verspricht "Echtzeitcode mit 1 MHz und 
Abweichungen unter 1 µs".

Cores stillzulegen ist kein Problem, aber nur ein kleiner Teil der 
Lösung.

Wir hatten aber schon mit Windows 3.11 zufriedenstellend laufende 
CNC-Maschinen, das war damals schon so, dass nicht die CNC-Steuerung 
unter Windows lief, sondern Windows als Bedieneroberfläche mit niedriger 
Priorität unter dem CNC- bzw. Realtime-System.

Gruss Reinhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren