Configuring movements limits



  • Hi. Im setting up my configuration into more detailed. Im using sensorless homing and it is working ok, but the place where I trigger the sensing is outside the printing area (-55 mm in the X axis, CERO on the Y axis).
    I have also a place on bothe ends of the X axis where I can clean the noozles.
    So I did this:
    M208 X-55 Y0 Z0 S1 ; set axis minima
    M208 X400 Y350 Z400 S0 ; set axis maxima

    In this way what I wanted to do is to be able to omve to -45 in order to do a cleaning movement on 1 of the noozles and also to X400 to clean the other one (print area is 350X350)

    But the problem Im facing is: when I home with this configuration, it seems that the firmware is taking the point where the sensrless homing is triggered not as cero.

    If I do a G1 X0 Y0, the tool T0 it positions 50mm to the right of what it should be the CERO position.
    Ihave a dual hotend config, with T0 and T1. Having T1 and X offset of -61mm

    What Im doing wrong? This is my config regarding these points:

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X400 Y350 Z400 S0 ; set axis maxima

    ; 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
    M563 P1 D1 H2 F-1 ; define tool 1
    G10 P1 X0 Y-61 Z0 ; set tool 1 axis offsets
    G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

    Thanks in advance



  • @Tinchus said in Configuring movements limits:

    But the problem Im facing is: when I home with this configuration, it seems that the firmware is taking the point where the sensrless homing is triggered not as cero.

    If you specify -55 as your minimum, then this becomes your x position when you home.
    that is how it works.



  • is your limit switch at 0 and you want to move to -55?



  • @bearer said in Configuring movements limits:

    is your limit switch at 0 and you want to move to -55?

    My limit is at 0 of T0, but my T1 tool is -61mm to the left, so for cleaning its noozle I want to move to -55.


  • Moderator

    Are you homing to the high end or low end?

    Please post your complete config.g and homing files.

    0,0 should either be the front left corner of the printable area (based on where tool0 can reach) or the center of the bed.

    The M208 should be adjusted such that that is the case. Meaning that if the values are negative the nozzle would be able to go further outside of the printable area.



  • @Phaedrux This is my config.g:

    ; General preferences
    G90                                          ; send absolute coordinates...
    M83                                          ; ...but relative extruder moves
    M550 P"Printer"                                ; set printer name
    M669 K1                                      ; select CoreXY mode
    
    ; Network
    M552 S0                                      ; disable network
    
    ; Drives
    M569 P0.0 S0 D2              ; physical drive 0.0 goes forwards X Se invirtieron los cables tambien. Se agrego D3 para stealhtchop3
    M569 P0.1 S1 D2             ; physical drive 0.1 goes forwards Y Ultimo cambio: de S0 a S1. Se agrego D3 para stealhtchop3
    M569 P0.2 S1 D2                                   ; physical drive 0.2 goes forwards
    M569 P0.3 S1 D2                                  ; physical drive 0.3 goes reverse
    M569 P0.4 S0 D2                                  ; physical drive 0.4 goes forwards
    M569 P0.5 S0 D2                                     ; physical drive 0.5 goes forwards
    
    M584 X0.0 Y0.1 Z0.2:0.3 E0.4:0.5                     ; set drive mapping
    M350 X16 Y16 Z32 E16:16 I1                      ; configure microstepping with interpolation
    ; M92 X160.32 Y160.32 Z3200.00:3200.00 E827.22       set steps per mm
    M92 X80.16 Y80.16 Z3200.00 E428.25:428.25      ; set steps per mm
    M566 X900.00 Y900.00 Z300.00:300.00 E450:450       ; set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z240.00:240.00 E1200.00  ; set maximum speeds (mm/min)
    M201 X1000.00 Y1000.00 Z20.00:20.00 E500.00       ; set accelerations (mm/s^2)
    M906 X1500 Y1500 Z900:900 E1000:1000 I30           ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                         ; Set idle timeout                                      ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                             ; set axis minima
    M208 X400 Y350 Z400 S0                       ; set axis maxima
    
    ; Endstops
    M574 X1 S3                                   ; configure sensorless endstop for low end on X
    M574 Y1 S3                                   ; configure sensorless endstop for low end on Y
    M574 Z2 S2                                   ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M558 P5 C"^!io3.in" H5 F120 T18000                 ; set Z probe type to switch and the dive height + speeds
    G31 P500 X0 Y28.5 Z0.245                                  ; set Z probe trigger value, offset and trigger height
    M557 X25:310 Y27:312 S57:57                  ; define mesh grid
    
    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138       ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0                                 ; create bed heater output on out0 and map it to sensor 0
    ;M307 H0 B0 D30 S1.00                                   ; enable PID para camara, deadtime en 30 segundos
    M307 H0 B1 S1.00                                         ; enable bang-bang mode for the chamber heater and set PWM limit
    ;M140 H0                                            ; map heated bed to heater 0
    M141 H0                                                  ; map chamber to heater 0
    M143 H0 S130                                       ; set temperature limit for heater 0 to 130C
    M308 S1 P"temp1" Y"thermistor" T500000 B4723 C1.19622e-7       ; configure sensor 1 as thermistor on pin temp1
    M950 H1 C"out1" T1                                 ; create nozzle heater output on out1 and map it to sensor 1
    M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
    M308 S2 P"temp2" Y"thermistor" T500000 B4723 C1.19622e-7       ; configure sensor 2 as thermistor on pin temp2
    M950 H2 C"out2" T2                                 ; create nozzle heater output on out2 and map it to sensor 2
    M307 H2 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit   
    
    ; Fans
    M950 F0 C"out3" Q500                         ; create fan 0 on pin out3 and set its frequency
    M106 P0 S0 H-1                               ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"out4" Q500                         ; create fan 1 on pin out4 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
    M563 P1 D1 H2 F-1                                  ; define tool 1
    G10 P1 X-61 Y0 Z-2.3                                    ; set tool 1 axis offsets
    G10 P1 R0 S0                                       ; set initial tool 1 active and standby temperatures to 0C
    
    ; Custom settings are not defined
    M915 X Y S2 R0 F0    ; sensroless sensitivity
    
    ; movments without homing
    M564 H0
    
    ; 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
    M950 S0 C"0.out9"    ; servo "0" in pin out9
    M280 P0 S95			; move servo to rest position 
    M376 H30			; cancell mesh levelling at 30 mm
    M143 S450			; set max temp to 450 degrees for T0
    M143 H2 S450		; set max temp to 450 for T1
    T0                                                 ; select first tool
    
    The homeall.g:
    ; Calibration of motor currents etc
    G91
    G1 H2 Z0.02 F500
    G4 P150
    G1 H2 Z5
    G1 H2 X0.02 F2000
    G4 P150
    G1 H2 Y0.02 F2000
    G4 P150
    G1 H2 Z-5
    
    ; Uncomment the following lines to lift Z after probing
    G1 Z5 F100             ; lift Z relative to current position                   ; absolute positioning
    
    M400
    M913 X60 Y60        ; drop motor current to 60%
    M400
    
    ; HOME X/Y
    G1 H1 Y-400 X-400 F10000 ; 
    G1 Y175 X175 F5000	; 
    M400
    G1 H1 Y-400 F10000
    G1 Y175
    
    G1 H1 X-400 F10000
    G1 X175
    M400
    
    G90                 ; absolute positioning
    M400
    M913 X100 Y100        ; drop motor current to 100%
    M400
    
    ; Z HOMING
    G1 X175 Y175 F5000      ; go to first bed probe point and home Z
    G30
    
    homex.g:
    ; Calibration of motor currents etc
    G91
    G1 H2 Z0.02 F500
    G4 P150
    G1 H2 Z5
    G1 H2 X0.02 F2000
    G4 P150
    G1 H2 Y0.02 F2000
    G4 P150
    G1 H1 X-400 F10000
    
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Aug 19 2020 03:46:47 GMT-0300 (Argentina Standard Time)
    M400
    M913 X60 Y60        ; drop motor current to 45%
    M400
    G91            ; relative positioning
    
    G1 H2 Z5 F1200      ; lift Z relative to current position
    G1 H1 Y-400 F10000 ; nueva
    G1 Y175 F5000	; nueva
    M400
    G1 H1 X-400 F10000
    M400
    G1 H2 Z-5 F1200     ; lower Z again
    G90                 ; absolute positioning
    M400
    M913 X100 Y100        ; drop motor current to 100%
    G1 X175 F4000
    M400
    
    homey.g:
    ; Calibration of motor currents etc
    G91
    G1 H2 Z0.02 F500
    G4 P150
    G1 H2 Z5
    G1 H2 X0.02 F2000
    G4 P150
    G1 H2 Y0.02 F2000
    G1 H1 Y-400 F10000
    G1 H2 Z-5
    
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Aug 19 2020 03:46:47 GMT-0300 (Argentina Standard Time)
    M400
    M913 X60 Y60      ; drop motor current to 45%
    M400
    G91
    
    G1 H2 Z5 F1200     
    G1 H1 Y-400 F10000 
    G1 H2 Z-5 F1200   
    G90             
    M400
    M913 X100 Y100  
    G1 Y175 F4000      
    M400
    

    (any improvements suggestions over these files are of course very welcome)
    My 0.0 is on the front left corner

    Thanks in advance

    (edit: formatting)


  • Moderator

    @Tinchus said in Configuring movements limits:

    ; HOME X/Y
    G1 H1 Y-400 X-400 F10000 ;
    G1 Y175 X175 F5000 ;
    M400
    G1 H1 Y-400 F10000
    G1 Y175
    G1 H1 X-400 F10000
    G1 X175
    M400

    Some of your homing sequences don't make a lot of sense in the context of sensorless homing. When using an endstop switch it's common to move fast to the switch, hit it, back off, and then slowly hit it again for better accuracy, but sensorless homing that doesn't really work. You need to move fast to trigger the stall, so a single pass is enough. And you've got it backing off to the center of the bed, which is too much.

    @Tinchus said in Configuring movements limits:

    ; M92 X160.32 Y160.32 Z3200.00:3200.00 E827.22 set steps per mm
    M92 X80.16 Y80.16 Z3200.00 E428.25:428.25 ; set steps per mm

    Have you determined what the correct steps per mm is for your X Y?



  • @Phaedrux said in Configuring movements limits:

    M92 X80.16 Y80.16 Z3200.00

    this suggest that you are using 0.9 steppers for the z and 1.8 for x and y.
    this makes no sense.

    1.8 with 1600 steps will be more than enough
    but you want the high resolution on x and y to achieve better results.



  • @Phaedrux , yes, the corrects steps are those in the config: 80.16 for X and Y



  • @Veti , no, my motors are 1.8 degrees.



  • @Tinchus said in Configuring movements limits:

    no, my motors are 1.8 degrees.

    what kind of leadscrew are you using to get 3200 steps/mm ?



  • @Veti said in Configuring movements limits:

    @Tinchus said in Configuring movements limits:

    no, my motors are 1.8 degrees.

    what kind of leadscrew are you using to get 3200 steps/mm ?

    1mm lead would do it - that's what I used to have. (200 full steps per rev x 16 micro steps = 3200)



  • @Veti 1mm leadscrew from moons



  • @Tinchus said in Configuring movements limits:

    1mm leadscrew from moons

    ok. that must be slow tough?



  • @Veti It is not fast I guess, but it is not as slow as you could think. It is VERY precise and accurate though


Log in to reply