Converted CORE xy homing problem



  • First of all amazing piece of hardware I'm falling in love very quick.

    I'm in a process of converting tronxy printer to Duet Wifi, and after overcoming stack of issues and following few questionable guides I'm having few issues with my homing process and bltouch Mesh Compenastion.

    Duet wifi running 3.1
    X, Y NO mechanical switches
    Bltouch aligned with nozzle Y axis and offset 42mm to left (-x axis).
    X and Y micro-switches are triggering when nozzle is outside of the bed so I had to manipulate homing sequence a bit.
    Bed size 330/330/400

    I sort off got homing working but I'm not sure if its correct I would appreciate if someone could look at the my homing g-code:

    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Mon Jun 01 2020 00:06:33 GMT-0400 (Eastern 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 X25 F600	  ; Move to beggining of the bed (added this)
    G1 H2 Z-5 F6000   ; lower Z again
    G90               ; absolute positioning
    
    
    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Mon Jun 01 2020 00:06:33 GMT-0400 (Eastern Daylight Time)
    G91               ; relative positioning
    G1 H2 Z5 F6000    ; lift Z relative to current position
    G1 H1 Y-335 F1800 ; 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 Y6.8 F600	  ; Move to beggining of the bed (added this to adjust for microswitch location)
    G1 H2 Z-5 F6000   ; lower Z again
    G90               ; absolute positioning
    
    
    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Mon Jun 01 2020 00:06:32 GMT-0400 (Eastern Daylight Time)
    G91                     ; relative positioning
    G1 H2 Z5 F6000          ; lift Z relative to current position
    G1 H1 X-335 Y-335 F1800 ; move quickly to X or Y endstop and stop there (first pass)
    G1 X25 Y25 F600			; Move to beggining of the bed (added this)
    G1 H1 X-335             ; home X axis
    G1 H1 Y-335             ; home Y axis
    G1 X5 Y5 F6000          ; 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
    G1 Y6.8 F300		; Move to beggining of the bed (added this)
    G90                     ; absolute positioning
    G1 X55 Y35 F6000        ; 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
    

    My secondary issue that I believe is related ...
    The Bltouch when running Mesh Compensation is doing its job but is all over the place in starting point.
    If I set parameters at x0 and y0 it tries to start right at the micro-switches off the bed (that leads me to believe something makes it think home is not set?).
    I got it running by using example parameters:

    Set Mesh Parameters
    Start coordinate in X direction
    45
    End coordinate in X direction
    380
    Start coordinate in Y direction
    25
    End coordinate in Y direction
    350
    Spacing in X direction
    60
    Spacing in Y direction
    60
    
    

    But it is complaining far X point can't be reached while visually looks like plenty of space.

    Following my config.g

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.1 on Mon Jun 01 2020 00:06:32 GMT-0400 (Eastern Daylight Time)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"Deep Tronxy"                                ; set printer name
    M669 K1                                            ; select CoreXY mode
    
    ; Network
    M552 S1                                            ; enable network
    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 S1                                         ; physical drive 2 goes backwards
    M569 P3 S0                                         ; physical drive 3 goes backwards
    M584 X0 Y1 Z2 E3                                   ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E837.00                  ; set steps per mm
    M566 X600.00 Y600.00 Z12.00 E120.00                ; set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z180.00 E1200.00          ; set maximum speeds (mm/min)
    M201 X3000.00 Y3000.00 Z100.00 E250.00             ; set accelerations (mm/s^2)
    M906 X950 Y950 Z950 E950 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 ; Define Z to use Probe. Home to Min
    
    ; Z-Probe
    M558 P9 C"^zprobe.in" H3 F100 T2000				   ; Bltouch for RepRapFirmware 3
    G31 X0 X-42.0 Z2.895 P25						   ; Per duet wiki
    M557 X15:315 Y15:315 S30                           ; define mesh grid
    M950 S0 C"exp.heater3"							   ; Create a GPIO/Servo pin index using your chosen control pin
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138     ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B1 S1.00                                   ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                            ; map heated bed to heater 0
    M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
    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 S0 H-1                                     ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
    
    ; Tools
    M563 P0 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 are not defined
    
    ; Miscellaneous
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    
    ; BLTouch - Heaters
    M307 H7 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board.
    M307 H3 A-1 C-1 D-1 ; Disable the 3th Heater to free up PWM channel ?? on the Duex board.
    
    M564 H0 ;allow movement without homing
    M501 ;process config-override.g
    
    

  • Moderator

    @Deepnoizer said in Converted CORE xy homing problem:

    G31 X0 X-42.0 Z2.895 P25

    First, X0 should be Y0.

    Second, if the endstops are off the side of the reachable bed area you can use negative values in M208 minima to let the firmware know that. That way when the endstop is triggered it will know it's actually off the edge of the bed and 0,0 will stay at the corner of the bed.

    Also, for best accuracy, you should move the probe to be positioned above the center of the bed before doing the G30.

    These changes should get you closer to where you want to be.


  • Moderator

    Also update to 3.1.1



  • @Phaedrux Thank You,
    That sure got me going again.

    XY homed well and getting nice Height Map

    G29
    100 points probed, min error -0.108, max error 0.322, mean 0.079, deviation 0.094
    Height map saved to file 0:/sys/heightmap.csv

    For the record now I see why on wiki its suggested to reduce current while homing lol Crushed one switch pretty well.

    Thanks again and I will reach out when I get suck again.


Log in to reply