Extruder motor screeching

Discussion in 'Titan' started by Ohm, Jan 17, 2017.

Tags:
  1. Ohm

    Ohm Member

    Joined:
    Jan 17, 2017
    Messages:
    6
    Likes Received:
    0
    I put in a Titan extruder with a Nema17 40N - DShaft .9 deg/step supplied by Maker Farm. I'm using a basic RAMPS 1.4 board with A4988 stepper drivers and running Marlin firmware. I'm using Repetier-Host and running into a problem (?) configuring the extruder speeds. Any time I set the speeds (extrude or retract) above 20 mm/s, the motor makes a horrible sounding screech, and the motor doesn't spin. Based on everything I read, I should be able to turn that up to something more like 40 mm/s. I suspected the Vref on the stepper driver (which is currently set to 5v), but upping or lowering the voltage didn't seem to improve things. I've also tried swapping the driver with another, but it made no difference. Also, things work perfectly for me at 20mm/s or lower.

    Also, as a side note - likely unrelated, but odd none the less, I had to change the DEFAULT_AXIS_STEPS_PER_UNIT from the recommended 837 down to 802 to get it to move the right amount of material. I can't imagine why that would be, but perhaps it's somehow related.

    Can anyone give me any suggestions?
     
  2. Cedric_K

    Cedric_K Member

    Joined:
    Jan 16, 2017
    Messages:
    22
    Likes Received:
    10
    You're right, an extruder with 3:1 ratio, with standard Nema17 40N operated under 12v, has a limit around 40-45 mm/s.

    Your nema 17 is not standart, but is 0,9°, what means 400steps. Your firmware has twice the steps to do into the same time, the consequence is that you run it at half the speed...
     
  3. elmoret

    elmoret Administrator

    Joined:
    Mar 1, 2014
    Messages:
    586
    Likes Received:
    91
    5v on vRef is way, way too high. That's effectively unlimited current. I wouldn't be surprised if the stepper or stepper driver were damaged.

    Cedric_K's comments are spot on.

    802 steps/mm * 40 mm/sec = 32080 steps/sec. Marlin can do about 10k in single stepping mode, and 40k in quad stepping mode. So at 45mm/sec you're right at the very limit.

    I would recommend reducing micro stepping (and steps/mm) to something like 1/8th or 1/4th. Really there is no need for 0.9deg motors on Titan since the reduction ratio is 3:1.
     
  4. Cedric_K

    Cedric_K Member

    Joined:
    Jan 16, 2017
    Messages:
    22
    Likes Received:
    10
    Yep agree'd, you don't look for any resolution, you look for a lot of torque ;)

    40mm/s should be the minimum retract speed with bowden tube, I don't know for direct extruder.

    Here is my setup :
    200step 65N stepper (this one.)
    1/16 microstepping
    12v powered (vref around 1.4v)
    404 steps/mm

    My reliable retractation speed is 45mm/s. Tried 50, it clics half the time.
    In this case, it isn't FW limited speed, my electronic being 32bits 84Mhz. It too high coil inductance, that's why I had to keep low Vref.

    Your case is speed limit by firmware, the first way to increase your extruding speed is to go 1/8 microstepping. You could lose smoothness.
     
  5. Ohm

    Ohm Member

    Joined:
    Jan 17, 2017
    Messages:
    6
    Likes Received:
    0
    Thanks for all the helpful feedback. I'm quite new to this. Based on what I've read, my previous stepper would have been a 1.8 degree motor, and with all jumpers installed on the RAMPS board, it would have been running at 1/16 microsteps (I assume this is what elmoret is referring to as quad stepping mode?). Now that I have a motor with .9 degree steps, I have double the work to do to move the same filament and therefore could drop it to 1/8 steps to be back to 40mm/s - but then need to also factor in the 3:1 gear ratio, thereby needing triple the steps (or currently 6X the steps before reconfiguring the microstep divider) - hence the suggestion for perhaps a 1/4 microstepping configuration - but at the loss of precision.

    Did I get that right?

    As a bonus question - would swapping the Arduino controller for something like a smoothieboard also overcome the stepping limitation without sacrificing quality? Or is it a limitation of the motor more so than a limitation of the controller speed?
     
    #5 Ohm, Jan 18, 2017
    Last edited: Jan 18, 2017
  6. elmoret

    elmoret Administrator

    Joined:
    Mar 1, 2014
    Messages:
    586
    Likes Received:
    91
    Quadstepping is not the same as micro stepping.

    Quadstepping is a sort of hack used to generate extra pulses from an overworked microcontroller.

    Microstepping is varying the current supplied to each stepper motor winding in order to achieve positions between full steps.

    32 bit boards such as Smoothieboard and Duet/Duet Wifi can generate many times more pulses per second, in fact the Duet Wifi can do about 15x that of 8 bit Marlin.

    http://reprap.org/wiki/Step_rates
     
  7. Ohm

    Ohm Member

    Joined:
    Jan 17, 2017
    Messages:
    6
    Likes Received:
    0
    So when I made my original post, I had missed the . in front of the .5v vref statement. I in fact have it set to .5v. I believe that's where my problem is. Changing it to 1/4 stepping mode resulted in the exact same issue I've been having at the same 20mm/s speed. Increasing it to 1.2v results in it operating better but still not quite right - but I clearly didn't have the right numbers in my formula to set this correctly. I have a 12v system with a 1.2A motor. I'm using a green Made in China A4988 board fit with 0.1 Ohm sensing resistors (labeled with "R100") - and I think that's where I went wrong. If I use the formula of Vref = 1.2 * 8 * 0.1, I get 0.96v as my target.Setting it around that area seems to improve things, though somewhat inconsistently. It'll spin as expected 4 out of 5 times with a 10mm extraction at 40mm/s, but that 5th time it will hum a bit and not spin. My settings are now:
    1/4 step setting on the RAMPS
    .96v on the driver board
    AXIS_STEPS_PER_UNIT of 200 (down from the 802 I was using at 1/16 stepping mode)
    MAX_FEEDRATE of 300
    MAX_ACCELERATION of 1000
    DEFAULT_ACCELERATION of 2000
    DEFAULT_RETRACT_ACCELERATION of 3000

    Perhaps I need to be looking at one of those other settings?
     
    #7 Ohm, Jan 19, 2017
    Last edited: Jan 20, 2017
  8. Cedric_K

    Cedric_K Member

    Joined:
    Jan 16, 2017
    Messages:
    22
    Likes Received:
    10
    1/8 should be minimum microstepping for extruder, you have another issue.

    Is any version of repetier firmware ?

    How do you change parameters ? You manually edit configuration.h then you send it with arduino soft ?

    Maybe your changes are not overwritten when you send new firmware because of EEPROM MODE setting.
     
  9. Ohm

    Ohm Member

    Joined:
    Jan 17, 2017
    Messages:
    6
    Likes Received:
    0
    I'm using Marlin firmware, but it's an older version that was recommended with the printer I bought from FolgerTech. They posted their version at https://drive.google.com/drive/folders/0B_KUgGb2XPIXYnBmdHMxOUFBazQ, but from what I've seen when comparing it to the official Marlin build, changes beyond config settings were very minimal. Perhaps I'll try updating to the latest Marlin this weekend. I have EEPROM settings disabled, so that shouldn't be an impact as far as I know.
    I do make config changes by modifying Configuration.h then uploading the new firmware through the Arduino IDE. I used the same method to successfully tune my extruder for length when I installed the Titan - I upgraded from a direct-drive extruder and was originally using a setting somewhere around the 200 steps per unit mark if I recall.
     
  10. Cedric_K

    Cedric_K Member

    Joined:
    Jan 16, 2017
    Messages:
    22
    Likes Received:
    10
    Maybe your stepper is too weak so you have to help it
    You could try following values, just to see if there is any improvement

    MAX_FEEDRATE of 40 (Im not familiar with marlin, don't know what unit is. Inside repetier fw, it's real filament mm/s)
    MAX_ACCELERATION of 800
    DEFAULT_ACCELERATION of 800
    DEFAULT_RETRACT_ACCELERATION of 800

    You wont notice a big change with less acceleration. actually 800 is strong value, and 3000 is a huge, oversized value.

    if everything becomes ok with that, so your steppers were too weak. If no change, put it back to old config.
     
    Ohm likes this.
  11. Ohm

    Ohm Member

    Joined:
    Jan 17, 2017
    Messages:
    6
    Likes Received:
    0
    Changing the values above did nothing to help - but migrating my settings over to the latest Marlin firmware did in fact solve my problem. Unfortunately, the latest Marlin firmware contains significantly different settings for configuration of the Z-probe, and I have yet to figure out how to get it to utilize my Z-probe when performing auto-leveling (despite it reading correctly with an M119 command) That's probably best asked somewhere else though. It had no problem with 40mm/s though so I know it's not a hardware problem, and since I copied as many settings over as best I could, I suspect it's not going to get better by tweaking my settings.
     
  12. Ohm

    Ohm Member

    Joined:
    Jan 17, 2017
    Messages:
    6
    Likes Received:
    0
    After adding some adjustable springs to my print bed (reused some AA battery holder springs), leveling it manually, and forgoing automated bed leveling, I'm now up and running perfectly with the latest Marlin build. I wish I could point my finger at exactly what issue the previous version was, but as best as I can tell it was based off of a pre-1.0 release of Marlin, so I'm not surprised it wasn't running perfectly. It also looks like auto-bed leveling with a Delta printer on the latest Marlin is still somewhat under development, so that probably contributed to my issues when moving to the latest build.

    Thanks for all the help!
     

Share This Page