Tech-Ecke / Basteleien / CNC Fräse

 

      CNC-Fräsmaschine im Eigenbau

 


...und es geht auch ohne teure Schrittmotorensteuerung! 

Welcher Hobbybastler hat nicht schon mal bei Hornbach und co. vor der Rotwerk EFM-200 gestanden und nach einem vernünftigen Grund gesucht, um sich den 600 Euro hohen Anschaffungspreis schönzureden. In aller Regel bleibt die Maschine jedoch im Regal, zu hoch ist der Preis für die wenigen Einsätze, die sich ja irgendwie auch auf andere Weise bewerkstelligen lassen. Die Low-Budget-Lösung ist ein Kreuzsupport für die eh schon vorhandene Tischbohrmaschine. Genau so habe auch ich mich auch entschieden. Da Tischbohrmaschinen recht günstig zu haben sind, macht es Sinn sich für diesen Zweck gleich eine separate Maschine zuzulegen. Nach Begutachtung einiger Exemplare entschied ich mich für die Tischbohrmaschine T.I.P. TB13/5 und dem "Präzisions Kreuzsupport" von Westfalia. Beides zusammen kostete ca.150 Euro. Im Grunde hatte ich auch nicht mehr vor, als diese beiden Komponenten miteinander zu verheiraten, aber wenn man dann am basteln ist kommen einem ja immer noch diese lustigen Ideen... Heraus kam am Ende eine Computergesteuerte 3-Achsen-Fräsmaschine ;-) Wer auch vor hat einen ähnlichen Umbau vorzunehmen, der kann sich auf dieser Seite ja schon mal etwas Appetit holen.

Tischbohrmaschine T.I.P. TB13/5 Kreuzsupport

  • 300 Watt
  • 515-2850 U/min
  • 5 Stufen Riementrieb
  • Bohrtiefe 50mm

  • Tisch 315 x 145mm
  • Verfahrweg längs 165mm
  • Verfahrweg quer 110mm
  • Nachstellbare Führung

 

diese Seite beinhaltet:

 

   Der Umbau

Als erstes wurde das Stand-Rohr der Bohrmaschine verkürzt und der verstellbare Tisch demontiert. Danach musste am Kreuzsupport der Adaptionsflansch weichen (Bild 1), denn der ist größer als der untere Tisch der Bohrmaschine. Auch die weit ausladende Führung des Oberschlittens stellte sich als hinderlich heraus und musste aufgrund einer Kollision mit dem Stand-Rohr ausgeschnitten werden (Bild 2), was zum Glück nur unmerkliche Auswirkungen auf die Stabilität hat. Da ich sowieso schon mal am basteln war, verpasste ich der Maschine auch gleich eine ordentliche Z-Verstellung, wie man sie übrigens bei den Fertiggeräten, der unteren Preisklasse (z.B. EFM-200) vergeblich sucht :-). Als brauchbare Lösung stellte sich heraus, auf die vorhandene Tiefenzustellung ein Schneckenradgetriebe zu adaptieren (Bild 3 u. 4). Das hat neben einer ausreichenden Übersetzung auf engen Raum, gleich den Vorteil der Selbsthemmung. Eine Bezugsquelle für Zahnräder aller art ist z.B. die Firma Mädler.

Bild 1

Bild 2

Bild 3

Bild 4

Die Bohrspindel der TB13/5 ist zwar ausreichend und sehr solide gelagert, doch diese wiederum sitzt in der sehr spielbehafteten Gussgehäuse-Führung, was bei Radialkräften, wie sie beim Fräsen auftreten denkbar schlechte Auswirkungen hat. Kurzer Hand entschloss ich mich das Gehäuse mit einer feinen Trennscheibe aufzuschlitzen (Bild 5 - 1), um somit die Möglichkeit zu schaffen, durch Klemmen des Gehäuses, das Lagerspiel herauszustellen. Zum Klemmen des Gehäuses habe ich einen doppelseitigen Gewindebolzen auf einer Seite ins Gehäuse eingeschraubt und auf der Gegenseite einen Klemmhebel (Bild 5 -2) angebracht. 1 mm Trennscheiben gibt's z.B. bei Pfeifer

Bild 5

 

   Zweiter Streich


Bild 6

So, da stand sie nun, allerdings war ich noch nicht so recht zufrieden mit der Stabilität und demzufolge dem Fräsverhalten bei härteren Materialien. Im Grunde konnte man nur weichen Kunstoffen damit bearbeiten, selbst Aluminium war schon zu viel für die Maschine. Im wesentlichen ist das Stand-Rohr der TB13/5 schuld an der Instabilität, die beim Fräsen ein Flattern des gesamten Maschinenkopfs hervorruft. Aber auch das dünnwandige Gehäuse und die Flanschstellen des Rohrs sind nicht für hohe radiale Spindelkräfte ausgelegt. Also entschloss ich mich dazu diesen Bereich gründlich auszusteifen. Man könnte nun versuchen anstatt des Rohres ein Vollmaterial zu verwenden, jedoch würde sich dann der Flansch zum Tisch als nächster Schwachpunkt auftun. Ich entschied mich daher die komplette Einheit gegen ein massives Vierkant-Kastenprofil auszutauschen. Dieses habe ich aus zwei 50er Winkelstähle erstellt, welche ich zu einem Kastenprofil zusammengeschweißt habe. Um auch das letzte an Steifigkeit zu erreichen brachte ich zusätzlich noch rechts und links zwei Streben, sowie vorne ein Knotenblech zum Gehäuse an. (zu sehen auf den Bildern der fertigen Maschine). Allein durch diese Maßnahme war es nun auch möglich Stahl zu bearbeiten. Bislang habe ich die maximale Belastbarkeit noch nicht ausgetestet, aber bei 5mm Zustellung und einem 6mm Fräser bei vollem Fräsereingriff macht die Maschine noch keine Anstanden.
Im Grunde war mein ursprünglicher Wunsch nun erfüllt, jedoch kam mir während dem Basteln die Idee, dem Tisch noch einen automatischen Vorschub zu verpassen. Dies sollte mittels drei Niedervolt Getriebemotoren realisiert werden. Hervorragend eigenen sich Motoren aus dem Kfz-Bereich, wie Fensterheber- oder Scheibenwischermotoren, letztere bieten sogar unter umständen noch die Möglichkeit verschiedene Geschwindigkeiten zu fahren. Solche Motoren bekommt man z.B. bei www.Pollin.de oder auf dem Schrottplatz. Da je nach Anwendungsfall und KFZ-Hersteller hier mit unter komplett unterschiedliche Motoranbindungen zu finden sind, ist hier Erfindungsgeist bei der Anbinung gefragt. Wie ich es bei mir gelöst habe steht weiter unten im Text.
Nun wollen solche Motoren allerdings auch angesteuert werden. Bei Pollin fand ich Zwei-Wege Taster, Schalter und ein robustes Alugehäuse, welches sich richtig gut als Bedienpult machte. Eigentlich wollte ich die Motoren damit direkt ansteuern aber... nach dem ich sicherheitshalber die Stromaufnahme der Motoren gemessen hatte, musste ich meine Planung nochmals neu überdenken. Bei 3 Ampere und mehr, was die Motoren unter Last ziehen können würden die Schalter und Taster nicht lange mitmachen. Es musste also eine Relaissteuerung her, mit ausreichend dimensionierten Lastrelais (siehe Plan. 1). Wie so oft wurde ich bei Pollin fündig, 12V, 40A, ein Wechsler und das ganze auch noch für schmales Geld :-) Demzufolge wurde die Schaltung jedoch etwas komplizierter als sie hätte sein können. Aber genau diesem Umstand ist es zu verdanken, dass mir nette Idee in den Sinn kam. Denn wenn ich schon Relais nutze, dann könnte man doch gleich den Plan gleich so ausarbeiten, dass die Maschine auch von einem Computer gesteuert werden könnte. Die Idee einer Eigenbau-CNC Maschine war geboren. Dazu galt es jedoch noch eine Hürde zu nehmen, wie fragt man die Tischposition ab? Zum Einen könnte man die Position direkt abfragen oder aber über die Motor bzw. Getriebeumdrehung die Position ermitteln. Mittels Hallsensoren direkt am Motor wäre es möglich die Motorenumdrehungen zu zählen, aber dies ist nicht 100% genau. Denn die Motoren laufen nach dem Stromabfall immer noch ein wenig nach, was ein Hallsensor, aufgrund des quasi ausfallenden Magnetfeldes "übersehen" würde.


Bild 7

.

Schaltplan für die Ansteuerung eines Motors in beide Richtungen mittels Relais (Motor-Umpol-Steuerung)



Plan 1     siehe auch:
Motor-Umpol-Schaltung mit Relais

.

Jedoch gefiel mir die Idee einer Abtastung der Motoren im Grunde schon gut, da sie im Gegensatz zu einer Positionsabfrage des Tisches selbst, einfacher zu realisieren ist. Ziel ist es letztlich ja, die Spindelumdrehungen zu erfassen um somit die Position des Schlitten zu bestimmen. Um eine relativ brauchbare Erfassung zu erreichen, muss man einer Umdrehung allerdings auch einige Abtastimpulse verpassen. Glücklicher weise befindet sich im Getriebe der von mir verwendeten Motoren ein Kunststoffzwischenrad, welches gegenüber dem Abtrieb eine Übersetzung von 1:23 hat. Also befestigte ich zwei Magnete auf diesem Zwischenrad und versuchte dies mit einem simplen Reedkontakt abzufragen... Schön dass ich mir vor einiger Zeit mal eine Relaisbox gebaut hatte, die ich über den LPT-Port eines PC's ansteuern kann. Alles was ich dann noch benötigte war ein Signaleingang. Dieser kann ebenfalls vom LPT-Port übernommen werden. Zugegeben wäre der COM-Port aufgrund seiner Kurzschlussfestigkeit besser geeignet, aber warum zwei Stecker stöpseln wenn's auch mit einem geht. Nun musste ich nur noch ein paar Zeilen in QBasic schreiben und der Versuch konnte beginnen...  Zwar hatte ich am Anfang etwas Probleme, da beim Vorbeilaufen des Magneten der Reedkontakt vermutlich ins "Flattern" kam,  aber dieses Manko lässt sich im Programm beseitigen. Somit ist es möglich, eine volle Umdrehung, am Getriebeabtrieb in 46
Teilschritten zu erfassen. Da die Spindel eine Steigung von 2mm besitzt bedeutet dies eine Positionsgenauigkeit von etwas mehr als 4/100 mm, welches für meine Hobbyzwecke ausreichend genug ist. Aus Zeitmangel habe ich für alle drei Motoren die Abtastung fürs erste mit einem Reedkontakt realisiert. Wenn diese irgendwann ausgefeuert sind werde ich vermutlich auf Hallsensoren umrüsten.
Die Grundlagen waren nun alle vorhanden, jetzt ging es weiter mit dem Umbau. Denn bis dato hatte ich noch nicht einen Motor an der Maschine. Am einfachsten war die Adaption an der Längsverstellung (Bild 10), da hier genügend Platz ist und die Spindel keine Relativbewegung zum Oberschlitten macht. Die Z-Verstellung war hingegen schon etwas Anspruchsvoller aber immer noch leicht zu bewerkstelligen. Die Querverstellung war eindeutig die komplizierteste Herausforderung. Dort war das Problem, dass die Spindel eine Relativbewegung zum Unterschlitten macht und zudem nur begrenzt Platz vorhanden ist. Die Lösung kam dann aber dennoch. Normalerweise läuft die Spindel des Querschlittens in einer Gewindekulisse, die wiederum fest zum Untersupport montiert ist. Diese habe ich demontiert, abgedreht und in ein Rohr eingelötet, welches ich im Kastenprofil (Säule) gelagert habe. Dreht man nun an diesem Rohr, so drückt bzw. schiebt man den Unterschlitten relativ zur Fräse und somit zum Untersupport...
Bild 9 Bild 10 Bild 11

 

   Das Steuerungsprinzip etwas genauer

Soviel zur Entstehung der Maschine, aber sicherlich wollen nun einige wissen wie ich die Steuerung nun ohne Schrittmotoren realisiert habe. Vorab möchte ich allerdings noch ein paar Worte zum wesentlichen Prinzip los werden.

 

Das Prinzip der Steuerung

Alle drei Motoren werden über den LPT-Port des PC's gezielt verfahren. Dabei nutze ich die ersten 6 Datenbits im Datenregister des LPT-Ports zum Ansteuern der Motoren. Zur Erfassung der Umdrehungen, also somit der Vorschubstrecke, drei Eingänge des Statusregister. Genauer gesagt Pin 1 - 6 für Datenausgang (Motoransteuerung), Pin 10 - 12 für Dateneingang (Umdrehungserfassung). 
Dies hört sich eventuell komplizierter an als es eigentlich ist. Setzt man einen Datenbit des LPT-Ports, so steht an dem entsprechenden Pin eine Spannung von +5 Volt an. Als Eingang funktionieren dies genau umgekehrt, legt man hier eine Spannung von +5Volt an, so bekommt der entsprechende Eingang einen "High-Pegel", das gleiche (für diesen Fall) ereicht man durch anlegen von Masse welche man bei Pin 18 -25 findet und die wesentlich sicherere Methode ist. Hier sei auch mal erwähnt das der LPT-Port eigentlich nicht für Spielereichen geeignet ist, im Gegensatz zum COM-Port verzeiht er keine Überbelastung (max. 10mA bei 3,5 - 5 Volt) oder Kurzschlüsse, also Vorsicht!  Auf recht einfache Weise lässt sich der LPT-Port mit QBasic Ansteuern. Hierzu gibt es die Beiden Befehle OUT(x) und INP(x), aber dazu später mehr.

Betrachten wir zunächst mal nur eine Achse. Was ich erreichen will ist, der Computer soll mir den Motor einschalten bis der Schlitten, bzw. die Tiefenzustellung eine bestimmte Strecke zurückgelegt hat und dann den Motor wieder abschalten. Also setzte ich den entsprechenden Ausgang und lasse den Computer über den Eingang die Umdrehungen zählen. Bei erreichen der Sollumdrehungen wird der Ausgang dann wieder zurücksetzten.

 

Dateneingang und Modifikation an den Motoren

Wie nun schon mehrfach erwähnt, ist der Schlüssel meiner Steuerung die Umdrehungsfassung der Motoren bzw. einem geeignetem Zwischenrad im Getriebe. Hierzu kamen zwei unterschiedlich Abtastverfahren in frage. Zum Einen eine optische Erfassung über Loch bzw. Fächerscheibe, (Lichtschranke) oder über Magnete in Verbindung mit Hallsensoren bzw. Reedkontakte. Auf Grund der Getriebeart der von mir verwendeten Motoren, bei der es schwer wäre eine Achse nach außen zu führen, um dort eine optische Abtastung anzubringen, entschied ich mich für die Magnet-Abfrage. Ich bin irgendwie bei den Reedkontakten hängen geblieben, da ich bislang noch keine Probleme damit hatte. Eigentlich hatte ich bei dem ersten Test nur zu einem Reedkontakt gegriffen, da ich von der Ungeduld getrieben keine Lust hatte den etwas aufwendiger einzubindenden Hallsensor zu verwenden. Erstaunlicher weise funktionieren die Reedkontakte immer noch einwandfrei und das bei einer ständigen Beanschlagung von ca. 4 Hz. Wie auch immer, der Hallsensor ist allerdings hier die deutlich sicherere Wahl. und bei höheren Frequenzen auch unumgänglich. Prinzipiell ist die Erfassung schnell drehender Teile immer anspruchsvoller als welche mit relativ niedrigen Drehzahlen, jedoch steigt natürlich die Genauigkeit je näher man zur Antriebsdrehzahl, also der Motordrehzahl kommt. Ich denke in meinem Fall konnte ich einen guten Kompromiss eingehen. Da ich ein Zwischenrad als Magnetträger benutze, welches gegenüber der Abtriebsdrehzahl 1:23 untersetzt ist. Da ich zwei Magnete im Abstand von 180° unterbringen konnte, kann ich eine Abtriebsumdrehung in 46 Teilschritten erfassen. Die Gewindespindeln im Support haben eine Steigung von je 2mm. Dadurch ergibt sich eine Ansteuergenauigkeit von 2/46 also ca. 0.0435mm. 


Plan 2

Das Bild (Plan2) zeigt wie eine Drehzahlerfassung mittels Reedkontakt über den LPT-Port aussehen kann. Dabei wird der Reedkontakt in der Tat, so wie dargestellt einfach nur zwischen Masse (Pin 18-25, sind intern gebrückt) und einem Pin als Eingang geschaltet. In diesem Fall wird der Pin 15 benutzt, also ERROR vom Statusregister.

 

Datenausgang, Antriebssteuerung der Motoren

Im Grunde würden 4 Ausgänge reichen, um drei Gleichstrommotoren in beide Richtungen anzutreiben, zumindest wenn man nicht zwei Motoren gleichzeitig und in verschiedene Richtungen fahren lassen möchte. Die von mir verwendeten 6 Ausgänge wären also prinzipiell nicht nötig gewesen, jedoch erleichtert es das Zusammenspiel zwischen dem Bedienpult und der Steuerung durch den PC. Also galt es dem PC sechs Steuerspannungen zu entlocken, die je ein Relais schalten sollen. Der LPT-Port würde aber lautlos ins Jenseits befördert werden wenn man hier direkt ein Relais anschließen und erregen würde. Um das zu umgehen kann man die am Port liegenden Signale (TTL) über einen Leistungstreiber wie den ULN2803 verstärken. Wie eine Schaltung mittels Leistungstreiber aussehen kann zeigt diese Schaltung. Oder man verstärkt das Signal mittels einem Transistor, wofür ich mich letztlich entschieden habe. Um den empfindlichen LPT-Port zu schützen, lasse ich das Signal zuvor über einen Optokoppler laufen. Plan 3 zeigt den Aufbau dieser Schaltung für einen Ausgang.


Plan 3

 

Noch ein letzter Umbau

Ich greife jetzt mal in der Zeit ein wenig voraus. Nachdem das Programm zu Ansteuerung der Maschine stand und ich die ersten Fräsversuche unternahm, viel mir eines recht unschön auf. Insbesondere beim Fräsen von Kreisen, bei dem die beiden Achsen des Tisches im ständigem Wechsel geschaltet werden, sind die Relais ständig am Werkeln. Dabei machte ich mir weniger Gedanken um das nervige Geklackere, als darüber, dass die Relais dieser Belastung nicht lange standhalten können und ein wohl recht häufiges Ersetzen der ausgefeuerten Relais die Folge sein könnte. Trotzdem ich die Maschine dann doch eine nicht unbeachtliche Zeit, vollkommen störungsfrei mit den ersten Relais betrieben hatte, kam der bislang letzte Umbau auf eine relaislose Transistorsteuerung mittels Leistungstransistoren. Der Aufbau wirkt zwar im ersten Moment sehr komplex gegenüber der Relaisschaltung, aber eigentlich hält es sich doch in Grenzen und der Mehraufwand ist es meiner Meinung nach absolut Wert. Plan 4 Zeigt zunächst mal eine Transistorschaltung, die einen Drehrichtungswechsel eines Gleichstrommotors ermöglicht.


Plan 4

Mehr Infos zu dieser Schaltung gibt es hier:

 

Schaltplan komplett

Nachdem nun alle Grundelemente der Steuerung soweit erklärt sind, wird es Zeit für die komplette Schaltung vom PC bzw. Bedienpult-Schaltern bis zu den Motoren


Plan 5

Download CNC-steuerung.pdf hier

 

 

Bastelplatinenlayout zur Steuerung

PC-Ansteuerung (komplett) Motorschaltung (komplett)
       
vergrößern vergrößern vergrößern vergrößern

 

 

  Programmierung DOS

Wie schon oben angeführt hatte ich mich zunächst dazu entschlossen das Programm, welches die Maschine letztlich steuert in QBasic zu schreiben. Die Befehle um die seriellen und parallelen Schnittstellen des PC's anzusteuern und auszulesen sind OUT(x) und INP(x). Dabei steht das X für die Dezimaladresse des entsprechenden Registers. Die Ausgänge sind im Datenregister des LPT 1 zu suchen, also 888 und die Eingänge im Statusregister, hier 889. (LPT 2 wäre 632 und 635).

Der Syntax zum Setzten eines Ausgangs am LPT 1 ist:

  OUT(888),X (siehe Tabelle)
 
OUT(888), 1 2 4 8 16 32
+5Volt an Pin 2 3 4 5 6 7

(mehr zum Thema Relais am LPT-Port gibt's hier)

Syntax zum Auslesen eines Eingangs am LPT 1 ist:

  X = INP(889)
 

In die Variablen X wird der aktuelle Status-Wert des Statusregisters geschrieben. Je nach Rechner oder und Einstellung des LPT-Modus bekommen man hier unterschiedliche Werte für den gesetzten Zustand. Zumindest hatte ich bei drei unterschiedlichen Rechnern, trotz gleichem LPT-Modus auch drei unterschiedliche Werte für den einundselben Zustand. Warum dies so ist kann ich nicht erklären, tut aber auch der Sache keinen Abbruch und drum hatte es für mich auch nie einen Anreiz gegeben dies genauer unter die Lupe zu nehmen. Also am besten Schreibt man sich schnell einen Mini-5-Zeiler und testet es für seinen PC schnell selbst aus:

  CLS
DO
   X = INP(889)o
   LOCATE 1,1: PRINT X
LOOP
 

Nach dem Start kann man nun die einzelnen Eingangspins mit Masse von Pin 18-25 beanschlagen und sich die Werte notieren.

Nun steht einem gezielten Verfahren eines  Motors fast nichts mehr im Wege. Man kann davon ausgehen, dass der Magnet beim Vorbeischwingen den Reedkontakt nur wenige Millisekunden beanschlagt, dennoch ist unter DOS, selbst mit einem 486'er die Abtastrate des LPT-Ports noch schneller und wird den Wert, je nach Drehzahl gleich ein paar mal hintereinander ausgeben. Diese Tatsache sollte man in seinem Programm beachten. Wie im Umbauteil bereits erklärt, bewirkt ein Vorbeidrehender Magnet eventuell ein "Flattern" des Reedkontaktes. Dieses Problem könnte man Schaltungsseitig durch eine Entprellung lösen, aber warum mit dem Lötkolben rumhantieren wenn man dies auch Programmtechnisch lösen kann. Alles was man tun muss ist, nach dem ersten Signal des Reedkontakts eine Pause im Programm einbringen, die lange genug ist um über den Prellbereich hinauszukommen, aber nicht zulange ist, damit das nächste Signal nicht mehr erfasst werden könnte. Da hilft einfach nur ein wenig rumexperimentieren. Nach ein paar Versuchen stellte ich fest, dass dies auch eine wirklich sichere Sache ist, obwohl es zugegebener maßen im Programm etwas unsauber anzusehen ist. Bei schwachen Motoren ist diese Abstimmung wahrscheinlich etwas kniffliger als bei Motoren mit üppigem Drehmoment, da diese unter Last kaum einen Drehzahlabfall erleiden und von daher die "Reedkontakt-Pause" relativ konstant bleiben dürfte. Meine ersten Zeilen hierzu sahen wie folgt aus:  

  CLS
   INPUT" Wie viele Takte sollen beim Verfahren des Motors gezählt werden"; takte
DO
   taktsignal = INP(889)
   IF taktsignal = Eingangsignal THEN X = X + 1: FOR t = 1 TO 10000: NEXT t
   IF X = takte THEN OUT (888), 0: weiter
   LOOP


weiter:
   PRINT "Der Motor wurde" x; "Takte verfahren"
END

 

Man möge mir hier die 'quick and dirty' Pause mittels FOR..NEXT-Schleife, die je nach Rechnergeschwindigkeit anzupassen ist verzeihen. 

Kreisgleichung

Mit den nun vorhandenen Kenntnissen ist es ein einfaches, lineare Fräsarbeiten zu programmieren. Leider reicht das selbst für den Hobbybereich nur in den seltensten Fällen aus. Die "Königsdisziplin" beim Fräsen muss noch absolviert werden. Der Kreis. Da die Motoren nur unabhängig von einander verfahren werden können, muß diese in Teilschritten, nacheinander geschehen. Die einfachste Logik hierzu bietet die Kreisgleichung.
Hierbei nimmt man eine Achse (a/b oder x) und lässt diese in gleichgroßen Schritten Abfahren. Ich nenn sie hier mal Stellachse und nehme dazu die a/b Stecke. Diese wird nun um einen festgelegten Wert verfahren. Nach diesem Arbeitsgang wird die Strecke x berechnet und entsprechend nachgezogen. Danach folgt wieder das Verfahren in der a/b Stecke mit dem festgelegten Wert und anschließend wieder die Berechnung von x usw. Damit lassen sich jeweils Viertelkreise abfahren, die je nach Festlegung der Verfahrachsen und Vektoren zusammen einen Kreis ergeben. Tiefer möchte ich in dieses Thema nicht einsteigen, denn jeder wird nun selbst für sich herausfinden können welche Möglichkeiten mit dieser simplen Programmlogik offen stehen.  

 

  Programmierung Windows  

Warum nun jetzt Windows und nicht DOS? Eigentlich ist die Antwort ganz simpel. Ich hatte mich zu sehr von Meinungen leiten lassen, dass die Ansteuerung des LPT-Ports unter Windows zu komplex und unsicher sei. Das mag auch für viele Dinge zutreffen, jedoch ist die Ansteuerung mit einer dafür bestimmten Bibliothek (DLL) eben so simpel wie unter DOS mit QBasic und für meinen Zweck auch sicher bzw. schnell genug. Deswegen habe Ich begonnen einen simplen CNC-Programm-Editor unter Delphi zu stricken. Die Ansteuerung des LPT-Ports erledigt die, im Programm angezogene Bibliothek INPOUT32.DLL. Für alle die Interessiert an der Sache sind, habe ich das Programm "SelfCNC" im Programmdownload hinterlegt. Das Programm, welches mittlerweile in Version 2 zur Verfügung steht, ähnelt eher einer CAD-Anwendung für "arme" als einem CNC-Editor. Die einzelnen Befehle werden über Masken eingegeben und nach Abschluss direkt graphisch am Bildschirm ausgegeben. Das eigentliche CNC-Programm baut sich automatisch in der linken/unteren Bildschirmhälfte auf und dient gleichzeitig als Navigation durch die einzelnen Befehle. Auch wenn es im ersten Moment den Anschein hat, dass das so erzeugte Programm konform zur DIN 66025 ist, so unterscheidet es sich in Details doch sehr stark, insbesondere in der Angabe zum Kreis bzw. Kreisbogen. Mehr zum Funktionsumfang und zur Bedienung findet man im Programm unter "Hilfe/Kurzeinstieg".

 

   Weitere Bilder der Maschine

 

 

 

 

   

 

 

   

 

Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !

[letzte Aktualisierung 16.02.2009]