Help, stepper motor/endstops problem



  • Hi,

    1st issue, wired all my three delta tower endstops (makerbot mechanical) in the same way. One of them works perfectly, the other 2 kill the 3.3v power LED and the board loses comms with the network.

    Similar to another user, I also don't have any control of my stepper motors - M122 shows lots of time outs, but no errors. Strangely, the date is also showing as 1970 -01-01.

    Any suggestions as to what I can do to get this back up and running? I had control of the steppers prior to installing the endstops.

    10:07:33 PMM122
    === Diagnostics ===
    RepRapFirmware for Duet 2 Maestro version 2.02(RTOS) running on Duet Maestro 1.0
    Board ID: 08DAM-9F9DA-MWNS8-6J1F6-3SS6Q-KP1UW
    Used output buffers: 1 of 20 (6 max)
    === RTOS ===
    Static ram: 19476
    Dynamic ram: 92888 of which 0 recycled
    Exception stack ram used: 224
    Never used ram: 18484
    Tasks: NETWORK(ready,1080) HEAT(blocked,1356) MAIN(running,3940) IDLE(ready,204)
    Owned mutexes:
    === Platform ===
    Last reset 00:00:24 ago, cause: software
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 18512 bytes (slot 0)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0400f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 15.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 28.3, current 28.8, max 28.8
    Supply voltage: min 0.0, current 12.3, max 12.4, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 315
    Driver 1: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 315
    Driver 2: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 315
    Driver 3: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 315
    Driver 4: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 315
    Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 315
    Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 314
    Date/time: 1970-01-01 00:00:00
    Slowest loop: 1.46ms; fastest: 0.06ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 237, MinFreeDm: 237, MaxWait: 12193ms, Underruns: 0, 0
    Scheduled moves: 1, completed moves: 0
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0, 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 5
    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
    lcd is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 5.23ms; fastest: 0.03ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex



  • Do the steppers start to work again if you disconnect the endstops?

    Also can you confirm the endstop wiring and switch component you use? I know some of the makerbot style ones have 3 wires and a LED if I recall correctly. It's weird that one would work but the other don't...

    Date will always show up as 1970-01-01 unless you change it every boot. Duet has no real time clock so it can't keep track of the time if turned off. On boot it resets to 0 unix time (Jan 1 1970)



  • @nhof thanks for the info on the date.

    I was getting an error message

    G0/G1 insufficient axes homed

    with the end stops connected and disconnected.

    They are makerbot mechanical v1. 2.

    I have 2 spare ones that I might put in. May test their operation first without putting them on the printer. Just plug in and see if I get a response.

    Will wait for any further advice.



  • Check this for wiring the makerbot switches, you may need to switch a wire.

    https://duet3d.dozuki.com/Wiki/Connecting_endstop_switches#Section_Makerbot_Mechanical_Endstop_v1_Num_2

    That insufficient axes homed error happens when trying to move an axes before it's been homed.

    I get this error message: "Error: G0/G1: insufficient axes homed"
    Recent firmware versions do not allow axes to be moved before they have been homed. The only movements allows are homing moves (G1 moves with S1 or H1 parameter) and individual motor moves (G1 moves with S2 or H2 parameter). So any Z movements that your homing files make before Z is homed should use the S2 parameter. Alternatively, add M564 H0 to config.g to allow axis movement before homing.



  • I have reinstalled the endstops and all is working there as it should, but I am still getting no control of the stepper motors. I can control the fans and heaters, all the light on the Maestro board are lit up, VIN, 5v, 3.3v, and E0 and Bed heater LEDs light up when in use.

    Just

    "Error: G0/G1 Insufficient axes homed".

    my M122 is:

    6:37:01 PMM122
    === Diagnostics ===
    RepRapFirmware for Duet 2 Maestro version 2.02(RTOS) running on Duet Maestro 1.0
    Board ID: 08DAM-9F9DA-MWNS8-6J1F6-3SS6Q-KP1UW
    Used output buffers: 1 of 20 (15 max)
    === RTOS ===
    Static ram: 19476
    Dynamic ram: 92992 of which 0 recycled
    Exception stack ram used: 224
    Never used ram: 18380
    Tasks: NETWORK(ready,672) HEAT(blocked,1324) MAIN(running,3940) IDLE(ready,204)
    Owned mutexes:
    === Platform ===
    Last reset 00:37:03 ago, cause: software
    Last software reset at 2019-04-21 17:59, reason: Unknown, spinning module Platform, available RAM 18004 bytes (slot 0)
    Software reset code 0x40b0 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0400f80f BFAR 0xe000ed38 SP 0x20000f64 Task 0x5754454e
    Stack: 004042e7 00404652 21000200 000026e8 000026e8 200003e0 00404401 00000000 200003e0 200003e0 20000fe8 200000b8 00403d97 a5a5a5a5 0044a5f3 20007ee0 0044a6f9 20000750 ffffffff 00000800 20000629 200003e0 20000fe8
    Error status: 0
    Free file entries: 8
    SD card 0 detected, interface speed: 15.0MBytes/sec
    SD card longest block write time: 0.4ms, max retries 0
    MCU temperature: min 31.9, current 32.2, max 32.9
    Supply voltage: min 12.3, current 12.3, max 12.3, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 13844
    Driver 1: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 13844
    Driver 2: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 13844
    Driver 3: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 13844
    Driver 4: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 13843
    Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 13843
    Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 13844
    Date/time: 2019-04-21 18:37:00
    Slowest loop: 2.58ms; fastest: 0.07ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 235, MinFreeDm: 235, MaxWait: 575790ms, Underruns: 0, 0
    Scheduled moves: 22, completed moves: 21
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 1 in use
    Movement lock held by http
    http is idle in state(s) 1 0
    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
    lcd is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 14.00ms; fastest: 0.03ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex

    and my config files is:

    Configuration file for Duet Maestro (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Fri Apr 19 2019 22:05:21 GMT+0100 (British Summer Time)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M665 R58 L116 B55 H120 ; 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

    ; Network
    M550 P"Maestro MPMD@SBC" ; Set machine name
    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 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.00 Y80.00 Z80.00 E663.00 ; Set steps per mm
    M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z18000.00 E1200.00 ; Set maximum speeds (mm/min)
    M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; Set accelerations (mm/s^2)
    M906 X1000.00 Y1000.00 Z1000.00 E800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 Z0 S1 ; Set minimum Z

    ; Endstops
    M574 X2 Y2 Z2 S0 ; Set active low and disabled endstops

    ; Z-Probe
    M558 P5 H5 F120 I1 T6000 ; Set Z probe type to unmodulated and the dive height + speeds + invert
    M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
    G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M557 R55 S20 ; Define mesh grid

    ; Heaters
    M305 P0 T100000 B3988 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B3988 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S0 I0 F500 H1 T90 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 S"print head" 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

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured

    I have also tried entering M564 H0 in the DWI, but this still doesn't give me any control of the motors. Feel like giving up sometimes.



  • Do your axis actually show as homed in the DWC or on the PanelDue?

    Can you post your homing files?



  • @Phaedrux Head position in DWI shows as n/a for all three axes, endstops showing no for triggered in machine properties, but do change to yes when i manually trip the switches.

    Extruder shows as endstop triggered, but there isn't one installed. could this be causing a confllct?

    homedelta.g
    ; called to home all towers on a delta printer
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Fri Apr 19 2019 22:05:21 GMT+0100 (British Summer Time)
    G91 ; relative positioning

    ;*** Slow homing has been configured. Change F180 to F1800 below when your configuration is working
    G1 S1 X130 Y130 Z130 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



  • One other point that may be relevant.

    I am waiting for a better psu to come and am only putting a 5A supply onto the machine, but I've only ran one heater at a time, and 95%+ of my attempted axis movements have been with heaters off.

    could there be insufficient power coming form the psu?



  • @dugee said in Help, stepper motor/endstops problem:

    Extruder shows as endstop triggered, but there isn't one installed. could this be causing a confllct?

    No that's normal.

    Power should be enough to move the motors.

    Can you try sending G92 X0 Y0 Z0 when the towers are at the top. This will set their position and set the axis as homed. You should then be able to move the motors.

    Try sending a G1 X10 S2 to move the individual motor.



  • @Phaedrux

    nothing, motors not responding at all.

    The DWI thought the head had been homed, and the x, y and z head position changes in DWI when I use commands to move the head, but the physical head is not moving.



  • sorry, should have included:

    10:37:30 PMG1 Y10 S2
    Error: G0/G1: attempt to move individual motors of a delta machine to absolute positions



  • You may need to send G91 first to put it in relative movement mode first.


  • administrators



  • @dc42 Just tried that, no movement or response, the head position in the machine status box changes but there is no actual physical movement.


  • administrators

    @dugee, please try moving the motors again (as described in that link), then run M122 once only and post the report here.



  • @dc42

    as requested

    9:28:12 AMM122
    === Diagnostics ===
    RepRapFirmware for Duet 2 Maestro version 2.02(RTOS) running on Duet Maestro 1.0
    Board ID: 08DAM-9F9DA-MWNS8-6J1F6-3SS6Q-KP1UW
    Used output buffers: 1 of 20 (13 max)
    === RTOS ===
    Static ram: 19476
    Dynamic ram: 92932 of which 0 recycled
    Exception stack ram used: 152
    Never used ram: 18512
    Tasks: NETWORK(ready,672) HEAT(blocked,1356) MAIN(running,3940) IDLE(ready,204)
    Owned mutexes:
    === Platform ===
    Last reset 00:01:55 ago, cause: power up
    Last software reset at 2019-04-21 22:35, reason: User, spinning module GCodes, available RAM 18440 bytes (slot 2)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0400f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 15.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 16.7, current 23.4, max 23.5
    Supply voltage: min 0.0, current 12.3, max 12.4, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1495
    Driver 1: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1495
    Driver 2: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1495
    Driver 3: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1494
    Driver 4: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1494
    Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1494
    Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 1494
    Date/time: 2019-04-23 09:28:09
    Slowest loop: 1.45ms; fastest: 0.06ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 240, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 0, completed moves: 0
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    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
    lcd is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 5.00ms; fastest: 0.02ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex
    9:28:02 AMG1 S2 X-10
    Error: G0/G1: attempt to move individual motors of a delta machine to absolute positions
    9:27:49 AMG92 X0 Y0 Z0
    9:27:29 AMMessage Log cleared!



  • @dc42 just noticed I hadn't entered G91 first. Restarted the board and performed tests again. No movement on the motors still

    0:42:48 AMM122
    === Diagnostics ===
    RepRapFirmware for Duet 2 Maestro version 2.02(RTOS) running on Duet Maestro 1.0
    Board ID: 08DAM-9F9DA-MWNS8-6J1F6-3SS6Q-KP1UW
    Used output buffers: 3 of 20 (13 max)
    === RTOS ===
    Static ram: 19476
    Dynamic ram: 92932 of which 0 recycled
    Exception stack ram used: 200
    Never used ram: 18464
    Tasks: NETWORK(ready,672) HEAT(blocked,1356) MAIN(running,3940) IDLE(ready,204)
    Owned mutexes:
    === Platform ===
    Last reset 00:01:13 ago, cause: software
    Last software reset at 2019-04-23 10:41, reason: User, spinning module GCodes, available RAM 18464 bytes (slot 3)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04427000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 15.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 30.8, current 31.1, max 31.3
    Supply voltage: min 0.0, current 12.3, max 12.4, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 948
    Driver 1: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 948
    Driver 2: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947
    Driver 3: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947
    Driver 4: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947
    Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947
    Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947
    Date/time: 2019-04-23 10:42:48
    Slowest loop: 1.46ms; fastest: 0.06ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 239, MaxWait: 54757ms, Underruns: 0, 0
    Scheduled moves: 3, completed moves: 3
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    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
    lcd is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 5.01ms; fastest: 0.03ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex
    10:42:43 AMG1 S2 Z-10
    10:42:38 AMG1 S2 Y-10
    10:42:31 AMG1 S2 X-10
    10:42:14 AMG91
    10:41:57 AMMessage Log cleared!


  • administrators

    @dugee said in Help, stepper motor/endstops problem:

    Supply voltage: min 0.0, current 12.3, max 12.4, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 948
    Driver 1: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 948
    Driver 2: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947
    Driver 3: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947
    Driver 4: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947
    Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947
    Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 947

    This indicates a problem with the UART communication to the TMC2224 drivers. Assuming you don't have anything connected to the stepper driver expansion connector, I suggest you ask for your Duet to be replaced under warranty.



  • ok thanks @dc42 I'll fill in the form now, as I purchased direct.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.