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

    Home Y, and it moves X- with PI4 3.4b7+7

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    3
    5
    201
    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.
    • Stephen6309undefined
      Stephen6309
      last edited by Phaedrux

      Duet 6hc w/1LC on a Pi4.
      6HC:v3.4.0beta7+7
      1LC:v3.4.0beta+4
      DWC:3.4.0beta7

      Home Y: Expecting Y-, getting X-
      Home X works fine.

      Moved the steppers to different drivers, no change. Original 0.0, 0.1. Tried 0.1,0.2 and 0.0,0.2. Full shutdown, reset, reload config.g, it doesn't change.

      Set up in standalone mode and it works.

      Made a new boot with buster and added RRF stuff and unstable, no change.

      Set up in standalone mode again and it works.
      Only change to config.g is to add the networking.

      It worked fine two days ago.

      G1 H2 X10 F3000 moves X+ Y+
      G1 H2 Y10 F3000 moves X+ Y-
      Which are the correct directions.

      ; homey.g
      ; called to home the Y axis
      ;
      G91               ; relative positioning
      G1 H2 Z5 F6000    ; lift Z relative to current position
      G1 H1 Y-305 F6000 ; move quickly to Y axis endstop and stop there (first pass)
      G1 Y5 F6000       ; go back a few mm
      G1 H1 Y-305 F360  ; move slowly to Y axis endstop once more (second pass)
      G1 H2 Z-5 F6000   ; lower Z again
      G90               ; absolute positioning
      
      
      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; General preferences
      G90                                                       ; send absolute coordinates...
      M83                                                       ; ...but relative extruder moves
      M550 P"CoreXY-MS"                                         ; set printer name
      M669 S1                                                   ; select CoreXY mode
      
      ; Drives
      M569 P0.0 S1
      M569 P0.1 S0
      M569 P0.3 S1
      M569 P0.4 S1
      M569 P0.5 S1
      M569 P121.0 S1                                            ; physical drive 121.0 goes forwards
      M584 X0.0 Y0.1 Z0.3:0.4:0.5 E121.0                        ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                                   ; configure microstepping with interpolation
      M92 X80.0 Y80.0 Z800.0 E420.00                            ; set steps per mm
      M566 X600.00 Y600.00 Z30.00 E600.00                       ; set maximum instantaneous speed changes (mm/min)
      M203 X15000.00 Y15000.00 Z250.00 E1200.00                 ; set maximum speeds (mm/min)
      M201 X4000.00 Y4000.00 Z50.00 E250.00                     ; set accelerations (mm/s^2)
      M906 X800 Y800 Z1000 E800 I30                             ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                                   ; Set idle timeout
      
      ; Axis Limits
      M208 X-7 Y0 Z0 S1                                          ; set axis minima
      M208 X400 Y280 Z210 S0                                     ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"121.io1.in"                                  ; configure active-high endstop for low end on X via pin 121.io1.in
      M574 Y1 S1 P"io2.in"                                      ; configure active-high endstop for low end on Y via pin io2.in
      M574 Z1 S2                                                ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe
      M950 S0 C"121.io0.out"                                    ; create servo pin 0 for BLTouch
      M558 P9 C"^121.io0.in" H10 F120 T6000                     ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X-30 Y0 Z0                                       ; set Z probe trigger value, offset and trigger height
      M557 X5:350 Y5:300 S40                                    ; define mesh grid
      
      ; Heaters
      M308 S0 P"temp0" Y"thermistor" T100000 B4092              ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" T0                                        ; create bed heater output on out0 and map it to sensor 0
      M307 H0 B0 S1.00                                          ; disable 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"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin 121.temp0
      M950 H1 C"121.out0" T1                                    ; create nozzle heater output on 121.out0 and map it to sensor 1
      M307 H1 B0 S1.00                                          ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S300                                              ; set temperature limit for heater 1 to 300C
      
      ; Fans
      M950 F0 C"out4" Q500                                      ; create fan 0 on pin out4 and set its frequency
      M106 P0 S0 H-1                                            ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"121.out1" Q500                                  ; create fan 1 on pin 121.out1 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
      M376 H5                                                   ; taper bed compensation
      M572 D0 S0.05                                              ; pressure advance
      M207 S1.5 F6000	R0 Z0.03                                  ; firmware retraction
      M143 H1 S300                                              ; set temperature limit for heater 1 to 300C
      ;M566 P1                                                  ; Jerk policy,  1 allows jerk to be applied between any pair of moves.
      M912 P0 S-9											      ; set mcu temp offset
      G10 P0 S0 R0                                              ; set T0 heater off
      M150 B0 U0 R0 P128 S10 F0                                 ; all neopixels off
      M912 P0 S4									              ; calibrate MPU temp
      M955 P121.0 I10                                           ; Accelerometer on Toolboard 1LC 1.1
      M593 P"ei2" F36.91                                        ; Configure Input Shaping
      M671 X200:280:20 Y290:380:20 S2.0                         ; leadscrews at rear middle, front left and front right, correct up to 2mm
      if !exists(global.RunDaemon)
       global RunDaemon=true ; create variable for use in daemon.g
      else
       set global.RunDaemon=true ; reset variable for use in daemon.g
      if !exists(global.XHotendOffset)
       global XHotendOffset=-30 ; create variable for use in daemon.g
      else
       set global.XHotendOffset=-30 ; reset variable for use in daemon.g
      if !exists(global.YHotendOffset)
       global YHotendOffset=0 ; create variable for use in daemon.g
      else
       set global.YHotendOffset=0 ; reset variable for use in daemon.g
      M308 S10 Y"mcu-temp" P"121.dummy" A"1LC MCU"
      M308 S11 Y"drivers" P"121.dummy" A"1LC Stepper"
      M308 S12 Y"drivers" P"0.dummy" A"6HC Stepper"
      
      ; Miscellaneous
      M575 P1 S1 B57600                                         ; enable support for PanelDue
      M501                                                      ; load saved parameters from non-volatile memory
      M911 S23 R24 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"        ; set voltage thresholds and actions to run on power loss
      T0                                                        ; select first tool
      
      
      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined Phaedrux moved this topic from Using Duet Controllers
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Can you try adding a G4 S4 delay to the start of your config.g to give the toolboard some time to start up?

        Can you send M98 P"config.g" when in SBC move and report any errors?

        If you step through the gcode commands from the homing files manually does it behave differently?

        Z-Bot CoreXY Build | Thingiverse Profile

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

          @phaedrux Added the G4. It used to be in there, looks like it took a vacation. No change.

          In standalone, it works. It homes correctly.

          Reattached PI4. Home Y, and it moved X-, nothing on Y.

          PI4 is running off a Meanwell RS-15-5, along with a PI0 W for the webcam.

          Ran each line in homey.g. G91 and the G1 H2 Z5 F6000 worked fine.
          G1 H1 Y-305 moved X- and nothing on Y.
          Sent G92 X0 Y0 in console.
          In dashboard: Move X10, it move X + Y+. Y10 Y+ X-.
          Sending those H2 test moves, it moves only once for each one now. Even after a emergency stop in DWC.

          Switched back to standalone, and it works. Y homes.
          In dashboard: homes correctly and X and Y move as expected..

          What is the PI doing to mess that up? I thought the PI didn't affect the gcode.

          Don't have another PI.

          gloomyandyundefined 1 Reply Last reply Reply Quote 0
          • gloomyandyundefined
            gloomyandy @Stephen6309
            last edited by

            @stephen6309 Shouldn't:

            M669 S1                                                   ; select CoreXY mode
            

            have a K1 parameter to set the operating mode to CoreXY? At the moment you are just selecting the default cartesian kinematics with a segments per second parameter of 1. See: https://duet3d.dozuki.com/Wiki/M669

            Stephen6309undefined 1 Reply Last reply Reply Quote 2
            • Stephen6309undefined
              Stephen6309 @gloomyandy
              last edited by

              @gloomyandy @phaedrux
              That fixed it. It works correctly in standalone mode with M669 S1, but not with the PI, strange.

              1 Reply Last reply Reply Quote 1
              • Stephen6309undefined Stephen6309 marked this topic as a question
              • Stephen6309undefined Stephen6309 has marked this topic as solved
              • First post
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA