Lots of possible reasons for this. The best way to start IMO is to disconnect the extruder from the hot end and extrude something like 100mm of filament and measure what you actually get, then adjust the steps per mm accordingly. It should be in the region of 492.45 steps per mm according to the link. Then reconnect the hot end and try again at a low speed. If you get significantly less, then it's something to do with pushing filament through the hot end and not the extruder steps per mm. Maybe skipping steps or grinding filament because of a partial blockage, or motor current set too low, or hot end temperature too low for the filament etc.
The Marcos got static values that don't fit on eatch situation.
By the way the Example above was 1 Thing that can be done with that type of gcode scripting
but there are many more cases where this Feature would be usefull.
Hi Guys, I spent today playing with my PID settings but not having much luck. First thing is if I try to use autotune for PID my system will initiate with heater on and then error out with "Auto tune canceled because temperature is not increasing" After messing around with it a while I was able to get it to run by manually turning on the bed heat for a minutes then shutting off and immediately running the autotune. however, the values are still way off with overruns of 20c+? The other thing is when I cycle my power for the printer it sets all my setting back to a default and bang-bang and that is after trying to save with M500?
Any clues or ideas are greatly appreciated!
Thanks for the help!
It's already covered on the wiki at https://duet3d.com/wiki/Spurious_heater_faults_and_how_to_avoid_them#Faults_when_tuning.
FWIW I resolved this problem with two Z motors run from a single driver by adding a mechanical homing stage into my start up code. I added lower hard stop points to each side of the bed, one with each Z motor, and then run the bed down into those stops (at a low current) until the motors misstep. This sets a repeatable level between the two. Very simple and, so far, very reliable. The whole process goes like this:
1. Run Z axis up to its normal zero micro switch stop so we know roughly where we are.
2. Run Z axis all the way down at high speed to 10 mm above hard bottom stops
3. Reduce current and speed and run Z axis down a further 20 mm. This ensures that both motors will hit their end stops and misstep. The slow speed and low current keeps this process painless.
4. Run Z axis back up and run zero routine as usual. (In my case using a DC42 IR sensor)
(This assumes that the two motors are within 10 mm to start with. You can increase the 20 mm misstepping run if you think the error could be more than that.)
With the speed and current low, the maximum delta between the two motors should now be no more than one full step of the motor. This adds maybe 20 seconds to the start up Gcode but solves a lot of problems! Coupled with mesh leveling it's meant I never have to worry about bed flatness.
For hard stops I just printed sleeves that fit around the lead screws that limit downwards travel and transfer the load. Probably better would be hard stops on the frame, but I haven't found that to be necessary in practice.
Thank you for the recommendations on how to improve the documentation, I really appreciate this!
I have edited the wiki here:
Also you need to add M501 to the end of the config.g if its not there already.
It was explained in M501 section of the gcode page but not M500 so I added that:
Thanks for the tips. That's a great idea of adjusting the parameters every 10 layers, I will give that a try. I am running the same accel and jerk settings on the other axes but have not spent any time tuning these and have been happy with the performance until I tried to use pressure advance.
If you put the M350 command to change microstepping after you have already set the steps/mm using M92, then the steps/mm will be changed automatically to account for the changed microstepping. You can see this by sending M92 with no parameters to see what the new values are.
You need to allow cold extrudes (temporary of course). So you can use the extruder without a hotend attached.
M302: Allow cold extrudes
This command can be used without any additional parameters.
Pnnn Cold extrude allow state (RepRapFirmware)
M302 ; Report current state
M302 P1 ; Allow cold extrusion (this is what you type in)
thank you for the tip, grazie timcurtis67
Have you read https://duet3d.com/wiki/Calibrating_a_delta_printer ?
No I had not found that section - it appears to answer all of my questions.
Got to hand it to you all - you have some first rate documentation - one of the reasons I am rebuilding all of my printers with DuetWifi boards.
I made a lot of more tests and for me the problem seems to be related to the speed difference between infill and walls or between inner outer wall(s).
When printing the object with constant speed, even high one (e.g. 80 mm/s), for all features the quality is better than with different infill/wall speed.
Also printing more walls is not helpful but identical speed for all walls will improve the quality as well.
In summary my printer, hotend (E3D V6) or settings can not handle speed changes well with respect of constant extrusion.
As far I understand pressure advance should be a solution for such issues however not for me (tried various settings).
My solution for now: infill at 80 mm/s, three walls at 40 mm/s.
I ran into the same situation with my T3P3 Kossel XL for a couple weeks (2 issues resolved a week a part)
Pulley not tight enough (slipping)
Pulley not on correct position of shaft (too far in or out)
Once I corrected those build / mechanical issues, flawless with near consistent 0.017 std dev between calibration runs; no bed mesh compensation needed.
Looks like your connection to Duet3D was lost, please wait while we try to reconnect.