Forum: Mikrocontroller und Digitale Elektronik CNC-Schrittmotor-Controller welches Protokoll


von old-school_offline (Gast)


Lesenswert?

Hallo zusammen,

man kann Schrittmotoren ja über eine LPT direkt oder über einen 
Schrittmotor-Controller ansteuern.

Nun zu meiner Frage, gibt es denn ein standardisiertes Protokoll für 
solche Schrittmotor-Controller oder mach da jeder Hersteller sein eigens 
Ding ?

Für die ASTRO-FOKUS-Controller gibt es das LX200-Protokoll.

Besten Dank im voraus
Gruss Ralf

von Stephan H. (stephan-)


Lesenswert?

im Normatfall wird bei einfachen CNC mit Takt und Richtung gearbeitet.

von old-school_offline (Gast)


Lesenswert?

@Stephan Henning

>> im Normatfall wird bei einfachen CNC mit Takt und Richtung gearbeitet.

Richtig wenn die Motor-Treiber direkt an der LPT-angeschlossen werden.

Es gibt aber Schrittmotor-Controller die diese Ansteuerung der Treiber 
übernehmen und so den PC entlasten, dieser muss dann nur noch über COM 
oder USB die Koordinaten, die angefahren werden sollen übermitteln, der 
Controller übernimmt dann den gesamten Rest.

gibt es für solch Schrittmotor-Controller ein standardisiertes Protokoll 
?

Gruss Ralf

von didadu (Gast)


Lesenswert?

Wenn Du Punkte ansteuerst, wird es schwer mit Kurven. Die sind dann 
entweder aus geraden Strecken gestückelt, oder man muss sehr viele 
Einzeldaten senden. Demgegenüber spart Takt+Richtung sehr viel 
Byte-Sendeaufwand. Mit Takt+Richtung kann man auf genauestmögliche Weise 
beliebigen Kurven folgen. Oder man muss dem Controller Kreise, 
Bezier-Kurven usw. vorgeben können.

von Ralf G. (old-school) Benutzerseite


Lesenswert?

@didadu

hatte nur gesehen das viele professionelle Fräsen bzw. Motorsteuerungen 
mit Schrittmotor-Controller arbeiten ... muss doch was dran sein, wenn 
die es so machen ?

Gruss Ralf

von Wirus (Gast)


Lesenswert?

> hatte nur gesehen das viele professionelle Fräsen bzw. Motorsteuerungen
> mit Schrittmotor-Controller arbeiten ... muss doch was dran sein, wenn
> die es so machen ?

Das hat im wesentlichen mit den nicht garantierten Antwortzeiten 
moderner Betriebssysteme zu tun.

Ein Schrittmotor erwartet einen unbedingt zeitsyncronen Takt - den 
liefern Systeme ab Windows NT nicht sicher bzw. es ist ein hoher Aufwand 
nötig, das sicherzustellen (Stichwort: kein direkter Hardwarezugriff)

Defacto ist ein Microcontroller, der die Befehle ansyncron entgegen 
nimmt und taktsyncron an die Schrittmotortreiber weiter gibt wesentlich 
betriebssicherer und problemloser.

Genormtes Protokoll? Eher nicht ....

von Michael J. (jogibaer)


Lesenswert?

Hallo,

das G-Code Protokoll wäre das richtige für Dich.

Jogibär

von Ralf G. (old-school) Benutzerseite


Lesenswert?

@Wirus

>> garantierten Antwortzeiten moderner Betriebssysteme zu tun

ist mir bekannt ... habe ich bei meiner ersten selbst gebauten Steuerung 
spürbar mitbekommen.

auf der Suche nach alternativen habe ich ein Projekt vom CNC-Papst 
gefunden.

http://ftp.cnchungary.com/Varsanyi_Peter/CNC%20vezerles%20-%20leptetomotorral/Toshiba_TA8435H/Bauanleitung%20CNC%20Steuerung/Bauanleitung_V1.0.pdf

Da werden 30 Byte lange Befehle über eine RS232 an den 
Schrittmotor-Controller gesendet. Bei 19600 Baud sind das ca. 65 neue 
Positionen pro Sekunde.

Gruss Ralf

von Ralf G. (old-school) Benutzerseite


Lesenswert?

@ Michael Jogwich

vom G-Code Protokoll habe ich schon gehört ... arbeite mit meiner 
derzeitigen Fräse über ein eigenes Programm mit HPGL Daten.

Den G-Code muss ich mir mal genau anschauen ... gibt es eine 
Spezifikation dafür ?


Gruss Ralf

von Michael J. (jogibaer)


Lesenswert?

Ralf Greinert schrieb:
> @ Michael Jogwich
>
> vom G-Code Protokoll habe ich schon gehört ... arbeite mit meiner
> derzeitigen Fräse über ein eigenes Programm mit HPGL Daten.
>
> Den G-Code muss ich mir mal genau anschauen ... gibt es eine
> Spezifikation dafür ?
>
>
> Gruss Ralf

Hallo,

komplett nicht so richtig.
Suche selber, da ich was ähnliches vorhabe.

Einfach mal im Netz suchen.

Jogibär

von Michael_ (Gast)


Lesenswert?

>G-Code Protokoll
Das ist nur das Programmlisting.
Danach kommt der POST-Prozessor. Der ist in manchen Programmen gleich 
drin oder man muß ihn getrennt aufrufen. Er passt das Programm an an die 
jeweilige CNC-Maschine an.
Also für die Maschine des Herstellers A braucht man einen anderen 
POST-Prozessor als für die Maschine des Herstellers B, obwohl am Ende 
das gleiche Teil herauskommt.
Mit HPGL kann man eigentlich nur Klingelschilder machen, wo es nicht auf 
Genauigkeit ankommt.

von Ralf G. (old-school) Benutzerseite


Lesenswert?

>> Mit HPGL kann man eigentlich nur Klingelschilder machen

HPGL Resolution = 1016 Einheiten  Zoll oder 40 Einheiten  Millimeter

hat zum Leiterbahn-Isolations-Fräsen bislang immer gereicht ...

die Fräse muss die Genauigkeit erst mal hergeben :-)

Gruss Ralf

von Michael_ (Gast)


Lesenswert?

> Den G-Code muss ich mir mal genau anschauen ... gibt es eine
> Spezifikation dafür ?
Ein großer Anteil des Befehlssatzes ist gleich. Aber an bestimmten 
Teilen macht dann jede Firma was sie will!
Vielleicht hilft das weiter:
http://www.nct.hu/pdf/NC_Documents/Deutsche/Drehmaschine/nempre100.pdf

von Michael_ (Gast)


Lesenswert?

Hallo  Ralf Greinert (old-school)!
Das ist mir natürlich bekannt.
Aber die Praxis ist z.Bsp.:
- Corel-->HPGL-->Klingelschild/Aufkleber...
- Autodesk-->G-Kode-->Präzisionswerkstück
Und bei HPGL gibt es nur "Stift absenken".
Bei G-Kode ist man in der Z-Achse variabler (auch bis 5 Achsen). Das ist 
dann 2 1/2 D.

von Ralf G. (old-school) Benutzerseite


Lesenswert?

@Michael_

besten Dank für den Link ... super verständlich beschrieben :-)

Gruss Ralf

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

G-Code setzt mindestens eine Ebene zu hoch an. Bei den Soft-CNCs mit 
externem Controller (RS-232 nach LPT oder USB nach LPT) wird ja die 
Umsetzung vom G-Code in Verfahrbewegungen der Maschine (abhängig von 
Werkzeugeinstellungen etc.) noch auf der PC-Seite gemacht.

Der externe Controller erzeugt lediglich die für die gewünschten 
Geschwindigkeiten erforderlichen Taktsignale. Leider gibt es hier kein 
genormtes Protokoll, sondern jeder Hersteller kocht sein eigenes 
Süppchen. Was zwischen PC und Controller übertragen wird, kann ganz 
unterschiedlich aussehen. Entweder liegt die Hauptintelligenz auf der 
PC-Seite. Dann reicht es im Prinzip, Timer-Reload Werte schnell genug 
zum Controller zu schicken und dort zwischenzupuffern. Oder man sendet 
ganze Fahrbefehle, und der Controller muss dann die Rampen und den 
Bresenham (oder etwas vergleichbares) selbst machen.

Mit freundlichen Grüßen
Thorsten Ostermann

von Pieter (Gast)


Lesenswert?

moin moin,

G-Code macht schon was her und das mit einem MC zu interpretieren und 
direkt die Fräse zu steuern ist gar nicht so aufwendig. Nur "etwas" 
Mathe für die Fräsradienkorrektur, läuft aber alles im MC. Bei mir ist 
das ein C8051F340.

Mit Gruß
Pieter

von Grolle (Gast)


Lesenswert?

Schau Dir mal den RepRap an, da gibt es fertige Firmware (aktuelle 
Version 5D) für einen unkompliziertes AVR ATmega 644 Controller-Modul, 
das den G-Code für 3-Achsen-Steuerungen interpretiert und in die 
Step-Befehle für die Schrittmotortreiber (auch dafür gibt's dort 
verschiedene fertige Module) umsetzt.

Das ist alles Open Source Hardware und Software, mit einer aktiven 
Community, und es gibt eine Menge modulares Zeugs um dieses ganze System 
herum, inkl. PC-Software.

Das wäre sicher ein guter Startpunkt für solche Aktivitäten.

http://reprap.org/wiki/Mendel und dann "How to build..."
und die Foren unter
http://forums.reprap.org/

von Ralf G. (old-school) Benutzerseite


Lesenswert?

@Grolle

hört sich gut an ... Dank für den Tipp

Gruss Ralf

von Ralf G. (old-school) Benutzerseite


Lesenswert?

Hallo zusammen,

bin immer noch auf der suche nach einem externen
CNC-Schrittmotor-Controller und dabei immer wieder über den TMC-428 
gestolpert.

Ein tolles Teil, hat alles was man dafür benötigt, nur die SPI 
Schnittstelle ist für einen uC der direkt angeschlossen wird super, aber 
wie bekomme ich da einen PC z.B. über USB dran, mit uC habe ich so gut 
wie keine Erfahrung um so was hin zu bekommen.

Hat denn schon jemand einen TMC-428 an einen PC z.B. über einen uC 
angeschlossen und wenn wie.

Gruss Ralf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.