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

    Strange layer offset on coreXY

    Scheduled Pinned Locked Moved Solved
    Firmware installation
    10
    38
    2.0k
    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.
    • DVD479undefined
      DVD479
      last edited by

      Hello everyone, in this period I built a large 3d printer, these days I configured it but I had a problem with the printing of a cube. despite having followed the guide for configuring a model with corexy logic I had the problem that I show in the image. based on your experience do you have any ideas regarding a possible solution for this problem424037EF-BD50-4287-BB45-38C8764630C4.jpeg AEBC7378-AACD-425F-8FA7-0D36E629D4F1.jpeg

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Are you perhaps losing steps causing it to shift over?

        Can you provide a lot more details on your printer and config?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • DVD479undefined
          DVD479
          last edited by

          thank you for the support, the printer has a print volume of 600x600x700 and mounts nema 23 motors with 3nm of torque, the drivers are dm542 set at 3.76A peak.
          the microsteps are set to 1/16.

          in the part below I have reported the content of config.g and below the content of homeall.g

          do you think it is possible that the problem shown in the photo in the previous message could be caused by an excessive amount of microstep?

          thanks in advance for your help

          ; Configuration file for Duet WiFi (firmware version 3.3)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool v3.3.5 on Mon Nov 08 2021 15:14:49 GMT+0100 (Ora standard dell’Europa centrale)
          
          ; General preferences
          M575 P1 S1 B57600                                      ; enable support for PanelDue
          G90                                                    ; send absolute coordinates...
          M83                                                    ; ...but relative extruder moves
          M550 P"3DP" 	                                       ; set printer name
          
          ; Network
          M552 S1                                                ; enable network
          M586 P0 S1                                             ; enable HTTP
          M586 P1 S0                                             ; disable FTP
          M586 P2 S0                                             ; disable Telnet
          
          
          ; Drives
          M669 K1 												; switch to CoreXY mode
          M569 P5 T2.5:2.5:5:5 S0                                 ; physical drive 0 goes backwards
          M569 P6 T2.5:2.5:5:5 S1                                 ; physical drive 1 goes backwards
          M569 P2 S0                                             ; physical drive 2 goes backwards
          M569 P3 S1                                             ; physical drive 3 goes forwards
          M584 X6 Y5 Z7 E8                                       ; set drive mapping
          M350 X16 Y16 Z2 E16 I1                                ; configure microstepping with interpolation
          M92 X80.00 Y80.00 Z80.00 E93.00                       ; set steps per mm
          M566 X1500.00 Y1500.00 Z24.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 X500.00 Y500.00 Z100.00 E250.00                   ; set accelerations (mm/s^2)
          M906 X300 Y300 Z300 E300 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 X580 Y580 Z600 S0                                 ; set axis maxima
          
          ; Endstops
          M574 X1 S1 P"!xstop"                                    ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
          M574 Y1 S1 P"!ystop"                                    ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
          M574 Z1 S2                                             ; configure Z-probe endstop for low end on Z
          
          ; Z-Probe
          M558 P5 C"!zprobe.in" H5 F120 T6000				   	   ; set Z probe type to unmodulated and the dive height + speeds
          G31 P1000 X0 Y0 Z0.2                                    ; set Z probe trigger value, offset and trigger height
          M557 X0:550 Y0:550 S50                                 ; define mesh grid
          
          ; Heaters
          M308 S0 P"bedtemp" Y"thermistor" T100000 B4092         ; 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 D80 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 S85                                            ; set temperature limit for heater 0 to 85C
          M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; 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
          M143 H1 S280                                           ; set temperature limit for heater 1 to 280C
          
          ; 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
          
          
          
          ; homeall.g
          ; called to home all axes
          ;
          ; generated by RepRapFirmware Configuration Tool v3.3.5 on Mon Nov 08 2021 15:14:49 GMT+0100 (Ora standard dell’Europa centrale)
          G91                     ; relative positioning
          G1 H2 Z5 F6000          ; lift Z relative to current position
          ;G1 H1 X-605 Y-605 F3000 ; move quickly to X and Y axis endstops and stop there (first pass)
          ;G1 H2 X5 Y5 F6000       ; go back a few mm
          ;G1 H1 X-605 Y-605 F360  ; move slowly to X and Y axis endstops once more (second pass)
          G1 H1 X-605 Y-605 F3000 ; coarse home X or Y
          G1 H1 X-605 ; coarse home X
          G1 H1 Y-605 ; coarse home Y
          G1 X4 Y4 F600 ; move away from the endstops
          G1 H1 X-10 ; fine home X
          G1 H1 Y-10 ; fine home Y
          
          G90                     ; absolute positioning
          G1 X0 Y0 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
          
          
          
          
          Stephen6309undefined 1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            Can you post the results of M122 as well?

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • DVD479undefined
              DVD479
              last edited by

              thanks for the support, this is the result that is given by running the M122 command

              M122
              === Diagnostics ===
              RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later
              Board ID: 0JD0M-9K662-MG5T4-6JKDL-3SD6J-KSPGZ
              Used output buffers: 3 of 24 (23 max)
              === RTOS ===
              Static ram: 23876
              Dynamic ram: 75072 of which 24 recycled
              Never used RAM 15444, free system stack 184 words
              Tasks: NETWORK(ready,14.2%,252) HEAT(delaying,0.0%,326) Move(notifyWait,0.1%,364) MAIN(running,85.7%,441) IDLE(ready,0.0%,29), total 100.0%
              Owned mutexes:
              === Platform ===
              Last reset 00:03:40 ago, cause: power up
              Last software reset at 2021-11-27 17:08, reason: User, GCodes spinning, available RAM 15444, slot 2
              Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
              Error status: 0x00
              Aux0 errors 0,0,0
              Step timer max interval 0
              MCU temperature: min 24.9, current 25.7, max 26.0
              Supply voltage: min 24.1, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
              Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
              Driver 0: position 0, standstill, SG min/max not available
              Driver 1: position 0, standstill, SG min/max not available
              Driver 2: position 0, standstill, SG min/max not available
              Driver 3: position 0, standstill, SG min/max not available
              Driver 4: position 0, standstill, SG min/max not available
              Driver 5: position 0
              Driver 6: position 0
              Driver 7: position 0
              Driver 8: position 0
              Driver 9: position 0
              Driver 10: position 0
              Driver 11: position 0
              Date/time: 2021-11-28 10:01:52
              Cache data hit count 4294967295
              Slowest loop: 4.16ms; fastest: 0.17ms
              I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
              === Storage ===
              Free file entries: 10
              SD card 0 detected, interface speed: 20.0MBytes/sec
              SD card longest read time 0.4ms, write time 0.0ms, max retries 0
              === Move ===
              DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
              === MainDDARing ===
              Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
              === AuxDDARing ===
              Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
              === Heat ===
              Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
              === GCodes ===
              Segments left: 0
              Movement lock held by null
              HTTP is idle in state(s) 0
              Telnet is idle in state(s) 0
              File is idle in state(s) 0
              USB is idle in state(s) 0
              Aux is idle in state(s) 0
              Trigger is idle in state(s) 0
              Queue is idle in state(s) 0
              LCD is idle in state(s) 0
              Daemon is idle in state(s) 0
              Autopause is idle in state(s) 0
              Code queue is empty.
              === Network ===
              Slowest loop: 203.64ms; fastest: 0.09ms
              Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
              HTTP sessions: 1 of 8
              - WiFi -
              Network state is active
              WiFi module is connected to access point 
              Failed messages: pending 0, notready 0, noresp 1
              WiFi firmware version 1.23
              WiFi MAC address 48:3f:da:50:32:2c
              WiFi Vcc 3.40, reset reason Turned on by main processor
              WiFi flash size 4194304, free heap 24520
              WiFi IP address 192.168.137.115
              WiFi signal strength -46dBm, mode none, reconnections 1, sleep mode modem
              Clock register ffffffff
              Socket states: 4 0 0 0 0 0 0 0
              
              1 Reply Last reply Reply Quote 0
              • rjenkinsgbundefined
                rjenkinsgb
                last edited by

                You could try reducing the jerk limit as a test?

                @dvd479 said in Strange layer offset on coreXY:

                M566 X1500.00 Y1500.00 Z24.00 E120.00 ; set maximum instantaneous speed changes (mm/min)

                Try 1000 or even 500 for X & Y temporarily, just on the offchance something is not keeping up when both drives suddenly use high power whilst the heaters & extruder are running?

                Probably not the cause, but it's the only thing I can think of..

                Robert J.

                Printers: Overlord pro, Kossel XL+ with Duet 6HC and "Frankentron", TronXY X5SA Pro converted to E3D toolchange with Duet 6HC and 1LC toolboards.

                1 Reply Last reply Reply Quote 0
                • DVD479undefined
                  DVD479
                  last edited by

                  thanks for the tip, i tried right now but it seems the change is minimal.

                  thanks anyway

                  JoergS5undefined 1 Reply Last reply Reply Quote 0
                  • Spannersundefined
                    Spanners
                    last edited by

                    Seems to me that your currents to the stepper moters is too low which maybe causing missed steps ....
                    your settings--> M906 X300 Y300 Z300 E300 I30

                    I have a coreXY and my currents are set to 700 ma (duet 2 wifi with NEMA 17 17HS4401 steppers)

                    my settings --> M906 X700 Y700 Z700 E700 I30

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

                      @dvd479 your offsets are so regular, I would suspect that either microstepping is wrong or pulley teeth. Microstepping of external stepper needs DM542 to be set e.g. (please check table printed on the DM542) on-on-off-on of the switches SW5 to 8 (arrow shows where is on), and please check that you're using 20 teeth pulley, not other number (to get 200*16/40 = 80 M92 setting).

                      1 Reply Last reply Reply Quote 0
                      • DVD479undefined
                        DVD479
                        last edited by

                        I tried to check your suggestions but unfortunately I didn't get any particular changes.

                        for the pulleys I have checked now and they are 20 teeth so they shouldn't be the cause of the problem, and the drivers are also set to the correct sequence

                        thanks anyway

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

                          @dvd479 strange.

                          An additional idea is that the pulleys are sliding on the stepper shafts. You can check by marking with a felt tip pen over pulley and shaft.
                          pulleymarksmall.jpg

                          And to be sure, you're using GT2, not HTD or other belts?

                          1 Reply Last reply Reply Quote 0
                          • DVD479undefined
                            DVD479
                            last edited by

                            I used 20 tooth gt2 pulleys, I checked the pulleys on the motors and I did not see any oscillations

                            thanks for the tips

                            1 Reply Last reply Reply Quote 0
                            • Stephen6309undefined
                              Stephen6309 @DVD479
                              last edited by Stephen6309

                              @dvd479 I use M906 X800 Y800 Z800 E800 I30 for the stepper currents on my CoreXY. I believe the 300 your using is not enough.

                              rjenkinsgbundefined 1 Reply Last reply Reply Quote 0
                              • rjenkinsgbundefined
                                rjenkinsgb @Stephen6309
                                last edited by rjenkinsgb

                                @stephen6309 said in Strange layer offset on coreXY:

                                I use M906 X800 Y800 Z800 E800 I30 for the stepper currents on my CoreXY. I believe the 300 your using is not enough.

                                He says early on that he is using external stepper drivers.

                                Back to the question - another thing to try; reduce the maximum speed from 18000 down to eg. 10000 to be sure the drivers are not missing steps?

                                Robert J.

                                Printers: Overlord pro, Kossel XL+ with Duet 6HC and "Frankentron", TronXY X5SA Pro converted to E3D toolchange with Duet 6HC and 1LC toolboards.

                                1 Reply Last reply Reply Quote 0
                                • whosrdaddyundefined
                                  whosrdaddy
                                  last edited by

                                  This is a mechanical problem, not an electronics problem.
                                  Can we see pictures of your belt setup. I guess one or more belts paths are not perpendicular to X or Y motion...

                                  JoergS5undefined rjenkinsgbundefined 2 Replies Last reply Reply Quote 0
                                  • JoergS5undefined
                                    JoergS5 @whosrdaddy
                                    last edited by

                                    @whosrdaddy that's a good point, and the best description I know about it is in https://drmrehorst.blogspot.com/2018/08/corexy-mechanism-layout-and-belt.html

                                    1 Reply Last reply Reply Quote 0
                                    • rjenkinsgbundefined
                                      rjenkinsgb @whosrdaddy
                                      last edited by rjenkinsgb

                                      @whosrdaddy said in Strange layer offset on coreXY:

                                      This is a mechanical problem, not an electronics problem.

                                      The "cube" appears to be slanted, not just deformed scale-wise - or is it just the photo angle?

                                      Any mechanical setup or steps per mm error would give x-y distortion, but not drift, surely?
                                      A given X-Y point should always be the same, no matter how far off true position it is??

                                      If there is no slant or layer drift, and only shape distortion, then scaling and mechanics are the likely cause.

                                      Robert J.

                                      Printers: Overlord pro, Kossel XL+ with Duet 6HC and "Frankentron", TronXY X5SA Pro converted to E3D toolchange with Duet 6HC and 1LC toolboards.

                                      1 Reply Last reply Reply Quote 0
                                      • mrehorstdmdundefined
                                        mrehorstdmd
                                        last edited by mrehorstdmd

                                        I would try modifying the step/dir/en timing parameters in the M569 statements. You may be operating right at the limits of the external hardware. Try increasing the values until they are well above the minimum specs in the driver manual. In my sand table with servomotors I use

                                        M569 P5 S1 R0 T4.0:5.0:6.0:12.0 ; drive 5 reverse, lo enable, timing parameters for servomotors
                                        M569 P6 S1 R0 T4.0:5.0:6.0:12.0 ; drive 6 reverse, lo enable, timing parameters for servomotors

                                        These values allow the motors to hit their back-emf speed limit of 3k rpm.

                                        Some photos of the printer might be useful...

                                        https://drmrehorst.blogspot.com/

                                        Phaedruxundefined 1 Reply Last reply Reply Quote 1
                                        • DVD479undefined
                                          DVD479
                                          last edited by

                                          thanks everyone for the advice. at the moment I can't send the photo of the corexy logic used but I think the problem is not due to the positioning of the belts since I used a scheme similar to the voron 2.4. I had also tried to increase the delay times of the motors and also reduced the microsteps to reduce the data flow. I am attaching some photos to show the problem that I have honestly never encountered. I fear it is a software problem and not a mechanical one because as you can see from the photos keeping the same mechanical configuration, generating the gcode with CURA and slic3r I got a different result. do you think it could be a problem of the slicer with the corexy logic?4D6FF8D5-87D8-4E26-99F6-A10359D55B9A.jpeg 834679A8-6AF6-425A-959E-F0E2AEA4B619.jpeg

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

                                            @dvd479 said in Strange layer offset on coreXY:

                                            generating the gcode with CURA and slic3r I got a different result.

                                            you can analyze the two g-codes for differences, they are simple text files. Probably at the beginning is something different. To help you look into it, please publish it.

                                            The corexy logic cannot be the reason, because g-code files contain cartesian coordinates and the firmware translates it into the specific kinematics like corexy.

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