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

G29 on CoreXY does not move correctly

Scheduled Pinned Locked Moved Solved
General Discussion
3
50
2.1k
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.
  • undefined
    fcwilt @TechButterfly
    last edited by fcwilt 16 May 2022, 02:45

    @techbutterfly said in G29 on CoreXY does not move correctly:

    @fcwilt I mean, I can make one, but what goes in it?

    Since you execute a plain G29 to create a heightmap, in mesh.g I put all of the commands needed to create the heightmap - which includes some commands that are often put in config.g, such as the M557.

    At a minimum you could put

    • the M557 command to specify the grid to be probe
    • the G1 command(s) to move the probe to the center of the bed in preparation for setting the Z=0 Datum
    • the G30 command to probe the bed and set the Z=0 Datum
    • the G29 S1 command to actually create the height map

    Before the M557 I include

    • a G29 S2 command to be sure mesh bed compensation is off and will not have any unexpected side effects on the commands that follow
    • a M290 R0 S0 command to cancel baby stepping also to avoid any side effects on the commands that follow

    I actually have much more than that but it is because I make use of many macros to perform common actions (such as setting the Z=0 Datum) and I have the option of specifying different grid densities, via a global variable.

    Frederick

    Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

    undefined 2 Replies Last reply 16 May 2022, 02:59 Reply Quote 0
    • undefined
      TechButterfly @fcwilt
      last edited by 16 May 2022, 02:59

      @fcwilt Thanks for that. I had started building a file, based on some research, and was about to post it here for critique, but now I see I need some other stuff. I'll get to adding those. You don't mention heating here, but I have that in mine (based on a rather lengthy discussion I read between you and someone else about their mesh.g file). If it doesn't belong there, let me know when I post my version.

      I hope to also develop helpful macros but for now just need to get the machine working. Thanks again.

      undefined 1 Reply Last reply 16 May 2022, 03:07 Reply Quote 0
      • undefined
        TechButterfly @fcwilt
        last edited by 16 May 2022, 03:07

        @fcwilt Okay, here's my mesh.g file. Did I miss anything? Need to change anything?

        ;mesh.g file
        ;set temps
        M568 P0 S60 R60 ;set bed temp
        M568 P1 S200 R160 ;set extruder temps
        M568 P0 A2 ;set bed temp to active
        M568 P1 A2 ;set extruder to active
        M116 H0 S5 ;wait for bed to reach temp +-5
        M116 H1 S10 ;wait for extruder to reach temp +-10
        ;prep
        G29 S2 ;turn off mesh bed compensation
        M290 R0 S0 ;reset baby stepping
        M208 X-30 Y0 Z0 S1 ; temporarily allow movement outside X0
        M557 X20:310 Y40:270 S20 ; define mesh grid
        ;get Z=0 datum
        G1 X150 Y150 F2500 ;move to center of bed
        G30 ;set Z=0 datum
        ;mesh leveling
        G29 S1 ;basic G29
        ;finish
        G1 X0 F2500 ; move back to X0
        M208 X0 Y0 Z0 S1 ;reset bed minima
        M568 P0 A0 ;turn off bed
        M568 P1 A0 ;turn off extruder
        undefined 1 Reply Last reply 16 May 2022, 03:12 Reply Quote 0
        • undefined
          fcwilt @TechButterfly
          last edited by 16 May 2022, 03:07

          @techbutterfly said in G29 on CoreXY does not move correctly:

          Thanks for that. I had started building a file, based on some research, and was about to post it here for critique, but now I see I need some other stuff. I'll get to adding those. You don't mention heating here, but I have that in mine (based on a rather lengthy discussion I read between you and someone else about their mesh.g file). If it doesn't belong there, let me know when I post my version.

          I hope to also develop helpful macros but for now just need to get the machine working. Thanks again.

          Generally you want to have the hotend and bed at printing temperature before creating the heightmap.

          But I control those temps with the DWC Filament handling feature and different filaments have different temps.

          It can also be educational to create a heightmap at room temp to compare it with a heightmap created at printing temps.

          So I have no heating commands in my mesh.g but there certainly is nothing wrong with having them there if that suits the way you work.

          But because I use dense grids when creating my heightmaps (200, 300, 400 points) I create the heightmaps as a separate step and not at the start of printing as many folks do. Then I load the existing heightmap at the start of printing. If you have a stable printer you can use the same heightmap for most printing.

          Frederick

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          1 Reply Last reply Reply Quote 0
          • undefined
            fcwilt @TechButterfly
            last edited by 16 May 2022, 03:12

            @techbutterfly said in G29 on CoreXY does not move correctly:

            @fcwilt Okay, here's my mesh.g file. Did I miss anything? Need to change anything?

            ;mesh.g file
            ;set temps
            M568 P0 S60 R60 ;set bed temp
            M568 P1 S200 R160 ;set extruder temps
            M568 P0 A2 ;set bed temp to active
            M568 P1 A2 ;set extruder to active
            M116 H0 S5 ;wait for bed to reach temp +-5
            M116 H1 S10 ;wait for extruder to reach temp +-10
            ;prep
            G29 S2 ;turn off mesh bed compensation
            M290 R0 S0 ;reset baby stepping
            M208 X-30 Y0 Z0 S1 ; temporarily allow movement outside X0
            M557 X20:310 Y40:270 S20 ; define mesh grid
            ;get Z=0 datum
            G1 X150 Y150 F2500 ;move to center of bed
            G30 ;set Z=0 datum
            ;mesh leveling
            G29 S1 ;basic G29
            ;finish
            G1 X0 F2500 ; move back to X0
            M208 X0 Y0 Z0 S1 ;reset bed minima
            M568 P0 A0 ;turn off bed
            M568 P1 A0 ;turn off extruder

            Looks good.

            Just FYI when changing axis min/max you can specify just X.

            Frederick

            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

            undefined 1 Reply Last reply 16 May 2022, 03:31 Reply Quote 0
            • undefined
              TechButterfly @fcwilt
              last edited by 16 May 2022, 03:31

              @fcwilt Okay, thanks! I will look into the filament handling stuff you mentioned. Thanks again for your help!

              1 Reply Last reply Reply Quote 0
              • undefined TechButterfly has marked this topic as solved 16 May 2022, 03:31
              • undefined TechButterfly has marked this topic as unsolved 16 May 2022, 04:12
              • undefined
                TechButterfly
                last edited by 16 May 2022, 04:24

                After I got the a-okay on my mesh.g file, I uploaded it to my machine. I'm trying to remember the sequence of events - I think I tried to run it, and might have gotten a message that I need to home first. I tried to home and the z probe didn't deploy and ended up crashing into the bed. I killed the power and then restarted. NOW several things aren't working right! X homes correctly - goes to the endstop, and then moves to X30 and resets X0. But any moves after that - homing Y, even just jogging the X axis - the carriage is moving at a diagonal, and the Y motor isn't moving at all. This is similar to my original problem, except now it's not just G29, it's all moves after the homex move.

                I just restarted the printer and homed Y first - it homed just fine. Then I homed X, and now everything is screwed up again. There must be something screwy in my homex file. Here is the contents of it:

                ; homex.g
                ; called to home the X axis
                ;
                ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue May 10 2022 23:58:03 GMT-0500 (Central Daylight Time)
                G91 ; relative positioning
                G1 H2 Z5 F6000 ; lift Z relative to current position
                G1 H1 X-325 F2500 ; move quickly to X axis endstop and stop there (first pass)
                G1 X5 F6000 ; go back a few mm
                G1 H1 X-325 F360 ; move slowly to X axis endstop once more (second pass)
                G1 X30 F2500 ; move to left edge of bed
                M92 X0 ; set new X0
                G1 H2 Z-5 F6000 ; lower Z again
                G90 ; absolute positioning
                1 Reply Last reply Reply Quote 0
                • undefined
                  Phaedrux Moderator
                  last edited by Phaedrux 16 May 2022, 04:29

                  Can you post your config.g? It sounds like you aren't in corexy mode, or maybe like a grub screw is loose on a motor pulley.

                  It's also possible your coordinate system is totally out of whack.

                  The assumption is that 0,0 is the front left corner.
                  -x moves to the left, +x moves to the right.
                  -y moves to the front, +y moves to the back.

                  Based on your homex.g file the X endstop is on the left side, correct?

                  Is the Y endstop at the back? Stock D bot it is anyway. Which would be a positive Y move.

                  You should also do this motor test for corexy to ensure it's all configured correctly.

                  https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_coreXY#testing-motor-movement

                  Z-Bot CoreXY Build | Thingiverse Profile

                  undefined 1 Reply Last reply 16 May 2022, 04:44 Reply Quote 0
                  • undefined
                    TechButterfly @Phaedrux
                    last edited by 16 May 2022, 04:44

                    @phaedrux Yes, until this point with G29 everything moved correctly. X endstop is on the left. Y endstop is at the back (Y max). Everything moves in the right directions, homes in the right directions. I have calibrated e-steps for all three axes and the extruder. I have manually leveled the bed. I have set the z probe offset. I PID tuned the bed and hot end. I was all ready to do my first test prints, but when I ran G29 I had odd behavior where it was probing back and forth on a diagonal, although the Panel Due said it was moving only on the X axis, which seems like not-corexy movement. The Y motor was not turning at all, although it moved fine during the homing and when manually jogging.

                    I didn't have a mesh.g, so I created that, but now the movement is all off. Here's my config.g - maybe I screwed something up on it?

                    ; Configuration file for Duet 3 (firmware version 3.3)
                    ; executed by the firmware on start-up
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue May 10 2022 23:58:03 GMT-0500 (Central Daylight Time)
                    ; General preferences
                    M575 P1 S1 B57600 ; enable support for PanelDue
                    G90 ; send absolute coordinates...
                    M83 ; ...but relative extruder moves
                    M550 P"Duet 3" ; set printer name
                    M669 K1 ; select CoreXY mode
                    ; Drives
                    M569 P0.2 S0 ; physical drive 0.0 goes forwards
                    M569 P0.1 S0 ; physical drive 0.1 goes forwards
                    M569 P0.0 S0 ; physical drive 0.2 goes forwards
                    M569 P0.3 S0 ; physical drive 0.3 goes forwards
                    M584 X0.2 Y0.1 Z0.0 E0.3 ; set drive mapping
                    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
                    M92 X101.00 Y101.00 Z800.00 E438.57 ; set steps per mm
                    M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
                    M203 X6000.00 Y6000.00 Z1000.00 E1200.00 ; set maximum speeds (mm/min)
                    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
                    M906 X800 Y800 Z800 E800 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 X320 Y275 Z300 S0 ; set axis maxima
                    ; Endstops
                    M574 X1 S1 P"!io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io1.in
                    M574 Y2 S1 P"!io3.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io3.in
                    ; Z-Probe
                    M950 S0 C"io4.out" ; create servo pin 0 for BLTouch
                    M558 P9 C"io4.in" H5 F1000:100 T6000 ; set Z probe type to bltouch and the dive height + speeds
                    G31 P500 X37 Y-27 Z2.22 ; set Z probe trigger value, offset and trigger height
                    M557 X20:310 Y40:270 S20 ; define mesh grid
                    ; Heaters
                    M308 S0 P"temp1" Y"thermistor" T100000 B4138 A"BedTemp" ; configure sensor 0 as thermistor on pin temp1
                    M950 H0 C"out1" T0 ; create bed heater output on out1 and map it to sensor 0
                    M307 H0 R0.169 K0.225:0.000 D42.84 E1.35 S1.00 B0 ; 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"temp0" Y"thermistor" T100000 B4138 A"NozzleTemp" ; configure sensor 1 as thermistor on pin temp0
                    M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1
                    M307 H1 R2.962 K0.603:0.000 D5.12 E1.35 S1.00 B0 V23.2; 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"out9" Q500 ; create fan 0 on pin out8 and set its frequency
                    M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
                    M950 F1 C"out8" Q500 ; create fan 1 on pin out9 and set its frequency
                    M106 P1 S1 H1 T50 ; set fan 1 value. Thermostatic control is turned on
                    ; Tools
                    M563 P0 S"Mosquito Magnum" 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
                    1 Reply Last reply Reply Quote 0
                    • undefined
                      TechButterfly
                      last edited by 16 May 2022, 14:08

                      Okay, I can home Y if I home it first. Movement is correct. I can then home X, and it homes correctly. After that, the kinematics are all wrong - the Y motor doesn't turn at all, so all movements end up on a diagonal. If I home X first, then the kinematics are wrong, and I can't home Y.

                      Just to reiterate - prior to this, all movement was correct. I jogged the head all over the place while leveling the bed. It's only been since I created the mesh.g file and attempted a G29. Not saying that's what caused the problem - it's just the last change I made.

                      I have to go out of town for a day or two - I'll be back to work on this tomorrow night or the next.

                      Thanks for any help!

                      undefined 1 Reply Last reply 16 May 2022, 14:22 Reply Quote 1
                      • undefined
                        fcwilt @TechButterfly
                        last edited by 16 May 2022, 14:22

                        @techbutterfly said in G29 on CoreXY does not move correctly:

                        Okay, I can home Y if I home it first. Movement is correct. I can then home X, and it homes correctly. After that, the kinematics are all wrong - the Y motor doesn't turn at all, so all movements end up on a diagonal. If I home X first, then the kinematics are wrong, and I can't home Y.

                        Just to reiterate - prior to this, all movement was correct. I jogged the head all over the place while leveling the bed. It's only been since I created the mesh.g file and attempted a G29. Not saying that's what caused the problem - it's just the last change I made.

                        I have to go out of town for a day or two - I'll be back to work on this tomorrow night or the next.

                        Thanks for any help!

                        Nothing in your mesh.g is responsible for the change in behavior you are seeing.

                        It may be that your kinematics are simply wrong and what appears to be correct homing is caused by one of the steppers stalled at the end of travel so things appear to be correct.

                        When you get back we can verify if you kinematics are correct. While you have the M669 K1 that assumes certain stepper behavior. I use the other approach of specifying the matrix which controls motion which can adjust for motors that are not wired as expected.

                        Frederick

                        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                        undefined 1 Reply Last reply 16 May 2022, 14:27 Reply Quote 0
                        • undefined
                          TechButterfly @fcwilt
                          last edited by 16 May 2022, 14:27

                          @fcwilt Thanks! I look forward to working with you when I get back. I saw the stuff about defining a matrix but didn't understand it. Hope to learn something new when I'm back home again.

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            Phaedrux Moderator
                            last edited by 16 May 2022, 17:15

                            Please post all your homing files. bed.g and the results of sending M122 and M98 P"config.g"

                            Z-Bot CoreXY Build | Thingiverse Profile

                            undefined 1 Reply Last reply 17 May 2022, 21:05 Reply Quote 0
                            • undefined
                              TechButterfly @Phaedrux
                              last edited by 17 May 2022, 21:05

                              @phaedrux Here are the homing files, bed.g, and the M122 and M98 results.

                              ; homeall.g
                              ; called to home all axes
                              ;
                              ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue May 10 2022 23:58:03 GMT-0500 (Central Daylight Time)
                              G91 ; relative positioning
                              G1 H2 Z5 F6000 ; lift Z relative to current position
                              G1 H1 X-325 Y280 F2500 ; move quickly to X or Y endstop and stop there (first pass)
                              G1 H1 X-325 ; home X axis
                              G1 H1 Y280 ; home Y axis
                              G1 X5 Y-5 F6000 ; go back a few mm
                              G1 H1 X-325 F360 ; move slowly to X axis endstop once more (second pass)
                              G1 H1 Y280 ; then move slowly to Y axis endstop
                              G1 X30 F2500 ; move to left edge of bed (X30)
                              M92 X0 ; set new X0
                              G90 ; back to absolute mode
                              G1 X150 Y150 F2000 ; put head over the centre of the bed, or wherever you want to probe
                              G30 ; lower head, stop when probe triggered and set Z to trigger height
                              ; Uncomment the following lines to lift Z after probing
                              ;G91 ; relative positioning
                              ;G1 Z5 F100 ; lift Z relative to current position
                              ;G90 ; absolute positioning
                              ; homex.g
                              ; called to home the X axis
                              ;
                              ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue May 10 2022 23:58:03 GMT-0500 (Central Daylight Time)
                              G91 ; relative positioning
                              G1 H2 Z5 F6000 ; lift Z relative to current position
                              G1 H1 X-325 F2500 ; move quickly to X axis endstop and stop there (first pass)
                              G1 X5 F6000 ; go back a few mm
                              G1 H1 X-325 F360 ; move slowly to X axis endstop once more (second pass)
                              G1 X30 F2500 ; move to left edge of bed
                              M92 X0 ; set new X0
                              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.3.10 on Tue May 10 2022 23:58:04 GMT-0500 (Central Daylight Time)
                              G91 ; relative positioning
                              G1 H2 Z5 F6000 ; lift Z relative to current position
                              G1 H1 Y280 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                              G1 Y-5 F6000 ; go back a few mm
                              G1 H1 Y280 F360 ; move slowly to Y axis endstop once more (second pass)
                              G1 H2 Z-5 F6000 ; lower Z again
                              G90 ; absolute positioning
                              ; homez.g
                              ; called to home the Z axis
                              ;
                              G91 ; relative mode
                              G1 H2 Z4 F200 ; raise head 4mm to ensure it is above the Z probe trigger height
                              G90 ; back to absolute mode
                              G1 X150 Y150 F2000 ; put head over the centre of the bed, or wherever you want to probe
                              G30 ; lower head, stop when probe triggered and set Z to trigger height
                              ; Uncomment the following lines to lift Z after probing
                              ;G91 ; relative positioning
                              ;G1 Z5 F100 ; lift Z relative to current position
                              ;G90 ; absolute positioning
                              ; bed.g
                              ; called to perform automatic bed compensation via G32
                              ;
                              ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue May 10 2022 23:58:03 GMT-0500 (Central Daylight Time)
                              M561 ; clear any bed transform
                              G29 ; probe the bed and enable compensation
                              ;mesh.g file
                              ;mesh.g file
                              ;set temps
                              M568 P0 S60 R60 ;set bed temp
                              M568 P1 S200 R160 ;set extruder temps
                              M568 P0 A2 ;set bed temp to active
                              M568 P1 A2 ;set extruder to active
                              M116 H0 S5 ;wait for bed to reach temp +-5
                              M116 H1 S10 ;wait for extruder to reach temp +-10
                              ;prep
                              G29 S2 ;turn off mesh bed compensation
                              M290 R0 S0 ;reset baby stepping
                              M208 X-30 Y0 Z0 S1 ; temporarily allow movement outside X0
                              M557 X20:310 Y40:270 S20 ; define mesh grid
                              ;get Z=0 datum
                              G1 X150 Y150 F2500 ;move to center of bed
                              G30 ;set Z=0 datum
                              ;mesh leveling
                              G29 S1 ;basic G29
                              ;finish
                              G1 X0 F2500 ; move back to X0
                              M208 X0 Y0 Z0 S1 ;reset bed minima
                              M568 P0 A0 ;turn off bed
                              M568 P1 A0 ;turn off extruder

                              M122:

                              m122
                              === Diagnostics ===
                              RepRapFirmware for Duet 3 MB6HC version 3.4.0 (2022-03-15 18:57:24) running on Duet 3 MB6HC v1.01 or later (SBC mode)
                              Board ID: 08DJM-956BA-NA3TN-6J9F6-3SN6N-TB8UU
                              Used output buffers: 1 of 40 (12 max)
                              === RTOS ===
                              Static ram: 151000
                              Dynamic ram: 65764 of which 388 recycled
                              Never used RAM 133520, free system stack 216 words
                              Tasks: SBC(resourceWait:,0.7%,478) HEAT(notifyWait,0.0%,327) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,342) TMC(notifyWait,7.7%,92) MAIN(running,87.2%,923) IDLE(ready,4.4%,30), total 100.0%
                              Owned mutexes: HTTP(MAIN)
                              === Platform ===
                              Last reset 00:00:27 ago, cause: software
                              Last software reset at 2022-05-17 15:58, reason: User, none spinning, available RAM 133520, slot 1
                              Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
                              Error status: 0x00
                              Aux0 errors 0,0,0
                              Step timer max interval 134
                              MCU temperature: min 36.2, current 36.5, max 36.8
                              Supply voltage: min 23.9, current 23.9, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
                              12V rail voltage: min 12.0, current 12.0, max 12.0, under voltage events: 0
                              Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
                              Events: 0 queued, 0 completed
                              Driver 0: standstill, SG min 0, mspos 8, reads 22043, writes 14 timeouts 0
                              Driver 1: standstill, SG min 0, mspos 8, reads 22043, writes 14 timeouts 0
                              Driver 2: standstill, SG min 0, mspos 8, reads 22043, writes 14 timeouts 0
                              Driver 3: standstill, SG min 0, mspos 8, reads 22043, writes 14 timeouts 0
                              Driver 4: standstill, SG min 0, mspos 8, reads 22047, writes 11 timeouts 0
                              Driver 5: standstill, SG min 0, mspos 8, reads 22047, writes 11 timeouts 0
                              Date/time: 2022-05-17 15:58:53
                              Slowest loop: 1.10ms; fastest: 0.06ms
                              === Storage ===
                              Free file entries: 10
                              SD card 0 not detected, interface speed: 37.5MBytes/sec
                              SD card longest read time 0.0ms, write time 0.0ms, max retries 0
                              === Move ===
                              DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
                              === MainDDARing ===
                              Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                              === AuxDDARing ===
                              Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                              === Heat ===
                              Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                              === GCodes ===
                              Segments left: 0
                              Movement lock held by null
                              HTTP* is doing "M122" 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
                              SBC is idle in state(s) 0
                              Daemon is idle in state(s) 0
                              Aux2 is idle in state(s) 0
                              Autopause is idle in state(s) 0
                              Code queue is empty
                              === CAN ===
                              Messages queued 202, received 0, lost 0, boc 0
                              Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 138/0/0
                              Tx timeouts 0,0,137,0,0,63 last cancelled message type 30 dest 127
                              === SBC interface ===
                              Transfer state: 4, failed transfers: 0, checksum errors: 0
                              RX/TX seq numbers: 2630/2630
                              SPI underruns 0, overruns 0
                              State: 5, disconnects: 0, timeouts: 0, IAP RAM available 0x2b880
                              Buffer RX/TX: 0/0-0, open files: 0
                              === Duet Control Server ===
                              Duet Control Server v3.4.0
                              Code buffer space: 4096
                              Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
                              Full transfers per second: 124.75, max time between full transfers: 166.9ms, max pin wait times: 68.4ms/72.5ms
                              Codes per second: 2.08
                              Maximum length of RX/TX data transfers: 3148/420

                              M98 P"config.g" - I ran this in the console, but there was not response other than the command itself with a green background. Here's config.g:

                              ; Configuration file for Duet 3 (firmware version 3.3)
                              ; executed by the firmware on start-up
                              ;
                              ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue May 10 2022 23:58:03 GMT-0500 (Central Daylight Time)
                              ; General preferences
                              M575 P1 S1 B57600 ; enable support for PanelDue
                              G90 ; send absolute coordinates...
                              M83 ; ...but relative extruder moves
                              M550 P"Duet 3" ; set printer name
                              M669 K1 ; select CoreXY mode
                              ; Drives
                              M569 P0.2 S0 ; physical drive 0.0 goes forwards
                              M569 P0.1 S0 ; physical drive 0.1 goes forwards
                              M569 P0.0 S0 ; physical drive 0.2 goes forwards
                              M569 P0.3 S0 ; physical drive 0.3 goes forwards
                              M584 X0.2 Y0.1 Z0.0 E0.3 ; set drive mapping
                              M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
                              M92 X101.00 Y101.00 Z800.00 E438.57 ; set steps per mm
                              M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
                              M203 X6000.00 Y6000.00 Z1000.00 E1200.00 ; set maximum speeds (mm/min)
                              M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
                              M906 X800 Y800 Z800 E800 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 X320 Y275 Z300 S0 ; set axis maxima
                              ; Endstops
                              M574 X1 S1 P"!io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io1.in
                              M574 Y2 S1 P"!io3.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io3.in
                              ; Z-Probe
                              M950 S0 C"io4.out" ; create servo pin 0 for BLTouch
                              M558 P9 C"io4.in" H5 F1000:100 T6000 ; set Z probe type to bltouch and the dive height + speeds
                              G31 P500 X37 Y-27 Z2.22 ; set Z probe trigger value, offset and trigger height
                              M557 X20:310 Y40:270 S20 ; define mesh grid
                              ; Heaters
                              M308 S0 P"temp1" Y"thermistor" T100000 B4138 A"BedTemp" ; configure sensor 0 as thermistor on pin temp1
                              M950 H0 C"out1" T0 ; create bed heater output on out1 and map it to sensor 0
                              M307 H0 R0.169 K0.225:0.000 D42.84 E1.35 S1.00 B0 ; 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"temp0" Y"thermistor" T100000 B4138 A"NozzleTemp" ; configure sensor 1 as thermistor on pin temp0
                              M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1
                              M307 H1 R2.962 K0.603:0.000 D5.12 E1.35 S1.00 B0 V23.2; 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"out9" Q500 ; create fan 0 on pin out8 and set its frequency
                              M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
                              M950 F1 C"out8" Q500 ; create fan 1 on pin out9 and set its frequency
                              M106 P1 S1 H1 T50 ; set fan 1 value. Thermostatic control is turned on
                              ; Tools
                              M563 P0 S"Mosquito Magnum" 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
                              undefined 1 Reply Last reply 17 May 2022, 22:00 Reply Quote 0
                              • undefined
                                fcwilt @TechButterfly
                                last edited by 17 May 2022, 22:00

                                @techbutterfly

                                Just FYI.

                                G32 executes bed.g - which is intended to do bed leveling, not create the heightmap needed for mesh bed compensation.

                                What you have done will, of course, work but it is using bed.g in a somewhat unusual way.

                                Now as to you Core XY settings.

                                I would like you to do this from the DWC console:

                                • execute M564 H0 which will allow moving axes that are not yet homed
                                • jog X to the near the center of the bed
                                • jog Y to the near the center of the bed
                                • execute G92 X160 Y135 which will set the X and Y logical positions to appx halfway between axis min and max
                                • execute G90 which will set absolute move mode
                                • execute G1 X210 Y185 just to test a move command
                                • execute G1 X110 Y85 just to test another move command

                                Does the jogging move as expected?

                                Do the G1 commands move as expected?

                                Frederick

                                Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                undefined 1 Reply Last reply 17 May 2022, 22:54 Reply Quote 0
                                • undefined
                                  Phaedrux Moderator
                                  last edited by 17 May 2022, 22:21

                                  Can you make a video of you homing the printer and running a mesh compnesation?

                                  G28 G29

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  undefined 1 Reply Last reply 18 May 2022, 02:10 Reply Quote 1
                                  • undefined
                                    TechButterfly @fcwilt
                                    last edited by 17 May 2022, 22:54

                                    @fcwilt I ran the commands you said - everything moved as expected, both jogging and using G1 commands. X+ was to the right. Y+ was toward the back.

                                    What should I do next?

                                    As far as G32, bed.g, and G29, whatever I have is either the default or perhaps came along with something I copied from somewhere. Please feel free to tell me a more acceptable way to accomplish things like bed leveling or mesh compensation. There's definitely plenty I don't know.

                                    undefined 1 Reply Last reply 18 May 2022, 01:51 Reply Quote 1
                                    • undefined
                                      Phaedrux Moderator
                                      last edited by 18 May 2022, 00:13

                                      Your homing files and config and mesh.g look alright to me. I don't see anything that would cause weird movement behaviour anyway.

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      undefined 1 Reply Last reply 18 May 2022, 00:48 Reply Quote 0
                                      • undefined
                                        TechButterfly @Phaedrux
                                        last edited by 18 May 2022, 00:48

                                        @phaedrux To verify what I posted before, after doing the tests @fcwilt requested, I homed Y and tested the movement - everything was still fine. I then homed X and once again, the movement is now wrong. The Y motor no longer turns - it is locked in place, so it's not just dead, the controller thinks it's not supposed to turn. I don't know what to do next.

                                        undefined 1 Reply Last reply 18 May 2022, 02:00 Reply Quote 0
                                        • undefined
                                          fcwilt @TechButterfly
                                          last edited by fcwilt 18 May 2022, 01:51

                                          @techbutterfly said in G29 on CoreXY does not move correctly:

                                          I ran the commands you said - everything moved as expected, both jogging and using G1 commands. X+ was to the right. Y+ was toward the back.

                                          Just to be sure, did both of the G1 commands move on the diagonal and ended up at the correct XY position?

                                          I know this is a pain but maybe if you made a video showing what happened during the tests I suggested we would see something that would give us a clue.

                                          Right now I am somewhat baffled.

                                          Thanks.

                                          Frederick

                                          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                          undefined 1 Reply Last reply 18 May 2022, 02:02 Reply Quote 0
                                          14 out of 50
                                          • First post
                                            14/50
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA