Auto Level Question/Issue?
-
I have a custom built machine its a 1mx1mx1m Cartesian style printer. with a Moving gantry with 4 motors and 4 linear rods and 4 tr8, 4 start screws connected at each corner, my motors are setup with the duet wifi + duet expansion board. But seems I cannot get auto level to work or I may be thinking of it in the wrong aspect. what my question is basically does the auto level level the motors prior to printing or during a print. I have it working great during a print. But I have a tempered glass bed that is not perfectly flat. I have G29 setup to do a 195 point calibration on my bed and what a disaster. (NEVER USE TEMPERED GLASS, I LEARNT THE HARD WAY) I will be changing it out for something thinner and nit tempered but as I have 700x750x650 printing are I got a 12mm tempered glass thinking it would be stronger wayyy over kill. . with 4 (1500W) silicone heaters.
And when I start my machine obviously one of the motors always goes out of sync a bit, I have a G29 with the heightmap saved, Also I have G32 in my Sli3er's custom g-code section. At the end of bed.g file I have G29 S1. Now my question why when I do a G32 do the motors not automatically sync themselves after the probing(is what my understanding of auto level is (now I have seen the method for using end stops but I do not have high speeds on my z max speeds and do not want to go this route, as it would take probably just under 4-5 minutes for my z axis to go up and down every time before a print) Should auto level not be syncing the motors back into place automatically with me having to manually adjust every single screw.my config.g, bed.g. Do I have something setup incorrectly (I thinkin I have the order for all my g and m codes not in the right order)
Config.g
; Configuration file for Duet WiFi (firmware version 1.20 or newer)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Tue May 29 2018 16:29:18 GMT-0400 (Eastern Daylight Time); General preferences
G21 ; WORK IN MILLIMETRES
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Network
M550 My printer ; 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;Printer Geometry
M667 S0 ;Carthesian
M669 K0 ;Carthesian
M584 X0 Y1 Z2:7:8:9 E3; Drives
M569 P0 S1 ; Drive 0 goes forwards (X-axis)
M569 P1 S0 ; Drive 1 goes forwards (Y-axis)
M569 P2 S0 ; Drive 2 goes backwards (Z-axis)
M569 P3 S1 ; Drive 3 goes backwards (Extruder)
M569 P5 S0 ; Drive 5 goes backwards (unused)
M569 P6 S0 ; Drive 6 goes backwards (unused)
M569 P7 S0 ; Drive 7 goes backwards (Z-axis)
M569 P8 S0 ; Drive 8 goes backwards (Z-axis)
M569 P9 S0 ; Drive 9 goes backwards (Z-axis); Apply custom drive mapping
M671 X:-150:-150:800:800 Y-10:850:850:-10 S0 ;leadscrews at front left, rear left, rear right, front right. S1(z axis dierrential)
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X160 Y80 Z1605 E420 ; Set steps per mm
M566 X1170 Y1170 Z100 E2500 ; Set maximum instantaneous speed changes (mm/min)
M203 X15000 Y15000 Z170 E3800 ; Set maximum speeds (mm/min)
M201 X800 Y800 Z100 E750 ; Set accelerations (mm/s^2)
M906 X1445 Y1445 Z1500 E1445 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
M376 H1
; Axis Limits
M208 X0 Y0 Z0 S1 ; Set axis min
M208 X650 Y750 Z600 S0 ; Set axis max; Z-Probe
M558 P9 H5 F140 T15000 ; Z probe bl touch, set dive height, probe speed and travel speed
M557 X0:650 Y0:750 S36 ; Define mesh grid; Endstops
M574 X1 Y1 S0 ; Set active low endstops
G31 X5 Y-20 Z1.35 ; Set Z probe trigger value, offset and trigger height; Heaters
M307 H7 A-1 C-1 D-1
M305 P0 T100000 B3955 C0 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 T100000 B4725 C7.050000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C; Fans
M106 P0 S1 I0 F500 H1 T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P1 S0 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P2 S0 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off; Tools
M563 P0 D0 H1 ; Define tool 0
G10 P0 X10 Y-15 Z1.35 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C; Automatic power saving
M911 S11.3 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss; Custom settings are not configured
M581 E0:1 S0 T1 C0Bed.G
m561
G28 ; home
M401 ; deploy Z probe
G30 P0 X25 Y25 Z-99999 ;probe near front right (FR) lead screw
G30 P1 X25 Y720 Z-99999 ;probe near rear right (RR) lead screw
G30 P2 X650 Y720 Z-99999 ;probe near real left (RL) lead screw
G30 P3 X650 Y25 Z-99999 S4 ;probe near a front left (FL)
G30 p4 X325 Y350 z-99999
M402 ; retract probe
G29 S1 -
I forgot to mention I have Firmware Name:
RepRapFirmware for Duet 2 WiFi/Ethernet
Firmware Electronics:
Duet WiFi 1.02 or later + DueX5
Firmware Version:
1.21 (2018-03-21)
WiFi Server Version:
1.21RC4(08b3)
Web Interface Version:
1.21.2-dc42 -
If the motors are going out of sync you'll need a way to resynchronize them. End stops would be the easiest and most logical way. You could possibly use stall detection on the drivers to push them into a physical end stop until the motors all skip steps. But at some point the printer mechanics need to be true before any software compensation can work properly.
For example the height map from g29 is only valid when the mechanical setup of the printer is the same as when the height map was gathered.
Are you using this? https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
-
yes, went over it about 50 times, My mechanics are good, got a little issue with one rod slight wobble in it, but not till it's about 400mm, got a new rod coming, just waiting for it. I do get a difference of .09 in my height map after a large print. but because of my tempered glass bed, it has quite a few valleys in it, want to sync the motors all together(auto level) before auto compensation kicks in.
-
Thanks for the reply and assistance
-
-
When you run G32, does it probe the 4 points and then report the adjustments it made to the leadscrews?
-
If yes, when you run g32 several times, do the corrections converge?
I think it's unlikely that a 12mm glass plate is flexible enough to work well with independent adjustment of 4 leadscrews, because it won't twist easily. You may be better off wiring 2 of the Z motors in series (e.g. by using the two Z motor connectors) and treating it as a 3-leadscrew system. But those 2 motors will still be liable to get out of sync when you cycle the power.
-
-
dc42 administrators 06 Aug 2018 04:54
-
When you run G32, does it probe the 4 points and then report the adjustments it made to the leadscrews?
-
If yes, when you run g32 several times, do the corrections converge?
when I run g32 it does probe the 4 points but does not show me adjustments made in lead screw, it shows me a deviation and rms but no "leadscrew adjustment" as I've seen other people post. If it would make the adjustment and then when I run g29 s1, I should be good after that.I'm getting amazing quality and speed with weeks of fine tuning.
Also my bed does not move, its a moving gantry with x and y axis on it. the bed is stationary on the bottom of the machine. my gantry is made of aluminum extrusion
I've uploaded a file showing quality and of print and gantry
-
-
oh I forgot to mention I take the deviation and manually adjust the screws before a print right now
-
a better photo
-
@jkdp, you have S0 in your M671 command, so you are telling it not to make any adjustments.
-
I initially had it at 1 and still had no resultsm and I had read online through another forum that changing it from 1mm to 0 would make the leadscrew adjustment to 0,which also gave me no result, I will change that back to 1mm? or 3mm? and give it a try, I will have to try after this t-Rex skull from MakerBot is completed, unfortunately that won't be for a few days more as it's being printed at 370x370x600. I will give that a try and post my results this weekend. and pictures of the t-Rex skull. thanks you very much, for the help greatly appreciated.
-
@jkdp the S value is the maximum correction to apply in mm. So S0 means no correction.
-
ok my print finished. I've changed the S parameter in my config.g from (M671 X:-150:-150:800:800 Y-10:850:850:-10 S0) to (M671 X:-150:-150:800:800 Y-10:850:850:-10 S3) and when I run the autolevel (g32) still no corrections are made to leadscrews it only shows me in my g-code console "Bed equation fits points [25.0, 25.0, -0.047] [25.0, 720.0, 0.219] [650.0, 720.0, 0.641] [650.0, 25.0, 0.391]" the paramaeters do not change no matter how many times I run it.
-
finished print - t-rex skull by MakerBot
-
@jkdp said in Auto Level Question/Issue?:
ok my print finished. I've changed the S parameter in my config.g from (M671 X:-150:-150:800:800 Y-10:850:850:-10 S0) to (M671 X:-150:-150:800:800 Y-10:850:850:-10 S3) and when I run the autolevel (g32) still no corrections are made to leadscrews it only shows me in my g-code console "Bed equation fits points [25.0, 25.0, -0.047] [25.0, 720.0, 0.219] [650.0, 720.0, 0.641] [650.0, 25.0, 0.391]" the paramaeters do not change no matter how many times I run it.
The S parameter in the last G30 command in bed.g needs to match the number of leadscrews. You must be using S3 in that command, but you need S4 because you have 4 leadscrews according to your M671 command. So it's doing old-style 3-point bed compensation instead.
-
I already have the s4 command
m561
G28 ; home
M401 ; deploy Z probe
G30 P0 X5 Y5 Z-99999 ;probe near front right (FR) lead screw
G30 P1 X5 Y720 Z-99999 ;probe near rear right (RR) lead screw
G30 P2 X650 Y720 Z-99999 ;probe near real left (RL) lead screw
G30 P3 X650 Y5 Z-99999 S4 ;probe near a front left (FL)
G30 p4 X325 Y350 z-99999
M402 ; retract probe
G29 S1 -
ok for reference I just attempted it this way, and also got no leadscrew adjustment.
m561
G28 ; home
M401 ; deploy Z probe
G30 P0 X5 Y5 Z-99999 ;probe near front right (FR) lead screw
G30 P1 X5 Y720 Z-99999 ;probe near rear right (RR) lead screw
G30 P2 X650 Y720 Z-99999 ;probe near real left (RL) lead screw
G30 P3 X650 Y5 Z-99999 ;probe near a front left (FL)
G30 p4 X325 Y350 z-99999 S4
M402 ; retract probe
G29 S1 -
@jkdp That print turned out quite well!
-
@jkdp said in Auto Level Question/Issue?:
ok for reference I just attempted it this way, and also got no leadscrew adjustment.
m561
G28 ; home
M401 ; deploy Z probe
G30 P0 X5 Y5 Z-99999 ;probe near front right (FR) lead screw
G30 P1 X5 Y720 Z-99999 ;probe near rear right (RR) lead screw
G30 P2 X650 Y720 Z-99999 ;probe near real left (RL) lead screw
G30 P3 X650 Y5 Z-99999 ;probe near a front left (FL)
G30 p4 X325 Y350 z-99999 S4
M402 ; retract probe
G29 S1But was that with
M671 X:-150:-150:800:800 Y-10:850:850:-10 S4
in config.g? -
Yes I had s4 and still not getting any leadscrew adjustments only the "Bed equation fits points [0.0, 0.0, 0.026] [0.0, 720.0, -0.016] [650.0, 720.0, 0.155] [650.0, 0.0, 0.018]" parameter.
They've been turning out pretty good, a few settings left to adjust with the retraction settings and have a slight wobble in 2 screws, have 2 more coming in, just waiting to change them out.
thanks