Extruder skipping on prime [SOLVED]
Duke last edited by Duke
BFB 3D Touch
After recently re-calibrating my extruder steps/mm value, I came up with the huge number of 6250.
My printer has these odd worm drive extruders, with a belt reduction drive as well, so it takes a lot of steps to move the filament.
I'm only able to manually extrude at 1mm/sec with 3mm filament, at 5mm/sec it spins too fast and strips the filament.
The problem I'm having now is that during a print, it retracts just fine, but when it tries to prime it back to where it was before the retract, the stepper skips and I end up with net negative filament extrusion.
My Config.g file:
M111 S0 ; Debug off
G21 ; Work in millimeters
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set output to look like Marlin
M208 X0 Y0 Z0 S1;set axis minimum (adjust to make X=0 the edge of the bed)
M208 X270 Y270 Z200 ; Set axis maxima
M575 P1 B57600 S1
M574 X2 S0 ;set endstop configuration (X endstop only, at low end, active low)
M574 Y2 S0 ;set endstop configuration (Y endstop only, at low end, active low)
M574 Z1 S2 ; Set endstops controlled by probe
;*** If you have a modulated IR probe with on-board microcontroller, change P2 to P1 in the following
;M558 P1 X25 Y250 Z1 H3 F200 T5000 ; smart IR Z probe, used for homing Z axis only, dive height 3mm, probe speed 200mm/min, travel speed 5000mm/min
M558 P1 H5 F120 T6000 ;
G31 P534 X25 Y250 Z1.80 ; set threshold and offsets
;M558 P1 F300 ; Use a simple modulated Z probe (change to P1 for an intelligent Z probe)
;G31 Z2.87 P534 ; Set the probe height and threshold (put your own values here)
M557 X15:215 Y15:195 S20 ; Define mesh grid
M584 X0 Y2 Z1 ;Axis Remaping
M569 P0 S1 ; (X axis) Drive 0 goes reverse (change to S1 to reverse it)
M569 P1 S1 ; (Y axis) Drive 1 goes forwards
M569 P2 S1 ; (Z axis) Drive 2 goes forwards
M569 P3 S0 ; (Extruder 1) Drive 3 goes reverse
;M569 P4 S0 ; (Extruder 2) Drive 4 goes forwards
M92 X87.58 Y87.58 Z1066 E6250 ; Set axis steps/mm
M566 X800 Y800 Z200 E500 ; Minimum speeds mm/minute
M203 X6000 Y3200 Z800 E1000 ; Maximum speeds (mm/min)
M201 X250 Y250 Z250 E150 ; Accelerations (mm/s^2)
M906 X1300 Y1600 Z1300 E2000 ; Set motor currents (mA)
;M572 D0 S0 ;Pressure Advance
;M572 D1 S0 ;Pressure Advance
M84 S30 ;Set idle timeout
M302 P1 ;Allow cold extuder
M143 H1 S301 ; Set maximum heater temperature to 300C
;M143 H2 S301 ; Set maximum heater temperature to 300C
M307 H1 A270.2 C118.0 D2.7 S1.00
;M307 H2 A365.3 C138.2 D4.6 S1.00
M305 P0 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 0
M305 P1 T100000 B4388 C0 R4700 H75 L0 ; Set thermistor + ADC parameters for heater 1
;M305 P2 T100000 B4388 C0 R4700 H0 L0 ; Set thermistor + ADC parameters for heater 2
M563 P0 D0 H1 ; Define tool 1
G10 P0 S0 R0 X-42 Y1.20 ; Set tool 1 operating and standby temperatures
;M563 P1 D1 H2 ; Define tool 2
;G10 P1 S0 R0 X0 Y0 ; Set tool 2 operating and standby temperatures
M550 PDuet WiFi Duo ; Set machine name
M552 S1 ; Enable network and acquire dynamic address via DHCP
M106 P1 T45 H1 ; Hot end fan 1 will turn on when temp reaches 45 degrees
;M106 P2 T45 H2 ; Hot end fan 2 will turn on when temp reaches 45 degrees
M106 P3 S255
;T0 ; select first hotend
; X axis homing file for dc42 Duet firmware
;G1 Z2 F500
;G1 X-270 Y270 F2000 S1
;G1 X10 Y235 F2000
;G91 ; relative mode
;G1 Z-200 S1 F500 ; move Z up until the switch triggers
;G90 ; back to absolute mode
What board is this? DuetWifi?
What firmware version?
I don't see a M350 anywhere in your config to set the microstepping value.
How did you calibrate to get 6250 steps/mm?
If you run M122 after your skipped steps post the results here.
5mm/s is quite fast for 3mm diameter filament. That's a lot of plastic to melt.
How fast are you retracting? You could try reducing the speed of the unretract.
Yes, sorry. Duet wifi board, I'll have to check on the firmware.
I'm not terribly familiar with microstepping, so if you could give me an example M 350 command to try, I can give it a shot.
To calibrate the steps/mm I marked 50mm on the filament and hit "extrude 50mm" and adjusted the value until the mark stopped at 0.
I'll try that M122 thing as well, I've never tried that before.
I'm also not sure how to check or adjust the retract speed? I'm using kisslicer 1.6.3 and I can't find any settings in there?
Thanks for your help!
Well the default microstepping is x16 so it's probably using that.
You can send m350 in the gcode console and it will tell you what it's using.
50 mm is pretty short distance. Are you measuring the amount coming out of the nozzle of the amount of filament going into the extruder?
This basic calibration guide might help?
I'm not very familiar with kisslicer. If you can figure out how to turn on firmware retraction you can configure your retraction settings with a gcode command.
We had a BFB 3D Touch donated to our hackspace (Bristol, UK) a while ago. We managed to get it printing, and we felt the structure and mechanics were fine (though heavy gantry limits speed), but the extrusion control was poor. I started to look at ways to improve it, including swapping in a Duet, and found quite a few options on Thingiverse for replacing the extruders and hot ends with something more modern and reliable. In no particular order, I liked:
https://www.thingiverse.com/thing:1378709 - Bits from Bytes 3DTouch rebuild
https://www.thingiverse.com/thing:2012572 - E3d hotend mount for BFB 3D touch
However, at some point the BFB was given away! No one seems to know where it went. If another one ever gets donated, I'm having it!
timcurtis67 last edited by
If you are running worm gear you may try reducing the micro stepping to get that 6250 steps/mm lower. Maybe down to 1/8 or 1/4.
I've been to the Bristol Hackspace! I bought my 3D touch back when I was living in Hereford.
That's an interesting head carriage build, I may have to look into that.
I'm actually running an E3D V6 in mine, and oddly enough that hotend mount you referenced is remixed from one of my designs!
I'm also well acquainted with Matthias' mods, I've followed his recipe for a heated bed, it works great.
But by far the best mod I've done to date is putting the DuetWifi board in, the old firmware was terrible.
So it was running x16 microstepping
I dropped it to 1/4 steps on the extruder and divided the steps/mm accordingly, but that didn't help.
I'm still trying to work out how to turn on firmware retraction, but here is a video of it not working:
AHA! I think I've cracked it.
It was kisslicer all along, it must have changed the settings when I updated to 1.6.3
The destring retract was set to 25mm/sec.
Thanks for the help, and sorry to waste everyone's time.
Just out of curiosity, what slicer is everyone using and why do you like it?
I try and keep up to date with the Cura and Prusa Slicer releases. I like and dislike things about both of them. I like Cura for the control you can have over lots of little details which comes in handy for a detailed challenging print. I like Prusa because it's fast and the settings are generally easy to understand and tune. But it lacks some of the control you can get in Cura.
Nothing wrong with kisslicer. I've never been able to get the hang of it. The GUI is really offputting and confusing and I've never been able to get good prints out of it. I keep meaning to give it another good try but haven't had the time.
Duke last edited by Duke
That's funny, the last time I used Cura was years ago. I didn't feel I had enough control over the prints and switched to kisslicer. Perhaps I should give it another try.
With the new release of kisslicer they have implemented a bunch of wizards that get you zeroed in pretty close right away, and then you can fine tune it from there.
I guess it's just what you're used to!
Cura has most setting hidden by default, but you can hide and unhide them as needed.
Some of the settings I find particularly useful:
- Detect specified overhang angle and set a fan speed and a speed override.
- Detailed control over bridging parameters for walls and skin, fan speed, flow, print speed, jerk, acceleration.
- Wider range of solid infill patterns to choose from. For some models concentric makes far more sense than zig zig.
- complete control over speed, accel, and jerk settings for every move type.
Things I dislike:
- Cura does not let you impose a volumetric speed limit. So you have to keep an eye on your extrusion width, layer height, and print speed to ensure you don't try to push more plastic than the extruder can handle. Slic3r on the other hand allows you to set a volumetric speed limit and all top speeds will be tamed to stay within it.
- Cura has abysmal thin wall support. If your wall thickness doesn't perfectly fit an even multiple of perimeters it will try and cram tiny zig zag moves into it which shakes the hell out of the printer and ends up over extruding like crazy and inflates print times by hours.
If you do want to give Cura a try, I highly recommend using this custom build by smartavionics that has many fixes and improvements that haven't made it into mainline Cura yet.
Things I like about Prusa Slicer:
- it's fast and generally produces good gcode
- it has a filament library function that you can use to store the parameters of your filaments like diameter, temps, fan profiles, flow rates, plus a custom gcode section to set things like retraction, pressure advance, or jerk
- It has excellent thin wall detection and will replace a number of inner walls with a single wide gap fill extrusion where appropriate
Things I dislike:
- It lacks many of the fine control options that Cura has
- Using modifier meshes is still painful compared to Cura
- It's become very Prusa printer centric so be sure to switch to the RepRap gcode flavor
I'll have to make concerted effort to give kisslicer another try.
timcurtis67 last edited by