Solved Adjust Z Axis with 2 independent Z-Motors & Mesh calibrating
-
Hello,
i Have 2 ballscrew's in my Printer they run so smoth that allways when i switch off the printer my Printbed moves down.
It is possible to adjust the bed height automatically first, and after that using the Mesh calibrating function with a connected z-probe like piezo orion?
what i want is:
first both z axis drive the bed up until the first endstop is triggert now the triggering site is stopped the other side motor will drive until the second endstop is triggering.
If it is possible how i can configure it?
regards
Andy
-
-
this i know and is running so far on my printer, but this only levels the bed and not adjust it.
-
the article talks about
G32
https://duet3d.dozuki.com/Wiki/Gcode#Section_G32_Probe_Z_and_calculate_Z_plane
not
G29
https://duet3d.dozuki.com/Wiki/Gcode#Section_G29_Detailed_Z_Probethe G32 command will adjust the 2 screws independently.
-
@siam said in Adjust Z Axis with 2 independent Z-Motors & Mesh calibrating:
this i know and is running so far on my printer, but this only levels the bed and not adjust it.
What do you mean by "this only levels the bed and not adjust it"?
-
when I start leveling with g32, my two measurement points are measured, and in my example, one side is 0.7 mm too deep.
If I measure the print bed manually after the command g32 the one side is still 0.7 too deep i think this will be corrected during the print (leveling)What I would like to have would be my example: if i send the command g32 or similar to the printer the print bed will be corrected so that i have both axis at the same hight (adjust)
-
When you home the printer and then run G32 several times in succession, what output do you get in the DWC console?
-
ok it seems to work ! this means i have to send the g32 command 10 times or more to get a even printbed? or is there a miss configuration on my side ?
09:39:03G32 Leadscrew adjustments made: -0.043 -0.052, points used 2, deviation before 0.052 after 0.000 09:38:30G32 Leadscrew adjustments made: -0.040 -0.042, points used 2, deviation before 0.042 after 0.000 09:37:56G32 Leadscrew adjustments made: -0.034 -0.049, points used 2, deviation before 0.049 after 0.000 09:37:25G32 Leadscrew adjustments made: -0.048 -0.062, points used 2, deviation before 0.062 after 0.000 09:36:51G32 Leadscrew adjustments made: -0.038 -0.071, points used 2, deviation before 0.072 after 0.000 09:36:20G32 Leadscrew adjustments made: -0.064 -0.091, points used 2, deviation before 0.091 after 0.000 09:35:48G32 Leadscrew adjustments made: -0.027 -0.123, points used 2, deviation before 0.135 after 0.000 09:35:17G32 Leadscrew adjustments made: -0.020 -0.228, points used 2, deviation before 0.261 after 0.000 09:34:44G32 Leadscrew adjustments made: -0.001 -0.385, points used 2, deviation before 0.455 after 0.000 09:34:26G28 09:33:53T0```
-
It works well for me! Thanks for that quick and working solution
-
post your config.
-
Istalled firmware is 2.03
my config.g
; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Sun Apr 21 2019 14:18:45 GMT+0200 (Mitteleuropäische Sommerzeit) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M669 K1 ; Network M550 P"hypercube" ; Set machine name M552 S1 ; Enable network ;*** Access point is configured manually via M587 M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S1 ; Drive 0 = X goes forwards M569 P1 S1 ; Drive 1 = Y goes forwards M569 P2 S1 ; Drive 2 = Z goes forwards M569 P3 S1 ; Drive 3 = e0 goes backwards M569 P4 S1 ; Drive 4 = e2 goes forwards ; Calibrierung z achsen M584 X0 Y1 Z2:4 ; zwei an die Treiberausgänge Z und E1 angeschlossene Z-Motoren M671 X-10:390 Y190:190 S2 ; Leitspindeln links und rechts von der X-Achse M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X80.5 Y80.5 Z800.00 E426 ;xy= 8050 E2864.00 ; Set steps per mm bowden M566 X960.00 Y960.00 Z240.00 E250 ; Z 12 Set maximum instantaneous speed changes (mm/min)bowden M203 X9000.00 Y9000.00 Z1200.00 E12000.00 ; Set maximum speeds (mm/min)***** / = 180 (lahm)bowden M201 X2000.00 Y2000.00 Z500.00 E2000.00 ; Set accelerations (mm/s^2) bowden M906 X1000.00 Y1000.00 Z1000.00:1000.00 E1000.00 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S0 ; Set idle timeout ; Axis Limits M208 X-1 Y0 Z-3 S1 ; Set axis minima M208 X-5:205 Y0:200 ; Der X-Wagen bewegt sich von -5 bis 205, das Y-Bett von 0 bis 200 M208 X400 Y380 Z450 S0 ; Set axis maxima ; Endstops M574 X1 Y1 S1 ; Set active high endstops ; Z-Probe M574 Z1 S2 ; Set endstops controlled by probe M558 P8 R0.4 H5 F450 T6000 I1 ; Set Z probe type to effector and the dive height + speeds G31 P500 X0 Y0 Z0.20 ; Set Z probe trigger value, offset and trigger height M557 X15:390 Y15:390 S50 ; Define mesh grid ; Heaters M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4725 C7.06e-8 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C ; Fans M106 P0 S0 I0 F25500 H-1 C"Kühlung" ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P1 S1 I0 F75 H1 T45 C"hotend" ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S0.5 I0 F250 H-11 T35 C"LED" ; LED Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Tools M563 P0 D0 H1 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C ; Automatic saving after power loss is not enabled ; Custom settings are not configured ; Miscellaneous M501 ; Load saved parameters from non-volatile memory
bed.g
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v2 on Sun Apr 21 2019 14:18:45 GMT+0200 (Mitteleuropäische Sommerzeit) M561 ; clear any bed transform ;G29 ; probe the bed and enable compensation G28 ; home M401 ; Z-Probe einsetzen (bei Verwendung von bltouch weglassen) G30 P0 X10 Y190 Z-99999 ; Sonde in der Nähe einer Leitspindel auf halbem Weg entlang der Y-Achse G30 P1 X380 Y190 Z-99999 S2 ; Sonde in der Nähe einer Leitspindel und 2 Motoren kalibrieren M402 ; retract probe (bei Verwendung von bltouch weglassen). ; Probe the bed at 4 points ;G30 P0 X15 Y15 H0 Z-99999 ;G30 P1 X15 Y375 H0 Z-99999 ;G30 P2 X375 Y375 H0 Z-99999 ;G30 P3 X375 Y15 H0 Z-99999 S
-
@siam said in Adjust Z Axis with 2 independent Z-Motors & Mesh calibrating:
ok it seems to work ! this means i have to send the g32 command 10 times or more to get a even printbed? or is there a miss configuration on my side ?
I suspect you are homing the printer between each run, or perhaps in your bed.g file. Don't do that, do several leadscrew correction cycles without homing in between.
It's common to find that each cycle under-corrects. You can help compensate for this by using the M671 F parameter to force over-correction. Try F2.
When you know how many cycles you need, you can replicate the sequence of G30 commands in bed.g that number of times.
-
now im a little confused i have changed my bed.g to this:
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v2 on Sun Apr 21 2019 14:18:45 GMT+0200 (Mitteleuropäische Sommerzeit) M561 ; clear any bed transform G28 ; home M401 ; Z-Probe einsetzen (bei Verwendung von bltouch weglassen) G30 P0 X10 Y190 Z-99999 ; Sonde in der Nähe einer Leitspindel auf halbem Weg entlang der Y-Achse G30 P1 X380 Y190 Z-99999 S2 ; Sonde in der Nähe einer Leitspindel und 2 Motoren kalibrieren M402 ; retract probe (bei Verwendung von bltouch weglassen). M401 ; Z-Probe einsetzen (bei Verwendung von bltouch weglassen) G30 P0 X10 Y190 Z-99999 ; Sonde in der Nähe einer Leitspindel auf halbem Weg entlang der Y-Achse G30 P1 X380 Y190 Z-99999 S2 ; Sonde in der Nähe einer Leitspindel und 2 Motoren kalibrieren M402 ; retract probe (bei Verwendung von bltouch weglassen). M401 ; Z-Probe einsetzen (bei Verwendung von bltouch weglassen) G30 P0 X10 Y190 Z-99999 ; Sonde in der Nähe einer Leitspindel auf halbem Weg entlang der Y-Achse G30 P1 X380 Y190 Z-99999 S2 ; Sonde in der Nähe einer Leitspindel und 2 Motoren kalibrieren M402 ; retract probe (bei Verwendung von bltouch weglassen). M401 ; Z-Probe einsetzen (bei Verwendung von bltouch weglassen) G30 P0 X10 Y190 Z-99999 ; Sonde in der Nähe einer Leitspindel auf halbem Weg entlang der Y-Achse G30 P1 X380 Y190 Z-99999 S2 ; Sonde in der Nähe einer Leitspindel und 2 Motoren kalibrieren M402 ; retract probe (bei Verwendung von bltouch weglassen). M401 ; Z-Probe einsetzen (bei Verwendung von bltouch weglassen) G30 P0 X10 Y190 Z-99999 ; Sonde in der Nähe einer Leitspindel auf halbem Weg entlang der Y-Achse G30 P1 X380 Y190 Z-99999 S2 ; Sonde in der Nähe einer Leitspindel und 2 Motoren kalibrieren M402 ; retract probe (bei Verwendung von bltouch weglassen). M401 ; Z-Probe einsetzen (bei Verwendung von bltouch weglassen) G30 P0 X10 Y190 Z-99999 ; Sonde in der Nähe einer Leitspindel auf halbem Weg entlang der Y-Achse G30 P1 X380 Y190 Z-99999 S2 ; Sonde in der Nähe einer Leitspindel und 2 Motoren kalibrieren M402 ; retract probe (bei Verwendung von bltouch weglassen). M401 ; Z-Probe einsetzen (bei Verwendung von bltouch weglassen) G30 P0 X10 Y190 Z-99999 ; Sonde in der Nähe einer Leitspindel auf halbem Weg entlang der Y-Achse G30 P1 X380 Y190 Z-99999 S2 ; Sonde in der Nähe einer Leitspindel und 2 Motoren kalibrieren M402 ; retract probe (bei Verwendung von bltouch weglassen). ; Probe the bed at 4 points ;G30 P0 X15 Y15 H0 Z-99999 ;G30 P1 X15 Y375 H0 Z-99999 ;G30 P2 X375 Y375 H0 Z-99999 ;G30 P3 X375 Y15 H0 Z-99999 S
with this in the config.g:
M671 X10:380 Y190:190 S2 F1; Leitspindeln links und rechts von der X-Achse
i get a good result
22:44:45Leadscrew adjustments made: 0.000 -0.001, points used 2, deviation before 0.001 after 0.000 22:44:35Leadscrew adjustments made: 0.002 -0.001, points used 2, deviation before 0.002 after 0.000 22:44:25Leadscrew adjustments made: 0.006 -0.004, points used 2, deviation before 0.005 after 0.000 22:44:15Leadscrew adjustments made: 0.014 -0.019, points used 2, deviation before 0.016 after 0.000 22:44:04Leadscrew adjustments made: 0.041 -0.043, points used 2, deviation before 0.042 after 0.000 22:43:54Leadscrew adjustments made: 0.119 -0.148, points used 2, deviation before 0.134 after 0.000 22:43:43G32 Leadscrew adjustments made: 0.008 -0.812, points used 2, deviation before 0.575 after 0.000
now i change to m671 F2
M671 X10:380 Y190:190 S2 F2; Leitspindeln links und rechts von der X-Achse
then i get this result:
22:47:49Leadscrew adjustments made: -1.003 -0.995, points used 2, deviation before 0.499 after 0.000 22:47:39Leadscrew adjustments made: 1.003 1.003, points used 2, deviation before 0.501 after 0.000 22:47:28Leadscrew adjustments made: -0.995 -1.015, points used 2, deviation before 0.503 after 0.000 22:47:18Leadscrew adjustments made: 0.970 1.033, points used 2, deviation before 0.501 after 0.000 22:47:08Leadscrew adjustments made: -0.893 -1.097, points used 2, deviation before 0.500 after 0.000 22:46:57Leadscrew adjustments made: 0.685 1.312, points used 2, deviation before 0.523 after 0.000 22:46:47G32 Leadscrew adjustments made: -0.123 -1.952, points used 2, deviation before 0.692 after 0.000
with the multiplier M671 F2 should be more corrected and not less, right?
-
In your previous results it looked like it was only doing about 50% of the correction needed, which is why I suggested F2. Now it looks like it's applying almost the right amount when you use F1, and far too much when you use F2. So stick with F1, or try F1.1 or thereabouts.
You don't need all those M401 and M402 commands.
-
ok i think now i can work with this function
Thank you for this great Product and the perfect support