Seite 1 von 2

Pcb fräsen

Verfasst: Do 1. Feb 2018, 13:01
von nikibalboa
Hi an alle Pcb-Fräser,

Ich hätte eine kleine Anregung zur Beschreibung.
Und zwar sollte man sich die Koordinaten des x/y origin Notieren da man im Falle eines Fräserbruchs wieder punkt genau starten kann.

Lg

Re: Pcb fräsen

Verfasst: Do 1. Feb 2018, 14:15
von Nibbels
Kommst du mit dem Fräsen nun soweit klar?
(Wenn man die GCodes richtig geordnet hat)

LG

Re: Pcb fräsen

Verfasst: Do 1. Feb 2018, 14:52
von mhier
nikibalboa hat geschrieben:Und zwar sollte man sich die Koordinaten des x/y origin Notieren da man im Falle eines Fräserbruchs wieder punkt genau starten kann.
Ich bohre dafür immer ein Loch mit einem dünnen Bohrer (z.B. 0.5mm). Dann kann ich das wieder einfädeln, selbst wenn ich das PCB verschoben haben sollte oder umgedreht habe für die Rückseite. Aufschreiben der Position wäre aber natürlich bequemer. Hast du Erfahrung damit, ob das genau genug ist? Man muss sich dabei ja auf die X/Y-Schalter verlassen. Geht das auf 0.1 bis 0.2mm genau?

Re: Pcb fräsen

Verfasst: Do 1. Feb 2018, 15:45
von nikibalboa
Jup läuft schon recht gut aber sollte es mit m3070 s1 oder m3071alleine nicht auch reichen für eine Pause so wie beim start?

Die Genauigkeit war bisher sehr gut aber so viel hab ich auch noch nicht gefräst.

Lg

Re: Pcb fräsen

Verfasst: Do 1. Feb 2018, 16:44
von Nibbels
mhier hat geschrieben:Man muss sich dabei ja auf die X/Y-Schalter verlassen. Geht das auf 0.1 bis 0.2mm genau?
Wenn man das ausmessen will: Es gibt im aktuellen Mod das Feature "Checkhome"
configuration.h hat geschrieben:#define FEATURE_CHECK_HOME 0 -> 1
Das aktiviert einen neuen Beta-GCode: M3028
Die Optionen für den Code sind z.B. X1 oder Y1 fürs Testen der Achse X bzw. Y.

Beispiel: M3028 X1

Wenn man vorher G28-gehomed hat und die X-Achse (Beispiel) in irgendeiner Art verfahren wurde, dann tickert dieser GCode die Achse zurück auf die Home-Position.
Dort gibt er
- Differenz zu den Soll-Steps
- Hysterese des Schalters
in der Log aus. Und anschließend fährt er wieder dort hin wo er vorher war. Wir wollten damit auf Step-Verluste testen. Aber um die Genauigkeit der Schalter und deren Hysterese zu messen ist der GCode ebenfalls praktisch.
Hysterese heißt, dass der Punkt an dem ich den Schalter losgelassen habe nicht der ist an dem er gedrückt wird. Fahre ich also in den Schalter, schaltet er an einer definierten Position. Fahre ich etwas zurück, lässt er erst nach einem bestimmten Weg-Stück wieder los - normalerweise nicht sofort nach 1 Step. Somit hat jeder Schalter 2 Schaltpunkte auf der Achse -> Aus-An und An-Aus.

Teilt man anschließend die Ergebnis-Steps durch den Steps-Pro-Millimeter-Wert, der bei euch im EEPROM für die jeweilige Achse hinterlegt ist, wisst ihr die Distanz in Millimeter.
Meine Werte:
X = 152,38 Steps / Millimeter
Y = 152,38 Steps / Millimeter
Z = 2560 Steps / Millimeter

Beispiele:
Hysterese "18" auf Achse X sind 0,118mm.
Wiederholgenauigkeit "3" auf Achse X sind 0,0197mm
nikibalboa hat geschrieben:Jup läuft schon recht gut aber sollte es mit m3070 s1 oder m3071alleine nicht auch reichen für eine Pause so wie beim start?

Die Genauigkeit war bisher sehr gut aber so viel hab ich auch noch nicht gefräst.

Lg
Darüber was "logisch" und "bedienerfreundlich" ist, kann ich nur spekulieren. Wenn du mir sagst, dass alleine m3070 ausreichen muss, um in die Pause zu gehen und dass der Code 3071 automatisch folgen muss, dann baue ich dir das ein!

http://www.rf1000.de/wiki/index.php/GCo ... t_wurde.29
http://www.rf1000.de/wiki/index.php/GCo ... Cckt_wurde

So läuft es jetzt:
M3070 kommt im Drucker an. Er legt die Pause in den Cache ans Ende.
Direkt danach kommen weitere Befehle, die unter Umständen "sofort" irgendeine Aktion auslösen.
Darum brauchen wir diesen M3071, um das zu verhindern.
Ich werde mir mal gedanken machen, welche Race-Zustände und Zufallsprobleme wir uns damit einhandeln. Evtl. sollte immer nach dem einlegen der Pause in die Warteschleife auf das abarbeiten der aktuellen Warteschleife gewartet werden. Das was ich bisher drüber weiß passt noch nicht 100% logisch zum Anwendungsfall.

LG

Edit:
Screenshot_2.png
Ich teste das!
> So sollte der M3070 im Cache landen, am Ende - so wie im GCode-Verlauf eingeordnet.
Dann muss er direkt auf ausführung des Caches warten. Dann muss er auf Aufhebung der Pause warten. Ich glaube - wenn nichts dagegenarbeitet - müsste somit eine Pause mit nur einem einzelnen GCode möglich sein.
Dafür verliert man evtl. die Möglichkeit während der Pause das Display mit ner Meldung zu beschreiben?
frase.png

Re: Pcb fräsen

Verfasst: Do 1. Feb 2018, 18:06
von nikibalboa
Danke für die ausführliche Antwort. Wenn man es weis ist es kein Problem, bequemer wäre es schon mit nur einen Befehl. Zur Zeit bohre ich mit einem extra Programm wobei ich aber wieder das x/y origin anfahren muss.
Also für meine Zwecke würde es ohne Meldung auch reichen aber mit ist es sicher schöner. ;)
So könnte man bei größeren Programmen die verschiedenen Bohrerdurchmesser mitteilen.

Lg

Re: Pcb fräsen

Verfasst: Do 1. Feb 2018, 19:08
von Nibbels
nikibalboa hat geschrieben:Danke für die ausführliche Antwort. Wenn man es weis ist es kein Problem, bequemer wäre es schon mit nur einen Befehl. Zur Zeit bohre ich mit einem extra Programm wobei ich aber wieder das x/y origin anfahren muss.
Also für meine Zwecke würde es ohne Meldung auch reichen aber mit ist es sicher schöner. ;)
So könnte man bei größeren Programmen die verschiedenen Bohrerdurchmesser mitteilen.

Lg
Ich glaube ich hab was hinbekommen :)
https://github.com/Nibbels/Repetier-Firmware/ 1.38.24.Mod

Änderungen:
https://github.com/Nibbels/Repetier-Fir ... 9f2f84f5e8
Screenshot_5.png
Was habe ich gemacht?

M3070 bedeutet nun:
- Ich schicke an Repetier-Server und Octoprint die Information, dass ich in die Pause gehen will.
- Ich reihe die M3070-Pause als Task in die Abarbeitungswarteschlange ein.
- Ich stelle sofort das Menü auf "Pause-Modus" um.
- Nach dem Einreihen der M3070-Pause in die Abarbeitungswarteschlange wird auf das Ende dieser Abarbeitungswarteschlange gewartet. (Genau wie M400, damit fällt die Notwendigkeit im GCode weg!)
- Da die Pause Teil der Abarbeitungswarteschlange war (und jetzt auch schon bearbeitet wurde) befinden wir uns nun zu 100% in der Pause.
- Dann wird "PAUSE" ins Display geschrieben.
- Dann warte ich bis die Pause durch einen Knopfklick am Drucker aufgelöst wird.

Durch den Continue-Knopf
- bekommt Repetier-Server und Octoprint die Information dass es weitergeht.
- wird das Menü wieder auf Normalmodus umgeschaltet
- treten wir aus dem Pause-Modus aus und die Abarbeitungswarteschlange wird weiterhin bearbeitet.

Es gibt einen "Text-Ausgabe-Code", welcher sich nicht durch die internen Funktionen überschreiben lässt. Der Sperrt die Nachricht im Display.
M3117
So überschreibe ich die Ausgabe von "Pause" mit einer eigenen Nachricht:

Code: Alles auswählen

M400 ; warte mit M3117-meldung, bis abarbeitung bis hier fertig
M3117 Pause Bohrer einspannen
M3070 S1 ; Bohrer einspannen
M3117
Das letzte leere M3117 hebt diese Sperre gegen Überschreiben der untersten Zeile wieder auf.
Im Display steht während der kompletten Pause: "Pause Bohrer einspannen"

Den Code dürftest du noch ganz grob kennen:
Damit habe ich getestet. Der lief sauber durch.

Code: Alles auswählen

G28
G91
G1 Z-50
G92 Z0 ;setze Z hier auf 0
G90 ; use absolute COSYS

G00 Z0

M3005 S6 ;enable debug output
M3060 ;print Firmware version
M3153 ; output matrix
M3141 ; turn z com

M400 ; warte mit M3117-meldung, bis abarbeitung bis hier fertig
M3117 Pause Fraese einschalten
M3070 S1 ; Pause Fräse einschalten
M3117

M03
G00 X0.438 Y7.188
G01 Z-0.0400	F100.00
G01 X0.437 Y12.292
G01 X0.439 Y12.332
G01 X0.442 Y12.371
G01 X0.451 Y12.419
G01 X0.463 Y12.467
G01 X0.469 Y12.487
G01 X0.487 Y12.533

G01 Z0
G00 Z1.0000  F300.00
G00 X0.000 Y0.000
G00 Z10.0000

M400 ; warte mit M3117-meldung, bis abarbeitung bis hier fertig
M3117 Pause Fraese ausschalten
M3070 S1 ; Bohrer einspannen
M3117

M400 ; warte mit M3117-meldung, bis abarbeitung bis hier fertig
M3117 Pause Bohrer einspannen
M3070 S1 ; Bohrer einspannen
M3117

M3115 ; x/y current position
M3130 ; Find Z origin

M400 ; warte mit M3117-meldung, bis abarbeitung bis hier fertig
M3117 Pause Bohrer einschalten 2
M3070 S1 ; Bohrer einschalten
M3117

M3141 ; enable Z com
G90 ; use absolut coordinaten



G00 Z1.0000   F300.00

G00 X9.750 Y8.250
G01 Z-1.6000 F150.00
G01 Z0
G00 Z1.0000
G00 X25.500 Y14.250
G01 Z-1.6000
G01 Z0
G00 Z1.0000
G00 X22.500 Y18.750
G01 Z-1.6000
G01 Z0
G00 Z1.0000
G00 X23.186 Y9.711
G01 Z-1.6000
G01 Z0
G00 Z1.0000
G00 X23.186 Y7.171
G01 Z-1.6000
G01 Z0
G00 Z1.0000
G00 X23.186 Y12.251
G01 Z-1.6000
G01 Z0
G00 Z1.0000
G00 X30.806 Y7.171
!!! Bitte teste die neue Firmware mit der Hand über dem Notaus ;)
Nur ich habe damit bisher getestet und ich habe nicht das Wissen, wie du praktisch vorgehst und auf welche Details du achtest. Z.B. fand ichs komisch, dass in deinem GCode kein Homing drin war. Das macht durchaus sinn, aber ich bin noch nicht in allen Funktionen ganz durchgestiegen.


LG


PS:
Zusätzlich habe ich die Funktion "SetOrigin" so manipuliert dass man Achsen mit einem Origin belegen kann, die gehomed sind. Aber es müssen nicht mehr alle Achsen gehomed sein, sodass der GCode G92 überhaupt funktioniert. (Man kann XY mit einem GCode-XYOrigin belegen, ohne dass Z gehomed sein muss. Der warnt zwar davor, ist aber nicht mehr unmöglich. Hintergrund: Die Renkforce Firmware unterscheidet nicht ob einzelne oder alle Achsen gehomed sind. Wir schon.)

Re: Pcb fräsen

Verfasst: Do 1. Feb 2018, 19:47
von nikibalboa
:tiptop: Super danke für das schnelle bearbeiten!

Werd es testen sobald ich Zeit habe.

Das homen im gcode wird eigentlich nicht gebraucht da man ja vor der Festlegung der origin's eh homen muss und danach direkt vom origin startet falls du das damit gemeint hast :S

Lg

Re: Pcb fräsen

Verfasst: Do 1. Feb 2018, 20:04
von Nibbels
Stimmt, das macht Sinn :)

Das Thema ist nicht am wichtigsten, ich wäre aber irre froh, wenn diese Pause-Fehlerquelle nun endgültig ausgebaut ist.
Der M3071 fehlt nun komplett in dieser Firmware, der wird dann zukünftig einfach ignoriert. Ob man nun M400 nutzt oder nicht ist egal.
(Nur beim Drucken stockt unter Umständen der Druck mit eingestreuten M400 und gibt einen Blob, beim Milling ist das egal.)

-> Demnach sind alte GCodes noch kompatibel, man kann nur weniger Fehler machen.

Ich hoffe, dass das Thema Pause (inklusive der PNs um Weihnachten) nun erschlagen ist! :D :D

LG

Re: Pcb fräsen

Verfasst: Do 1. Feb 2018, 20:10
von nikibalboa
Hoffe auch, sieht aber schon gut aus :woohoo:

Ich gebe dann bescheid.

Lg