Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Issues with Homing Delta on RRF3

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    6
    21
    994
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JoergS5undefined
      JoergS5 @aerouta
      last edited by

      @aerouta I am not used with Delta printers so much, but M350 is missing the microstepping for Z, is this correct or should it be added?

      aeroutaundefined 1 Reply Last reply Reply Quote 0
      • aeroutaundefined
        aerouta @JoergS5
        last edited by

        @JoergS5 These commands were brought over from a properly functioning RRF2 config. I have tried adding "Z16". There was no improvement in homing..

        JoergS5undefined 1 Reply Last reply Reply Quote 0
        • JoergS5undefined
          JoergS5 @aerouta
          last edited by JoergS5

          @aerouta what does happen when you only home one axis? Does the stepper stop correctly when reaching end position? (all 3 steppers tested separately)
          E.g. G91 and G1 H1 X550 F5000 only.

          Testing whether every stepper has it's correct endstop assigned. Because the two videos could be explained by steppers trying to move on but not stopped because the endstop belonging to this stepper was not reached yet.

          My interpretation of the first video is: the left stepper is at the endstop, but endstop is not activated, so it tries to move on, the belt slipping over the pulley (so jitter), the vibrations propagate to the middle arm also. But the middle arm is IMHO not at the end position. You could validate by pressing the endstop before it reaches the end position. (lower speed to have more time...)

          aeroutaundefined 1 Reply Last reply Reply Quote 0
          • aeroutaundefined
            aerouta @JoergS5
            last edited by

            @JoergS5 The videos show that the first axis to reach the endstop begins the jitter. I tested each axis one at a time and confirmed what is seen on the video. Attempting to home one axis begins the jitter on that axis.

            Is there any changes from board V1.01 to V1.04 that could cause this? This was another change that was made. My v1.01 board developed an intermintate failure that resulted in both thermocouples to fault. I then purchased the .04 board and upgraded to RRF3. This is my first attempt to use the new .04 board.

            JoergS5undefined 1 Reply Last reply Reply Quote 0
            • JoergS5undefined
              JoergS5 @aerouta
              last edited by JoergS5

              @aerouta I have also a 1.04 board.

              The release history is here: https://duet3d.dozuki.com/Wiki/Hardware_Overview#Section_PCB_revision_history
              I cannot see something related to your problem, but check also.

              My last idea is that you have an endstop type which now needs the ! in the syntax, according to https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3
              M574 X2 S1 P"!xstop"
              etc.
              Do you have your old config, did it use M574 S0? This would be S1 with ! now.

              You can also recheck the RRF3 upgrade checklist in https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview

              aeroutaundefined 1 Reply Last reply Reply Quote 0
              • aeroutaundefined
                aerouta @JoergS5
                last edited by

                @JoergS5 @dc42
                Old config...

                M574 X2 Y2 Z2 S1			; set endstop configuration (all endstops at high end, active high)
                
                1 Reply Last reply Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator
                  last edited by

                  @aerouta said in Issues with Homing Delta on RRF3:

                  Error: in file macro line 88 column 10: M92: array too long, max length = 1

                  Does this error still show up when you send M98 Pconfig.g?

                  Can you verify your firmware version by sending M115. It should be 3.1.1

                  And please share your newly changed config.g

                  Can you test your endstops by hand and watch the DWC machine page for the endstops. When looking at the front of the printer, the X tower is on the left, the Y tower is on the right and the Z tower is at the back. +X movement is to the right and +Y movement is towards the rear. Verify that when you press the X tower endstop the X endstop triggers, etc.

                  I wonder if maybe an endstop plug is swapped or not working.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • aeroutaundefined
                    aerouta
                    last edited by

                    @Phaedrux I conducted the test you suggested. Endstop index 0, 1, 2 triggered on towers X, Y, Z respectively.

                    I no longer get the M92 error during the M98 command and my firmware version is confirmed to be 3.1.1

                    ; Configuration file for Rostock Max early V1
                    ; Communication and general
                    M111 S0									; Debug off
                    M550 RostockMax							; Machine name and Netbios name (can be anything you like)
                    M551 Preprap							; Machine password (used for FTP)
                    ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
                    M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED 	; MAC Address
                    ;*** Wifi Networking
                    M552 S1									; Enable WiFi
                    
                    M555 P2									; Set output to look like Marlin
                    
                    
                    ; Axis and motor configuration
                    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
                    M569 P4 S1				; Drive 4 goes forwards
                    
                    M574 X2 S1 P"xstop"
                    M574 Y2 S1 P"ystop"
                    M574 Z2 S1 P"zstop"			; set endstop configuration (all endstops at high end, active high)
                    
                    ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration
                    ;M665 R144.96 L291 B150 H375.532 	; set delta radius, diagonal rod length, printable radius and homed height
                    M665 R144.96 L300.15 B140 H367.532 	; set delta radius, diagonal rod length, printable radius and homed height
                    ;M666 X-0.48 Y1.11 Z-0.63			; put your endstop adjustments here, or let auto calibration find them
                    
                    M350 X16 Y16 E16 I1    				; Set 16x microstepping with interpolation
                    M92 X106.667 Y106.667 Z106.667		; Set axis steps/mm
                    M906 X1000 Y1000 Z1000 E800 I60		; Set motor currents (mA) and increase idle current to 60%
                    M201 X1500 Y1500 Z1500 E1500		; Accelerations (mm/s^2)
                    M203 X20000 Y20000 Z20000 E3600		; Maximum speeds (mm/min)
                    M566 X1200 Y1200 Z1200 E1200		; Maximum instant speed changes mm/minute
                    
                    G21									; Work in millimetres
                    G90									; Send absolute coordinates...
                    M83									; ...but relative extruder moves
                    
                    ; Thermistors and Heaters
                    ;RRF 2
                    ;M305 P0 T100000 B3950 R4700 H30 L0	; Put your own H and/or L values here to set the bed thermistor ADC correction
                    ;M305 P1 T100000 B4267 R4700 H25 L0	; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
                    ;M305 P2 T100000 B3974 R4700 H30 L0	; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
                    
                    ;RFF 3
                    M308 S0 Y"thermistor" P"bedtemp" T100000 B3950
                    M308 S1 Y"thermistor" P"e0temp" T100000 B4725 C7.06e-8 A"T_e0"
                    M950 H0 C"bedheat" T0
                    M950 H1 C"e0heat" T1
                    M308 S10 y"mcutemp" a"Mcu"
                    M308 S11 y"drivers" a"Drivers"
                                        
                    M570 S180							; Hot end may be a little slow to heat up so allow it 180 seconds
                    
                    ;Heater 0 model: gain 140.9, time constant 634.3, dead time 13.9, max PWM 1.00, mode: PID
                    M307 H0 A199.9 C634.4 D13.9 B0		; Values obtained from autotunning
                    M307 H1 A529.9 C170.4 D6.3 B0 		; Values obtained from autotunning
                    M570 H1 P7 T30
                    
                    ; Fans
                    ;M106 P1 H-1 						; disable thermostatic mode for fan 1
                    
                    M950 F0 C"fan0"
                    M950 F1 C"fan1"
                    M950 F2 C"fan2"
                    M106 P1 T45 H1 S1					; hot end fan
                    
                    ; Enable logging after setting the heater models to avoid logging the usual warnings of overpowered heaters
                    M929 S1 P"eventlog.txt"
                    
                    ; Tool definitions
                    M563 P0 D0 H1						; Define tool 0 
                    G10 P0 S0 R0						; Set tool 0 operating and standby temperatures
                    ;*** If you have a single-nozzle build, comment the next 2 lines
                    ;M563 P1 D1 H2						; Define tool 1
                    ;G10 P1 S0 R0						; Set tool 1 operating and standby temperatures
                    
                    M140 H0								;Bed Heater
                    
                    ;M92 E92.4:92.4						; EZextruder Set extruder steps per mm
                    M92 E470							; Bondtech Extruder
                    
                    ; Z probe and compensation definition
                    ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
                    ;M558 P4 X0 Y0 Z0 H4 F1000			; Z probe is an IR probe and is not used for homing any axes
                    M558 P5 C"e0stop" H4 F1000 T3000	; Z probe connected to E0 endstop input  "T" Travel speed between probe
                    G31 X0 Y0 Z-0.588 P500				; Set the zprobe height and threshold (put your own values here)
                    
                    ;*** If you are using axis compensation, put the figures in the following command
                    ;M556 S78 X0 Y0 Z0					; Axis compensation here
                    
                    M208 S1 Z-1.5						; set minimum Z
                    ;
                    T0									; select first hot end
                    
                    
                    M143 H1 S350						; Raise max temp
                    M143 H0 S170						; Raise max temp
                    
                    1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator
                      last edited by

                      Can you alter your M350 and M92 lines to include the Z and E axis respectively? And lets include an explicit M584 to map the drivers to their respective axis.

                      You have:

                      M350 X16 Y16 E16 I1    				; Set 16x microstepping with interpolation
                      M92 X106.667 Y106.667 Z106.667		; Set axis steps/mm
                      

                      Change it to:

                      M584 X0 Y1 Z2 E3 ; Driver 0 controls the X motor, 1 controls Y, 2 controls Z motor, 3 control E motor
                      M350 X16 Y16 Z16 E16 I1    				; Set 16x microstepping with interpolation
                      M92 X106.667 Y106.667 Z106.667 E470		; Set axis steps/mm
                      

                      Then you can remove the M92 E470 that occurs lower down in the config.

                      Also, I'm not sure it matters, but when comparing to a fresh delta config from the web tool, the M665 delta commands are placed higher in the config.g file near the top before all the drive commands.

                      Here it is for comparison:

                      ; Configuration file for Duet WiFi (firmware version 3)
                      ; executed by the firmware on start-up
                      ;
                      ; generated by RepRapFirmware Configuration Tool v3.1.3 on Tue Jun 23 2020 20:26:57 GMT-0600 (Central Standard Time)
                      
                      ; General preferences
                      G90                                            ; send absolute coordinates...
                      M83                                            ; ...but relative extruder moves
                      M550 P"My Printer"                             ; set printer name
                      M665 R105.6 L215 B85 H250                      ; Set delta radius, diagonal rod length, printable radius and homed height
                      M666 X0 Y0 Z0                                  ; put your endstop adjustments here, or let auto calibration find them
                      
                      ; 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 forwards
                      M569 P3 S1                                     ; physical drive 3 goes forwards
                      M584 X0 Y1 Z2 E3                               ; set drive mapping
                      M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
                      M92 X80.00 Y80.00 Z80.00 E663.00               ; set steps per mm
                      M566 X1200.00 Y1200.00 Z1200.00 E1200.00       ; set maximum instantaneous speed changes (mm/min)
                      M203 X18000.00 Y18000.00 Z18000.00 E1200.00    ; set maximum speeds (mm/min)
                      M201 X1000.00 Y1000.00 Z1000.00 E1000.00       ; set accelerations (mm/s^2)
                      M906 X1000 Y1000 Z1000 E800 I30                ; set motor currents (mA) and motor idle factor in per cent
                      M84 S30                                        ; Set idle timeout
                      
                      ; Axis Limits
                      M208 Z0 S1                                     ; set minimum Z
                      
                      ; Endstops
                      M574 X2 S1 P"xstop"                            ; configure active-high endstop for high end on X via pin xstop
                      M574 Y2 S1 P"ystop"                            ; configure active-high endstop for high end on Y via pin ystop
                      M574 Z2 S1 P"zstop"                            ; configure active-high endstop for high end on Z via pin zstop
                      
                      ; Z-Probe
                      M558 P0 H5 F120 T6000                          ; disable Z probe but set dive height, probe speed and travel speed
                      M557 R85 S20                                   ; define mesh grid
                      
                      ; 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
                      

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • aeroutaundefined
                        aerouta
                        last edited by

                        Here is my new config file with suggested changes. Same machine response...

                        ; Configuration file for Rostock Max early V1
                        ; Communication and general
                        M550 RostockMax							; Machine name and Netbios name (can be anything you like)
                        M551 Preprap							; Machine password (used for FTP)
                        
                        ; General preferences
                        G90										; Send absolute coordinates...
                        G21										; Work in millimetres
                        M83										; ...but relative extruder moves
                        ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration
                        M665 R144.96 L300.15 B140 H367.532 		; set delta radius, diagonal rod length, printable radius and homed height
                        ;M666 X-0.48 Y1.11 Z-0.63				; put your endstop adjustments here, or let auto calibration find them
                        
                        ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
                        ;*** Wifi Networking
                        M552 S1									; Enable WiFi
                        M555 P2									; Set output to look like Marlin
                        M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED 	; MAC Address
                        
                        ; Axis and motor configuration
                        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
                        M569 P4 S1								; Drive 4 goes forwards
                        M584 X0 Y1 Z2 E3 						; Driver 0 controls the X motor, 1 controls Y, 2 controls Z motor, 3 control E motor
                        M350 X16 Y16 Z16 E16 I1    				; Set 16x microstepping with interpolation
                        M92 X106.667 Y106.667 Z106.667 E470		; Set axis steps/mm
                        M566 X1200 Y1200 Z1200 E1200			; Maximum instant speed changes mm/minute
                        M203 X20000 Y20000 Z20000 E3600			; Maximum speeds (mm/min)
                        M201 X1500 Y1500 Z1500 E1500			; Accelerations (mm/s^2)
                        M906 X1000 Y1000 Z1000 E800 I60			; Set motor currents (mA) and increase idle current to 60%
                        
                        ; Endstops
                        M574 X2 S1 P"xstop"
                        M574 Y2 S1 P"ystop"
                        M574 Z2 S1 P"zstop"						; set endstop configuration (all endstops at high end, active high)
                        
                        
                        ; Thermistors and Heaters
                        ;RRF 2
                        ;M305 P0 T100000 B3950 R4700 H30 L0	; Put your own H and/or L values here to set the bed thermistor ADC correction
                        ;M305 P1 T100000 B4267 R4700 H25 L0	; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
                        ;M305 P2 T100000 B3974 R4700 H30 L0	; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
                        
                        ;RFF 3
                        M308 S0 Y"thermistor" P"bedtemp" T100000 B3950
                        M308 S1 Y"thermistor" P"e0temp" T100000 B4725 C7.06e-8 A"T_e0"
                        M950 H0 C"bedheat" T0
                        M950 H1 C"e0heat" T1
                        M308 S10 y"mcutemp" a"Mcu"
                        M308 S11 y"drivers" a"Drivers"
                                            
                        M570 S180							; Hot end may be a little slow to heat up so allow it 180 seconds
                        
                        ;Heater 0 model: gain 140.9, time constant 634.3, dead time 13.9, max PWM 1.00, mode: PID
                        M307 H0 A199.9 C634.4 D13.9 B0		; Values obtained from autotunning
                        M307 H1 A529.9 C170.4 D6.3 B0 		; Values obtained from autotunning
                        M570 H1 P7 T30
                        
                        ; Fans
                        ;M106 P1 H-1 						; disable thermostatic mode for fan 1
                        
                        M950 F0 C"fan0"
                        M950 F1 C"fan1"
                        M950 F2 C"fan2"
                        M106 P1 T45 H1 S1					; hot end fan
                        
                        ; Enable logging after setting the heater models to avoid logging the usual warnings of overpowered heaters
                        M929 S1 P"eventlog.txt"
                        
                        ; Tool definitions
                        M563 P0 D0 H1						; Define tool 0 
                        G10 P0 S0 R0						; Set tool 0 operating and standby temperatures
                        ;*** If you have a single-nozzle build, comment the next 2 lines
                        ;M563 P1 D1 H2						; Define tool 1
                        ;G10 P1 S0 R0						; Set tool 1 operating and standby temperatures
                        
                        M140 H0								;Bed Heater
                        
                        ;M92 E92.4:92.4						; EZextruder Set extruder steps per mm
                        M92 E470							; Bondtech Extruder
                        
                        ; Z probe and compensation definition
                        ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
                        ;M558 P4 X0 Y0 Z0 H4 F1000			; Z probe is an IR probe and is not used for homing any axes
                        M558 P5 C"e0stop" H4 F1000 T3000	; Z probe connected to E0 endstop input  "T" Travel speed between probe
                        G31 X0 Y0 Z-0.588 P500				; Set the zprobe height and threshold (put your own values here)
                        
                        ;*** If you are using axis compensation, put the figures in the following command
                        ;M556 S78 X0 Y0 Z0					; Axis compensation here
                        
                        M208 S1 Z-1.5						; set minimum Z
                        ;
                        T0									; select first hot end
                        
                        
                        M143 H1 S350						; Raise max temp
                        M143 H0 S170						; Raise max temp
                        
                        droftartsundefined 1 Reply Last reply Reply Quote 0
                        • droftartsundefined
                          droftarts administrators @aerouta
                          last edited by

                          @aerouta config.g looks okay, except there's an extra M92 at line 82, but as it's the same as the earlier one, it shouldn't cause a problem.

                          Did you disconnect any motors or endstops, or rewire the machine? Because it really sound like two of the endstops (or motors) have been swapped, so are not related to the correct axis. That's why 2 of the 3 axes reach the endstop; one correctly hits the endstop and stops, one hits the endstop and stops the third, but continues to move, as the third hasn't hit the switch that would stop the second, until you press it with your finger.

                          Move each motor individually so you know which tower is which, by sending G1 H2 X10 F100 (which will move just the X axis). Then press the switch on that tower, and check it activates the X endstop (send M119 to check status or check in DWC > Machine-Specific > Endstops). Repeat for the Y and Z towers.

                          Ian

                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                          aeroutaundefined 2 Replies Last reply Reply Quote 2
                          • aeroutaundefined
                            aerouta @droftarts
                            last edited by

                            @droftarts Yes, I did switch from a 1.01 to a 1.04 board. I will recheck all my motor and endstop connections.

                            1 Reply Last reply Reply Quote 0
                            • aeroutaundefined
                              aerouta @droftarts
                              last edited by

                              @droftarts the motor connects were switched! good catch!

                              1 Reply Last reply Reply Quote 2
                              • First post
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA