Seite 2 von 2

Re: Neue Development Firmware (RF.01.19)

Verfasst: Do 28. Apr 2016, 12:44
von mhier
RF1000 hat geschrieben:Ist in der kommenden Version der Firmware bereits korrigiert.
Wann kommt die raus? :-)
mhier hat geschrieben: Betrifft vermutlich auch den Druck-Modus: Bei Bewegungen per Menü bzw. direkte Bewegungs-Tasten stoppt die Bewegung gelegentlich nicht beim Loslassen der Taste.
RF1000 hat geschrieben:Das können wir bisher nicht reproduzieren.
Dachte ich mir. Bei Gelegenheit einfach mal nen Praktikaten ransetzen, der das Ding ein-zwei Stunden in der Gegend rum fährt :-) Das Problem hab ich ein paar mal gehabt, das müsst ihr mir schon glauben.
mhier hat geschrieben: Die Work-Part-Matrix bleibt nicht nach dem Ausschalten erhalten, laut M-Code-Beschreibung sollte sie aber im EEPROM abgespeichert werden.
RF1000 hat geschrieben:Das können wir nicht bestätigen, wie stellst du fest, dass a) vor dem Ausschalten die Work Part Matrix korrekt war und b) nach dem Einschalten weg ist?
Naja sie ist vorher da und nacher nicht. Muss ich sie explizit laden? Wenn ja, wie? Hin und her schalten zwischen den Work-Parts habe ich schon probiert. Oder muss ich sie explizit speichern vor dem Ausschalten? Fehlende Doku ist eben auch nichts anderes als ein Bug ;-)
mhier hat geschrieben: Das Finden des Z-Origin zusammen mit der Workpart-Z-Kompensation funktioniert nur korrekt, wenn der Z-Origin am Startpunkt des Workpart-Scans gesucht wird. Wir der Z-Origin z.B. in der Mitte des Scanbereiches gesucht, müsste der Z-Origin um den Z-Kompensations-Wert korrigiert werden.
RF1000 hat geschrieben:Das können wir nicht bestätigen. Wenn du den Z-Origin ermittelt und danach die Z-Kompensation aktiviert hast dann kannst du "M3200 P7" an die Firmware senden und bekommst die x, y und z-Koordinate vom Z-Origin. Wobei die z-Koordinate aus der Kompensationsmatrix errechnet wird (und davon abhängt, an welcher x/y Position der Z-Origin ermittelt worden ist. Was gibt deine Firmware nach "M3200 P7" aus? Wie immer würde vermutlich die gesamte Logdatei (ab Start der Firmware) helfen, und auch ein "M3153" wäre nützlich (damit man auch die aktuelle Work Part Matrix in der Logdatei hat).
Muss ich mir ansehen. Ich habe lediglich beobachtet, dass er falsch kompensiert, wenn ich den Z-Origin woanders als am xy-Start des Scans bestimme. Muss ich beim Z-Origin-Scan schon die Kompensation eingeschaltet haben?
mhier hat geschrieben: Die Einstellungen zur Feed-Rate und zur Acceleration sollten getrennt für den Fräs- und Druck-Modus gespeichert werden.
RF1000 hat geschrieben:OK, ich kann aber noch nicht sagen wann das kommt.
Klar, danke schon mal! :-)
mhier hat geschrieben: Die Beschleunigung sollte automatisch reduziert werden, wenn für die eingestellte Beschleunigung zu kleine Feed-Rates angefordert werden.
RF1000 hat geschrieben:Wir müssen klären, inwieweit das sinnvoll umsetzbar ist.
Von mir aus können geringere Feed-Rates auch anders erreicht werden. Zum Fräsen ist es mit den Standard-Einstellungen schwer möglich, ausreichend langsame Feed-Rates zu erreichen. Generell wäre es einfach der beste Ansatz, wenn man erstmal ganz langsam anfangen könnte, um dann langsam das Temop bis zum optimalen Punkt zu steigern. Nur ganz langsam geht aktuell gar nicht...
mhier hat geschrieben: Bitte so schnell wie möglich die Optionen einbauen, mit der per Menü genaue und langsame Bewegungen wieder möglich werden!
RF1000 hat geschrieben:Ist in der kommenden Version der Firmware bereits umgesetzt.
Perfekt! :-)
mhier hat geschrieben: M3164 und M3165 benötigen eine Angabe bzgl. zur rechten hinteren Ecke statt zum Ursprung des Koordinatensystems. Das macht es unnötig kompliziert, diese Befehle zu benutzen. Bitte dahingehend ändern, dass einheitlich das selbe Koordinatensystem verwendet wird wie für alle anderen Befehle auch, oder (noch besser) die Angabe relativ zu M3160/M3161 erfolgt (also als Größe des Scan-Bereichs). Eine Änderung sollte problemlos möglich sein, da mangels Dokumentation die Befehle aktuell eh noch keiner wirklich verwenden kann ;-)
RF1000 hat geschrieben:Das müssen wir klären. Eigentlich sind diese G-Codes rein für automatische Debug- und Testläufe gedacht. Was hast du denn für einen Anwendungsfall, wo du die auch "produktiv" verwendest?
Zunächst mal, wenn es einen Befehl gibt, sollte man ihn auch nutzen können. Im Moment möchte ich erstmal reproduzierbare Ergebnisse erzielen, da hilft es gewaltig, wenn ich alles mittels abgespeicherten Befehlen einstelle und starte. Sonst weiß ich hinterher ja nicht was ich gemacht habe und kann keine Bug-Reports schreiben :-)

Gruß und danke!
Martin

Re: Neue Development Firmware (RF.01.19)

Verfasst: Sa 30. Apr 2016, 17:56
von mhier
mhier hat geschrieben: Das Finden des Z-Origin zusammen mit der Workpart-Z-Kompensation funktioniert nur korrekt, wenn der Z-Origin am Startpunkt des Workpart-Scans gesucht wird. Wir der Z-Origin z.B. in der Mitte des Scanbereiches gesucht, müsste der Z-Origin um den Z-Kompensations-Wert korrigiert werden.
RF1000 hat geschrieben: Das können wir nicht bestätigen. Wenn du den Z-Origin ermittelt und danach die Z-Kompensation aktiviert hast dann kannst du "M3200 P7" an die Firmware senden und bekommst die x, y und z-Koordinate vom Z-Origin. Wobei die z-Koordinate aus der Kompensationsmatrix errechnet wird (und davon abhängt, an welcher x/y Position der Z-Origin ermittelt worden ist. Was gibt deine Firmware nach "M3200 P7" aus? Wie immer würde vermutlich die gesamte Logdatei (ab Start der Firmware) helfen, und auch ein "M3153" wäre nützlich (damit man auch die aktuelle Work Part Matrix in der Logdatei hat).
So ich habe das nochmals genauer getestet. Der Bug ist eindeutig vorhanden.

Test-Prozedur:
  1. Absichtlich schiefe Platte auf den Tisch spannen
  2. Drucker einschalten
    log
    15:40:31.919: Warning: Communication timeout - resetting communication buffer.
    15:40:32.470: Warning: Communication timeout - resetting communication buffer.
    15:40:58.968: Start
    15:40:59.000: Start Watchdog
    15:41:00.099: Info:PowerUp
    15:41:00.110: Info:External Reset
    15:41:00.121: Info:Brown out Reset
    15:41:00.132: Free RAM:1948
    15:41:00.205: restoreDefaultScanParameters(): the default scan parameters have been restored
    15:41:00.227: setupForMilling(): invalid active work part detected: 14
    15:41:00.760: FIRMWARE_NAME:Repetier_RF.01.19 FIRMWARE_URL:https://github.com/RF1000/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1 REPETIER_PROTOCOL:2
    15:41:00.770: Milling time:0 days 3 hours 53 min
    15:41:00.902: X:0.00 Y:0.00 Z:0.00 E:0.00
  3. Workpart-Scan konfigurieren:
    code
    M3005 S6 ; enable debug output
    M3060 ; print firmware version
    M3162 S10.00  ; X step
    M3163 S10.00  ; Y step
    M3160 S71.88 ; X start
    M3161 S60.89 ; Y start
    M3164 S121.31 ; X stop 245-...
    M3165 S144.80 ; Y stop 245-...
    log
    15:41:41.131: M3005: new debug level: 6ok 47
    15:41:41.154: Device Type: RF1000
    15:41:41.164: Firmware Version: V RF.01.19
    15:41:41.174: Warning: Missed line detected - correcting buffer usage.
    15:41:41.218: M3162: new x step size: 10 [mm], 1523 [steps]
    15:41:41.258: M3163: new y step size: 10 [mm], 1523 [steps]
    15:41:41.287: M3160: new x start position: 71 [mm], 10818 [steps]
    15:41:41.313: M3161: new y start position: 60 [mm], 9142 [steps]
    15:41:41.332: M3164: new x end position: 121 [mm], 18437 [steps]
    15:41:41.344: M3164: new x max position: 18896 [steps]
    15:41:41.378: M3165: new y end position: 144 [mm], 21942 [steps]
    15:41:41.387: M3165: new y max position: 15391 [steps]
  4. Workpart-Scan durchführen:
    code
    M3005 S6 ; enable debug output
    M3150 ; start scan
    log
    15:42:15.592: M3005: new debug level: 6ok 84
    15:42:16.042: scanWorkPart(): the scan has been started
    15:42:16.052: outputScanParameters(): current scan parameters:
    15:42:16.063: 2560.00;[steps];ZAXIS_STEPS_PER_MM
    15:42:16.073: 10818;[steps];g_nScanXStartSteps
    15:42:16.084: 1523;[steps];g_nScanXStepSizeSteps
    15:42:16.094: 18437;[steps];g_nScanXEndSteps
    15:42:16.107: 18896;[steps];g_nScanXMaxPositionSteps
    15:42:16.117: 9142;[steps];g_nScanYStartSteps
    15:42:16.129: 1523;[steps];g_nScanYStepSizeSteps
    15:42:16.139: 21942;[steps];g_nScanYEndSteps
    15:42:16.151: 15391;[steps];g_nScanYMaxPositionSteps
    15:42:16.173: -64;[steps];g_nScanHeatBedUpFastSteps
    15:42:16.182: -12;[steps];g_nScanHeatBedUpSlowSteps
    15:42:16.191: 1280;[steps];g_nScanHeatBedDownFastSteps
    15:42:16.205: 32;[steps];g_nScanHeatBedDownSlowSteps
    15:42:16.217: 5;[ms];g_nScanFastStepDelay
    15:42:16.231: 100;[ms];g_nScanSlowStepDelay
    15:42:16.244: 250;[ms];g_nScanIdleDelay
    15:42:16.256: 20;[digits];g_nScanContactPressureDelta
    15:42:16.265: 10;[digits];g_nScanRetryPressureDelta
    15:42:16.276: 0;[digits];g_nScanIdlePressureDelta
    15:42:16.285: 15;[-];g_nScanPressureReads
    15:42:16.298: 15;[digits];g_nScanPressureTolerance
    15:42:16.312: 15;[ms];g_nScanPressureReadDelay
    15:42:16.324: scanWorkPart(): 1 -> 10
    15:42:16.334: Warning: Missed line detected - correcting buffer usage.
    15:42:25.878: X:0.00 Y:0.00 Z:15.00 E:0.00
    15:42:25.888: scanWorkPart(): 10 -> 25
    15:42:52.216: scanWorkPart(): 25 -> 30
    15:42:53.469: readIdlePressure(): pressure calibration: 0 / -1377
    15:42:54.250: readIdlePressure(): idle pressure: -1377
    15:42:54.263: scanWorkPart(): 30 -> 32
    15:42:54.761: current=0, target=0, queue=10818
    15:42:57.451: X:70.99 Y:59.99 Z:-11.96 E:0.00
    15:42:57.734: current=0, target=0, queue=10818
    15:42:57.974: X:70.99 Y:59.99 Z:-14.22 E:0.00
    15:42:58.206: current=0, target=0, queue=10818
    15:42:58.282: X:70.99 Y:59.99 Z:-14.62 E:0.00
    15:42:58.583: current=0, target=0, queue=10818
    15:42:58.733: X:70.99 Y:59.99 Z:-15.73 E:0.00
    15:42:59.825: scanWorkPart(): 32 -> 33
    15:43:00.214: scanWorkPart(): the z-origin has been determined
    15:43:00.930: EEPROM updated
    15:43:00.942: X:70.99 Y:59.99 Z:-16.01 E:0.00
    15:43:02.870: moveZDownFast(): -1377
    15:43:02.880: scanWorkPart(): 33 -> 35 > 1280
    15:43:02.929: scanWorkPart(): 35 -> 40
    15:43:02.942: scanWorkPart(): 40 -> 49
    15:43:03.019: scanWorkPart(): 49 -> 50
    15:43:03.455: scanWorkPart(): 50 -> 51
    15:43:11.689: scanWorkPart(): 51 -> 52 > -256
    15:43:13.142: scanWorkPart(): 52 -> 53 > -192
    15:43:14.223: scanWorkPart(): 53 -> 54 > -216
    15:43:14.271: ;10818;9142;-216;-1398;;10818;9142;38400;0
    15:43:14.281: scanWorkPart(): 54 -> 55 > -216
    15:43:15.838: moveZDownFast(): -1373
    15:43:17.838: scanWorkPart(): 55 -> 49
    15:43:17.894: scanWorkPart(): 49 -> 50
    15:43:18.330: scanWorkPart(): 50 -> 51
    15:43:25.606: scanWorkPart(): 51 -> 52 > -280
    15:43:27.813: scanWorkPart(): 52 -> 53 > -184
    15:43:29.634: scanWorkPart(): 53 -> 54 > -232
    15:43:29.666: ;10818;10665;-232;-1406;;10818;10665;38400;0
    15:43:29.675: scanWorkPart(): 54 -> 55 > -232
    15:43:31.212: moveZDownFast(): -1369
    15:43:33.216: scanWorkPart(): 55 -> 49
    15:43:33.270: scanWorkPart(): 49 -> 50
    15:43:33.705: scanWorkPart(): 50 -> 51
    15:43:40.980: scanWorkPart(): 51 -> 52 > -296
    15:43:42.820: scanWorkPart(): 52 -> 53 > -232
    15:43:43.855: scanWorkPart(): 53 -> 54 > -256
    15:43:43.903: ;10818;12188;-256;-1393;;10818;12188;38400;0
    15:43:43.912: scanWorkPart(): 54 -> 55 > -256
    15:43:47.362: moveZDownFast(): -1367
    15:43:47.494: scanWorkPart(): 55 -> 49
    15:43:47.548: scanWorkPart(): 49 -> 50
    15:43:47.983: scanWorkPart(): 50 -> 51
    15:43:55.258: scanWorkPart(): 51 -> 52 > -320
    15:43:57.053: scanWorkPart(): 52 -> 53 > -256
    15:43:58.477: scanWorkPart(): 53 -> 54 > -292
    15:43:58.529: ;10818;13711;-292;-1411;;10818;13711;38400;0
    15:43:58.539: scanWorkPart(): 54 -> 55 > -292
    15:44:00.067: moveZDownFast(): -1366
    15:44:02.071: scanWorkPart(): 55 -> 49
    15:44:02.142: scanWorkPart(): 49 -> 50
    15:44:02.559: scanWorkPart(): 50 -> 51
    15:44:09.879: scanWorkPart(): 51 -> 52 > -356
    15:44:11.674: scanWorkPart(): 52 -> 53 > -292
    15:44:12.754: scanWorkPart(): 53 -> 54 > -316
    15:44:12.767: ;10818;15234;-316;-1411;;10818;15234;38400;0
    15:44:12.778: scanWorkPart(): 54 -> 55 > -316
    15:44:14.342: moveZDownFast(): -1365
    15:44:14.353: scanWorkPart(): 55 -> 39
    15:44:16.348: scanWorkPart(): 39 -> 40
    15:44:16.401: scanWorkPart(): 40 -> 49
    15:44:16.501: scanWorkPart(): 49 -> 50
    15:44:16.936: scanWorkPart(): 50 -> 51
    15:44:28.036: scanWorkPart(): 51 -> 52 > -1148
    15:44:28.743: scanWorkPart(): 52 -> 53 > -1116
    15:44:30.156: scanWorkPart(): 53 -> 54 > -1140
    15:44:30.208: ;12341;15234;-1140;-1304;;12341;15234;38400;0
    15:44:30.221: scanWorkPart(): 54 -> 55 > -1140
    15:44:31.746: moveZDownFast(): -1269
    15:44:33.751: scanWorkPart(): 55 -> 49
    15:44:33.785: scanWorkPart(): 49 -> 50
    15:44:34.308: scanWorkPart(): 50 -> 51
    15:44:41.280: scanWorkPart(): 51 -> 52 > -1140
    15:44:43.073: scanWorkPart(): 52 -> 53 > -1076
    15:44:44.200: scanWorkPart(): 53 -> 54 > -1100
    15:44:44.210: ;12341;13711;-1100;-1292;;12341;13711;38400;0
    15:44:44.221: scanWorkPart(): 54 -> 55 > -1100
    15:44:45.791: moveZDownFast(): -1267
    15:44:47.795: scanWorkPart(): 55 -> 49
    15:44:47.895: scanWorkPart(): 49 -> 50
    15:44:48.285: scanWorkPart(): 50 -> 51
    15:44:55.213: scanWorkPart(): 51 -> 52 > -1100
    15:44:57.919: scanWorkPart(): 52 -> 53 > -1036
    15:44:57.950: scanWorkPart(): 53 -> 54 > -1060
    15:44:58.012: ;12341;12188;-1060;-1305;;12341;12188;38400;0
    15:44:58.024: scanWorkPart(): 54 -> 55 > -1060
    15:44:58.995: moveZDownFast(): -1266
    15:45:00.999: scanWorkPart(): 55 -> 49
    15:45:01.037: scanWorkPart(): 49 -> 50
    15:45:01.564: scanWorkPart(): 50 -> 51
    15:45:08.536: scanWorkPart(): 51 -> 52 > -1060
    15:45:10.374: scanWorkPart(): 52 -> 53 > -996
    15:45:11.453: scanWorkPart(): 53 -> 54 > -1020
    15:45:11.505: ;12341;10665;-1020;-1293;;12341;10665;38400;0
    15:45:11.516: scanWorkPart(): 54 -> 55 > -1020
    15:45:13.048: moveZDownFast(): -1266
    15:45:15.052: scanWorkPart(): 55 -> 49
    15:45:15.105: scanWorkPart(): 49 -> 50
    15:45:15.541: scanWorkPart(): 50 -> 51
    15:45:22.513: scanWorkPart(): 51 -> 52 > -1020
    15:45:23.969: scanWorkPart(): 52 -> 53 > -956
    15:45:26.130: scanWorkPart(): 53 -> 54 > -1004
    15:45:26.177: ;12341;9142;-1004;-1295;;12341;9142;38400;0
    15:45:26.187: scanWorkPart(): 54 -> 55 > -1004
    15:45:27.723: moveZDownFast(): -1266
    15:45:27.739: scanWorkPart(): 55 -> 39
    15:45:29.728: scanWorkPart(): 39 -> 40
    15:45:29.783: scanWorkPart(): 40 -> 49
    15:45:29.881: scanWorkPart(): 49 -> 50
    15:45:30.316: scanWorkPart(): 50 -> 51
    15:45:41.414: scanWorkPart(): 51 -> 52 > -1836
    15:45:43.285: scanWorkPart(): 52 -> 53 > -1740
    15:45:46.534: scanWorkPart(): 53 -> 54 > -1824
    15:45:46.584: ;13864;9142;-1824;-1288;;13864;9142;38400;0
    15:45:46.597: scanWorkPart(): 54 -> 55 > -1824
    15:45:48.123: moveZDownFast(): -1255
    15:45:50.128: scanWorkPart(): 55 -> 49
    15:45:50.170: scanWorkPart(): 49 -> 50
    15:45:50.684: scanWorkPart(): 50 -> 51
    15:45:58.005: scanWorkPart(): 51 -> 52 > -1888
    15:45:59.799: scanWorkPart(): 52 -> 53 > -1824
    15:46:00.880: scanWorkPart(): 53 -> 54 > -1848
    15:46:00.890: ;13864;10665;-1848;-1281;;13864;10665;38400;0
    15:46:00.901: scanWorkPart(): 54 -> 55 > -1848
    15:46:02.467: moveZDownFast(): -1254
    15:46:04.472: scanWorkPart(): 55 -> 49
    15:46:04.525: scanWorkPart(): 49 -> 50
    15:46:04.961: scanWorkPart(): 50 -> 51
    15:46:12.231: scanWorkPart(): 51 -> 52 > -1912
    15:46:12.938: scanWorkPart(): 52 -> 53 > -1880
    15:46:13.668: scanWorkPart(): 53 -> 54 > -1892
    15:46:13.714: ;13864;12188;-1892;-1279;;13864;12188;38400;0
    15:46:13.724: scanWorkPart(): 54 -> 55 > -1892
    15:46:15.249: moveZDownFast(): -1253
    15:46:17.251: scanWorkPart(): 55 -> 49
    15:46:17.338: scanWorkPart(): 49 -> 50
    15:46:17.739: scanWorkPart(): 50 -> 51
    15:46:25.016: scanWorkPart(): 51 -> 52 > -1956
    15:46:25.722: scanWorkPart(): 52 -> 53 > -1924
    15:46:27.185: scanWorkPart(): 53 -> 54 > -1948
    15:46:27.234: ;13864;13711;-1948;-1311;;13864;13711;38400;0
    15:46:27.245: scanWorkPart(): 54 -> 55 > -1948
    15:46:28.773: moveZDownFast(): -1253
    15:46:30.776: scanWorkPart(): 55 -> 49
    15:46:30.840: scanWorkPart(): 49 -> 50
    15:46:31.318: scanWorkPart(): 50 -> 51
    15:46:38.594: scanWorkPart(): 51 -> 52 > -2012
    15:46:39.682: scanWorkPart(): 52 -> 53 > -1980
    15:46:40.764: scanWorkPart(): 53 -> 54 > -2004
    15:46:43.117: ;13864;15234;-2004;-1288;;13864;15234;38400;0
    15:46:43.128: scanWorkPart(): 54 -> 55 > -2004
    15:46:43.162: moveZDownFast(): -1254
    15:46:43.176: scanWorkPart(): 55 -> 39
    15:46:44.353: scanWorkPart(): 39 -> 40
    15:46:44.393: scanWorkPart(): 40 -> 49
    15:46:44.461: scanWorkPart(): 49 -> 50
    15:46:44.895: scanWorkPart(): 50 -> 51
    15:46:56.986: scanWorkPart(): 51 -> 52 > -2964
    15:46:58.857: scanWorkPart(): 52 -> 53 > -2868
    15:47:00.286: scanWorkPart(): 53 -> 54 > -2904
    15:47:00.334: ;15387;15234;-2904;-1245;;15387;15234;38400;0
    15:47:00.343: scanWorkPart(): 54 -> 55 > -2904
    15:47:01.872: moveZDownFast(): -1197
    15:47:03.877: scanWorkPart(): 55 -> 49
    15:47:03.930: scanWorkPart(): 49 -> 50
    15:47:04.364: scanWorkPart(): 50 -> 51
    15:47:10.989: scanWorkPart(): 51 -> 52 > -2840
    15:47:11.742: scanWorkPart(): 52 -> 53 > -2808
    15:47:13.200: scanWorkPart(): 53 -> 54 > -2832
    15:47:13.234: ;15387;13711;-2832;-1230;;15387;13711;38400;0
    15:47:13.248: scanWorkPart(): 54 -> 55 > -2832
    15:47:14.750: moveZDownFast(): -1195
    15:47:18.597: scanWorkPart(): 55 -> 49
    15:47:18.608: scanWorkPart(): 49 -> 50
    15:47:18.625: scanWorkPart(): 50 -> 51
    15:47:23.910: scanWorkPart(): 51 -> 52 > -2768
    15:47:24.999: scanWorkPart(): 52 -> 53 > -2736
    15:47:26.808: scanWorkPart(): 53 -> 54 > -2772
    15:47:26.863: ;15387;12188;-2772;-1241;;15387;12188;38400;0
    15:47:26.873: scanWorkPart(): 54 -> 55 > -2772
    15:47:28.428: moveZDownFast(): -1197
    15:47:30.433: scanWorkPart(): 55 -> 49
    15:47:30.532: scanWorkPart(): 49 -> 50
    15:47:30.922: scanWorkPart(): 50 -> 51
    15:47:37.546: scanWorkPart(): 51 -> 52 > -2708
    15:47:38.297: scanWorkPart(): 52 -> 53 > -2676
    15:47:40.108: scanWorkPart(): 53 -> 54 > -2712
    15:47:40.121: ;15387;10665;-2712;-1239;;15387;10665;38400;0
    15:47:40.131: scanWorkPart(): 54 -> 55 > -2712
    15:47:41.707: moveZDownFast(): -1196
    15:47:43.712: scanWorkPart(): 55 -> 49
    15:47:43.765: scanWorkPart(): 49 -> 50
    15:47:44.201: scanWorkPart(): 50 -> 51
    15:47:51.126: scanWorkPart(): 51 -> 52 > -2712
    15:47:53.310: scanWorkPart(): 52 -> 53 > -2616
    15:47:54.816: scanWorkPart(): 53 -> 54 > -2664
    15:47:54.827: ;15387;9142;-2664;-1235;;15387;9142;38400;0
    15:47:54.841: scanWorkPart(): 54 -> 55 > -2664
    15:47:56.382: moveZDownFast(): -1197
    15:47:56.397: scanWorkPart(): 55 -> 39
    15:47:58.388: scanWorkPart(): 39 -> 40
    15:47:58.441: scanWorkPart(): 40 -> 49
    15:47:58.542: scanWorkPart(): 49 -> 50
    15:47:58.976: scanWorkPart(): 50 -> 51
    15:48:10.383: scanWorkPart(): 51 -> 52 > -3560
    15:48:11.504: scanWorkPart(): 52 -> 53 > -3496
    15:48:13.656: scanWorkPart(): 53 -> 54 > -3532
    15:48:13.678: ;16910;9142;-3532;-1279;;16910;9142;38400;0
    15:48:13.691: scanWorkPart(): 54 -> 55 > -3532
    15:48:15.298: moveZDownFast(): -1236
    15:48:17.303: scanWorkPart(): 55 -> 49
    15:48:17.364: scanWorkPart(): 49 -> 50
    15:48:17.846: scanWorkPart(): 50 -> 51
    15:48:25.121: scanWorkPart(): 51 -> 52 > -3596
    15:48:26.210: scanWorkPart(): 52 -> 53 > -3564
    15:48:28.357: scanWorkPart(): 53 -> 54 > -3600
    15:48:28.367: ;16910;10665;-3600;-1279;;16910;10665;38400;0
    15:48:28.383: scanWorkPart(): 54 -> 55 > -3600
    15:48:29.228: moveZDownFast(): -1237
    15:48:31.232: scanWorkPart(): 55 -> 49
    15:48:31.334: scanWorkPart(): 49 -> 50
    15:48:31.723: scanWorkPart(): 50 -> 51
    15:48:39.641: scanWorkPart(): 51 -> 52 > -3728
    15:48:41.509: scanWorkPart(): 52 -> 53 > -3632
    15:48:43.318: scanWorkPart(): 53 -> 54 > -3668
    15:48:43.355: ;16910;12188;-3668;-1265;;16910;12188;38400;0
    15:48:43.365: scanWorkPart(): 54 -> 55 > -3668
    15:48:44.904: moveZDownFast(): -1237
    15:48:46.909: scanWorkPart(): 55 -> 49
    15:48:46.962: scanWorkPart(): 49 -> 50
    15:48:47.398: scanWorkPart(): 50 -> 51
    15:48:54.673: scanWorkPart(): 51 -> 52 > -3732
    15:48:55.761: scanWorkPart(): 52 -> 53 > -3700
    15:48:57.189: scanWorkPart(): 53 -> 54 > -3736
    15:48:57.232: ;16910;13711;-3736;-1270;;16910;13711;38400;0
    15:48:57.244: scanWorkPart(): 54 -> 55 > -3736
    15:48:58.782: moveZDownFast(): -1237
    15:49:03.380: scanWorkPart(): 55 -> 49
    15:49:03.418: scanWorkPart(): 49 -> 50
    15:49:03.428: scanWorkPart(): 50 -> 51
    15:49:08.802: scanWorkPart(): 51 -> 52 > -3864
    15:49:10.718: scanWorkPart(): 52 -> 53 > -3768
    15:49:12.495: scanWorkPart(): 53 -> 54 > -3816
    15:49:12.549: ;16910;15234;-3816;-1274;;16910;15234;38400;0
    15:49:12.560: scanWorkPart(): 54 -> 55 > -3816
    15:49:14.081: moveZDownFast(): -1238
    15:49:14.091: scanWorkPart(): 55 -> 39
    15:49:16.090: scanWorkPart(): 39 -> 40
    15:49:16.115: scanWorkPart(): 40 -> 49
    15:49:16.216: scanWorkPart(): 49 -> 50
    15:49:16.650: scanWorkPart(): 50 -> 51
    15:49:29.048: scanWorkPart(): 51 -> 52 > -4840
    15:49:31.253: scanWorkPart(): 52 -> 53 > -4744
    15:49:33.077: scanWorkPart(): 53 -> 54 > -4792
    15:49:33.090: ;18433;15234;-4792;-1317;;18433;15234;38400;0
    15:49:33.100: scanWorkPart(): 54 -> 55 > -4792
    15:49:34.623: moveZDownFast(): -1263
    15:49:38.878: scanWorkPart(): 55 -> 49
    15:49:38.922: scanWorkPart(): 49 -> 50
    15:49:38.936: scanWorkPart(): 50 -> 51
    15:49:43.735: scanWorkPart(): 51 -> 52 > -4728
    15:49:44.854: scanWorkPart(): 52 -> 53 > -4664
    15:49:46.666: scanWorkPart(): 53 -> 54 > -4700
    15:49:46.728: ;18433;13711;-4700;-1304;;18433;13711;38400;0
    15:49:46.742: scanWorkPart(): 54 -> 55 > -4700
    15:49:48.301: moveZDownFast(): -1264
    15:49:50.307: scanWorkPart(): 55 -> 49
    15:49:50.359: scanWorkPart(): 49 -> 50
    15:49:50.796: scanWorkPart(): 50 -> 51
    15:49:57.420: scanWorkPart(): 51 -> 52 > -4636
    15:49:58.921: scanWorkPart(): 52 -> 53 > -4572
    15:50:00.349: scanWorkPart(): 53 -> 54 > -4608
    15:50:00.397: ;18433;12188;-4608;-1298;;18433;12188;38400;0
    15:50:00.410: scanWorkPart(): 54 -> 55 > -4608
    15:50:01.979: moveZDownFast(): -1264
    15:50:03.984: scanWorkPart(): 55 -> 49
    15:50:04.038: scanWorkPart(): 49 -> 50
    15:50:04.473: scanWorkPart(): 50 -> 51
    15:50:11.095: scanWorkPart(): 51 -> 52 > -4544
    15:50:14.387: scanWorkPart(): 52 -> 53 > -4480
    15:50:14.433: scanWorkPart(): 53 -> 54 > -4516
    15:50:14.447: ;18433;10665;-4516;-1299;;18433;10665;38400;0
    15:50:14.458: scanWorkPart(): 54 -> 55 > -4516
    15:50:15.606: moveZDownFast(): -1266
    15:50:17.611: scanWorkPart(): 55 -> 49
    15:50:17.647: scanWorkPart(): 49 -> 50
    15:50:18.151: scanWorkPart(): 50 -> 51
    15:50:24.775: scanWorkPart(): 51 -> 52 > -4452
    15:50:25.941: scanWorkPart(): 52 -> 53 > -4388
    15:50:27.021: scanWorkPart(): 53 -> 54 > -4412
    15:50:27.033: ;18433;9142;-4412;-1288;;18433;9142;38400;0
    15:50:27.458: scanWorkPart(): 54 -> 55 > -4412
    15:50:28.637: moveZDownFast(): -1267
    15:50:28.646: scanWorkPart(): 55 -> 39
    15:50:28.656: scanWorkPart(): 39 -> 60
    15:50:39.082: X:0.00 Y:0.00 Z:-1.06 E:0.00
    15:50:39.095: scanWorkPart(): 60 -> 65
    15:50:39.119: scanWorkPart(): raw work part compensation matrix:
    15:50:39.135: front left ... front right
    15:50:39.147: ... ... ...
    15:50:39.158: back left ... back right
    15:50:39.169: ;6;0;70;80;90;100;110
    15:50:39.184: ;0;0;0;0;0;0;0
    15:50:39.195: ;59;0;-216;-1004;-1824;-2664;-3532
    15:50:39.208: ;69;0;-232;-1020;-1848;-2712;-3600
    15:50:39.220: ;79;0;-256;-1060;-1892;-2772;-3668
    15:50:39.250: ;89;0;-292;-1100;-1948;-2832;-3736
    15:50:39.261: offset = 0 [steps] (= 0.00 [mm])
    15:50:39.270: g_uZMatrixMaxX = 7
    15:50:39.284: g_uZMatrixMaxY = 6
    15:50:39.299: g_nActiveWorkPart = 1
    15:50:39.320: scan start: x = 70.99, y = 59.99 [mm]
    15:50:39.334: scan steps: x = 10.00, y = 10.00 [mm]
    15:50:39.354: scan end: x = 124.01, y = 101.00 [mm]
    15:50:39.607: scanWorkPart(): total scan time: 503
    15:50:39.621: scanWorkPart(): g_uZMatrixMaxY.1 = 7
    15:50:39.634: scanWorkPart(): g_uZMatrixMaxY.2 = 7
    15:50:39.645: scanWorkPart(): converted work part compensation matrix:
    15:50:39.660: front left ... front right
    15:50:39.672: ... ... ...
    15:50:39.684: back left ... back right
    15:50:39.695: ;6;0;70;80;90;100;110;245
    15:50:39.706: ;0;-216;-216;-1004;-1824;-2664;-3532;-3532
    15:50:39.722: ;59;-216;-216;-1004;-1824;-2664;-3532;-3532
    15:50:39.734: ;69;-232;-232;-1020;-1848;-2712;-3600;-3600
    15:50:39.743: ;79;-256;-256;-1060;-1892;-2772;-3668;-3668
    15:50:39.760: ;89;-292;-292;-1100;-1948;-2832;-3736;-3736
    15:50:39.773: ;245;-292;-292;-1100;-1948;-2832;-3736;-3736
    15:50:39.786: offset = -216 [steps] (= -0.08 [mm])
    15:50:39.795: g_uZMatrixMaxX = 8
    15:50:39.806: g_uZMatrixMaxY = 7
    15:50:39.821: g_nActiveWorkPart = 1
    15:50:39.834: scan start: x = 70.99, y = 59.99 [mm]
    15:50:39.845: scan steps: x = 10.00, y = 10.00 [mm]
    15:50:39.860: scan end: x = 124.01, y = 101.00 [mm]
    15:50:39.871: saveCompensationMatrix(): valid data detected
    15:50:40.760: scanWorkPart(): the work part compensation matrix has been saved > 1
    15:50:42.014: scanWorkPart(): idle pressure at start: -1377
    15:50:42.024: scanWorkPart(): idle pressure at stop: -2794
    15:50:42.074: scanWorkPart(): the scan has been completed
  5. Z-Origin irgendwo mittig im Scan-Bereich suchen:
    code
    G90 ; set absolute coordinates
    G28 ; home
    M400 ; wait to finish movement
    M3115 ; set current position as origin (to clear the origin)
    G00 X100 Y75 F500 ; go to XY start of workpart scan area (slightly next to it due to ref hole)
    M400 ; wait to finish movement
    M3130 ; start searching z origin
    log
    15:52:36.239: nCPS X;0; nCPS Y;0; nCPS Z;15300; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:38.434: nCPS X;0; nCPS Y;0; nCPS Z;54500; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:40.492: nCPS X;0; nCPS Y;0; nCPS Z;56743; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:42.588: nCPS X;260; nCPS Y;0; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:44.685: nCPS X;-5; nCPS Y;0; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:46.781: nCPS X;0; nCPS Y;473; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:47.801: X:0.00 Y:0.00 Z:200.00 E:0.00
    15:52:47.843: setOrigin(): x=0.00; y=0.00; z=0.00
    15:52:48.878: nCPS X;1066; nCPS Y;800; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:50.975: nCPS X;3196; nCPS Y;2397; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:53.071: nCPS X;5326; nCPS Y;3995; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:55.168: nCPS X;7455; nCPS Y;5592; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:57.266: nCPS X;9585; nCPS Y;7189; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:52:59.361: nCPS X;11715; nCPS Y;8787; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:53:01.459: nCPS X;13844; nCPS Y;10384; nCPS Z;512000; tCZ;0; cCZ;0; tPSZ;0; cPSZ;0; dZ;512000; cZ;512000; Int32;0; RAM;1948
    15:53:03.047: findZOrigin(): the search has been started
    15:53:03.136: findZOrigin(): nMinPressureContact = -1739, nMaxPressureContact = -739
    15:53:03.151: findZOrigin(): 1 -> 10
    15:53:03.644: unsupported debug level: 6
    15:53:05.751: unsupported debug level: 6
    15:53:05.924: current=0, target=0, queue=15238
    15:53:09.297: unsupported debug level: 6
    15:53:09.322: X:100.00 Y:75.00 Z:167.96 E:0.00
    15:53:09.511: current=0, target=0, queue=15238
    15:53:09.742: X:100.00 Y:75.00 Z:165.88 E:0.00
    15:53:10.089: unsupported debug level: 6
    15:53:12.199: unsupported debug level: 6
    15:53:14.303: unsupported debug level: 6
    15:53:14.555: findZOrigin(): 10 -> 20
    15:53:15.084: findZOrigin(): 20 -> 30
    15:53:15.845: EEPROM updated
    15:53:15.857: X:100.00 Y:75.00 Z:167.58 E:0.00
    15:53:16.298: findZOrigin(): 30 -> 40
    15:53:16.348: nCPS X;15238; nCPS Y;11429; nCPS Z;512120; tCZ;0; cCZ;0; tPSZ;-82999; cPSZ;-82999; dZ;38400; cZ;38400; Int32;0; RAM;1948
    15:53:16.364: unsupported debug level: 6
    15:53:17.727: findZOrigin(): 40 -> 0
  6. An den Startpunkt des Scan-Bereichs fahren und XY-Origin dort setzen:
    code
    G90 ; set absolute coordinates
    G00 X71.88 Y60.89 F500 ; go to origin coordinates
    M400 ; wait to finish movement
    M3115 ; set current position as origin
    M3200 P7 ; show current origin
    log
    15:54:03.960: nCPS X;14911; nCPS Y;11264; nCPS Z;550400; tCZ;0; cCZ;0; tPSZ;-82999; cPSZ;-82999; dZ;38400; cZ;38400; Int32;0; RAM;1948
    15:54:05.988: nCPS X;12609; nCPS Y;10109; nCPS Z;550400; tCZ;0; cCZ;0; tPSZ;-82999; cPSZ;-82999; dZ;38400; cZ;38400; Int32;0; RAM;1948
    15:54:07.454: setOrigin(): x=-71.88; y=-60.89; z=0.00
    15:54:07.476: Z-Origin X: 15238; Z-Origin Y: 11429; Z-Origin Z: 0
  7. Z-Kompensation aktivieren und nach Z=1mm fahren
    code
    M3141 ; activate z compensation
    M3153 ; output compensation matrix
    G00 Z1.0
    log
    15:55:06.334: M3141: enabling z compensation
    15:55:06.356: M3153: current work part compensation matrix:
    15:55:06.367: front left ... front right
    15:55:06.377: ... ... ...
    15:55:06.389: back left ... back right
    15:55:06.402: ;6;0;70;80;90;100;110;245
    15:55:06.414: ;0;-216;-216;-1004;-1824;-2664;-3532;-3532
    15:55:06.424: ;59;-216;-216;-1004;-1824;-2664;-3532;-3532
    15:55:06.437: ;69;-232;-232;-1020;-1848;-2712;-3600;-3600
    15:55:06.449: ;79;-256;-256;-1060;-1892;-2772;-3668;-3668
    15:55:06.458: ;89;-292;-292;-1100;-1948;-2832;-3736;-3736
    15:55:06.467: ;245;-292;-292;-1100;-1948;-2832;-3736;-3736
    15:55:06.478: offset = -216 [steps] (= -0.08 [mm])
    15:55:06.496: g_uZMatrixMaxX = 8
    15:55:06.511: g_uZMatrixMaxY = 7
    15:55:06.524: g_nActiveWorkPart = 1
    15:55:06.535: scan start: x = 70.99, y = 59.99 [mm]
    15:55:06.545: scan steps: x = 10.00, y = 10.00 [mm]
    15:55:06.557: scan end: x = 124.01, y = 101.00 [mm]
    15:55:06.568: Z-Origin X: 15238; Z-Origin Y: 11429; Z-Origin Z: -367
    15:55:07.685: nCPS X;10953; nCPS Y;9278; nCPS Z;525710; tCZ;-734; cCZ;-734; tPSZ;-82999; cPSZ;-82999; dZ;2560; cZ;2560; Int32;0; RAM;1948


Der Abstand zur Platte ist danach real ungefähr 0, nicht wie erwartet 1mm. Wenn ich stattdessen den Z-Origin am XZ-Origin suchen lasse, ist der Abstand korrekt 1mm.

Edit: Wenn ich vor dem Suchen des Z-Origin die Z-Kompensation einschalte, funktioniert es auch nicht.

Re: Neue Development Firmware (RF.01.19)

Verfasst: Mi 11. Mai 2016, 15:16
von RF1000
Hallo mhier,


dank deiner exakten Beschreibung bekommen wir das nun auch hin.
In der kommenden Version der Firmware wird das gleich mit berücksichtigt.


mfG
RF1000

Re: Neue Development Firmware (RF.01.19)

Verfasst: Mi 11. Mai 2016, 18:29
von mhier
RF1000 hat geschrieben:Hallo mhier,


dank deiner exakten Beschreibung bekommen wir das nun auch hin.
In der kommenden Version der Firmware wird das gleich mit berücksichtigt.


mfG
RF1000
Perfekt, 1000 Dank!