New installation - consistently overextruding though calibrated
-
I've had some issues lately. CLone titan extruder calibrated using the 100mm in method, as the OP did. That was on 1.18B3 now using 1.18RC1. I've had to reduce the steps/mm from 470 to 400.
That previous thread Deckingman linked to lists more examples, in that case all titan extruders. What extruder are you using dintid?
Working fine now. But still puzzling.
I'm using my own Belted Extruder: http://www.thingiverse.com/thing:1764551
I've learned I need to set steps/mm to 50% of the calculated steps/mm. Ie. when I extrude 100mm I need to dial steps down, so it actually only extrudes 50mm…
It goes for all my filaments.
I only use quality filaments with quaranteed diameter, and I've previously used the same filaments on same machine with Smoothieware controller without these steps/mm issues.I don't know what the error is, but it's definetly a firmware problem related to Extruders, as my XY and Z moves fine.
-
I've tried using Cura profile for UM2+ (as I've just build a 100% clone of such) - I only changed retract to match E3D and filament from 2.85 to 175mm and now the extrusion seems to match.
I havn't had time to look closely at the startup gcode, as I need to print a bunch of dragons for 5 year old birthday tomorrow, but at a quick look the UM2+ profile contained M82 gcode which sets extruder to absolute mode.
I've previously removed M83 from config.g which sets extruder to relative as it resulted in massive overextrusions - like 10x at least.
I would expect it to function at absolute when not defined as relative, but right now it seems to work when defined as absolute in startup gcode.
I need to look into this more closely when I have time. -
Here's the UM2+ profile, where the correct steps/mm (2025/mm) works as it should when printing:
[[language]] G21 ;metric values G90 ;absolute positioning M82 ;set extruder to absolute mode M107 ;start with the fan off G28 Z0 ;move Z to bottom endstops G28 X0 Y0 ;move X/Y to endstops G1 X15 Y0 F4000 ;move X/Y to front of printer G1 Z15.0 F9000 ;move the platform to 15mm G92 E0 ;zero the extruded length G1 F300 E10 ;extrude 10 mm of feed stock G92 E0 ;zero the extruded length again G1 F9000 ;Put printing message on LCD screen M117 Printing...
And the "stock" start gcode where I have to use half of the correct steps/mm to get somewhat ok results:
[[language]] G28 ;Home G1 Z15.0 F3000 ;Move the platform down 15mm G92 E0 G1 F300 E10 G92 E0
This leaves us with one of 3 Gcodes, that might affect the steps/mm:
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute modeNotes says G90 shouldn't affect extrusions
Note: RepRapFirmware uses M82 to set the extruder to absolute mode: extrusion is NOT set to absolute using G90
That leaves us with one of these - will test when I'm done printing dragons for 5 year olds treasure hunt :):
G21 ;metric values
M82 ;set extruder to absolute mode -
Noticed when I set Machine Type in Cura to Marlin it works but when I change type to RepRapFirmware it overextrudes again, even with the startup that worked above…
-
Hi, I am currently using Cura 2.5 (beta) and you get the choice of RepRap (Marlin/Sprinter) or RepRap (Volumetric) + others. I am happily using the Marlin variety with my Duet based Kossel XL. As has been mentioned, you just need to set the extruder to absolute mode on print start. Could it be that you are using RepRap (Volumetric)?
-
Hi, I am currently using Cura 2.5 (beta) and you get the choice of RepRap (Marlin/Sprinter) or RepRap (Volumetric) + others. I am happily using the Marlin variety with my Duet based Kossel XL. As has been mentioned, you just need to set the extruder to absolute mode on print start. Could it be that you are using RepRap (Volumetric)?
Well, you sort of just said what I had found as well
Had to specify M82 (absolute extruder mode) AND run it as Marlin.
This especially seems dumb, when the Web Configurator by default inserts an M83 in config.g file, which I have edited away again, after some initial advice.But why? Why doesn't it work when running it as RepRapFirmware?
I know it's Volumetric, but I don't know what it means for us endusers?
Also, how to make it work when set it as RepRapFirmware? Seems counterintuitive that we are running RepRapFirmware, but have to specify Marlin/Spring in the slizer?… -
I think if you ask the Cura devs that they will admit that the gcode flavour configuration and handling is less than perfect. However, they are only really interested in working on stuff that is Ultimaker specific which is fair enough given that Ultimaker pays them.They are interested in contributions from the community and provide help (and criticism!) to contributors. I have provided some code for the 2.5 release and they have been very helpful in getting it integrated.
Anyway, that means that any fixes/additions that are related to non-Ultimaker machines have to come from the community. i.e. it needs someone who uses Cura on another machine to put the effort in. -
I Believe you may be getting confused here in Cura RepRap (Volumetric) is not the same as RepRapFirmware and I believe it is a variant of Marlin that deals with Volumetric extrusion rates rather then absolute or relative.
I can't be certain about this but pretty damned sure of the above and that Ultimaker won't be supporting RRF anytime soon.
But it may be worth a support Question to make sure?
-
I think if you ask the Cura devs that they will admit that the gcode flavour configuration and handling is less than perfect. However, they are only really interested in working on stuff that is Ultimaker specific which is fair enough given that Ultimaker pays them.They are interested in contributions from the community and provide help (and criticism!) to contributors. I have provided some code for the 2.5 release and they have been very helpful in getting it integrated.
Anyway, that means that any fixes/additions that are related to non-Ultimaker machines have to come from the community. i.e. it needs someone who uses Cura on another machine to put the effort in.I've used Cura the past some years and never had any issues.
Slic3r is doing the same in any way.Problem is not slizer centric, but Duet WiFi centric, as we MUST have the M82 AND specify it as marlin in the slizer, or it just doesn't work.
I Believe you may be getting confused here in Cura RepRap (Volumetric) is not the same as RepRapFirmware and I believe it is a variant of Marlin that deals with Volumetric extrusion rates rather then absolute or relative.
I can't be certain about this but pretty damned sure of the above and that Ultimaker won't be supporting RRF anytime soon.
But it may be worth a support Question to make sure?
That is part of the issue. I saw it as RepRapFirmware, so lets tick that one.
It's not slizer centric. Slic3r is doing the same. Both normal and the Prusa version.
The 2 main issues is that we MUST have M82 in start code AND specifiy firmware as Marlin.
Also M83 must not, in any way, be present in config.g or startcode, which is odd, since the Web Configurator puts it there by default (config.g).
-
The Configurator puts M83 there because that is the recommended way to run the Duet the reason you have to change it to M82 is because Cura does not do Relative Extrusion (this mode avoids rounding errors that creep in with absolute).
I stopped using Cura quite a while ago once it went to the 2.x.x series due to the buggy nature that I found with it tho I believe the later ones are much better I just prefer S3D for it's control and speed (tho it does have issues with multiple extrusion and mixing hotends but I don't as yet use them).
-
…...................Problem is not slizer centric, but Duet WiFi centric, as we MUST have the M82 AND specify it as marlin in the slizer, or it just doesn't work.
........................It's not slizer centric. Slic3r is doing the same. Both normal and the Prusa version.
The 2 main issues is that we MUST have M82 in start code AND specifiy firmware as Marlin.
Also M83 must not, in any way, be present in config.g or startcode, which is odd, since the Web Configurator puts it there by default (config.g).
As I tried to point out before, you need to configure the slicer and the Duet to use the same extrusion. The configuration tool puts M83 there as a default because most people prefer to use relative extrusion rather than absolute. If you choose to use a slicer that only supports absolute extrusion, or you have the choice of using either relative or absolute in your slicer, but choose to use absolute, then you need to "tell" the Duet firmware that is what you are using. There are a myriad of slicers that users can use but the Duet firmware cannot second guess the choices you have made - you have to tell it.
-
…...................Problem is not slizer centric, but Duet WiFi centric, as we MUST have the M82 AND specify it as marlin in the slizer, or it just doesn't work.
........................It's not slizer centric. Slic3r is doing the same. Both normal and the Prusa version.
The 2 main issues is that we MUST have M82 in start code AND specifiy firmware as Marlin.
Also M83 must not, in any way, be present in config.g or startcode, which is odd, since the Web Configurator puts it there by default (config.g).
As I tried to point out before, you need to configure the slicer and the Duet to use the same extrusion. The configuration tool puts M83 there as a default because most people prefer to use relative extrusion rather than absolute. If you choose to use a slicer that only supports absolute extrusion, or you have the choice of using either relative or absolute in your slicer, but choose to use absolute, then you need to "tell" the Duet firmware that is what you are using. There are a myriad of slicers that users can use but the Duet firmware cannot second guess the choices you have made - you have to tell it.
When you say "most people" what kind of group is this? And what slizer is this? Old duet users maybe?
I've never, ever, met anyone using relative extrusion.. goes for Sliz3r, Cura and S3D for sure…
The M83 should NOT be put into the config.g by default... should be a tick option for the people using this to put in... I take it the people using relative extrusion are doing this on purpose.. meaning they can actively put it in, while all the rest use default standard slizer settings, which means absolute settings and have no idea what's going on.
Edit:
They don't know, as they have just always used the default settings, which is relative, so when everything goes down the drain because of this M83, they have absolutely no clue as to why it's happening.. the ones using Relative extrusion on purpose knows they need to put the setting into their config.g file.Edit:
This is exactly the same issue when Servos wasn't supported initially as it was an old tech... or smoothie not supporting "software endstops" (define axis lenghts) because DEVs didn't use it... Just because DEVs or a select group of people do something, does not mean that "most people" are doing the same.
Edit: no, not a flame on smoothieware, they have also nice firmware, just used as an example -
My my. That's a bit of an unnecessary rant isn't it?
Well, the Duet needs to default to either relative or absolute extrusion. Whichever one it is set to will upset people like you who use the opposite, so it's a no win situation as far as the Duet firmware is concerned.
For info, the default in Slic3r is relative, not absolute as you state.
However, it is such a simple thing to change that I really can't understand why you are so upset about it. Whatever the Duet defaults to, all you have to do is put either M83 or M82 in your slicers start code to tell it what to expect.
Take a few deep breaths and calm down - life is too short to get wound up about such a trivial thing IMO.
-
Maybe slizers are different?
-
My my. That's a bit of an unnecessary rant isn't it?
Well, the Duet needs to default to either relative or absolute extrusion. Whichever one it is set to will upset people like you who use the opposite, so it's a no win situation as far as the Duet firmware is concerned.
For info, the default in Slic3r is relative, not absolute as you state.
However, it is such a simple thing to change that I really can't understand why you are so upset about it. Whatever the Duet defaults to, all you have to do is put either M83 or M82 in your slicers start code to tell it what to expect.
Take a few deep breaths and calm down - life is too short to get wound up about such a trivial thing IMO.
It wasn't a rant. If you see that as a rant, I think you should take a few deep breaths and calm down - life is too short to get wound up about such trivial thing IMO.
It was constructive input that happened to pick apart the arguments used to defend a bad solution for the majority of the 3D community.
For some reason a lot of people just can't handle valid arguments used in a dicussion.
Edit:
@decingman:However, it is such a simple thing to change that I really can't understand why you are so upset about it. Whatever the Duet defaults to, all you have to do is put either M83 or M82 in your slicers start code to tell it what to expect.
Problem is, that M83 is not the norm, far from, and it's not documented anywhere either in a way people can figure out what it is. Means -> it's not pointed out as something you must check.
I suggested it be listed as an active choice.. which means the (minority) using this method can actively choose it for their builds, and the rest aren't confounded by a setting which aren't compatible with default settings of all the most normally used slizers.
Nope, not a rant either
Edit 2: Stop telling people they should calm down.. it's really very derogatory.
It's a multilingual forum and I myself is Danish, so I might be using words that should be substituted with something else, but well… I'm not naitively English speaking, so I might not have the intuitive understanding for the finer nuances.Telling me, that my arguments are invalid because of the tone is degrading to yourself.. come up with arguments against it instead.
-
Maybe slizers are different?
Yes, they are, but none of the slizers I listed (Cura, S3D, sliz3r) are using relative extrusion by default. It means the argument that "most people use relative extrusion" is plainly not correct.
Which is why I asked who all those people might be
This is not a rant either, in case anyone mistake it as such.
-
My goodness. Still wound up about such a trivial thing?
Let's put it another way. The default configuration for RepRap firmware has always been to set extrusion to relative. That stems from the very early 0.6 boards that RepRap pro used and when Adrian Bower wrote the original firmware, through the 0.8.5 boards to the latest WiFi and Ethernet versions. So everyone who has bought a Duet board up to this point in time, has got used to it. What you are proposing is that it should now be changed to default to absolute because that is what you want to use.
For info, I believe that by default, if no M83 of M82 parameter is used in the configuration file, the Duet will use absolute extrusion, which is what you want anyway. It's only the default configuration that sets it to relative and what goes into the configuration file is entirely up to the user. Rather than ranting on about developers or small groups of people choosing a particular mode of operation, you should be applauding them for giving you the freedom to select whichever option you prefer to use.
Your comments about slicers are much the same thing. That is to say that by default, many of them are set to use absolute but many can be changed to use relative instead.
That's the beauty of it all. Users can have whatever they want but whichever one they decide on, the Duet needs to "know" - it hasn't yet been fitted with crystal ball to foresee what any particular user may require.
Edit. Regarding the merits of absolute and relative extrusion, they are essentially the same thing. An absolute extrusion move is essentially a relative move. That is to say that it is a move relative to the start of the print whereas relative extrusion is relative to the last move. In fact, absolute extrusion moves must be converted to relative in order to extrude the correct amount of filament for a particular move. With absolute extrusion, it is vitally important that the extruder be zeroed at the start of the print otherwise the entire print will be thrown out. With relative extrusion, it doesn't matter if the extruder was zeroed at the start of a print.
-
Just to round off this thread
I'm not wound up btw - I just put forth valid objective arguments for my points of view. It's hard for a certain kind of people online to be met with real arguments I know, but it doesn't mean I'm wound up or anything. It's rather demeaning starting to attack people's state of mind, just because you don't agree (not directed at any particular person, but just in general).
Making counter arguments to dismiss what I'm saying is just silly… the goal is to find a solution to work for everyone, not phase out one or the other.[h]How to use Cura in conjunction with RepRapfirmware.[/h]
In Config.g you need to comment out M83 AND in Cura startup.gcode you need to put in M82 to make it work.
The Gcode Flavor to use should also be listed : RepRap (Marlin/Sprinter)[h]How to use Firmware retract in Cura[/h]
If you need Firmware retract you still need to do the above M83 and M82.
You need to insert M200 + relevant parameters in config.g and change Gcode Flavor in Cura to RepRap (Volumetric)¨
Also need to use firmware 1.19 (or newer)[h]Real Problem[/h]
The real problem is the lack of documentation on this issue, which is the the core issue I'm trying to point out.
For most people the absolute or relative extrusion is just babble, and is not cause for speculation when encountering this Extrusion problem.
It's a fundamental setup point which must match, and it should be pointed out in wiki, on each machine configuration examples AND in gcode wiki as well.[h]How to document:[/h]
Not just to tell what Absolute and Relative does an expect people to figure out the combination of M83 an M82, but make real setup examples like I just did above with Cura.Edits: Added info etc.
-
Actually it's only necessary to put M82 in the slicer start gcode to use absolute extrusion.
Absolute extrusion is a huge pain in the butt from a firmware development perspective. It bears no direct relation to the amount of movement made by the extruder stepper except in the simple case of a machine with only one extruder drive, the extrusion factor set to 1.0, and no G92 E0 received since starting to extrude. So all the calculations have to be done after converting to relative extrusion anyway. OTOH the firmware code for pause/restore, resume after power fail and filament change procedures all needs to have unnecessary complications added to handle incoming gcode with absolute extruder coordinates.
It looks like Cura will support relative extruder coordinates in the near future, at which point the advice and documentation can be just to set your extruder to use relative extruder coordinates.