Duet mini 5+ Ender 5 plus Z double stepper drivers not working
-
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).
-
@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 centremove 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
-
@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.
-
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.
-
@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.