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

    Duet maestro Driver Expansion underpowered?

    Scheduled Pinned Locked Moved
    Accessories and Add-ons
    4
    21
    729
    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.
    • beejundefined
      beej @Phaedrux
      last edited by Phaedrux

      @phaedrux

      ; CONFIGURATION FILE for Duet Maestro
      
      ; Executed by the firmware on start-up
      
      ; Headers within parenthesis are headings in Duet3D documentation=https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_Cartesian_printer
      ; Visit https://reprap.org/wiki/G-code for an explanation of G-code commands
      
      ; --- SECTION: GENERAL PREFERENCES ( ) ---
      
      M564 S1 H1 ; Enables Homing Requirement For Motor Activation and set axes limits
      
      ; --- SECTION: Z-PROBE & MESH COMPENSATION ---
      
      M98 Pmachine_zprobe.g ; configure the z probe
      
      M98 Pmachine_bedmesh.g ; configure the bed mesh
      
      ;G29 S1 ; Load heightmap after power cycle
      
      ; --- SECTION: DRIVES (MOVEMENT SECTION) & ENDSTOPS ---
      M98 Pmachine_stepper_movement.g ; configures the motion steppers
      M98 Pmachine_stepper_extruder.g ; configures the extruder steppers
      M98 Pmachine_endstoptypes.g     ; set endstop types
      
      G21 ; Work in millimetres
      G90 ; Set to absolute coordinates...
      M84 S1 ; Set idle timeout
      
      ; --- SECTION: HEATERS, BED & THERMISTOR ---
      M98 Pmachine_heater_bed.g
      M98 Pmachine_heater_extrusion.g
      
      ; --- SECTION: FANS ( ) ---
      M98 Pmachine_fans.g
      
      ; --- SECTION: TOOLS ( ) --- 
      
      ; Comment: Remember! H0 is the heated bed!
      ; Comment: D0 is the first driver after movement (X, Y and Z) drives, which is left extruder
      ; D1 is right extruder
      
      M98 Pmachine_tools.g ; Define the tools
      
      T0 ; Automatic tool select
      
      ; --- SECTION: NETWORKS (PROLOGUE & COMMUNCATIONS SECTION) ---
      M98 Pmachine_access.g ; set machine name and IP
      M586 P0 S1 ; Enable HTTP
      M586 P1 S0 ; Disable FTP
      M586 P2 S0 ; Disable Telnet
      
      ; --- SECTION: MISCELLANEOUS --- 
      
      ;M572 D0:1 S0.5 ; Extruder Pressure Advance 
      
      ; Set auto resume
      M911 S21.0 R23.0 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"
      
      M98 Pmachine_zendstop.g
      M564 H1 S1
      
      
      
      
      
      
      
      
      
      
      ; machine_stepper_movement.g
      ; December 16, 2019
      ; This file is used to configure all the values for the movement steppers, like direction, steps / mm and power.
      
      ; ---------- SECTION ----------
      ; Set the mode and XYZ scaling.  X and Z are usually 1.0, Y is calculated based of your calibration method
      
      M584 X6 Y5 Z0:1:2:4 E3
      M667 S1 X1.0 Y1.0 Z1.0  ; Enable coreXY mode, set Y scale factor
      M671 X-5:340:340:-5 Y-5:-5:320:320 P2
      
      ; ---------- SECTION ----------
      ; Configure the direction each stepper turns.  For CoreXY, each stepper moves the carriage diagonally.
      
      M569 P0 S1 D3 V0 ; Drive 0, CoreXY_1
      M569 P1 S1 D3 V0 ; Drive 1, CoreXY_2
      M569 P2 S1 D3 V0 ; Drive 2, Z Motor ;back right
      M569 P2 S1 D3 V0 ; Drive 4, Z Motor ;back left
      M569 P2 S1 D3 V0 ; Drive 5, Z Motor ;front left
      M569 P2 S1 D3 V0 ; Drive 6, Z Motor ;front right
      
      ; ---------- SECTION ----------
      ; These values define how many steps make 1mm of movement.
      ; Please note, only change the calibration if the measurements are always
      ; off by the same amount, no matter what the material, layer height or print speed.
      
      ; Here is a link on how to properly calibrate your step values.
      ; http://print.theporto.com/posts/how-to-calibrate-your-3d-printer-for-accurate-printing/
      
      M92 X80.22 Y80.22 Z399.19 ; Set axis steps/mm.
                                  ; Please note that on a CoreXY system, the X and Y value MUST be the same.
                                  ; Change the Y scaling above if you're not getting identical X and Y distance
      
      M350 X32 Y32 Z32            ; Default machine steps  This line added here as the Duet firmware will then recalcuate the steps/mm for the new ;M350 below
      
      M350 X16 Y16 Z16 I1         ; Setting microstepping with interpolation, this will recalculate the step sizes above
      
      
      ; ---------- SECTION ----------
      ; This section sets the stepper motor currents.
      ; This is an advanced feature and should only be changed if you REALLY know what you're doing!
      ; Increasing stepper motor currents beyond their limit can result in damage to them!
      ; This only sets the currents for the movement steppers, change the current for the extruder steppers in machine_stepper_extruder.g
      
      M906 x800 Y800 Z500 I60; Set motor currents (mA) and idle current percentage
      
      	 
      ; ---------- SECTION ----------
      ; Thisa section sets the different speed limits of the X Y and Z steppers.4
      ; A higher acceleration value makes for faster print speeds, but can also introduce ghosting and other artifac
      ; The maximum linear speed should only be changed if hardware has changed
      ; The maximum instantaneous speed change determines how slow the print head has to move before it can make
      ; abrupt direction changes.
      ; These are advanced feature values and should only be changed for good reason and if you know how they impact prints.
      
      M203 X650 Y650 Z1500 ; Set maximum linear speeds (mm/min)
      M201 X2000 Y2000 Z75   ; Set accelerations (mm/s^2) ; previous 1500
      M566 X200  Y200  Z50   ; Set maximum instantaneous/jerk speed changes (mm/min)
      
      ; ---------- SECTION ----------
      ; Since this is called in other places as well, the information is in its own file.
      
      M98 Pmachine_axisdimension.g ; Set Axes Limits
      
      ; machine_stepper_movement.g
      ; December 16, 2019
      ; This file is used to configure all the values for the movement steppers, like direction, steps / mm and power.
      
      ; ---------- SECTION ----------
      ; Set the mode and XYZ scaling.  X and Z are usually 1.0, Y is calculated based of your calibration method
      
      M584 X6 Y5 Z0:1:2:4 E3
      M667 S1 X1.0 Y1.0 Z1.0  ; Enable coreXY mode, set Y scale factor
      M671 X-5:340:340:-5 Y-5:-5:320:320 P2
      
      ; ---------- SECTION ----------
      ; Configure the direction each stepper turns.  For CoreXY, each stepper moves the carriage diagonally.
      
      M569 P0 S1 D3 V0 ; Drive 0, CoreXY_1
      M569 P1 S1 D3 V0 ; Drive 1, CoreXY_2
      M569 P2 S1 D3 V0 ; Drive 2, Z Motor ;back right
      M569 P2 S1 D3 V0 ; Drive 4, Z Motor ;back left
      M569 P2 S1 D3 V0 ; Drive 5, Z Motor ;front left
      M569 P2 S1 D3 V0 ; Drive 6, Z Motor ;front right
      
      ; ---------- SECTION ----------
      ; These values define how many steps make 1mm of movement.
      ; Please note, only change the calibration if the measurements are always
      ; off by the same amount, no matter what the material, layer height or print speed.
      
      ; Here is a link on how to properly calibrate your step values.
      ; http://print.theporto.com/posts/how-to-calibrate-your-3d-printer-for-accurate-printing/
      
      M92 X80.22 Y80.22 Z399.19 ; Set axis steps/mm.
                                  ; Please note that on a CoreXY system, the X and Y value MUST be the same.
                                  ; Change the Y scaling above if you're not getting identical X and Y distance
      
      M350 X32 Y32 Z32            ; Default machine steps  This line added here as the Duet firmware will then recalcuate the steps/mm for the new ;M350 below
      
      M350 X16 Y16 Z16 I1         ; Setting microstepping with interpolation, this will recalculate the step sizes above
      
      
      ; ---------- SECTION ----------
      ; This section sets the stepper motor currents.
      ; This is an advanced feature and should only be changed if you REALLY know what you're doing!
      ; Increasing stepper motor currents beyond their limit can result in damage to them!
      ; This only sets the currents for the movement steppers, change the current for the extruder steppers in machine_stepper_extruder.g
      
      M906 x800 Y800 Z500 I60; Set motor currents (mA) and idle current percentage
      
      	 
      ; ---------- SECTION ----------
      ; Thisa section sets the different speed limits of the X Y and Z steppers.4
      ; A higher acceleration value makes for faster print speeds, but can also introduce ghosting and other artifac
      ; The maximum linear speed should only be changed if hardware has changed
      ; The maximum instantaneous speed change determines how slow the print head has to move before it can make
      ; abrupt direction changes.
      ; These are advanced feature values and should only be changed for good reason and if you know how they impact prints.
      
      M203 X650 Y650 Z1500 ; Set maximum linear speeds (mm/min)
      M201 X2000 Y2000 Z75   ; Set accelerations (mm/s^2) ; previous 1500
      M566 X200  Y200  Z50   ; Set maximum instantaneous/jerk speed changes (mm/min)
      
      ; ---------- SECTION ----------
      ; Since this is called in other places as well, the information is in its own file.
      
      M98 Pmachine_axisdimension.g ; Set Axes Limits
      
      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by Phaedrux

        Did you make this config file?

        It's difficult to follow with the nest macros.

        To verify what the motors are actually configured as can you send these commands by themselves and report back with what they return?

        M584
        M906
        M305
        M92

        Your firmware version is also quite ancient.

        I think maybe at this point it would be best to simply update the firmware and generate a new fresh config file set using the online tool. It will be far easier to help support you.

        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.3/Duet2and3Firmware-3.3.zip
        That will get your firmware and DWC up to date.

        You can see the change logs here:
        https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x

        For your config, might be a good idea to run through the configurator tool and generate a fresh set for RRF3.
        https://configtool.reprapfirmware.org/Start

        Backup your existing config files in the sys folder in case you want to switch back to RRF3. IT’s easy to switch back and forth, just upload the zip file for the version you want and then upload your config files.

        These documents will come in handy during the conversion.
        https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview
        https://duet3d.dozuki.com/Wiki/Gcode

        Z-Bot CoreXY Build | Thingiverse Profile

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

          PS, you can post your configs and gcode within a code block to make them easier to read. Use the </> button in the post window and place your text where it says UNDEFINED

          Z-Bot CoreXY Build | Thingiverse Profile

          beejundefined 1 Reply Last reply Reply Quote 0
          • beejundefined
            beej @Phaedrux
            last edited by

            @phaedrux
            The config format was made by community members that own the M3D Promega.
            </>
            M584
            Driver assignments: X6 Y5 Z0:1:2:4 E3, 3 axes visible

            M906
            Motor current (mA) - X:650, Y:650, Z:500, E:0, idle factor 60%

            M92
            Steps/mm: X: 80.220, Y: 80.220, Z: 399.190, E: 3120.000

            M305

            1 Reply Last reply Reply Quote 0
            • beejundefined
              beej
              last edited by

              ; Configuration file for Duet Maestro (firmware version 3)
              ; executed by the firmware on start-up
              ;
              ; generated by RepRapFirmware Configuration Tool v3.3.0 on Fri Aug 20 2021 16:20:05 GMT-0600 (Mountain Daylight Time)
              
              ; General preferences
              G90                                                ; send absolute coordinates...
              M83                                                ; ...but relative extruder moves
              M550 P"Promega"                                    ; set printer name
              M669 K1                                            ; select CoreXY mode
              
              ; Network
              M552 P192.168.1.61 S1                              ; enable network and set IP address
              M553 P255.255.255.0                                ; set netmask
              M554 P192.168.1.1                                  ; set gateway
              M586 P0 S1                                         ; enable HTTP
              M586 P1 S0                                         ; disable FTP
              M586 P2 S0                                         ; disable Telnet
              
              ; Drives
              M569 P0 S1                                         ; physical drive 0 goes forwards
              M569 P1 S1                                         ; physical drive 1 goes forwards
              M569 P2 S1                                         ; physical drive 2 goes forwards
              M569 P4 S1                                         ; physical drive 4 goes forwards
              M569 P5 S1
              M569 P6 S1
              M584 X6 Y5 Z0:1:2:4 E3                                             ; set drive mapping
              M350 E128 I0                                       ; configure microstepping without interpolation
              M350 X16 Y16 Z16 I1                                ; configure microstepping with interpolation
              M92 X80.22 Y80.22 Z399.20 E390.00                  ; 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 Z180.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 X335 Y317 Z362 S0                             ; set axis maxima
              
              ; Endstops
              M574 X2 S1 P"xstop"                                ; configure active-high endstop for high end on X via pin xstop
              M574 Y1 S1 P"ystop"                                ; configure active-high endstop for low end on Y via pin ystop
              M574 Z2 S1 P"zstop"                                ; configure active-high endstop for high end on Z via pin zstop
              
              ; Z-Probe
              M558 P0 H10 F120 T6000                             ; disable Z probe but set dive height, probe speed and travel speed
              M557 X15:215 Y15:195 S20                           ; define mesh grid
              
              ; Heaters
              M308 S0 P"bedtemp" Y"thermistor" T100000 B4138     ; configure sensor 0 as thermistor on pin bedtemp
              M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
              M307 H0 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"e1temp" Y"thermistor" T100000 B4138      ; configure sensor 1 as thermistor on pin e1temp
              M950 H1 C"e1heat" T1                               ; create nozzle heater output on e1heat and map it to sensor 1
              M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
              M143 H1 S280                                       ; set temperature limit for heater 1 to 280C
              
              ; Fans
              M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
              M106 P0 S0 H-1                                     ; set fan 0 value. Thermostatic control is turned off
              M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
              M106 P1 S1 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
              
              ; Tools
              M563 P0 D0 H1 F0                                   ; define tool 0
              G10 P0 X0 Y0 Z0                                    ; set tool 0 axis offsets
              G10 P0 R0 S0                                       ; set initial tool 0 active and standby temperatures to 0C
              
              ; Custom settings are not defined
              
              ; Miscellaneous
              M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
              

              I think this is working better.
              I'm having problems with the homing for this new config.
              It mostly only moves the z axes when I home x and y, but they move correctly when manually jogged.

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

                @beej said in Duet maestro Driver Expansion underpowered?:

                I'm having problems with the homing for this new config.
                It mostly only moves the z axes when I home x and y, but they move correctly when manually jogged.

                Can you post your previous endstop configuration? You may need to invert the endstop pin. It sounds like it thinks the endstop is triggered already at the start of homing.

                Z-Bot CoreXY Build | Thingiverse Profile

                beejundefined 1 Reply Last reply Reply Quote 0
                • o_lampeundefined
                  o_lampe @beej
                  last edited by

                  @beej when I installed it and configured it the first time I had some odd issues too. But after a cold start, the steppers behaved normal. I guess it's a SPI setup thing running after a reset.

                  1 Reply Last reply Reply Quote 0
                  • beejundefined
                    beej @Phaedrux
                    last edited by

                    @phaedrux
                    Here's the old

                    (In machine_endstoptypes files)
                    M574 X2 Y2 Z2 S0 ; Set xy end-stops types (S0 is active low, applied to XY)
                    
                    (homex file)
                    
                    ; homex.g
                    ; called to home the X axis
                    ; updated September 4, 2018
                    
                    ; same as homey.g because of coreXY
                    ; Front left corner is (0,0)
                    
                    ; ============= PRE-HOMING =====================
                    
                    M913 X60 ; drop X motor currents to 60%
                    M913 Y60 ; drop Y motor currents to 60%
                    
                    ; Ignore Machine boundaries
                    M564 H0 S0
                    
                    ; Turn off bed leveling during homing
                    G29 S2 ; Does the same as M561!
                    
                    ; Switch to Origin Tool
                    T0
                    
                    ; Relative positioning
                    G91
                    
                    ; Provide Z height clearance
                    G1 Z10 F750 S1
                    
                    ; ================== HOME Y ============================
                    
                    ; Rapid Y until limit switch triggers
                    G0 Y450 F1500 S1
                    
                    ; Back off to release limit switch
                    G0 Y-6 F1500
                    
                    ; Slow advance to trigger limit switch
                    G0 Y10 F120 S1
                    
                    ; Set this location as Y = 341mm
                    G92 Y341
                    
                    ; Move the gantry slightly away from back of printer, to allow travel past the bolt mounting the gantry bracket
                    G0 Y-2 F1200
                    
                    ; ============= HOME X ====================
                    
                    ; Rapid X until limit switch triggers
                    G0 X-450 F1500 S1
                    
                    ; Back off to release limit switch
                    G0 X6 F1500
                    
                    ; Slow advance to trigger limit switch
                    G0 X-10 F120 S1
                    
                    ; Set this location as X = 0mm
                    G92 X0
                    
                    ; Move away from the limit switch, to prevent damage to it upon next move
                    G0 X5 F1500
                    
                    ; ============ Post-Homing ==============
                    
                    ; Revert to absolute coordinates
                    G90
                    
                    ; Re-enable mesh leveling
                    G29 S1
                    
                    M913 X100					; X motor currents back to 100%
                    M913 Y100					; Y motor currents back to 100%
                    
                    M98 Pmachine_axisdimension.g ; Set Axes Limits
                    
                    ; Stop movement across limits, enable boundaries, homing requirement
                    M564 H1 S1
                    
                    
                    
                    beejundefined 1 Reply Last reply Reply Quote 0
                    • beejundefined
                      beej @beej
                      last edited by

                      @beej
                      Here's the new homex file and homez file

                      ; homex.g
                      ; called to home the X axis
                      ;
                      ; generated by RepRapFirmware Configuration Tool v3.3.0 on Fri Aug 20 2021 16:20:05 GMT-0600 (Mountain Daylight Time)
                      
                      ;Home y axis
                      G91               ; relative positioning
                      G1 H2 Z10 F6000   ; lift Z relative to current position
                      G1 H1 Y-322 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                      G1 Y5 F6000       ; go back a few mm
                      G1 H1 Y-322 F360  ; move slowly to Y axis endstop once more (second pass)
                      
                      ;home x axis
                      G1 H1 X340 F1800 ; move quickly to X axis endstop and stop there (first pass)
                      G1 X-5 F6000     ; go back a few mm
                      G1 H1 X340 F360  ; move slowly to X axis endstop once more (second pass)
                      ;G1 H2 Z-10 F6000 ; lower Z again
                      G90              ; absolute positioning
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        M574 X2 Y2 Z2 S0 ; Set xy end-stops types (S0 is active low, applied to XY)

                        S0 means active low, so you will indeed need to invert the pin signal.

                        So your M547 commands need a ! in front of the pin name, like this:

                        ; Endstops
                        M574 X2 S1 P"!xstop"                                ; configure active-high endstop for high end on X via pin xstop
                        M574 Y1 S1 P"!ystop"                                ; configure active-high endstop for low end on Y via pin ystop
                        M574 Z2 S1 P"!zstop"                                ; configure active-high endstop for high end on Z via pin zstop
                        

                        Z-Bot CoreXY Build | Thingiverse Profile

                        beejundefined 1 Reply Last reply Reply Quote 0
                        • beejundefined
                          beej @Phaedrux
                          last edited by

                          @phaedrux
                          awesome that worked It's homing and everything is moving in the right directions.
                          The steppers are sounding a little grinding, i'm not sure if that's quite the right word.
                          But they aren't running as smoothly as they have been, would that have to do with the interpolation, or current...?

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

                            M569 P0 S1 D3 V0 ; Drive 0, CoreXY_1
                            M569 P1 S1 D3 V0 ; Drive 1, CoreXY_2
                            M569 P2 S1 D3 V0 ; Drive 2, Z Motor ;back right
                            M569 P2 S1 D3 V0 ; Drive 4, Z Motor ;back left
                            M569 P2 S1 D3 V0 ; Drive 5, Z Motor ;front left
                            M569 P2 S1 D3 V0 ; Drive 6, Z Motor ;front right
                            

                            D3 V0 means you were running them in stealthchop mode before the entire time I believe. That could explain the difference in sound.

                            Z-Bot CoreXY Build | Thingiverse Profile

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

                              @beej said in Duet maestro Driver Expansion underpowered?:

                              awesome that worked It's homing and everything is moving in the right directions.
                              The steppers are sounding a little grinding, i'm not sure if that's quite the right word.
                              But they aren't running as smoothly as they have been, would that have to do with the interpolation, or current...?

                              There is a design issue on the 2-driver expansion board (which was not designed by Duet3D) which sometimes causes the P6 driver to run a little rough, but does not affect the P5 driver. So if it's just the motor attached to P6 that sounds rough, this could be the reason. See https://forum.duet3d.com/topic/16124/duet-maesto-stepper-driver-expansion-schematic/24?_=1629705413513 and the following posts for the remedy.

                              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

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