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

    Duet mini 5+ Ender 5 plus Z double stepper drivers not working

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    5
    186
    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.
    • Jeronimo88undefined
      Jeronimo88
      last edited by Jeronimo88

      Hello,

      Im trying to convert from 2 motors 1 stepper to 2 motors 2 steppers for the Z axes.

      The 2 stepper motors where spliced from 2 to 1 cable to stepper (2)
      Ive bought 2 cables to go from each motor to there own stepper (2 and 4)

      Ive configured in the config file ;

      ; Drives
      M569 P0.0 S0                                          ; physical drive 0.0 goes backwards
      M569 P0.1 S0                                          ; physical drive 0.1 goes backwards
      M569 P0.2 S0                                          ; physical drive 0.2 goes backwards (Z Axis Left)
      M569 P0.3 S0                                          ; physical drive 0.3 goes backwards
      M569 P0.4 S0                                          ; physical drive 0.4 goes backwards (Z Axis Right)
      M584 X0.0 Y0.1 Z0.2:Z0.4 E0.3                         ; set drive mapping
      M350 X16 Y16 Z16:Z16 E16 I1		                      ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z800.00:800.00 E394.26              ; set steps per mm
      M566 X900.00 Y900.00 Z60.00:60.00 E120.00	  	      ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00:180:00 E1200.00	      ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00:20.00 E500.00		   	  ; set accelerations (mm/s^2)
      M906 X800 Y800 Z800:800 E800 I30 	                  ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                               ; Set idle timeout
      

      But only 1 motor works when homing, what i tried;

      • Different settings in config,
      • Measserued resistance with duet off, cable unplugged from stepper driver and then on the fases i get +/- 6.6 ohm/fase. On both cables/motors/.
      • WIth out power i can easely move the motors left and right/up and down.
      • When i change the cable on the stepper, the other motor runs. But everytime only 1..
        *m122 command
      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 Mini 5+ version 3.5.0-beta.4 (2023-06-08 23:40:14) running on Duet 3 Mini5plus Ethernet (standalone mode)
      Board ID: 5QZRJ-6F6M2-G65J0-409FD-3Q81Z-72HAQ
      Used output buffers: 9 of 40 (24 max)
      Error in macro line 26 while starting up: in file macro line 26 column 21: M584: expected number after ':'
      === RTOS ===
      Static ram: 102996
      Dynamic ram: 116808 of which 216 recycled
      Never used RAM 19180, free system stack 196 words
      Tasks: NETWORK(1,ready,26.2%,164) ETHERNET(5,nWait,0.1%,569) HEAT(3,nWait,0.0%,327) Move(4,nWait,0.0%,358) CanReceiv(6,nWait,0.0%,939) CanSender(5,nWait,0.0%,337) CanClock(7,delaying,0.0%,342) TMC(4,nWait,0.6%,108) MAIN(1,running,72.2%,662) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.8%,266), total 100.0%
      Owned mutexes:
      === Platform ===
      Last reset 00:29:46 ago, cause: software
      Last software reset at 2024-01-05 12:33, reason: User, Gcodes spinning, available RAM 19108, slot 2
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      Aux0 errors 0,0,0
      MCU revision 0, ADC conversions started 1786875, completed 1786875, timed out 0, errs 0
      MCU temperature: min 32.2, current 35.9, max 36.1
      Supply voltage: min 24.1, current 24.2, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/76/0, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 24, reads 28485, writes 10, timeouts 0, DMA errors 0, CC errors 0
      Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 24, reads 28485, writes 10, timeouts 0, DMA errors 0, CC errors 0
      Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 24, reads 28485, writes 10, timeouts 0, DMA errors 0, CC errors 0
      Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 21, reads 28484, writes 10, timeouts 0, DMA errors 0, CC errors 0
      Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 21, reads 28485, writes 10, timeouts 0, DMA errors 0, CC errors 0
      Driver 5: not present
      Driver 6: not present
      Date/time: 2024-01-05 13:03:22
      Cache data hit count 3029834385
      Slowest loop: 23.15ms; fastest: 0.16ms
      === Storage ===
      Free file entries: 20
      SD card 0 detected, interface speed: 22.5MBytes/sec
      SD card longest read time 4.0ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, ebfmin 0.00, ebfmax 0.00
      no step interrupt scheduled
      === DDARing 0 ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === DDARing 1 ===
      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, chamber heaters -1 -1 -1 -1, ordering errs 0
      === GCodes ===
      Movement locks held by null, null
      HTTP is idle 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
      File2 is idle in state(s) 0
      Queue2 is idle in state(s) 0
      Q0 segments left 0, axes/extruders owned 0x0000000
      Code queue 0 is empty
      Q1 segments left 0, axes/extruders owned 0x0000000
      Code queue 1 is empty
      === CAN ===
      Messages queued 16081, received 0, lost 0, boc 0
      Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 18 (min 18), ts 8935/0/0
      Tx timeouts 0,0,8934,0,0,7145 last cancelled message type 30 dest 127
      === Network ===
      Slowest loop: 20.37ms; fastest: 0.03ms
      Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
      HTTP sessions: 1 of 8
      = Ethernet =
      Interface state: active
      Error counts: 0 0 0 0 0 0
      Socket states: 5 2 2 2 2 0 0 0
      

      I think stepper 4 isnt working? Or isn't configured correctly? Am i missing something like a jumper or a config file setting? (ill upload my configs)

      And how can i test if my 4th stepper driver is working yes or no? (ive think ive tested/proved that both cables and motors are working).

      homez.g homeall.g config.g bed.g

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

        @Jeronimo88 said in Duet mini 5+ Ender 5 plus Z double stepper drivers not working:

        M584 X0.0 Y0.1 Z0.2:Z0.4 E0.3

        Change the above to:

        M584 X0.0 Y0.1 Z0.2:0.4 E0.3
        

        ie without the second 'Z'.

        For all of these:

        M350 X16 Y16 Z16:Z16 E16 I1 ; configure microstepping with interpolation
        M92 X80.00 Y80.00 Z800.00:800.00 E394.26 ; set steps per mm
        M566 X900.00 Y900.00 Z60.00:60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
        M203 X6000.00 Y6000.00 Z180.00:180:00 E1200.00 ; set maximum speeds (mm/min)
        M201 X500.00 Y500.00 Z20.00:20.00 E500.00 ; set accelerations (mm/s^2)
        M906 X800 Y800 Z800:800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent

        remove the second Z value; RepRapFirmware does not support individual motor settings where an axis has multiple motors connected to different stepper drivers. The first parameter specified will be used for all motors on the axis. You should use identical motors on any axis that has more than one motor to avoid unexpected behaviour.

        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

        Jeronimo88undefined 1 Reply Last reply Reply Quote 0
        • Jeronimo88undefined
          Jeronimo88 @droftarts
          last edited by Jeronimo88

          @droftarts Thx, that was it. Don't know how i could mis it, ive re-read it 20 times..

          And will we are at it, my bed mesh is:

          ; Axis Limits
          M208 X0 Y0 Z0 S1                                      ; set axis minima
          M208 X350 Y335 Z400 S0                                ; set axis maxima
          

          Does it make sense then that i use the coordinates grater then my bed for the axes? They are around there, but on the first run it tried to run out to more then x350 (i assume to the righter coordinate of the z screw)

          ; Bed adjustment screw locations
          M671 X-35:385 Y164:164 S0.5           				  ;Z pivot points are at Left(-35,164) and Right(385,164)
          

          So could you perhaps also check my bed/homey-all configs? because i think ive have something wrong there also.

          First i get this:

          5-1-2024 16:21:38	Error: Some computed corrections exceed configured limit of 0.50mm: 0.173 -1.062
          5-1-2024 16:21:27	Error: Some computed corrections exceed configured limit of 0.50mm: 0.173 -1.063
          

          and then i changed in the config from 0.5 to 2mm and even untill 4 but then its getting this

          5-1-2024 16:36:20	G28
          Error: Some computed corrections exceed configured limit of 4.00mm: -5.657 -5.584
          

          Thx for helping a amateur out.

          FYI, bed was manually leveled before and was printer first layers good.

          Jeronimo88undefined 1 Reply Last reply Reply Quote 0
          • Jeronimo88undefined
            Jeronimo88 @Jeronimo88
            last edited by

            Ive fixed my problems, i also took in account that my head has a offset for x and y so put that also in.

            So in config:

            ; Bed adjustment screw locations
            M671 X-33:383 Y166:166 S5            				  ;Z pivot points are at Left(-33,166) and Right(383,166)
            

            And in bed.g

             bed.g
            ; called to perform automatic bed compensation via G32
            ;
            ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Aug 08 2023 14:15:35 GMT+0200 (Central European Summer Time)
            M561 ; clear any bed transform
            
            G28	 ; Home
            
            while true
                G30 P0 X25 Y166 Z-99999 ; probe near a leadscrew, half way along Y axis
                G30 P1 X315 Y166 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
            	if abs(move.calibration.initial.deviation) < 0.01 || iterations > 5
            break
                
            	
            ; set the Z=0 datum which may have changed due to bed leveling
             
            ; step 1 - move probe to center of bed
             
            G1 X{175-sensors.probes[0].offsets[0]}, Y{166-sensors.probes[0].offsets[1]}, F6000
             
            ; step 2 - do single probe which sets Z to trigger height of Z probe
             
            G30
            

            But i do have now the "problem" that when i hit te macro of true bed leveling in de online interface it keeps on running and never settles with values. ive have it kept running for 30 min.

            16-1-2024 10:02:42	Leadscrew adjustments made: -0.000 0.003, points used 2, (mean, deviation) before (0.001, 0.001) after (0.000, 0.000)
            16-1-2024 10:02:32	Leadscrew adjustments made: 0.003 -0.000, points used 2, (mean, deviation) before (0.001, 0.001) after (0.000, 0.000)
            16-1-2024 10:02:21	Leadscrew adjustments made: -0.003 -0.001, points used 2, (mean, deviation) before (-0.002, 0.001) after (-0.000, 0.000)
            16-1-2024 10:02:11	Leadscrew adjustments made: 0.000 0.000, points used 2, (mean, deviation) before (0.000, 0.000) after (-0.000, 0.000)
            16-1-2024 10:02:00	Leadscrew adjustments made: 0.001 0.001, points used 2, (mean, deviation) before (0.001, 0.000) after (0.000, 0.000)
            16-1-2024 10:01:50	Leadscrew adjustments made: 0.004 -0.003, points used 2, (mean, deviation) before (0.000, 0.003) after (-0.000, 0.000)
            16-1-2024 10:01:39	Leadscrew adjustments made: -0.004 -0.002, points used 2, (mean, deviation) before (-0.003, 0.001) after (-0.000, 0.000)
            16-1-2024 10:01:29	Leadscrew adjustments made: 0.002 -0.000, points used 2, (mean, deviation) before (0.001, 0.001) after (-0.000, 0.000)
            16-1-2024 10:01:18	Leadscrew adjustments made: 0.004 0.004, points used 2, (mean, deviation) before (0.004, 0.000) after (0.000, 0.000)
            16-1-2024 10:01:08	Leadscrew adjustments made: -0.001 -0.001, points used 2, (mean, deviation) before (-0.001, 0.000) after (-0.000, 0.000)
            16-1-2024 10:00:57	Leadscrew adjustments made: -0.001 -0.003, points used 2, (mean, deviation) before (-0.002, 0.001) after (0.000, 0.000)
            16-1-2024 10:00:47	Leadscrew adjustments made: -0.002 0.002, points used 2, (mean, deviation) before (0.000, 0.001) after (0.000, 0.000)
            16-1-2024 10:00:37	Leadscrew adjustments made: -0.003 0.010, points used 2, (mean, deviation) before (0.003, 0.004) after (0.000, 0.000)
            16-1-2024 10:00:26	Leadscrew adjustments made: 0.007 -0.007, points used 2, (mean, deviation) before (0.000, 0.005) after (-0.000, 0.000)
            16-1-2024 10:00:16	Leadscrew adjustments made: 0.002 -0.000, points used 2, (mean, deviation) before (0.001, 0.001) after (-0.000, 0.000)
            16-1-2024 10:00:05	Leadscrew adjustments made: 0.002 -0.003, points used 2, (mean, deviation) before (-0.000, 0.002) after (-0.000, 0.000)
            16-1-2024 09:59:55	Leadscrew adjustments made: -0.003 0.002, points used 2, (mean, deviation) before (-0.000, 0.002) after (0.000, 0.000)
            16-1-2024 09:59:44	Leadscrew adjustments made: 0.055 0.054, points used 2, (mean, deviation) before (0.055, 0.001) after (0.000, 0.000)
            16-1-2024 09:59:28	G32
            Leadscrew adjustments made: -4.730 -4.739, points used 2, (mean, deviation) before (-4.734, 0.003) after (-0.000, 0.000)
            

            Any pointers for that or should i open a new topic? There isn't much interaction here unfortunately.

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

              @Jeronimo88 said in Duet mini 5+ Ender 5 plus Z double stepper drivers not working:
              In the future it would be better to start a new thread for a new problem....

              In your bed.g the break statement is not being seen as part of the if statement (If what you have posted actually matches your file). It should look like this....

              ; called to perform automatic bed compensation via G32
              ;
              ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Aug 08 2023 14:15:35 GMT+0200 (Central European Summer Time)
              M561 ; clear any bed transform
               
              G28	 ; Home
               
              while true
                  G30 P0 X25 Y166 Z-99999 ; probe near a leadscrew, half way along Y axis
                  G30 P1 X315 Y166 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
                  if abs(move.calibration.initial.deviation) < 0.01 || iterations > 5
                      break
              
              ; set the Z=0 datum which may have changed due to bed leveling
               
              ; step 1 - move probe to center of bed
               
              G1 X{175-sensors.probes[0].offsets[0]}, Y{166-sensors.probes[0].offsets[1]}, F6000
               
              ; step 2 - do single probe which sets Z to trigger height of Z probe
               
              G30
              

              Your file also has a mixture of tabs and spaces used to indent the code, this is probably not a good idea as it causes lots of confusion.

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