Dual Z motor configuration August 29, 2018 01:56PM |
Registered: 9 years ago Posts: 465 |
M584 Z2:4
M671 X-43.0:309.0
M671 X-43.0:309:0 Y137.5:137.5
Re: Dual Z motor configuration August 30, 2018 04:01AM |
Registered: 10 years ago Posts: 14,672 |
Quote
SupraGuy
So just making sure that I've got a handle on this.
For this machine I will only have the single extruder, and 2 Z motors so I would like to use the (nominal) E1 drive for the second Z motor, instead of running them in series off of the single driver. If I'm reading this right, I need:
M584 Z2:4
Do I need to specify X0 Y1 E3 or will those be okay since they're default? I understand the M584 command must precede the M671 command in config.g.
Quote
SupraGuy
My hardware is configured for the 2 Z motors 352mm separated. My nozzle is offset by +28mm from the center of this, so it is centered between the 2 at 153mm, and I want a printable width of 220mm. This puts the X coordinates of the drive centres at -43 and 309mm. Their Y offset is (Or had better be!) zero. Do I need to specify a Y axis location in my M671 Gcode configuration? The Duet wiki and the reprap gcode wiki both give examples using 3 Z motors which have a nonzero Y offset.
Example:
M671 X-43.0:309.0
Or should I just throw in an arbitrary Y coordinate (Like the centre of the bed)
Example:
M671 X-43.0:309:0 Y137.5:137.5
Quote
SupraGuy
I'm under the assumption that these will go in the config.g file
Quote
SupraGuy
For bed leveling, I assume that I can make it so that there will need to be zero Z compensation needed (At least at the points where I probe to adjust the Z motors) but I will still want to allow for a possible tilt along the Y axis, or a sag either in the bed or the rails. Bed leveling is still kind of new to me, so I'm less sure how this works.
Quote
SupraGuy
Can I have the printer adjust the Z level without doing a complete probe map? say when it homes the Z axis? I see in the Duet wiki there's a section defining 3 probe points near the lead screws, and the last G30 has an S3 parameter to it, which doesn't seem to be documented in the Gcode wiki, but the comment seems to indicate that it adjusts the motors. Will it adjust the Z height accordingly if it moves? (I assume so.) So can this go in the homez.g or homeall.g file?
Quote
SupraGuy
My understanding is that bed.g is the code routine used to update the bed map (Say from a G29 command) so I assume that I can start by determining/adjusting any tilt from the 2 Z motors, and then go on to do for example a mesh level of the whole bed. Does G29 only call the bed.g file, or will it home the other axes first?
Re: Dual Z motor configuration August 30, 2018 11:43AM |
Registered: 9 years ago Posts: 465 |
I see. Perfect, that's exactly the info I was looking for.Quote
dc42
You need to add E3 because the default is E3:4.Quote
SupraGuy
Do I need to specify X0 Y1 E3 or will those be okay since they're default? I understand the M584 command must precede the M671 command in config.g.
Well, I"m hoping that the adjustments needed won't be large ones, but I'll keep that in mind.Quote
dc42
Yes, you can use those G30 commands in homeall.g and/or homez.g if you like; or you can put them in bed.g and then use G31 at the end of homeall.g and/or homez.g. You will need S2 on the last G30 command instead of S3. You may need to run the G30 sequence (or run G31 to call bed.g) more than once to reduce the errors to acceptable amounts, because the levelling model assumes perfectly gimballed joints between the leadscrews and the gantry but you won't have those.Quote
SupraGuy
Can I have the printer adjust the Z level without doing a complete probe map? say when it homes the Z axis? I see in the Duet wiki there's a section defining 3 probe points near the lead screws, and the last G30 has an S3 parameter to it, which doesn't seem to be documented in the Gcode wiki, but the comment seems to indicate that it adjusts the motors. Will it adjust the Z height accordingly if it moves? (I assume so.) So can this go in the homez.g or homeall.g file?
I see. As I say, bed leveling is a new aspect of 3D printing for me. I'm still doing a bunch of reading on how this all goes together.Quote
dc42
G31 is the command the invokes the bed.g file. G29 runs mesh bed probing.Quote
SupraGuy
My understanding is that bed.g is the code routine used to update the bed map (Say from a G29 command) so I assume that I can start by determining/adjusting any tilt from the 2 Z motors, and then go on to do for example a mesh level of the whole bed. Does G29 only call the bed.g file, or will it home the other axes first?
Re: Dual Z motor configuration August 30, 2018 04:49PM |
Registered: 9 years ago Posts: 465 |
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool on Tue Jun 26 2018 20:51:43 GMT-0600 (Mountain Daylight Time) ; Added DMG 08/30/2018 Leel 2 Z motors before mapping bed G30 P0 X200.0 Y137.5 Z-99999 ; probe near right-hand leadscrew G30 P1 X10 Y137.5 Z-99999 S2 ; probe near left-hand leadscrew and calibrate 2 motors ; Probe the bed at 3 points (Right on top of the piezo sensors for now, will change later) M561 ; clear any bed transform G30 P0 X35.0 Y137.5 H0 Z-99999 G30 P1 X185.0 Y82.5 H0 Z-99999 G30 P2 X185.0 Y192.5 H0 Z-99999 S
; 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 Jun 26 2018 20:51:43 GMT-0600 (Mountain Daylight Time) ; Modified by DMG 08/30/2018 ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Custom configuration M584 Z2:4 E3 ; Set Z motors on drives 2 and 4 DMG 08/30/2018 M671 X-43.0:309:0 Y137.5:137.5 ; Set the Z motor relative locations DMG 08/30/2018 ; Network M550 PDMG3D01 ; Set machine name M552 S1 ; Enable network M587 S"FASTNFURIOUSWIFI" P"SupraGuy''sSuperSecurePassword" ; Configure access point. You can delete this line once connected M586 P0 S1 ; Enable HTTP M586 P1 S1 ; Enable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards ; DMG 08/30/2018 I think the following line need to be configured M569 P4 S1 ; Drive 4 goes forwards M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X400 Y400 Z4000 E92.6 ; Set steps per mm M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min) M203 X6000 Y6000 Z180 E1200 ; Set maximum speeds (mm/min) M201 X500 Y20 Z250 E250 ; Set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; Set axis minima M208 X220 Y275 Z190 S0 ; Set axis maxima ; Endstops M574 X2 Y2 S0 ; Set active low endstops ; Z-Probe M574 Z1 S2 ; Set endstops controlled by probe M558 P1 H5 F120 T6000 ; Set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height M557 X15:205 Y15:205 S20 ; Define mesh grid ; Heaters M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C ; Fans M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F500 H1 T45 ; 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 configuredWifi SSID and Password have been changed to protect the innocent.
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool on Thu Aug 30 2018 14:11:29 GMT-0600 (Mountain Daylight Time) G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position G1 S1 X225 Y280 F900 ; move quickly to X and Y axis endstops and stop there (first pass) G1 X-5 Y-5 F6000 ; go back a few mm G1 S1 X225 Y280 F240 ; move slowly to X and Y axis endstops once more (second pass) G90 ; absolute positioning ; Added DMG 08/30/2018 Level 2 motors to home Z G30 P0 X200.0 Y137.5 Z-99999 ; probe near right-hand leadscrew G30 P1 X10 Y137.5 Z-99999 S2 ; probe near left-hand leadscrew and calibrate 2 motors ; Uncomment the following lines to lift Z after probing G91 ; relative positioning G1 S2 Z5 F100 ; lift Z relative to current position G90 ; absolute positioning
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool on Tue Jun 26 2018 20:51:43 GMT-0600 (Mountain Daylight Time) G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position G90 ; absolute positioning ; Added DMG 08/30/2018 Level 2 motors to home Z G30 P0 X200.0 Y137.5 Z-99999 ; probe near right-hand leadscrew G30 P1 X10 Y137.5 Z-99999 S2 ; probe near left-hand leadscrew and calibrate 2 motors ; Uncomment the following lines to lift Z after probing G91 ; relative positioning G1 Z5 F100 S2 ; lift Z relative to current position G90 ; absolute positioning
Re: Dual Z motor configuration August 30, 2018 05:06PM |
Registered: 10 years ago Posts: 14,672 |
Quote
SupraGuy
So, my bed.g file as follows:
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool on Tue Jun 26 2018 20:51:43 GMT-0600 (Mountain Daylight Time) ; Added DMG 08/30/2018 Leel 2 Z motors before mapping bed G30 P0 X200.0 Y137.5 Z-99999 ; probe near right-hand leadscrew G30 P1 X10 Y137.5 Z-99999 S2 ; probe near left-hand leadscrew and calibrate 2 motors ; Probe the bed at 3 points (Right on top of the piezo sensors for now, will change later) M561 ; clear any bed transform G30 P0 X35.0 Y137.5 H0 Z-99999 G30 P1 X185.0 Y82.5 H0 Z-99999 G30 P2 X185.0 Y192.5 H0 Z-99999 S
So the idea is supposed to be to fix the Z motors before mapping the bed. I'll probably do a full mesh level instead, but initially, these 3 points (right on top of the Piezo sensors) is what I want for testing. I expect the probe to go tap, tap (right, then left), and adjust the left motor, then probe the 3 locations where the sensors are.
Quote
SupraGuy
So some questions here, since the RRF configuration doesn't have a setting for more than one Z motor...
In the drives and steps/mm section (I set up P4 because that seems obvious to me) do I need to set up steps/mm for both Z drives? Configure microstepping? Set Currents? Basically do I need to add something for the second Z motor?
Quote
SupraGuy
Also, I'm making an assumption here, but I'm assuming that it will know that Z0 is the one at X=-43.0 and that Z1 is the one at X=309.
Re: Dual Z motor configuration August 30, 2018 05:18PM |
Registered: 9 years ago Posts: 465 |