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

    Configuration of MPCNC with Duet Wifi2 & Duex2 on RRF3+

    Scheduled Pinned Locked Moved Solved
    General Discussion
    2
    6
    295
    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.
    • Flex12undefined
      Flex12
      last edited by

      Hello everyone

      I'm struggeling with setting up my MPCNC as an 3D Printer / laser-cutter-engraver.
      I'm using independent endstops.
      So far i was reading and implementing the changes to the Axles from the following website:

      • https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_Axis_levelling_using_endstops

      I begun with the project under RRF2+ then switched to RRF3+. I noted the changes that were to be undertaken.
      I also rearranged the drives different from the declaration:

      X axle -> Drive 5 & 2 Remark: Drive 5 is on the Duex2
      Y axle -> Drive 1 & 0
      Z axle -> Drive 3
      Extruder -> Drive 4

      my current G-Code who only allows me to drive one stepper motor at the time and also dont stops at the endstop & neither performs the homing correctly.
      i would be really happy if someone with a better understanding of RRF3+ than me could give me some hints what to look for.

      config.g :

      ; Drives
      M569 P2 S0                                                    ; physical drive 1 goes backwards
      M569 P5 S1                                                    ; physical drive 5 goes forwards
      M569 P1 S1                                                    ; physical drive 0 goes backwards
      M569 P0 S0                                                    ; physical drive 2 goes forwards
      M569 P4 S1                                                    ; physical drive 3 goes forwards
      M569 P3 S1                                                    ; physical drive 4 goes forwards
      M584 X5:2 Y1:0 Z3 E4                                          ; set drive mapping
      M350 X16:16 Y16:16 Z16 E16 I1                                 ; configure microstepping with interpolation
      M92 X100.00:100.00 Y100.00:100.00 Z100.00 E420.00             ; set steps per mm
      M566 X900.00:900.00 Y900.00:900.00 Z900.00 E900.00            ; set maximum instantaneous speed changes (mm/min)
      M203 X12000.00:12000.00 Y12000.00:12000.00 Z300 E12000.00	  ; set maximum speeds (mm/min)
      M201 X500.00:500.00 Y500.00:500.00 Z20.00 E500.00      		  ; set accelerations (mm/s^2)
      M906 X800:800 Y800:800 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 X720 Y420 Z390 S0                                        ; set axis maxima
      
      ; Endstops
      M574 X2 S1 P"e0stop+e1stop"                                   ; configure active-high endstop for low end on X via pin xstop
      M574 Y1 S1 P"ystop+xstop"                                     ; configure active-high endstop for low end on Y via pin null
      
      ; Z-Probe
      M950 S0 C"duex.gp1"                                           ; create servo pin 0 for BLTouch
      M558 P9 C"zstop.in" H5 F120 T6000                             ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X0 Y0 Z2.5                                           ; set Z probe trigger value, offset and trigger height
      M557 X15:215 Y15:195 S20                                      ; define mesh grid
      

      homeall.g :

      G91                     ; relative positioning
      G1 H2 Z5 F6000          ; lift Z relative to current position
      G1 H1 X-725 Y-425 F1800 ; 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-725 Y-425 F360  ; move slowly to X and Y axis endstops once more (second pass)
      G1 H1 Z-395 F360        ; move Z down stopping at the endstop
      G90                     ; absolute positioning
      G92 Z0                  ; set Z position to axis minimum (you may want to adjust this)
      
      ; Uncomment the following lines to lift Z after probing
      ;G91                    ; relative positioning
      ;G1 Z5 F100             ; lift Z relative to current position
      ;G90                    ; absolute positioning
      
      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator @Flex12
        last edited by

        @Flex12 said in Configuration of MPCNC with Duet Wifi2 & Duex2 on RRF3+:

        M350 X16:16 Y16:16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00:100.00 Y100.00:100.00 Z100.00 E420.00 ; set steps per mm M566 X900.00:900.00 Y900.00:900.00 Z900.00 E900.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00:12000.00 Y12000.00:12000.00 Z300 E12000.00 ; set maximum speeds (mm/min) M201 X500.00:500.00 Y500.00:500.00 Z20.00 E500.00 ; set accelerations (mm/s^2) M906 X800:800 Y800:800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent

        Remove the duplicate values separated by : as those settings are defined per axis rather than per driver. The only time you must define each driver is for extruders, which are independent axis.

        This may be part of your issue.

        Please provide the results of M122 and M98 P"config.g"

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • Flex12undefined
          Flex12
          last edited by

          @Phaedrux said in Configuration of MPCNC with Duet Wifi2 & Duex2 on RRF3+:

          M98 P"config.g

          Hey Phaedrux, thaks for the support.
          Here is the current status. This is before i changed anything you mentioned.

          M98 P"config.g
          HTTP is enabled on port 80
          FTP is disabled
          TELNET is disabled
          Warning: M950 command is not supported
          Warning: M308 command is not supported
          Warning: M950 command is not supported
          Warning: M950 command is not supported
          Warning: M950 command is not supported
          Error: M563: Tool creation: bad drive number
          Error: G10: Attempt to set/report offsets and temperatures for non-existent tool: 1
          Error: G10: Attempt to set/report offsets and temperatures for non-existent tool: 1
          Tool 2 offsets: X0.00 Y0.00 Z0.00
          
          M122
          === Diagnostics ===
          RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet WiFi 1.02 or later + DueX2
          Board ID: 08DLM-996RU-N85T0-6J9FL-3SD6R-1SS3N
          Used output buffers: 3 of 24 (6 max)
          === RTOS ===
          Static ram: 25680
          Dynamic ram: 93952 of which 0 recycled
          Exception stack ram used: 164
          Never used ram: 11276
          Tasks: NETWORK(ready,796) HEAT(blocked,1236) DUEX(suspended,156) MAIN(running,4188) IDLE(ready,160)
          Owned mutexes:
          === Platform ===
          Last reset 00:00:18 ago, cause: software
          Last software reset at 2021-02-27 21:47, reason: User, spinning module GCodes, available RAM 11240 bytes (slot 2)
          Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0440f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
          Error status: 0
          Free file entries: 10
          SD card 0 detected, interface speed: 20.0MBytes/sec
          SD card longest block write time: 0.0ms, max retries 0
          MCU temperature: min 33.1, current 33.7, max 33.8
          Supply voltage: min 0.3, current 0.3, max 0.4, under voltage events: 0, over voltage events: 0, power good: no
          Driver 0: ok, SG min/max not available
          Driver 1: ok, SG min/max not available
          Driver 2: ok, SG min/max not available
          Driver 3: ok, SG min/max not available
          Driver 4: ok, SG min/max not available
          Driver 5: ok, SG min/max not available
          Driver 6: ok, SG min/max not available
          Date/time: 2021-02-27 21:47:22
          Cache data hit count 53191622
          Slowest loop: 2.06ms; fastest: 0.06ms
          I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
          === Move ===
          Hiccups: 0, FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms
          Bed compensation in use: none, comp offset 0.000
          === DDARing ===
          Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
          === Heat ===
          Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1
          === GCodes ===
          Segments left: 0
          Stack records: 1 allocated, 0 in use
          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
          serial is idle in state(s) 0
          aux is idle in state(s) 0
          daemon is idle in state(s) 0
          queue is idle in state(s) 0
          autopause is idle in state(s) 0
          Code queue is empty.
          === Network ===
          Slowest loop: 15.53ms; fastest: 0.00ms
          Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
          HTTP sessions: 1 of 8
          - WiFi -
          Network state is running
          WiFi module is connected to access point 
          Failed messages: pending 0, notready 0, noresp 0
          WiFi firmware version 1.23
          WiFi MAC address 84:0d:8e:b2:f6:52
          WiFi Vcc 3.33, reset reason Turned on by main processor
          WiFi flash size 4194304, free heap 24608
          WiFi IP address 192.168.0.101
          WiFi signal strength -36dBm, reconnections 0, sleep mode modem
          Socket states: 0 0 0 0 0 0 0 0
          
          Phaedruxundefined 1 Reply Last reply Reply Quote 0
          • Flex12undefined
            Flex12
            last edited by

            So I implemented your recomandation of deleting the additional ":" .
            Thankfully the Y-Achsle now works flawlessly.
            But there is a catch. I was not able to home the X-Achsle in the same mannor, even when i allocated the same switches to it (in the config). Thus i suspect i have a problem with the allocation of the drives.
            Next time i plan to rearrange the drives to only use some of the ports on the duet board for the axle movement and use the duex only for extrusion. This might eliminate the problem, fingers crossed.
            Thank you agian. Seeing the axle homing correctly was already eleviating my motivation 🙌

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

              @Flex12 said in Configuration of MPCNC with Duet Wifi2 & Duex2 on RRF3+:

              RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03

              Your firmware is 2.03 but your config is using syntax for RRF3. You should update your firmware.

              If you still have access to DWC. Upload these 3 zip files, one at a time in the system tab. Don't extract them. Reboot after each. Use M115 to verify the firmware has been applied.
              https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip
              https://github.com/Duet3D/RepRapFirmware/releases/download/3.0/Duet2and3Firmware-3.0.zip
              https://github.com/Duet3D/RepRapFirmware/releases/download/3.2.2/Duet2and3Firmware-3.2.2.zip
              That will get your firmware and DWC up to date.

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • Flex12undefined
                Flex12
                last edited by

                Finaly i got the time to continue.

                I updatet the Firmware and made some small changes to the syntax (endstop flipping)

                Now everything regarding the axles works fine.

                Thanks again for helping me out. Now im confident i'll finish the Project soon.
                🙌

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