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

    RepRapFirmware 3.0RC1 released

    Scheduled Pinned Locked Moved
    Beta Firmware
    19
    77
    5.8k
    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.
    • gtj0undefined
      gtj0 @3dmntbighker
      last edited by

      @3dmntbighker said in RepRapFirmware 3.0RC1 released:

      Next question...

      After I set M669 K1 and run the CoreXY tests the motors run as expected. But running a simple "G91", "G1 H2 X10" results in both axis moving in plus direction. And "G1 H2 Y10" moves X+ and Y-.

      Do you mean "both axis moving" or "both motors moving"?

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @3dmntbighker
        last edited by

        @3dmntbighker said in RepRapFirmware 3.0RC1 released:

        Next question...

        After I set M669 K1 and run the CoreXY tests the motors run as expected. But running a simple "G91", "G1 H2 X10" results in both axis moving in plus direction. And "G1 H2 Y10" moves X+ and Y-.

        It's always been that way on CoreXY machines, because G1 H2 moves are individual motor moves.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
        • 3dmntbighkerundefined
          3dmntbighker @dc42
          last edited by 3dmntbighker

          @dc42 said in RepRapFirmware 3.0RC1 released:

          @3dmntbighker said in RepRapFirmware 3.0RC1 released:

          Next question...

          After I set M669 K1 and run the CoreXY tests the motors run as expected. But running a simple "G91", "G1 H2 X10" results in both axis moving in plus direction. And "G1 H2 Y10" moves X+ and Y-.

          It's always been that way on CoreXY machines, because G1 H2 moves are individual motor moves.

          Well my homex no longer functions after changing S commands to H commands.

          M400 ; make sure everything has stopped before we make changes
          M913 X70 Y70 ; reduce motor current to 60% to prevent belt slipping
          G91 ; relative positioning
          G1 Z5 H2 F2000 ; drop bed relative to current position ; happens
          G4 P250 ; wait 250msec
          G1 X-300 H1 F3000 ; move quickly to X end stop and stop there (first pass) ; never happens
          G4 P250 ; wait 250msec
          G1 X30 F1000 ; Move Away 5mm X axis ; never happens
          G1 X-35 H1 F2000 ; doesn't happen
          M913 X100 Y100 ; motor current back to normal
          G1 Z-5 H2 F200 ; drop bed relative to current position ; doesn't happen
          G90 ; absolute positioning
          G1 X20 F1000
          M300 S600 P100

          If I run Home X a second time nothing happens and I get a spinner.

          Scratch built CoreXY with Maestro
          Heavily modified Ender 3 with Maestro
          MPCNC work in progress with Duet WiFi

          deckingmanundefined 1 Reply Last reply Reply Quote 0
          • deckingmanundefined
            deckingman @3dmntbighker
            last edited by deckingman

            @3dmntbighker That's odd. Homing works for me on my CoreXY using H1. Mine is a bit complicated because it's actually a CoreXYUVAB but the pure X moves are essentially the same as yours. The major difference I see in your file is the use of G4 which I don't bother with. Try taking those out. If that fixes it, you may have found a bug.

            Edit, There is one other difference in my homing files. I don't use H2 in the Z move - I have M564 H0 in my config.g to allow moves prior to homing. So if taking out the G4 commands doesn't fix it, try using M564 H0 instead of the H2 Z move and report back (in case you've unearthed a bug).

            Ian
            https://somei3deas.wordpress.com/
            https://www.youtube.com/@deckingman

            3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
            • 3dmntbighkerundefined
              3dmntbighker @deckingman
              last edited by

              @deckingman said in RepRapFirmware 3.0RC1 released:

              @3dmntbighker That's odd. Homing works for me on my CoreXY using H1. Mine is a bit complicated because it's actually a CoreXYUVAB but the pure X moves are essentially the same as yours. The major difference I see in your file is the use of G4 which I don't bother with. Try taking those out. If that fixes it, you may have found a bug.

              Edit, There is one other difference in my homing files. I don't use H2 in the Z move - I have M564 H0 in my config.g to allow moves prior to homing. So if taking out the G4 commands doesn't fix it, try using M564 H0 instead of the H2 Z move and report back (in case you've unearthed a bug).

              Now X doesn't move at all after the Z move...

              M400 ; make sure everything has stopped before we make changes
              M913 X70 Y70 ; reduce motor current to 60% to prevent belt slipping
              G91 ; relative positioning
              G1 Z5 F2000 ; drop bed relative to current position
              G1 X-300 H1 F3000 ; move quickly to X end stop and stop there (first pass)
              G1 X30 F1000 ; Move Away 5mm X axis
              G1 X-35 H1 F2000
              M913 X100 Y100 ; motor current back to normal
              G1 Z-5 F200 ; drop bed relative to current position
              G90 ; absolute positioning
              G1 X20 F1000
              M300 S600 P100

              config.g

              M111 S0 ; Debug off

              ; Network
              M550 P"5Rails" ; Set machine name
              M552 P192.168.1.100 S1 ; Enable network set IP
              M553 P255.255.255.0 ; Netmask
              M554 P192.168.1.1 ; Gateway
              M586 P0 S1 ; Enable HTTP
              M586 P1 S0 ; Disable FTP
              M586 P2 S0 ; Disable Telnet

              M555 P2 ; Set output to look like Marlin

              ; *** Machine configuration
              M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it)
              M569 P1 S1 ; Drive 1 goes forwards
              M569 P2 S0 ; Drive 2 goes backwards
              M569 P3 S1 ; Drive 3 goes forwards
              M569 P4 S1 ; Drive 4 goes forwards

              ; Endstops
              M574 X1 S0 P"xstop" ; X min active low endstop switch
              M574 Y1 S0 P"ystop" ; Y min active low endstop switch
              M574 Z1 S0 P"zstop" ; Z min active low endstop switch
              M591 D0 P2 C"e0_stop" S1 ; E0 filament sensor active high

              M669 K1 ; set CoreXY mode
              M564 H0 ; Allow moves prior to homing
              M92 X100 Y100 Z1000 ; Set axis steps/mm
              M92 E415 ; Set extruder steps/mm
              M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
              M906 X1000 Y1000 Z800 E800 I50 ; Set motor currents (mA)
              M201 X1000 Y1000 Z100 E900 ; Accelerations (mm/s^2)
              M203 X40000 Y30000 Z800 E1800 ; Maximum speeds (mm/sec)
              M566 X800 Y800 Z50 E800 ; Maximum jerk speeds mm/sec

              M208 X300 Y275 Z330 ; set axis maxima (adjust to suit your machine)
              M208 X0 Y0 Z0 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
              G21 ; Work in millimetres
              G90 ; Send absolute coordinates...
              M83 ; ...but relative extruder moves

              ; Z probe type
              M558 P8 I1 R2 A5 F400 T3000 H5 ; Peizo Z probe, also used for homing the Z axis

              G31 Z0.2 P600 ; Set the probe height and threshold (put your own values here)
              M557 X25:275 Y15:265 S50 ;
              M375 ; Load heightmap.csv
              M376 H10 ; Taper off bed compensation up to 10mm

              M308 S0 P"bed_temp" Y"thermistor" R2200 T100000 B3950 ; Put your own H and/or L values here to set the bed thermistor ADC correction
              M308 S1 Y"rtd-max31865" R400 P"spi.cs1" F60 ; Activate PT100 hotend temp sensor
              M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0
              M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1
              M501 ; Load config_override.g for 40W Auto tune
              ; M301 H2 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 1

              ; Tool definition
              M563 P0 D0 H1 ; Define tool 0
              G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures

              ; *** If you are using axis compensation, put the figures in the following command
              M556 S78 X0 Y0 Z0 ; Axis compensation here

              T0 ; select first hot end

              Scratch built CoreXY with Maestro
              Heavily modified Ender 3 with Maestro
              MPCNC work in progress with Duet WiFi

              droftartsundefined 1 Reply Last reply Reply Quote 0
              • droftartsundefined
                droftarts administrators @3dmntbighker
                last edited by

                @3dmntbighker Sounds like a similar issue to https://forum.duet3d.com/topic/13409/large-core-homing-issue

                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

                1 Reply Last reply Reply Quote 0
                • 3dmntbighkerundefined
                  3dmntbighker
                  last edited by

                  It doesn't matter if I set X end stop active high or active low. The axis won't home (move) unless I hold the switch on, and stops when I release.

                  Scratch built CoreXY with Maestro
                  Heavily modified Ender 3 with Maestro
                  MPCNC work in progress with Duet WiFi

                  deckingmanundefined 1 Reply Last reply Reply Quote 0
                  • deckingmanundefined
                    deckingman @3dmntbighker
                    last edited by

                    @3dmntbighker said in RepRapFirmware 3.0RC1 released:

                    It doesn't matter if I set X end stop active high or active low. The axis won't home (move) unless I hold the switch on, and stops when I release.

                    To clarify that, are you saying that you can change between S0 and S1 but the axis won't move unless you press the switch? What does M119 give you with and without the switch depressed?

                    Ian
                    https://somei3deas.wordpress.com/
                    https://www.youtube.com/@deckingman

                    3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
                    • 3dmntbighkerundefined
                      3dmntbighker @deckingman
                      last edited by 3dmntbighker

                      @deckingman said in RepRapFirmware 3.0RC1 released:

                      @3dmntbighker said in RepRapFirmware 3.0RC1 released:

                      It doesn't matter if I set X end stop active high or active low. The axis won't home (move) unless I hold the switch on, and stops when I release.

                      To clarify that, are you saying that you can change between S0 and S1 but the axis won't move unless you press the switch? What does M119 give you with and without the switch depressed?

                      Correct

                      M119
                      Endstops - X: at min stop, Y: at min stop, Z: at min stop, Z probe: at min stop

                      Pressed:

                      M119
                      Endstops - X: not stopped, Y: at min stop, Z: at min stop, Z probe: at min stop

                      Also, after I attempt to home X nothing will move. None of the axis respond to the move buttons in the interface. Changing M574 from S0 to S1 gives the same result.

                      Scratch built CoreXY with Maestro
                      Heavily modified Ender 3 with Maestro
                      MPCNC work in progress with Duet WiFi

                      deckingmanundefined 1 Reply Last reply Reply Quote 0
                      • deckingmanundefined
                        deckingman @3dmntbighker
                        last edited by

                        @3dmntbighker So all the end stops are inverted. In which case changing from S0 to S1 should fix it. Unless you have unearthed a bug..........

                        Try using "!" to invert the end stops instead of the "S" parameter. i.e. M574 X1 S0 P"xstop" should give you one condition and M574 X1 S0 P"!xstop" should invert it. You want M119 to say "not stopped" normally and "at min stop" when the switch is pressed.

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

                        1 Reply Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman
                          last edited by

                          Another thought.......you haven't got any M574 commands in your config-overide file which might be overriding config.g have you?

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
                          • gtj0undefined
                            gtj0
                            last edited by gtj0

                            @3dmntbighker Assuming you get the endstops configured, here are my working corexy homing files if they'll help. Notice I don't use H2 at all.

                            ; homex.g
                            G91
                            G1 Z2 F200
                            G1 H1 X-500 F6000
                            G1 X4 F600
                            G1 H1 X-10
                            G1 Z-2 F200
                            
                            ; homey.g
                            G91
                            G1 Z2 F200
                            G1 H1 Y-500 F6000
                            G1 Y4 F600
                            G1 H1 Y-10
                            G1 Z-2 F200
                            
                            ; homexy.g
                            G91
                            G1 Z2 F200
                            G1 H1 X-500 Y-500 F6000
                            G1 H1 X-500 F6000
                            G1 H1 Y-500 F6000
                            G1 X4 Y4 F600
                            G1 H1 X-10
                            G1 H1 Y-10
                            G1 Z-2 F200
                            

                            homexy.g gets called from homeall.g

                            Oops, forgot to mention... If Z isn't already homed, you'll need to add H2 to the Z moves.

                            1 Reply Last reply Reply Quote 0
                            • 3dmntbighkerundefined
                              3dmntbighker @deckingman
                              last edited by

                              @deckingman said in RepRapFirmware 3.0RC1 released:

                              Another thought.......you haven't got any M574 commands in your config-overide file which might be overriding config.g have you?

                              No

                              Scratch built CoreXY with Maestro
                              Heavily modified Ender 3 with Maestro
                              MPCNC work in progress with Duet WiFi

                              1 Reply Last reply Reply Quote 0
                              • 3dmntbighkerundefined
                                3dmntbighker
                                last edited by

                                So, my config.g is shown above. But if I "select all" in the editor and paste into a standard text editor I get the following (ignore the extra stuff I had clipped out):

                                0:/sys/config.g
                                ; *** CoreXY sample config file for dc42 Duet firmware
                                
                                M111 S0				; Debug off
                                
                                ; Network
                                M550 P"5Rails"                     ; Set machine name
                                M552 P192.168.1.100 S1             ; Enable network set IP
                                M553 P255.255.255.0                ; Netmask
                                M554 P192.168.1.1                  ; Gateway
                                M586 P0 S1                         ; Enable HTTP
                                M586 P1 S0                         ; Disable FTP
                                M586 P2 S0                         ; Disable Telnet
                                
                                M555 P2				; Set output to look like Marlin
                                ; M575 P1 B57600 S1		; Comms parameters for PanelDue
                                
                                ; *** Machine configuration
                                M569 P0 S1				; Drive 0 goes forwards (change to S0 to reverse it)
                                M569 P1 S1				; Drive 1 goes forwards
                                M569 P2 S0				; Drive 2 goes backwards
                                M569 P3 S1				; Drive 3 goes forwards
                                M569 P4 S1				; Drive 4 goes forwards
                                ; *** If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file
                                
                                ; Endstops
                                M574 X1 S0 P"xstop"   ; X min active low endstop switch
                                M574 Y1 S0 P"ystop"   ; Y min active low endstop switch
                                M574 Z1 S0 P"zstop"   ; Z min active low endstop switch
                                M591 D0 P2 C"e0_stop" S1	; E0 filament sensor active high 
                                ; M915 X Y S5 R0 F0 	; set X and Y to sensitivity 5, do nothing when stall, unfiltered... NOT on Maestro :-(
                                
                                M669 K1					; set CoreXY mode
                                M564 H0					; Allow moves prior to homing
                                M92 X100 Y100 Z1000			; Set axis steps/mm
                                M92 E415				; Set extruder steps/mm
                                ; M203 X15000 Y15000 Z1500 E3600	; Maximum speeds (mm/sec)
                                ; M566 X600 Y600 Z50 E900		; Maximum jerk speeds mm/sec
                                M350 X16 Y16 Z16 E16 I1			; Configure microstepping with interpolation
                                M906 X1000 Y1000 Z800 E800 I50	        ; Set motor currents (mA)
                                M201 X1000 Y1000 Z100 E900		; Accelerations (mm/s^2)
                                ; M203 X40000 Y30000 Z800 E1800		; Maximum speeds (mm/sec)
                                M203 X4000 Y3000 Z800 E1800		; Maximum speeds (mm/sec)
                                M566 X800 Y800 Z50 E800			; Maximum jerk speeds mm/sec
                                
                                M208 X300 Y275 Z330			; set axis maxima (adjust to suit your machine)
                                M208 X0 Y0 Z0 S1			; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
                                G21					; Work in millimetres
                                G90					; Send absolute coordinates...
                                M83					; ...but relative extruder moves
                                
                                ; Z probe type
                                M558 P8 I1 R2 A5 F400 T3000 H5              ; Peizo Z probe, also used for homing the Z axis
                                
                                G31 Z0.2 P600                      ; Set the probe height and threshold (put your own values here)
                                ; The following M557 commands are not needed if you are using a bed.g file to perform bed compensation
                                ; *** Adjust the XY coordinates in the following M557 commands to suit your build and the position of the Z probe
                                M557 X25:275 Y15:265 S50                      ;
                                M375                                        ; Load heightmap.csv
                                M376 H10                                    ; Taper off bed compensation up to 10mm
                                
                                ; Thermistors and heaters
                                ; *** If you have a Duet board with 1K thermistor series resistors, change R4700 to R1000 to the following M305 commands
                                ; You can also use S and B parameters to define the parameters of the thermistors you are using
                                M308 S0 P"bed_temp" Y"thermistor" R2200 T100000 B3950	; Put your own H and/or L values here to set the bed thermistor ADC correction
                                M308 S1 Y"rtd-max31865" R400 P"spi.cs1" F60			; Activate PT100 hotend temp sensor
                                M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0
                                M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1
                                ; M305 P1 R4700 H0 L0			; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
                                ; M305 P2 R4700 H0 L0			; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
                                ; M301 H1 P10 I0.10 D100 T0.50 S1.0	; PID settings for extruder 0
                                ; M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1 ; Old bed heater PID settings
                                ; M307 H1 A497.3 C234.6 D3.7 B0		; ***Auto tune derived 30W preferred extruder 0 PID settings ***
                                ; M308 P101 X1001 S"DuetDriversTemp"	; Virtual heater to display stepper driver over temp flags
                                M501                                    ; Load config_override.g for 40W Auto tune
                                ; M301 H2 P10 I0.10 D100 T0.50 S1.0	; PID settings for extruder 1
                                
                                ; Tool definition
                                M563 P0 D0 H1				; Define tool 0
                                G10 P0 S0 R0			; Set tool 0 operating and standby temperatures
                                ; *** If you have a dual-nozzle build, un-comment the following 3 lines
                                ; M563 P1 D1 H2				; Define tool 1
                                ; G10 P1 S0 R0				; Set tool 1 operating and standby temperatures
                                
                                ; *** If you are using axis compensation, put the figures in the following command
                                M556 S78 X0 Y0 Z0			; Axis compensation here
                                
                                ; M98 PStartup.g                  ; Play tune
                                
                                T0				; select first hot end
                                5Rails
                                Send code...
                                Status
                                Idle
                                Mode: FFF
                                Tool Position
                                X
                                20.0
                                Y
                                0.0
                                Z
                                0.01
                                Extruder Drives
                                Drive 0
                                0.0
                                Speeds
                                Requested Speed
                                0 mm/s
                                Top Speed
                                0 mm/s
                                Sensors
                                Vin
                                24.2 V
                                MCU Temperature
                                40.5 C
                                 Tools
                                 Extra
                                 Control All
                                Tool	Heater	Current	Active	Standby
                                Tool 0
                                T0 - PLA	Heater 1
                                active	23.2 C	
                                0
                                0
                                Bed	Heater 0
                                off	22.5 C	
                                0
                                0
                                Temperature Chart
                                System Directory
                                

                                Is the extra stuff at the end normal?

                                Scratch built CoreXY with Maestro
                                Heavily modified Ender 3 with Maestro
                                MPCNC work in progress with Duet WiFi

                                1 Reply Last reply Reply Quote 0
                                • gtj0undefined
                                  gtj0
                                  last edited by

                                  @3dmntbighker said in RepRapFirmware 3.0RC1 released:

                                  I think the stuff after the T0 is just from copying from the DWC web page.

                                  In any case, try putting the "M669 K1" at the top of the file. I don't think it'll make a difference but it may.

                                  3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators
                                    last edited by

                                    This is covered In the upgrade notes. S0 is no longer supported in M574. Use S1 and invert the pin using ! at the start of the pin name.

                                    Duet WiFi hardware designer and firmware engineer
                                    Please do not ask me for Duet support via PM or email, use the forum
                                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                                    3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
                                    • 3dmntbighkerundefined
                                      3dmntbighker @gtj0
                                      last edited by

                                      @gtj0 said in RepRapFirmware 3.0RC1 released:

                                      @3dmntbighker said in RepRapFirmware 3.0RC1 released:

                                      I think the stuff after the T0 is just from copying from the DWC web page.

                                      In any case, try putting the "M669 K1" at the top of the file. I don't think it'll make a difference but it may.

                                      Yeah, looking at the file directly on the SD card it looks normal. I can enter M669 K1 in the console and no difference. It really seems to be an issue with M574? There seems to be no way to change the end stop from active high to active low. Changing M574 it always acts the same.

                                      Scratch built CoreXY with Maestro
                                      Heavily modified Ender 3 with Maestro
                                      MPCNC work in progress with Duet WiFi

                                      1 Reply Last reply Reply Quote 0
                                      • 3dmntbighkerundefined
                                        3dmntbighker @dc42
                                        last edited by

                                        @dc42 said in RepRapFirmware 3.0RC1 released:

                                        This is covered In the upgrade notes. S0 is no longer supported in M574. Use S1 and invert the pin using ! at the start of the pin name.

                                        It's not noted in the M574 section of the RepRap changes document. Nor on the main G-code page. Which does have many notations about RRF3.

                                        Thanks, I'm operational now. I had some issues with the Piezo sensor but I resolved those.

                                        Scratch built CoreXY with Maestro
                                        Heavily modified Ender 3 with Maestro
                                        MPCNC work in progress with Duet WiFi

                                        deckingmanundefined 1 Reply Last reply Reply Quote 1
                                        • deckingmanundefined
                                          deckingman @3dmntbighker
                                          last edited by

                                          @3dmntbighker TBH, I didn't know that S0 had been withdrawn either. I was going by this thread https://forum.duet3d.com/topic/13136/m574-usage-on-rrf-3 where David said his intention was not to withdraw S0.

                                          Ian
                                          https://somei3deas.wordpress.com/
                                          https://www.youtube.com/@deckingman

                                          3dmntbighkerundefined 1 Reply Last reply Reply Quote 0
                                          • 3dmntbighkerundefined
                                            3dmntbighker @deckingman
                                            last edited by

                                            @deckingman said in RepRapFirmware 3.0RC1 released:

                                            @3dmntbighker TBH, I didn't know that S0 had been withdrawn either. I was going by this thread https://forum.duet3d.com/topic/13136/m574-usage-on-rrf-3 where David said his intention was not to withdraw S0.

                                            That's what we get for being bleeding edge. I don't ask for apologies 😉

                                            DC is "the man". He's done as much for my 3D printing as anyone.

                                            Scratch built CoreXY with Maestro
                                            Heavily modified Ender 3 with Maestro
                                            MPCNC work in progress with Duet WiFi

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