Duet2 V1.04. Motor not energized but steps seen on oscilloscope

  • I am looking for help getting my Duet2 card running, I thank you in advance.

    I am trying to test my new Duet2 card in a minimal configuration just trying to turn one motor on the X axis.

    I cannot get the motor to be energized even though I believe it is connected correctly and I have 24 volts applied.

    Firmware is: 2.01(RTOS) (2018-07-26b2). I am using the USB connection and the Putty terminal program.

    I attached just one motor to the x axis with the matching phases at the end pins of the 4 pin motor connector.

    I do not measure voltage across any of the pins of any of the motor connectors.

    I am using 24 volts and have confirmed 23.9 Volts using the M122 command.

    The motor is not energized. I have tried all the motor connectors and the motor is not energized on any, I of course turn off power before moving the connector. The motor is a

    When I run an X home command I see pulses on the Xstep pin of the connector.

    This is the result of the M122 command:

    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.01(RTOS) running on Duet WiFi 1.02 or later
    Board ID: 08DGM-917NK-F2MS4-7J1DG-3SN6J-9HU8G
    Used output buffers: 1 of 20 (12 max)
    === RTOS ===
    Static ram: 28476
    Dynamic ram: 96336 of which 16 recycled
    Exception stack ram used: 452
    Never used ram: 5792
    Tasks: NETWORK(ready,328) HEAT(blocked,872) MAIN(running,3564)
    Owned mutexes:
    === Platform ===
    Last reset 00:19:26 ago, cause: power up
    Last software reset at 2019-05-22 21:49, reason: User, spinning module GCodes, available RAM 5920 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 35.0, current 35.3, max 35.6
    Supply voltage: min 23.8, current 23.9, max 24.0, under voltage events: 0, over voltage events: 0
    Driver 0: standstill, SG min/max not available
    Driver 1: standstill, SG min/max not available
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Date/time: 2019-05-22 22:10:15
    Slowest loop: 1.10ms; fastest: 0.08ms
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 240, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 123, completed moves: 123
    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
    Heater 1 is on, I-accum = 0.0
    === 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 ready with "M122" 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 ===
    Slowest loop: 166.74ms; fastest: 0.08ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8

    • WiFi -
      Network state is running
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.21
      WiFi MAC address 84:f3:eb:83:4f:2f
      WiFi Vcc 3.38, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 16864
      WiFi IP address
      WiFi signal strength -46dBm, reconnections 0, sleep mode modem
      Socket states: 0 0 0 0 0 0 0 0
      === Expansion ===

  • administrators

    1. Please check the motor currents, by sending command M906 without parameters, and M913 without parameters

    2. Post your config.g file.

  • Thank you for your help. Additional information, when I monitor the 24 volt current on my power supply it is about 100mA.
    My motor is a Current/phase: 2.8A, Voltage: 3.2V, Phase Resistance: 1.13ohm, Inductance: 5.4mH ± 20%(1KHz).
    Wiring on 4 pin connector is AABB. Confirmed motor phase wiring with ohmeter.

    The information you asked for:

    M906 response:
    Motor current (mA) - X:2000, Y:2000, Z:2000, E:2000:2000, idle factor 0%

    M913 response:
    Motor current % of normal - X:100, Y:100, Z:100, E💯100

    config.g file:
    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool v2 on Wed May 22 2019 17:26:42 GMT-0700 (Pacific Daylight Time)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M665 R105.6 L215 B85 H250 ; 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"MiniKossel" ; Set machine name
    M540 PBE:EF:DE:AD:FE:ED ; Set custom MAC address
    M552 S1 ; Enable network
    M587 S"2WIRE038" P"5486186830" I192.168.1.81 J192.168.1.254 K255.255.255.0 ; Configure access point and IP addresses. You can delete this line once connected
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Physical drive 0 goes forwards
    M569 P1 S1 ; Physical drive 1 goes forwards
    M569 P2 S1 ; Physical drive 2 goes forwards
    M569 P3 S1 ; Physical 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 Z-0.1 S1 ; Set minimum Z

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

    ; Z-Probe
    M558 P1 H10 F120 T2400 ; Set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X11 Y0 Z2 ; Set Z probe trigger value, offset and trigger height
    M557 R85 S20 ; Define mesh grid

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

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

    ; 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

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured

    ; Miscellaneous
    T0 ; Select first tool

  • @vbiondo said in Duet2 V1.04. Motor not energized but steps seen on oscilloscope:

    Motor current (mA) - X:2000, Y:2000, Z:2000, E:2000:2000, idle factor 0%

    M906 X1000.00 Y1000.00 Z1000.00 E800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent

    This does not match.
    You set the current to 1000 but its reported to be 2000.

    do you have a config overwrite?

  • I don't know what a config overwrite would be.
    I am trying to learn to use this card.
    But my 24 volts power supply ammeter reports only 100mA with or without the motor plugged in.
    There is only one motor plugged in, I don't know how there could be any current in an axis that has no motor.

  • is there a file called Config-override.g in your sys folder.

  • Thank you for your quick response.

    No, there's no Config-override.g.

    There's bed, config, homedelta, pause, resume, sleep, stop, tfree0, tpost0 and tpre0.g.

    I configured as a MiniKossel, because I'll eventually be using it to control a similar delta printer.

  • administrators

    How have you tried to move the motor? On a delta, the only types of move allowed before the printer has been homed are G1 moves with the S1 or S2 (or H1 or H2) parameter, and only if the machine is in relative movement mode (G91). See https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareDeltaPrinter#Section_Testing_the_motors_and_endstops_individually.

  • I have tried with home moves, and wtih the S1 parameter as described in your testing the motors individually guide.

    As I indicated, I do see step pulses on the X_step pin of the diagnostic pad on the board with my oscilloscope, but of course no movement since the motor has no current.

    Thank you for your help.

  • Could I please get a further suggestion for resolving my problem of no motor current on my Duet2?

  • administrators

    When you home do the other two towers move and just the X not work?

  • Thank you T3P3Tony,

    No. No movement on any motors.

    I have put a motor into each of the motor connectors and none of them is energized.

    My 24 volt power supply shows a draw of about 100mA, but none of the motors is energized.

    I have checked the ENN pin of the TMC2660 chips, they are at ground. There is 24 volts at the appropriate pins of the TMC2660s, and 3.3 volts at their supply.

  • administrators

    @vbiondo please post your homedelta.g

    Also when are your endstops showing as being triggered when you look at the machine properties page of settings in Duet Web Control:
    If you trigger them does the status change?

  • Tony,

    My X,Y, and Z endstops show as "No" ( not hit ) unless I short 1&3 of the endstop connector, then they show "Yes."

    E0 is opposite, shows as "Yes" unless 1&3 are shorted.

    Below is my homedelta.g file. Shouldn't my motors be energized regardless of homedelta?

    Thank you.

    ; homedelta.g
    ; called to home all towers on a delta printer
    ; generated by RepRapFirmware Configuration Tool v2 on Wed May 22 2019 17:26:42 GMT-0700 (Pacific Daylight Time)
    G91 ; relative positioning

    ;*** Slow homing has been configured. Change F180 to F1800 below when your configuration is working
    G1 S1 X265 Y265 Z265 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 F2400 ; move down a few mm so that the nozzle can be centred
    G90 ; absolute positioning
    G1 X0 Y0 F2400 ; move X+Y to the centre

  • how exactly did you determine the phases of your motors?

  • I don't know much about Delta's but @dc42 said above that the only moves allowed before homing are G1 with an S parameter and only if G91 relative is set. Yet the config file shows G90 (absolute).

  • administrators

    @vbiondo that home delta looks ok to me. If it had been blank or something then maybe the motors would not be energised as they had not received a valid command to home. Although thinking about it you say you have seen the step pulses going to the driver so that does not make sense. I wonder if the ENN line is not switching for all the stepper drivers. See if pin 19 on the steppers is going low when movement is commanded.

    @deckingman that's why the homedelta.g switches them to relative before homing them.

  • Does the extruder motor move?

    If you can not heat up, use "M302 S1" to allow cold extrusion.

    M302 S1
    G1 E+100 F500

  • HW check ideas, since you have an oscilloscope:

    • Do any signal present on TMC's OA1 OA2 OB1 OB2 pins? (during move)

    • What can you measure between BRA/BRB and GND? 1. Measure resistance without power, 2. check on scope during move.

    • Between SRA/SRB and GND?

    • You verified that the TMC's get 24V and the STEP signals. This is where everything gets interesting... But does them get GND?

  • administrators

    1. Please upgrade your firmware to version 2.02, which will provide better diagnostics.

    2. Please verify that you have continuity from the Duet motor headers right through to your motors. With power off but motors connected, use your multimeter to measure the resistance between the two pins at one end of the X motor connector, by touching the probes on the motor connector spills on the underside of the Duet. It should read a few ohms, the resistance of one motor phase. Then check the resistance between the two pins at the other end of the X motor connector. Likewise you should get a few ohms resistance between. There should be on continuity between any pair of pins on the X motor connector that are not next to each other, or between the two middle pins.

  • @veti
    I determined the phases of my motors using an ohmmeter to find the low resistance pairs.

    Also, it corresponded to the motor manufacturer's spec sheet.

  • @t3p3tony
    The ENN pin is always low.

  • @moczikgabor
    No, the motor doesn't energize or move on either E0 or E1.
    I used the commands you described, thank you:

    M302 S1
    G1 E+100 F500

  • administrators

    The only explanation I can think of is that the SPI MOSI pin from the MCU isn't getting to the TMC2660 drivers, so they are not getting programmed. But it must have been working when the Duet was tested. Assuming it's a genuine Duet, I'm happy to approve a warranty replacement if you want to try another one.

  • @dc42
    I updated the firmware to 2.02, no change.

    I purchased my Duet from Matter Hackers, so I believe it should be genuine.

    Please direct me as to how to get a warranty replacement.

    Thank you.

Log in to reply