Only stepper driver 0.0 and 0.1 seem to work
-
No matter what I try I can only seem to get stepper driver 0.0 and 0.1 to work on my 6hbc.
In my setup I use two drivers for an X and Y in a CoreXY setup, one for a Z axis and two drivers as extruders. I can get all of these to work just as long as I set them to driver 0.0 and 0.1.
For example:
With these overal settings:M569 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.1 S1 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards
And
M584 X0.2 Y0.3 Z0.4 E0.0:0.1
The steppers attached to driver 0 and 1 work as expected when the extruder is controlled but I can't get any other to move.
M584 X0.0 Y0.1 Z0.2 E0.3:0.4
With these settings the steppers attached to drive 0 and 1 work as expected when movements are made but I can't get any other to move.
This had let me to believe my issue is not in my tool setup or other acceleration etc. settings. I've checked with M122 to see if the drivers are broken and the following comes back about the steppers:
Driver 0: position 1600, ok, reads 43053, writes 19 timeouts 0, SG min/max 0/0 Driver 1: position 1600, ok, reads 43054, writes 19 timeouts 0, SG min/max 0/0 Driver 2: position 1600, ok, reads 43054, writes 19 timeouts 0, SG min/max 0/0 Driver 3: position 0, ok, reads 43054, writes 19 timeouts 0, SG min/max 0/9 Driver 4: position 0, ok, reads 43054, writes 19 timeouts 0, SG min/max 0/9 Driver 5: position 0, ok, reads 43062, writes 11 timeouts 0, SG min/max 0/9
Below is my complete config file attached:
config (1).g
This is the full m122 respone:
m122.gI'm running 24v in this setup and all stepper als nema 23. I'm running no SBC or panelDue and use only the web interface.
I've updated two days ago to the most recent stable firmware and am on:
version 3.4.5I've been stuck on this for a quite a few hours yesterday and a fresh start today does not seem to make a difference either. Any help would be greatly appreciated.
-
@GillesDB your config.g for reference:
; Configuration file for Duet WiFi (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.15 on Mon Mar 13 2023 14:55:08 GMT+0100 (Central European Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"testglazer" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.1 S1 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M584 X0.2 Y0.3 Z0.4 E0.0:0.1 ; set drive mapping M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z80.00 E80.00:80.00 ; set steps per mm M566 X4500.00 Y4500.00 Z180.00 E4500.00:4500.00 ; set maximum instantaneous speed changes (mm/min) M203 X24000.00 Y24000.00 Z24000.00 E24000.00:24000.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z1000.00 E1000.00:1000.00 ; set accelerations (mm/s^2) M906 X3000 Y3000 Z3000 E3000:3000 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 X800 Y1100 Z1000 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop M574 Y1 S1 P"!io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop ; Z-Probe ;M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed ;M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M140 H-1 ; disable heated bed (overrides default heater mapping) ; Fans M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency M106 P0 S0.5 H-1 ; set fan 0 value. Thermostatic control is turned off ; Tools M563 P0 D0:1 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 M568 P0 S1 ; enable mixing for tool 0 M567 P0 E0.5:0.5 ; set mixing ratios for tool 0 ;M302 P1 ; Allow cold extrusion T0 ; triggers M950 J2 C"!io4.in" ; Input 2 uses io1.out pin, inverted M581 P2 S0 T2 R0 ; custom within - trigger2.g ; no homing required turn off in final M564 H0
When you move any axis, does DWC report that the move has happened? That may explain the stallGuard reading in M122 for the drivers 3, 4, and 5 (
SG min/max 0/9
), if the motors are failing to turn, but the firmware thinks they have.The only thing in your config that looks odd is the M566, though I'm not sure why this would affect all drivers except 0.0 and 0.1:
M566 X4500.00 Y4500.00 Z180.00 E4500.00:4500.00 ; set maximum instantaneous speed changes (mm/min)
X, Y and E are set to 4500mm/min, which is 75mm/sec, and seems incredibly high for these axes. Try setting these to something more appropriate, eg 300mm/min (5mm/s). You can set the extruders higher, eg 1000, later if reducing these values helps. Your acceleration isn't that high.
Ian
-
@droftarts Thank you for your response.
I've changed the acceleration etc. to more conservative settings but that did not resolve the issue. I don't think these settings could have been the culprit as they all worked as long as they are on driver 0.0 and driver 0.1.
The DWC does report movement for all axis and extruders. It reports as busy while it's supposedly moving and reports the new position once finished.
In the steppers connected to driver 0.0 and driver 0.1 I can feel holding torque but in the other I can't which might indicate there is no current going to these steppers at all. I've also tested all steppers at the working drives and they all work on those without issues. It's also worth noting that currently all steppers are not connected to anything and just set out on my bench here in a test setup.
All my debugging points towards the drivers somehow not being turned on or being broken.
I've also just noted that driver 0.3 also reads no (SG min/max 0/9) while it does not work just like 0.4 and 0.5 in the readout of M122.
Currently contemplating if purchasing a complete new second board to test on could help here.
-
@GillesDB It does look like this may be a faulty board, which would be eligible for warranty replacement if it meets the criteria. When and from where did you purchase the 6HC? I am conferring with my colleagues if there is any additional testing that might be necessary.
Regarding instantaneous speed changes, high values can cause problems; the voltage and current have to be high enough to overcome the axis inertia. Also high values will cause big problems with ringing, which Input Shaping may not be able to resolve. We recommend lower instantaneous speed changes, but higher acceleration, which you will have to test for to achieve best speed/quality.
Ian
-
@droftarts That's too bad. I've purchased this board around a year ago as backup for my main board and I'm not sure anymore what tests I have ran on it in the past. I'm happy to ship this board back to you for further testing to see if this is a warranty issue or a user fault.
I'm hoping the new board will resolve the issue I'm currently having.
-
@GillesDB when you have the XY motors connected to drivers 0.2 and 0.3, and you have motors connected to those outputs, after commanding them to move (and failing to see movement) does M122 ever report short-to-ground for those drivers?
If it does, and it's a version 1.01 board, then it might be caused by a quality control issue on some boards manufactured in 2020, in which case we would definitely replace the board under warranty. Please report the serial number, which is the one starting WD on the paper label on top of the main processor. This thread https://forum.duet3d.com/topic/18011/duet-3-6hc-short-to-ground-issue contains more details.
Which country are you in?