Troubleshooting dual z axis sync
-
My setup is supposed to have z1 in the z axis, z2 in E1. I can't get it to move correctly. All other issues have been resolved (beyond my issue of printing 5-10 mm above the bed). I still have not figured out the runnout sensor, but that is for another time.
code_text Config: ; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"CoreXY" ; set printer name M669 K1 ; select CoreXY mode ; Network M551 P ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S1 ; enable Telnet ; Drives M569 P0 S0 ; X motor runs forwards M569 P0 S1 ; Y motor runs forwards ; physical drive 1 goes forwards M569 P2 S0 ; physical drive 2 goes forwards M569 P3 S0 M569 P4 S0 ; physical drive 3 goes forwards M584 X0 Y1 Z2:4 E3 M671 X300:-20 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis M208 X5:-305 Y0:300 ; set drive mapping M350 X256 Y256 Z256 I0 ; configure microstepping without interpolation M350 E16 I1 ; configure microstepping with interpolation M92 X1280.00 Y1280.00 Z6400.00 E420.00 ; set steps per mm M566 X27000.00 Y27000.00 Z7200.00 E27000.00 ; set maximum instantaneous speed changes (mm/min) M203 X30000.00 Y30000.00 Z7200.00 E27000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X1500 Y1500 Z1200 E900 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 X330 Y330 Z400 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin ystop M574 Z1 S2 ; set endstop controlled by probe ;M574 Z1 S1 P"!zstop+!e0stop" ; Z axis with two motors, individual min endstops, active low ; configure Z-probe endstop for high end on Z ; Z-Probe M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H3 F120 T4800 ; set Z probe type to bltouch and the dive height + speeds M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P500 X-40 Y-10 Z1 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M308 S0 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin e1temp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S90 ; set temperature limit for heater 0 to 90C M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 C"Electronics" S0.75 H1 T45 ; set fan 0 name and value. Thermostatic control is turned on M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 C"Part Fan" S1 H0:1 T45 ; set fan 1 name and value. Thermostatic control is turned on M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 C"Hot End" S1 H1 T45 ; set fan 2 name and value. Thermostatic control is turned on ; Tools M563 P0 S"Hotend" D0 H1 F0 ; 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 ; Custom settings M591 P1 C"e0stop" S1 ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool
Bed: 0:/sys/bed.g ; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time) G28 ; home M401 ; deploy Z probe (omit if using bltouch) G30 P0 X20 Y175 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X300 Y175 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors M402 ; retract probe (omit if using bltouch) M561 ; clear any bed transform G29 ; probe the bed and enable compensation
Any help would be greatly appreciated. I work on people, not code, so I may have made some missteps.
-
Well, i don't think it will help your z axis issue but 2 things I see wrong are that you have 3 M208 entries and you will have serious problems having your microstepping at 256 given the max speeds you have. at 256 microstepping you will be limited to rather slow speeds and should set your X, Y and Z up for 16x microstepping with interpolation. You will have hiccups which will cause you grief at 256 microstepping.
-
Hi,
You've got a couple of issues - one major and one minor.
Examine your M569 commands. The first two (for X and Y) both have P0.
You have a M208 X5:-350 Y0:300 which likely should be removed as you have two other instances down below which actually make sense, this one doesn't.
Also just FYI you might want to post code using the </> tag as this puts the code in a scrolling section all it's own.
See below.
M118 S"FIRST COMMAND" G90 M83 M106 S0 ;M140 S60 ;M104 S190 T0 M98 P"print_begin_test.g" G1 Z10 F600 G1 X0 Y0 F3000 G1 X150 Y-150 G1 X150 Y150 G1 X-150 Y150 G1 X-150 Y-150 G1 X0 Y0 M98 P"print_end_test.g" M0
Frederick
-
@chuymatt how exactly does it move? What is it doing/not doing?
When you connected the single motor to the Z-driver, did you put the jumpers on the other Z-header? There is a note about this on the duet wiring diagrams.
Also have you checked that both motors work okay/are wired up correctly? Try plugging them in to different drivers and checking they spin etc.
Do you get any errors come up when you try to move Z?
-
@JamesM
Would hat have made the y and x motors run hotter?I have changed to 16 with interp.
Thanks!
This is my first reprap firmware printer and only my second printer overall.
-
@fcwilt I was banging my head against the wall for a while trying to get the corexy movement correct and this was what seemed to make commands have the intended effect. I'll admit I was flailing with that section.
-
@JamesM Oh. wow. So much faster. Also, homing is kinda scary now...
-
@engikeneer
Well... I moved on to the next aspect of my build after getting movement and the bltouch to work I neglected to put the jumpers back on. It is moving correctly now. Before, z1 was not moving anything. now they are both going at it.Rookie mistakes.
-
Now z homing does not work correctly. X slams into the non-triggered side and then pingpongs back and forth on the y axis while the z is raising up. Super weird.
-
@chuymatt said in Troubleshooting dual z axis sync:
Now z homing does not work correctly. X slams into the non-triggered side and then pingpongs back and forth on the y axis while the z is raising up. Super weird.
Well you've got two Z motors and a BLTouch - correct?
At one point in your config file you had two endstops for Z but now it is one.
Are you using end stops (either 1 or 2) for homing Z or are you using the BLTouch.
In your bed.g M401 and M402 appear with the comment to remove if using BLTouch?
Since you appear to be using a BLTouch you should remove them.
Please post your home*.g files.
Frederick
-
@fcwilt I am using the BL touch only.
Thank you for taking the time to help.
It no longer pingpongs.
All
0:/sys/homeall.g ; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z5 F18000 ; lift Z relative to current position G1 H1 X-335 Y-335 F6000 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X-335 ; home X axis G1 H1 Y-335 ; home Y axis G1 X5 Y5 F2800 ; go back a few mm G1 H1 X-335 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y-335 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X55 Y25 F27000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning CoreXY Send code... Status Idle Mode: FFF Tool Position X 0.0 Y 0.0 Z 0.00 Extruder Drives Drive 0 0.0 Speeds Requested Speed 0 mm/s Top Speed 0 mm/s Sensors Vin 23.9 V MCU Temperature 38.0 C Z-Probe 0 Tools Extra Control All Tool Heater Current Active Standby Hotend T0 - Load Filament Heater 1 active 207.9 C 205 0 Bed Heater 0 active 45.2 C 60 0 Temperature Chart System Directory
0:/sys/homex.g ; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-335 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 X5 F6000 ; go back a few mm G1 H1 X-335 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
0:/sys/homey.g ; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y-335 F6000 ; move quickly to Y axis endstop and stop there (first pass) G1 Y5 F6000 ; go back a few mm G1 H1 Y-335 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jun 24 2020 23:25:43 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z5 F1000 ; lift Z relative to current position G90 ; absolute positioning G1 X100 Y-155 F1000 ; go to first probe point G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
-
Hi,
Glad to hear it is work.
I assume you cleaned up the config.g file?
Frederick
-
@chuymatt You need to adjust the steps/mm appropriately after changing the microstepping. That is probably why it's moving so fast. So X and Y should be set at 80 and Z at 400
-
@JamesM said in Troubleshooting dual z axis sync:
@chuymatt You need to adjust the steps/mm appropriately after changing the microstepping. That is probably why it's moving so fast. So X and Y should be set at 80 and Z at 400
If M92 appears before M350 and M92 contains the correct values for 16x micro-stepping then any needed adjustments will be made for the values used in M350 if for some reason they are other than 16x micro-stepping.