Hi,
nachdem ich malwieder eine weile am Lesen verbracht habe möchte ich einfach mal zusammenfassen wie ich die aktuelle Styro-CNC-Lage so verstanden habe. Ich muss dazu sagen dass ich hier keine CNC habe, und soweit nur versuche Christian durch verdoppelte "einlesekraft" zu helfen bzw. Wissen anzusammeln um irgendwann mal Tilmans CNC ans rennen zu bringen -- also wiedermal Vollbluttheorie

.
Also fangen wir mal vorne an -- abermals, ich schreibe das hier eher als "Hab' ich das so richtig verstanden?", falls jemand "Ja!" sagt dann als Diskussionsgrundlage. Keinenfalls weiß ich Bescheid
Der Grundaufbau ist ja:
Motoren <- Motor-Treiber/Leistungs-MOSFETs <- Motorinterface (Puls+Richtung) [<- Microcontroller zur Pulserzeugung und g.g.f mehr ODER <- Rechner mit LPT/ParPort] <- Software die [direkt Pulse erzeugt ODER eine "Zwischensprache" an den uC schickt]
Treiber
Sind bei "uns" ja meistens diese Standard-TB6050 China-Treiberplatinchen, ODER was selbstgebautes, meist mit dem gleichen integrierten Motortreiber-IC, ODER integrierte Lösungen mit Microcontroller.
Pulserzeugung // Controller
Ist auf jeden Fall Timing-Kritisch. Wenns der Rechner macht (und direkt über ParPort ausgibt), dann brauchen wir nen Rechner der entweder Echtzeitfähig ist (RT-Linux, z.B. mit LinuxCNC) ODER nehmen ein Windows auf dem nix anderes läuft dass auf einem Rechner ohne "Energiesparfunktionen" rennt. ODER aber ein Microcontroller auf dem wir Echtzeitanforderungen einfacher erfüllen können.
Interfaces
Falls wir ParPort nutzen haben wir hier kein Problem. Beim Microcontroller wirds lustiger, da gibt es viele Möglichkeiten:
- - "GRBL", ursprünglich Arduino-Software der man über ein serielles Protokoll G-Code gibt, welcher dann unter gewissen Parametern (Achsanzahl, Timing, F-Speed, Geometrie, ...) in Pulse zu den Treibern hin umgesetzt werden. AFAIK gibt es keine Styro-CNC-Programme die das können. Mittlerweile gibt es vielfältige GRBL-Kompatible Boards/Software, teilweise mit Motortreibern und mehr integriert.
- Jedi-Cut USBSerial, die JediCut-Leute haben ein mini-Arduino-Progrämmchen geschrieben dass ein paar einfachste Hex-Codes nimmt, die in eine Queue steckt, und dann Pulserzeugung macht. Im Google-Code-SVN von denen gibts dazu auch passend ein JediCut-Ausgabeplugin dass über Seriell (also USB-Serial) die Befehle rüberschickt.
- Das was GMFC macht. Steht irgendwo eigentlich was genau die machen? Gibts irgendwo Doku für das Protokoll, und/oder Code für bekannte Microcontroller-Platformen die das GMFC-Krams zu normalen Pulsen umsetzen damit man sein China-Treiberboard weiter verwenden kann? Letmathe hat hier so komische "ParPort->ParPort" Platinchen von denen ich noch nicht kapiert hab was sie machen
-- Oft wird für ParPort auch angegeben dass man einen "Timer" braucht (z.B. Jedi-Cut). Es gibt Schaltungen die einfach eine 10kHz/20kHz-Pulsquelle (NE555) an einen der ParPort-Pins hängen. Was genau soll das tun?
Software
Ist malwieder ein Chaos. Ich habe gefunden:
- - Profili, gibt G-Code aus den man prinzipiell sehr universell nutzen könnte -- z.B. an GRBL-Boards oder direkt an den ParPort (LinuxCNC/Mach3) werfen. Jedoch Problem mit schlechter Schneidestrategie, so dass man immer "Starfighter"-Profilnasen kriegt. Wer Scale-Jet-Warbirds mag...

- Jedi-Cut, konnte Christian noch nicht mit einfachem ParPort ohne "Timer" ans rennen kriegen. Es gibt die USBSerial Lösung dafür, die etwas sehr minimalistisch, aber funktionierend aussieht.
- GMFC, braucht irgend welche magischen eigenen Microcontroller/Timer/Treiber-Platinen, und ich hab nicht rausgefunden was die genau an Protokoll sprechen. Soll von der Schneidstrategie und flexibilität das Non-Plus-Ultra sein.
- LinuxCNC/EMC2, prinzipiell sehr flexibles Dingsda dass direkt auf den ParPort kotzen will und irgend eine Art der "Foam-Compensation" hat. Was genau findet man irgendwie ohne "Use the Source, Luke" nicht raus. Auch: man bräuchte halt gutes G-Code Ausgangsmaterial (z.B. aus Profili, Komma, Aber...)
Soooo, irgendwie hab ich den Eindruck als wäre die CNC-Welt hier etwas stark zersiedelt. Jeder kocht sein eigenes Süppchen, keiner ist mit dem anderen Kompatibel, und jeder hat ein heiloses Kabeldurcheinander zwischen duzenden Platinen rumfahren.
Hat jemand Lust mal mit zu versuchen etwas Ordnung hier rein zu bringen? Was tut bei euch denn *tatsächlich*?
Was ich als moegliche
Loesungen sehe:
Programm dass Profili-GCode nachbearbeitet
Man koennte sich ja ein Programm schreiben dass den Profili-GCode nachbearbeitet und fuer eine gescheite Nasenleiste sorgt. Waere insofern cool als dass man dahinter GRBL, Mach3/ParPort, LinuxCNC/ParPort, etc. verwenden koennte. Profili kann auch so tolle sachen wie Rohrholmausschnitte und sowas schneiden ... waer schon cool.
Nachteil: Muss man stricken und testen, g.g.f. viel Styro verblasen bis es gescheit tut. Man hat evtl so Sachen wie richtige Motorsynchronisation nicht "freihaus"??? Kann dann keine Rumpfteile schneiden
GMFC
Scheint ne Eierlegende Wollmilchsau und durchdacht, man kann wohl jeden Kaese wie Profili damit machen, und sogar Rumpfteile gehen.
Nachteil: Braucht selbergestrickte (oder gekaufte) spezielle Microcontroller/Timer/Treiberplatinen von denen ich noch nicht kapiert hab was sie eigentlich wie tun.
Jedi-ParPort
Waere ne einfache aber gute Loesung.
Leider: Bei Christian machts nur nen kleinen Zucker beim Starten, sonst nix.
Jedi-USBSerial
Klaenge einfach genug umzusetzen, man haette vmtl sehr gutes Timing.
Nachteil: Das Interface ist zwar dokumentiert und sehr einfach, aber am Ende tut die Anlage mit nix ausser Jedicut. Wenn man mal Rumpfteile oder Gartenzwerge schneiden will ist man (glaube ich??) gearscht.
Stimmt das soweit halbwegs?
Grüßle
-Dario