Motors stall then whine loudly?

  • Duet 2 WiFi
    Firmware = 3.1.1
    WiFi Server = 1.23
    Web Control = 3.1.1


    I'm a newbie with this stuff, so the answer is hopefully/probably something dumb, but here goes:

    I have a MonoPrice Delta Pro that I'm attempting to upgrade. The stepper motors are unknowns to me and possibly the source of my problems.

    I can run the "04-Test_motors" macro that came with the board and the motors move however they appear to just spin against the endstops. (my endstop switches do show up as triggered = "No" at rest and "Yes" in the web interface when I move them with my finger)

    I also got a couple of errors when running the test motors macro, here's the console history:

    When I attempt to home the motors they don't move and make a loud whining noise (at which point I panicked and killed power).

    I attempted to use M564 H0 S0 in config.g to permit testing small movements of the motors but I still get "Error: G0/G1: insufficient axes homed" (you can see that in the console log)

    Any idea where I'm going wrong? Here's my current thinking

    1. It's probably not a wiring issue, otherwise the "04-Test_motors" macro wouldn't have moved anything
    2. There must be some difference in the steps per mm used between homing and test motors?
    3. The end stop switches aren't being respected during the "04-Test_motors" macro (since the motors don't reverse when they hit the end stops?

    Does this sound solvable with a little patience and a mutlimeter or would I be better off (in terms of time) to just buy knew (known) stepper motors at this point?

    Many thanks for any advice you guys can give me.

  • administrators

    Likely causes, assuming no mechanical issues:

    • Acceleration set to high in M203
    • Trying to move the motors too fast
    • Motor current too low or not set

  • @tgarr 640 steps per mm at 1X micro stepping???? I'm not familiar with Delta printers in general or that printer in particular but I'll wager that is where your problem lies. Maybe 640 at 16X would be more likely.

  • @dc42 Thank you, i cut all the speeds and accelerations down to a fraction of the settings I found on the original board, I'll bump it back up when everything else is sorted. I also increased the amps from 1.0 to 1.5...I don't know what the specs are for these un-branded steppers and I'm not sure how I'd go about figuring it out.

    I'm ok with destroying the motors but not the board...if I over power the steppers is there a significant risk to the board?

    @deckingman Thank you as well. That was a RRF config setup error on my part. I changed it to 640 at 16x.

    I can home successfully now, but two issues remain:

    1. The movement per step is off by a factor of ~8 (I did a simple Z move and measured)
      a) Should I address this purely through steps per mm?
      b) The 640 steps /mm value came directly from the original controller's settings. How would the micro stepping impact this? I had assumed it wouldn't, but then why else would the 640 number be off?
      Is it possible the original controller was using 128 micro stepping? If so what should I do on a duet2 wifi? (128 isn't supported right?)

    2. There's still a whine when the motors aren't spinning. It's MUCH softer now, less of a "OMG the machine is eating itself!" and more "that's annoying.." level. Could this be related to the steps /mm being off? Or should I try bumping the amps up to 2.0 (or 2.4)?

    Here's the updated config in case anyoneone wants to look at it.

  • Moderator

    If you send too much current to the motors they will just get hot. Do you happen to know what the stock configuration used? The motors might have a model number on them, or you could try googling some info for that printer.

    If steps per mm is off by a factor of 8 that would mean your steps per mm at x16 microstepping would be 80, which sounds plausible.

    You can calculate the correct value if you count the teeth on the drive pulley and use this formula. You'll need to know if they are 200 or 400 step per rev motors (ie 1.8 or 0.9 degree). Belt pitch is likely 2mm. microstepping 16.

    belted_steps_per_mm = (motor_steps_per_rev ∗ driver_microstep) / (belt_pitch ∗ pulley_number_of_teeth)

    You're going to need to do some more research on your printer so you can make some informed decisions on configuring your printer.

  • administrators

    80 steps/mm at x16 microstepping is correct for 2mm pitch belts, 20 tooth pulleys and 1.8deg motors. That is a very common combination to use.

  • @tgarr please set I1 in the microstepping setting, e.g.
    M350 X16 Y16 Z16 E16 I1
    This will activate interpolation. This means, the stepper driver will use the 16 microsteps and will smooth it internally to 256 steps. This will lower the whining probably.
    I1 is only active for 16 microstepping with the Duet 2.

    You told that the steppers are unknown to you, but is there a label on the stepper which you could make an image from? If there is a stepper type, probably the current can be researched.

    When the problem is solved, you have an open task with G31, the G31 P500 X0 Y0 Z0 setting will need correction. Please check

  • @Phaedrux the model numbers don't return anything on a google search (that I can find): "SAMV008-001" (and a date) is the only mark on the whole motor. They are Nema17 size, with a body 1.8625" long.

    That's the main part of my struggle. There wasn't any amp limit setting in the Lerdge board that I had access to, and the motors are un-branded.

    @dc42 Sure enough, 80 steps / mm seems to be the ticket. I was just misunderstanding the concept of microstepping. Told you guys it was something stupid 🙂 (I was fixated on the lerdge board step / mm values)

    @JoergS5: thanks, yes, I turned on microstepping with "M350 X16 Y16 Z16 E16 I1 ". Regarding the Z probe, that's my next task...I've got a precision piezo board to wire in next. My short term goal is to use it with the stock piezo sensor that goes over the nozzle. Longer term I'm hoping to do a bed sensor or integrate a sensor into the end effector.

Log in to reply