Hi, ich habe eine Platine mit zwei Motortreiberstufen (L297, L298) aufgebaut und möchte nun über den PC via RS232 HPGL Dateien an die Schaltung senden und diese soll dann die zwei Motoren für x und y Richtung bewegen. Ich wollte auf PC Seite einen Druckertreiber von der Firma Roland verwenden. Die Daten habe ich mir mal per Datei Plot und per SerialWatcher angesehen und er setzt die Daten in gutes HPGL um. Nun auch auf uC Seite habe ich bereits entwas programmiert. Nun würde ich gerne wissen, ob jemand eine hpgl implementierung kennt, oder ein Projekt, dass sich damit beschäftigt hat. Am besten wäre wenn jemand ein Projekt mit Schrittmotoransteuerung anhand von PC gesendeten HPGL Daten kennt. Ich danke euch vielmals im Voraus. Matthias
Naja. Die Schritmotoren spannen ein Koordinatensystem auf. Jetzt muss man nur noch die relativen Schritte zaehlen.
Yo is schon klar, aber die Frage war ja ob jemand eine hpgl implementierung kennt, oder ein Projekt, dass sich damit beschäftigt hat. (Für ATMEL uC)
Hallo, an einer HPGL-Implemnentierung für Mikrocontroller wäre ich auch noch interesiert, das würde zwar nicht den Bau aber zumindest die Softwareseite meiner Fräse erheblich vereinfachen, da es unter Windoof anscheinend nicht all zu viele freie Programme zur Ansteuerung einer solchen gibt und ich mich mit Linux überhaupt nicht auskenne. Florian
Soweit ich mich recht erinnere ist HPGFL eine Zeichnungs Sprache, heisst Stift 1,,N, resp Farbe 1..N, und dann gibt es Commands wie StiftRunter fahrezu(), StiftRauf, aber Aperturen gibt es keine, heisst der Stift hat keine Breite. Ah, ja, Kreise gibt es noch und Boegen, Text, Buchstaben, TextZahlen. Und das war's dann etwa. Nicht ganz richtig : Google nach "HPGL Command set" http://www.isoplotec.co.jp/HPGL/eHPGL.htm http://www.piclist.com/techref/language/hpgl.htm wenn man das Ganze will, ist nicht wirklich schwierig, passt aber nicht mehr in einen AVR. Ein Subset sollte eine kleine Uebung sein.
HPGL ist ziemlich simpel, einen entsprechenden Interpreter kann man zur Not selber schreiben. Die einzelnen Befehle bestehen immer aus einem Kommando und keinem oder ein oder zwei Parameter (meist Koordinaten). Z.B. PD pen down PU pen up PA xxx,yyy position absolute xxx,yyy PR xxx,yyy position relative usw. Frank
Hallo, ich habe einen kleinen Interpreter für HPGL - Ecellon - Ecellon2 für den PC, und dem Conrad Motortreiber. Sehr kompakter code. Der Motortreiber vom C hat leider den Nachteil, daß er im Prinzip ULN2003 verwendet, mit Addressdekodierung und ev. latches. Das heisst, ein Motor kann nur zur gleichen Zeit angesteuert werden. Wenn man den bresenham algorithmus dazumacht, kann man das ganze auch in eine mcu reinnehmen. PS. der Code ist nicht der Orginalcode, sondern ein bisschen modifiziert.
@Matthias, Grundsätzlich ist das natürlich denkbar. Falls Du aber eine Fräse bauen willst (geht aus Deiner Frage nicht so genau hervor) musst Du Dich noch etwas mehr mit der Gesamtproblematik befassen, ich persönlich habe sowas vor einiger Zeit gemacht. Es entsteht nämlich durchaus eine gewisse Rechnerei, die Du auch in einem AVR unterbringen müsstest. HPGL ist simpel, kann aber nur 2D. Um den HPGL-Linienzügen dann noch Tiefenangaben (zum fräsen/bohren) zuzuordnen, musst Du wenigstens noch einen Editor zwischen Zeichenprogramm und Fräse schalten. Ich habe mir das seinerzeit komplett selbst als Windows-App. geschrieben, die dann auch noch solche Dinge wie Zustellung und Radiuskorrektur machen kann. Denn nicht vergessen: Beim Fräsen kannst Du nicht immer jede Linie in einem Zug erledigen, sondern je nach Material musst Du vielleicht 5 mal die Linie abfahren und immer ein Stück tiefer gehen. Zudem muss der Radius des Fräsers bei der Linienkontur berücksichtigt werden. Es ensteht also NACH dem HPGL-Erstellen noch eine ganze Menge an Overheaddaten, die irgendwo erfasst/verwaltet werden müssen. HPGP Werte sind in Plottereinheiten angegeben, das sind fast immer 1016 Schritte je Zoll. Das klingt erstmal krank, hat aber einen Grund, denn das sind genau 40 Schritte je Millimeter. (1016/25.4) Genauer geht HPGL also erstmal nicht. Nun musst Du die Anzahl der Schritte der Steppermotoren und dann noch die Steigungen der Spindeln einfliessen lassen. Und zum Schluss benötigst Du eine sog. Bahnsteuerung, d.h. Du kannst nach Bresenham die Steigungspunkte einer Linie berechnen, die Motoren sollen aber ZUGLEICH und nicht nacheinander gesteuert werden. Nur so entsteht eine saubere Linie und keine Treppe. Jochen Müller
Hallo, diesem problem habe ich mich angenommen und sowas realisiert. es ist noch nicht ganz fertig, kann aber unter http://www.woodym.de begutachtet werden. Zum Einen ist hier eine Mechanik beschrieben die auch bezahlbar ist, zum Anderen eine Software mit der die Korrekturen für HPGL für eine Fräsmaschine gemacht werden. Die Windows-Software kann jedoch keine Radius-Korrektur und keine Zustellung berücksichtigt. Die Zustellung kann man über die Angabe der Plotterstifte realsieren. Zwischen der Windows-software die nur zur Aufbereitung der Daten verwendet wird und der Motorsteuerung gibt es noch eine kleine Steuerung die die ganze Mechanik ansteuert (mit AVR und Farb-LCD). Kommen die Daten bereits richtig aus dem CAD-Programm können die Daten direkt über RS232 an die Steuerung gesendet werden. Leider komme ich bei der Steurung nicht so zügig voran wie ich es erhoffe. Die Problematik ist dabei kein Timing-Problem oder Steuerungs-Problem. Viel mehr die Menüführung und Einstellung (Frästiefen pro Stift, Fräsgeschwindigkeit pro Stift usw.). Hier habe ich einfach noch keine Ideen gehabt. Übrigens ist die Steuerung und die Software bereits für 4 Achsen vorgesehen. Es kann auch alternativ eine ganz simple Abart von HPGL verwendet werden (PA x,y,z,a,v;) die auch 2,5D ermöglicht. Die Steuerung hat einen RS232->Buffer und einen Fräs-Buffer damit die Übertragung gleichzeitig zum Fräsen möglich ist. Auf meiner Wunschliste ist nach dem fertigstellen der Menüstruktur eigentlich nur noch eine Beschleunigungs und Bremsrampe (die ist aber bereits in der Software berücksichtigt). Aufgrund der Geschwindigkeit die die Fräsmaschine ohne Brems- und Bescchleunigungsrampe hat (ca. 100 mm/sekunde) habe ich das nach hinten gestellt.
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.