Hallo, möchte demnächst einen XY-Schreiber in Angriff nehmen und bin noch nicht so ganz sicher, was von der Elektronik- und Steuerungsseite her der beste Weg ist. Das Gerät soll mit Schrittmotoren betrieben werden und die sollen vom PC gesteuert werden. In der Hauptsache möchte ich damit am Computer entworfenen "Schnittmuster" auf Sperrholzbretter übertragen (zum Aussägen). Ausserdem hab ich mir überlegt wäre es ganz gut, wenn man damit Platinen bohren könnte. Mit einer Kleinbohrmaschine sozusagen als aufbaubare Z-Achse. Die mechanische Seite ist nicht so das Problem, hab sowas schon mal gebaut. Die Frage ist eher, welche Software es gibt, um a) Zeichnungen aufs Holz zu bringen b) Platinen zu bohren und natürlich, welche Steuerungselektronik von dieser Software angesteuert werden kann. Es macht ja keinen Sinn, die Stepper über Treibertransistoren direkt über den Parallelport zu steuern und keine Software kann damit was anfangen. Leider bin ich in beiden Punkten a) und b) bisher recht unbedarft, habe bis jetzt immer Holz zum Sägen mit der Hand angerissen und Platinen ebenfalls von Hand gebohrt. Also vielleicht mal vorne anfangen: Womit würdet Ihr einen Entwurf (z.B. Wände für ne kleinere LS-Box o.ä.) mit o.g. Aufbau aufs Holz bringen, schätze mal mit Autocad, gibts auch noch was anderes? Und mit welcher Software werden üblicherweise Platinen gebohrt?
Das Bisschen Software sollte kein Problem sein. Ein paar Schrittchen zaehlen... Print bohren mit NCDrill-files.
Der Quasi-Standard bei Echtzeit-Schrittmotorsteuerungen am PC-Parallelport ist das Step/Direction-Interface. Wenn du deine Hardware so aufbaust, solltest du genug Software finden zum Fräsen/Bohren/Plotten.
Hallo, das klingt ja schon mal gut! Wo findet man denn einen (möglichst bewährten) Schaltplan für das Step/Direction-Interface? Da kämen doch bestimmt mehrere Treiber-ICs in Frage...
Ich habe hier von einem älteren Projekt noch zwei unipolare Schrittmotoren samt Treiberschaltung (mit bipolaren Transistoren), die auf TTL-Pegel ansprechen. Die könnte man ja eigentlich noch verwenden. Dann würde nur noch ein Schrittmotorcontroller fehlen. Vielleicht den L297!? Oder ich beauftrage einen µC mit dieser Aufgabe (was mir fast lieber wäre). Dann stellt sich nur noch die Frage, wie die Daten bei so einem Step-Direction-Interface vom Parallelport übertragen werden. Kann jemand ein paar Worte dazu schreiben? Schätze mal, es gibt für jeden Motor jeweils eine Leitung "Puls" und "Direction" und dann noch eine zum Stift oder Bohrer absetzen. Das wären dann fünf Leitungen (wenn noch eine Z-Achse dazukäme, wären wir bei 7 Leitungen). Ist das so? (bei µC-Benutzung könnte man ja praktischerweise die Daten auch seriell von der Software übermitteln lassen fällt mir grade ein, das wäre weniger Kabelaufwand)
Theo wrote: > Ich habe hier von einem älteren Projekt noch zwei unipolare > Schrittmotoren samt Treiberschaltung (mit bipolaren Transistoren), die > auf TTL-Pegel ansprechen. Wunderbar, kannst Du verwenden. > Die könnte man ja eigentlich noch verwenden. Dann würde nur noch ein > Schrittmotorcontroller fehlen. Vielleicht den L297!? Oder ich beauftrage > einen µC mit dieser Aufgabe (was mir fast lieber wäre). L297 ist für bipolaren Schrittmotor... Schrittmotortreiber und Mikrocontroller schließen sich nicht aus, es ist meist angenehmer die Motorsteuerung dem Spezial-IC zu überlassen, so kann der Controller sich um den Rest kümmern... > Dann stellt sich nur noch die Frage, wie die Daten bei so einem > Step-Direction-Interface vom Parallelport übertragen werden. Kann jemand > ein paar Worte dazu schreiben? Schau Dir die entsp. Programme und deren Hilfe an, dann klären sich Deine Fragen. Evtl. Parallelportsteckerbelegung ansehen. > Schätze mal, es gibt für jeden Motor jeweils eine Leitung "Puls" und > "Direction" und dann noch eine zum Stift oder Bohrer absetzen. Das wären > dann fünf Leitungen (wenn noch eine Z-Achse dazukäme, wären wir bei 7 > Leitungen). Ist das so? Richtig, meinst für 3 (oder 4) Achsen. Zusätzlich evtl. Kühlwasserpumpe einschalten, usw. Allerdings, diese direktsteuernden Programme laufen meist nicht (oder schlecht) mit aktuellen Betriebssystemen, da die Leitungen der Parallelschnittstelle direkt zeitgenau geschaltet werden müssen. > (bei µC-Benutzung könnte man ja praktischerweise die Daten auch seriell > von der Software übermitteln lassen fällt mir grade ein, das wäre > weniger Kabelaufwand) Richtig, je nachdem wie gut Du Dich mit Mikrocontrollerprogrammierung auskennst ist das der bessere Weg. Platinenbohren ist relativ einfach, da ja nur x-y-Koordinaten angefahren werden müssen, der Weg dorthin interressiert nicht. Also kann der MC die entsprechenden x- und y-Schritte unabhängig voneinander an die Motoren ausgeben, er muss keine Weg- ,Kreisberechnungen durchführen... Die meisten Platinenlayoutprogramme können Bohrdateien ausgeben. (Excelleron) Das sind dann einfach die Koordinaten der Bohrungen. Ich hab mal einen Bohrplotter aus alten Druckermechaniken gebaut. http://freenet-homepage.de/ematronik/Bohrplotter/Bohrplotter.html Ein PC-Programm berechnet die Schritte, ein einfaches serielles Protokoll überträgt diese an einen Mikrocontroller. Dieser fährt die Motoren an die passende Position und bohrt das Loch... Anders sieht die Sache aus mit Deinen Schnittmustern aus. Hierfür würd ich mir einen alten Zeichnungsplotter besorgen (ebay). Der versteht HPGL-Befehle...
Hallo Ema, Danke für die ausführliche Antwort! Ich glaube, ich lass das mit dem Spezial-IC und nehme als Steppersteuerung einen µC. Hm, ich habe jetzt für die Schnittmustergeschichte noch kein Programm vor Augen, das hier Verwendung finden soll. Gibt es irgendwelche "2-D-Cad"-Freeware-Programme? Meine auf jeden Fall, irgendwo gelesen zu haben, dass viele Programme die HPGL-Befehle schon direkt in Steuercodes umsetzen können, bzw. dass es auch Programme gibt, die die HPGL-Dateien in Steuercodes umsetzen, so dass man wirklich nur noch ein einfaches Interface wie oben beschrieben benötigt. Übrigens an dieser Stelle ein grosses Kompliment für den Bohrplotter!!! Überhaupt die Idee mit den beiden Druckern finde ich schon grossartig! Auf meinem "Basterrechner" habe ich eben wegen dieser Parallelportprobleme bei höheren Betriebssystemen win98 und 2000 installiert und hatte unter beiden bisher keine Probleme bei Parallelportsteuerungen. Wobei manche ja sagen, ab 2000 gehen die Probleme mit dem LPT los. Also was mir auf jeden Fall fürs erste vorschwebt, ist ein XY-Plotter, der einen Stift oder einen Bohrer senken kann und die übermittelten Koordinaten anfährt. Ausserdem soll der Controller die Anschläge überwachen. Alles andere soll von PC-Seite erledigt werden.
Also unipolare Motoren kann man auch mit bipolarer Treiberbrücke anfahren. Für Echtzeit würde ich entweder DOS (falls sich noch eines findet), FreeDOS oder gleich ein Echtzeit-Linux benutzen. Da dann ein Kernelmodul zu schreiben und gut. Echtzeit unter Windows und normalem Linux ist nicht mehr möglich. Ich habe gerade einen Stepper am Parallelport, da kann man schön hören, wenn man im Firefox scrollt :-)
Ja, ich weiß, meine unipolaren Stepper waren vorher bipolare Ausführungen. ;) Also einer seriellen Datenübertragung wäre ich auch nicht abgeneigt, sollte ja mit MAX232 auch weiter kein Problem sein, blöd ist nur, das bei dem Rechner COM1 und 2 mehr oder minder schon belegt sind, es gibt bestimmt eine USB-Lösung. Jetzt gehts vielleicht erst mal darum, welche Programme für die Schnittmustererstellung in Frage kommen und wie man die Daten aufs Parkett bekommt!
Ich würde auch sagen: Wenn dein Gerät HPGL versteht (ein Subset davon reicht normalerweise), dann bist du auf jeden Fall auf der sicheren Seite. Ein Freeware CAD findet sich dann schon, welches HPGL erzeugen kann. Aber hüte dich vor dem Windows-HPGL Treiber (wird der eigentlich noch mit ausgeliefert), der ist sowas von Schrott! Für dein Seriell-Problem gibt es auch eine einfache Lösung: per FT232 eine USB Verbindung einrichten. Auf PC Seite taucht dann ein weiterer COM Port auf, auf µC Seite sprichst du das Teil ganz normal über die UART an (also wie eine normale serielle Verbindung). Der USB Teil ist für beide Computer also völlig transparent und tritt nicht in Erscheinung.
Das mit dem FT232 klingt gut! Ansonsten: wie ich das einschätze, wird mein Gerät so schnell kein HPGL verstehen. Aus Erfahrung weiß ich, dass ein simpler Linien-Algorithmus, der 100%ig funktioniert, schon eine echte Herausforderung für Selbstprogrammierer sein kann. Von Ellipsen und Kreissegmenten will ich da gar nicht reden... Fazit: es muss auf jeden Fall auf der PC-Seite ein HPGL-Interpreter her, der die HPGL-Befehle in die jeweiligen Schrittmotorsteuerimpulse umwandelt! Alternativ käme vielleicht intermediär noch ein µC in Frage, der das übernimmt...
Theo wrote: > Aus Erfahrung weiß ich, dass ein simpler Linien-Algorithmus, der 100%ig > funktioniert, schon eine echte Herausforderung für Selbstprogrammierer > sein kann. Aber geh, im Web finden sich tausende Implementierungen des Bresenham-Algos > Von Ellipsen und Kreissegmenten will ich da gar nicht > reden... Bei vielen CAD kann man einstellen, dass sie Kreise, Ellipsen und entsprechende Bögen selbst in kurze Geradenstücke auflösen. > Alternativ käme vielleicht intermediär noch ein µC in Frage, der das > übernimmt... Ooops. Ich bin eigentlich immer davon ausgegangen, dass du einen µC benutzt um die Mechanik anzusteuern. Sprich: dein Schneidplotter präsentiert sich für den PC wie ein ganz normaler Plotter. Wenn du sowas natürlich nicht willst, dann schauts allerdings wirklich schlecht aus mit einem Freeware CAD. Und auf Dauer wird dich der Umweg über so einen Konvert nerven (mich würde es).
Hallo Karl Heinz, Danke für die Infos! >Bei vielen CAD kann man einstellen, dass sie Kreise, Ellipsen und >entsprechende Bögen selbst in kurze Geradenstücke auflösen. Das wär ja nicht schlecht! >Ooops. Ich bin eigentlich immer davon ausgegangen, dass du einen µC >benutzt um die Mechanik anzusteuern. Sprich: dein Schneidplotter >präsentiert sich für den PC wie ein ganz normaler Plotter. >Wenn du sowas natürlich nicht willst, dann schauts allerdings wirklich >schlecht aus mit einem Freeware CAD. Und auf Dauer wird dich der Umweg >über so einen Konvert nerven (mich würde es). Ja, µC will ich auch benutzen, aber eigentlich nur für den seriellen Empfang, die (End-)Steuerung der Stepper (GO und DIRECTION in die eigentlichen Steuerbitmuster umwandeln) und die Überwachung der Anschläge nebst Stift- bzw. Bohrersteuerung. So, wie ich Dich verstehe, gibt es solche Konvert-Programme, die HPGL-Dateien in reine Steuerbefehle konvertieren?! Nicht, dass es zu Missverständnissen kommt, ich meine folgendes: PC: HPGL-Datei wird konvertiert, der PC gibt seriell an den Controller aus, welcher Schrittmotor sich wie oft drehen soll und in welche Richtung und ob der Stift gesenkt oder gehoben wird µC: erhält seriell die Befehle, z.B. Motor A eins vor, und sorgt dann seinerseits dafür, dass das über die entsprechende Bitmusterverschiebung geschieht. Wenn Du sagst, dass man mit reinen Linienbefehlen auskommt, gibt es sicher eine Möglichkeit, das noch ins Controllerprogramm einzubinden, wenn dadurch der Plotter direkt vom CAD-Programm angesteuert werden kann. Ich überlege grade, was jetzt die beste weitere Vorgehensweise wäre... Gibt es ein Freeware-CAD-Programm, das hier besonders empfehlenswert ist? Dann könnte ich ja das Ganze erst mal von der Softwareseite her angehen.
Theo wrote: > So, wie ich Dich verstehe, gibt es solche Konvert-Programme, die > HPGL-Dateien in reine Steuerbefehle konvertieren?! Keine Ahnung. Ich hab die Information über so einen Konverter aus einem deiner Postings rausgezogen. Ob es sowas gibt, weiß ich nicht. > Nicht, dass es zu Missverständnissen kommt, ich meine folgendes: Yep. So hab ich das dann auch nach deinem letzten Posting verstanden. Und hab mich mit einem Ooops aus der Affäre gezogen :-) > Gibt es ein Freeware-CAD-Programm, das hier besonders > empfehlenswert ist? Das ist schwer, weil ein CAD auch immer subjektiv bewertet wird. Aber ich hab diese Seite gefunden: http://www.freebyte.com/cad/cad.htm Kannst ja mal schauen, ob da was für dich dabei ist.
Hey, großartig, Danke für den Link! Dann werd ich mal ein paar CAD-Programme anschauen. Den Bresenham-Algo hab ich eben ge-wikipediat, ist ja eigentlich halb so wild mit der Vorlage. Mir ist wieder eingefallen, dass ich so einen Konverter mal in einem (ich glaube) niederländischen diy-Plotterforum gesehen habe, habe es leider eben beim Googeln nicht wiedergefunden. Ok, dann werd ich die Tage mal schauen und wenn Fragen zur Möglichen Umsetzung der Steuerung auftauchen noch mal posten. An dieser Stelle Danke an alle, die geschrieben haben!!!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.