Strange Stepper Behavior

  • Hi all,

    I finally got around to setting up my Duet Wifi, I've wired up my steppers and gone through the configurator to generate firmware for my delta (modified boots industries v2.5) and upon powering it up and attempting to home the carriages each one does something different.

    X-axis: Jittery and rotates in the opposite direction it should move in
    Y-axis: Appears to be working normally
    Z-axis: Stepper locks in place and occasionally will partially rotate.

    I have my z-probe behaviour setup as a switch currently to test movement as I haven't wired my smart effector presently and selecting "No Z Probe" on the configurator actually greys out the Z-axis endstop section which appears to be a bug with the configurator.

    I have taken a few videos demonstrating what is going on.

    [c]; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Sat Jan 27 2018 00:48:03 GMT-0800 (Pacific Standard Time)

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare
    ; Automatic saving after power loss is not enabled

    ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration.
    M665 R160 L440.38 B150 H350 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0 ; Put your endstop adjustments here, or let auto calibration find them
    M208 Z0 S1 ; Set minimum Z

    ; Endstops
    M574 X2 Y2 Z2 S1 ; Set active high endstops
    M558 P1 H5 F120 T6000 ; Set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M557 R150 S20 ; Define mesh grid

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80 Y80 Z80 E663 ; Set steps per mm
    M566 X1200 Y1200 Z1200 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E1200 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E1000 ; Set accelerations (mm/s^2)
    M906 X950 Y950 Z950 E800 I60 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Tools
    M563 P0 D0 H1 ; 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

    ; Network
    M550 PDumpster Delta ; Set machine name
    M552 S1 ; Enable network
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Fans
    M106 P0 S1 I0 F500 H1 T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P1 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; Custom settings are not configured[/c]

    [c]; homedelta.g
    ; called to home all towers on a delta printer
    ; generated by RepRapFirmware Configuration Tool on Sat Jan 27 2018 00:48:03 GMT-0800 (Pacific Standard Time)
    G91 ; relative positioning
    ;*** Slow homing has been configured. Change F180 to F1800 below when your configuration is working
    G1 S1 X400 Y400 Z400 F180 ; move all towers to the high end stopping at the endstops (first pass)
    G1 X-5 Y-5 Z-5 F1800 S2 ; go down a few mm
    ;*** Slow homing has been configured. Change F180 to F360 below when your configuration is working
    G1 S1 X10 Y10 Z10 F180 ; move all towers up once more (second pass)
    G1 Z-5 F6000 ; move down a few mm so that the nozzle can be centred
    G90 ; absolute positioning
    G1 X0 Y0 F6000 ; move X+Y to the centre[/c]

    Thanks all, looking forward to getting my delta running in the near future.
    Edit: Updated config.g and homedelta.g (fixed radius values and enabled slow homing, problem still persists just slower now)

  • administrators

    1. Please check the voltage at the VIN terminal block. If you have a multimeter, use is to measure that voltage. Also you can run M122 and see what minimum, current and ,maximum supply voltages are recorded.

    2. Please test the stepper drivers individually as described at It's probably best to do it as in your second video, using the same motor each time to eliminate possible issues with the motor and particularly the cable.

    3. Note: When the motors are connected to the Duet, do not move the carriages rapidly by hand, because this can exceed the voltage rating of the stepper drivers.

  • 1. Supply voltage: min 12.3, current 12.7, max 13.3, under voltage events: 0, over voltage events: 0

    Checking with a multimeter yielded about 12.75v

    2. Tested all the stepper drivers by putting printer in relative mode and sending move commands to individual steppers, appeared to work normally. Except my X input rotates counter clockwise while Y and Z input rotates clockwise

  • Did some additional troubleshooting as outlined in another video.

  • administrators

    I suspect the X stepper driver is faulty, but please do the following additional tests:

    1. Use G91 followed by G1 S2 to test carriage movement in both directions, i.e. try negative X, Y and Z values as well as positive ones.

    2. After attempting homing, run M122 and check the minimum supply voltage reported and the number of under-voltage events.

  • 1. Tested this, Y and Z move respective to what would be expected, X moves in the opposite direction while making the grinding noise.

    2. Attempted homing ran M122 (Did this twice as the first time I noticed a wire had come uncrimped from my Y motor, which I fixed before recording the video, first time min was 11.7, I incorrectly quoted 11.4 in my video)

    [c] === Diagnostics ===
    Used output buffers: 3 of 32 (6 max)
    === Platform ===
    RepRapFirmware for Duet WiFi version 1.20 running on Duet WiFi 1.0
    Board ID: 08DGM-95BNL-MGPSJ-6JTDJ-3SS6N-12XVZ
    Static ram used: 15448
    Dynamic ram used: 99168
    Recycled dynamic ram: 72
    Stack ram used: 1392 current, 4504 maximum
    Never used ram: 11880
    Last reset 00:03:31 ago, cause: power up
    Last software reset at 2018-01-27 00:51, reason: User, spinning module GCodes, available RAM 11896 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0441f000, BFAR 0xe000ed38, SP 0xffffffff
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms
    MCU temperature: min 21.5, current 26.9, max 27.7
    Supply voltage: min 12.4, current 12.8, max 13.3, under voltage events: 0, over voltage events: 0
    Driver 0: ok, SG min/max 0/212
    Driver 1: ok, SG min/max 9/249
    Driver 2: standstill, SG min/max 15/227
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Date/time: 2018-01-28 12:00:17
    Cache data hit count 811346353
    Slowest main loop (seconds): 0.014183; fastest: 0.000042
    === Move ===
    MaxReps: 3, StepErrors: 0, FreeDm: 237, MinFreeDm 237, MaxWait: 17405932ms, Underruns: 0, 0
    Scheduled moves: 7, completed moves: 6
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 1 in use
    Movement lock held by http
    http is idle in state(s) 1 4
    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 state is running
    WiFi module is connected to access point
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.20
    WiFi MAC address 2c:3a:e8:0b:02:39
    WiFi Vcc 3.39, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 15728
    WiFi IP address
    WiFi signal strength -58dBm, reconnections 0, sleep mode modem
    HTTP sessions: 1 of 8
    Socket states: 2 0 0 0 0 0 0 0
    Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) [/c]

  • administrators

    I was expecting your X carriage to move down whichever way you commanded it if the X driver was faulty, but it didn't. So please try swapping the X and Y motor connections over where they plug into the Duet, and putting this command in config.g immediately after your M569 commands to swap them back in firmware:

    M584 X1 Y0 Z2 E3:4

    Then see whether the problem is still with the X carriage or has moved to the Y carriage.

  • After following your instructions the problem has indeed moved to the Y carriage.

  • administrators

    Thanks, that confirms a likely issue with the X driver. Please request a replacement Duet under warranty.

  • That's what I was afraid of, thank you for your assistance in troubleshooting dc42, do I need to go through your guys warranty form or should I contact Spool3d where I purchased it?

  • administrators

    Contact Spool3d.

  • As an addendum, the issues I was having with my z axis during homing were due to the endstop. As the endstop I have was designed to work with 5v (I changed the 1k resistor down to 330) the IR LED wasn't quite as bright running off 3.3v. there was some plastic flashing on the plastic cover that was obstructing the IR receiver, cleaning up the flashing with a hobby knife has resolved the issues and I'm able to home with the new board with properly working drivers.

    Thanks again for all your help DC42

Log in to reply