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?
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...
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.
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.
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?
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
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?
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.
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.
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.
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.
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!