Core XY weired behavior of the Z-Axis and Endstop config



  • Hello,

    i just wired up my new Core XY machine. First i cnofigured the Endstops at the X and Y axis and everythink just went fine. Then i tried to configure also the Z-axis and i coudn't get it right. L
    Please take a look at the Config.g file at the bottom.
    So my endstop position at the Z-axis is at the botom of the machine. So when i Home the Z-axis, it move into the right direction (down) where the endstop is located. Then it hits the Endstop and at the Duet Web Interace, it shows the value 300 at the actual Z posiotion.

    So now i klicked on the -5mm incremental button at the Z-axis doesnt move. It's strange because for my understanding it should only be able to move in the Z minus direction. If i klick on the Z +5mm the axis moves up to Z=0mm then i klicked again on the Z+5mm and the Z-axis moved down again.

    I tried every possible combination at the M208 and M574 commands and i could not find out why the axis behaves like that.

    Please give me a guess if you have any idea what i could change.

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Thu Jul 18 2019 11:42:53 GMT+0200 (MitteleuropÀische Sommerzeit)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    M667 S1 ; Select CoreXY mode

    ; Network
    M550 P"CoreXY" ; Set machine name
    M552 P192.168.137.18 S1 ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Physical drive 0 goes forwards
    M569 P1 S1 ; Physical drive 1 goes forwards
    M569 P2 S0 ; Physical drive 2 goes forwards
    M569 P3 S1 ; Physical drive 3 goes forwards
    M569 P4 S1 ; Physical drive 4 goes forwards
    M569 P5 S1 ; Physical drive 5 goes forwards
    M569 P6 S1 ; Physical drive 6 goes forwards
    M350 X16 Y16 Z16 E16:16:16:16 I1 ; Configure microstepping with interpolation
    M92 X80.00 Y80.00 Z650.00 E420.00:420.00:420.00:420.00 ; Set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00:120.00:120.00:120.00 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z800.00 E1200.00:1200.00:1200.00:1200.00 ; Set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00:250.00:250.00:250.00 ; Set accelerations (mm/s^2)
    M906 X800.00 Y800.00 Z800.00 E800.00:800.00:800.00:800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X425 Y343 Z0 S0 ; Set axis maxima
    M208 X0 Y0 Z300 S1 ; Set axis minima

    ; Endstops
    M574 X1 Y1 Z2 S0 ; Set active high endstops

    ; Z-Probe
    M558 P5 H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds
    G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M556 S50 X0 Y0 Z0 ; Set orthogonal axis compensation parameters
    M557 X15:215 Y15:195 S20 ; 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 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    M305 P2 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 2
    M143 H2 S280 ; Set temperature limit for heater 2 to 280C
    M305 P3 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 3
    M143 H3 S280 ; Set temperature limit for heater 3 to 280C
    M305 P4 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 4
    M143 H4 S280 ; Set temperature limit for heater 4 to 280C

    ; Fans
    M106 P0 S0 I0 F500 H T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 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 power saving
    ;M911 S10 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

    ; Miscellaneous
    T0 ; Select first tool

    Thnaks



  • try the console and see any reported error message.

    ie. put in G0 Z295



  • I put in the G-code "G0 Z295" in the console and nothing hapend. No error Messages only "G0 Z295" cloered in Green.

    Also weired, if i send "G1 X20 Y20 F2000" the X-axis and Y-axis move, but if they are positioned the Z-axis moves also.



  • @philipp-r said in Core XY weired behavior of the Z-Axis and Endstop config:

    , but if they are positioned the Z-axis moves also.

    what do you mean by positioned?

    your M92 has Z650.00. this is a unusual number.
    what lead screw do you have?





  • the M584 is not required if the default mapping is used.



  • @veti said in Core XY weired behavior of the Z-Axis and Endstop config:

    the M584 is not required if the default mapping is used.

    Ah, thank you for this information 👍



  • I use a precision Ballscrew with a 5mm pitch without a gear.



  • @veti i ment, when i send the G-code "G1 X20 Y20 F2000" the X and Y-axis move to the position X20 Y20... after they reached this position the Z-axis will also begin to move without any commend used.



  • @philipp-r

    that is very strange behavior. in which direction does it move? how far does it move?
    do you have a config-overwrite file?

    how many motors does your z axis have. how are they connected to the duet?



  • @philipp-r said in Core XY weired behavior of the Z-Axis and Endstop config:

    I put in the G-code "G0 Z295" in the console and nothing hapend. No error Messages only "G0 Z295" cloered in Green.

    Also weired, if i send "G1 X20 Y20 F2000" the X-axis and Y-axis move, but if they are positioned the Z-axis moves also.

    The lack of Z axis movement can be explained by the fact that you have set the maximum limit to 0 and the minimum limit to 300.

    "M208 X425 Y343 Z0 S0 ; Set axis maxima
    M208 X0 Y0 Z300 S1 ; Set axis minima"

    Change that to be:

    M208 X425 Y343 Z300 S0 ; Set axis maxima
    M208 X0 Y0 Z0 S1 ; Set axis minima

    You have defined the Z axis end stop to be at the high end (Z max)

    M574 X1 Y1 Z2 S0

    Is that intentional? Do you really have that end stop at Z max?



  • @deckingman said in Core XY weired behavior of the Z-Axis and Endstop config:

    The lack of Z axis movement can be explained by the fact that you have set the maximum limit to 0 and the minimum limit to 300.

    good catch. but why would that cause z movement after x and y movement?



  • @veti said in Core XY weired behavior of the Z-Axis and Endstop config:

    @deckingman said in Core XY weired behavior of the Z-Axis and Endstop config:

    The lack of Z axis movement can be explained by the fact that you have set the maximum limit to 0 and the minimum limit to 300.

    good catch. but why would that cause z movement after x and y movement?

    I didn't say it would - I was very careful in my choice of words â˜ș

    I suspect that Z movement may be something else, but the OP should at least put the axis limits right first.



  • @deckingman thanks for your answer.

    Your right i changed it and the lack is gone.

    Yes i did thet intentionaly, because the endstop is at the lowest position the bed can reach. Related to the printhead this is the max Position. I also chose the right hand rule for thze coordinate frame.

    I want to tell the machine if the Z-axis hits the endstop, it is position 300mm. But however i change the M208 command i did not get the right position.
    When i home the Z-axis and type in 300mm into the Machine setting/Headposition at the left corner at the Web interface, the machine behaves like i want it to.
    Does anybody know if i can save this kind of input or which M-command i should use to get the same Result.



  • @veti

    • list itemit will move downwards until it hits the endstop again.

    • no i don't have an config-overwrite file

    • i use only one motor and its puged in at the Z-axis spot on the duet2ethernet



  • i would suggest you start without the z max for now and try and get the machine working.

    use the probe for now to determine z=0.

    determining z=0 from a z max endstop is not that easy.


  • administrators

    Do you have the direction of your Z motor correct? If the bed moves in the Z direction (not the print head), then increasing Z should move the bed down. The Z coordinate is the distance between the print head reference point and the bed.


  • Moderator

    0_1563819506187_e5c637cd-7710-416e-93d6-eefb576f0824-image.png dbot axis.png

    Does this make more sense?



  • @dc42 yes when i increase the Z value the bed moves down. I checked the direction of all axis they are correct.

    is there a change that there is something wrong with the board?



  • @phaedrux said in Core XY weired behavior of the Z-Axis and Endstop config:

    0_1563819506187_e5c637cd-7710-416e-93d6-eefb576f0824-image.png dbot axis.png

    Does this make more sense?

    Thank you for the picture. This is exactly like i set up the Z-axis.



  • I want to tell the machine if the Z-axis hits the endstop, it is position 300mm.

    So if you have M208 Z0:300 (or the moral equivalent), if you run G1 Z350 H1, what happens?



  • @oliof said in Core XY weired behavior of the Z-Axis and Endstop config:

    I want to tell the machine if the Z-axis hits the endstop, it is position 300mm.

    So if you have M208 Z0:300 (or the moral equivalent), if you run G1 Z350 H1, what happens?

    First i homed teh Z-axis (M208 Z0:300 is configured). At the Webinterface in the field "Machinestatus/Headposition" the Z value is = 0.
    Then i type in your G-Code "G1 Z300 H1". Than it changes the value at Headposition from 0 to 300mm.
    This is the status i need to work. Also wehn i press the Z=-25mm button at the interface the Bed moves form the lowest position up 25mm further. So it seems to work just fine.

    But if i home again the Z axis the value will be overwritten and i have the same problem again.



  • @philipp-r

    I could be wrong on this because I home to Z min and have never tried homing to Z max, but I think it might be due to the probe trigger height set in G31. The trigger height is the distance from when the probe triggers to the bed being at 0. So, if you home to Z max but Z0 is at the other end of that axis, then the trigger height should be something around 300, not 2.5 as you have it set in your G31.

    I could be wrong but I think that's the answer. On completion of homing Z and assuming that you don't move the Z axis, DWC should report the Z height as being the trigger height (in this case 300(ish)). So then sending the bed to (absolute) Z=0 should send it all the way up. So G90 followed by G1 Z0. Be careful though, because if the trigger height is wrong, then it could crash the nozzle into the bed. Suggest you lower the motor current first.

    I re-iterate that I could be wrong on this.



  • I solved the problem right now. I createt the Config.g and the homing files with the RRF Configurator. The problem was i didn't checked the homing Z files. After the homing command "G1 S1 Z420 F8000" there was a G-line "G92 Z0" this sets the homing position to zero. I canceld this line and everthing just work as it schould.

    Thank you all for your support and guesses.



  • @philipp-r Glad that's fixed.


Log in to reply