You need to do it by USB serial connection… I dont konw why but Snapmaker firmware doesnt support all commands via Wifi
Boy, it would be nice if snapmaker updated the base extruder rate for people who have the original value in there now, to something much more closely resembling accurate…
@NilartPax There can’t be a perfect blanket value. It’s impossible to have each extruder on every machine to be the exact same as each other. Unfortunately we don’t live in a perfect world and the metallurgy isn’t flawless. Not only that, but e-step calibration value that needs to be set can vary from different types of filament. Then there’s the human error variable, it’s impossible for us to measure it the exact same every time, I think this is the biggest variable when it comes to the calibration, we can only be close, it will never be perfect. I do agree that they should definitely be able to hit closer to the ballpark of what it should be, example: something like 232.31 would be better than 212.21 that comes from the factory.
Yah I realize that. It’s just so far off, and everyone is adjusting in the same direction. It could be closer for everyone out of the gate is all I’m saying.
Hello fellow Makers
Great discussion, but I do not get one thing (probably more, but about it later)
Why you use code like:
G1 E100 F300
At referred https://teachingtechyt.github.io/calibration.html#esteps
original feed rate is 100.
Generally at different feed rate I get different result of esteps:
F300 → E256
F200 → E245
F100 → E224
Moreover, I tried to check next step (flow rate calibration). I kept constant flow rate 100% and changing e-step (yes, I know - it is not the way how to conduct the flow rate calibration :), but this is not the point). Anyway… I conducted an experiment to print single wall cube with different esteps setting.
E256 → 0,49mm
E224 → 0,44mm
E212 → 0,40mm
This is quite logic → higher esteps, more material is pushed, thicker walls are printed.
Next point: I evaluate some old g-codes (different geometries) and mean ‘consumption’ is 25-60mm of filament per minutes (depending on quality etc.) thus F100 or less for me seems more reasonable.
What do you think? do you also get different esteps value for different feedrate?
There was quite a bit discussin about in the forum.
The thoughts and guessings are different.
Some people calibrate their e-steps without nozzle. This would not compensate slipping of the gear, like it does if you extrude really slow like 100mm/min.
I calibrated my esteps to 250 a few months ago.
Sorry i can’t help at this point, didn’t thought more about…
so before i proceed with the measurements and such. i believe i am over extruding, the filament is leaving travel lines. is the process the same? i have a SMA350 and am using SM filament.
@OmiciOus the process is the same, but if you believe it’s over extruding then measure a length of 110mm, just be sure to minus off that extra 10 during your calculations, since you’ll be telling it to extrude 100
this can also be caused by the nozzle temp being too hot for the filament (i managed to force this other day when i printed at 250c for PLA, as part of testing only, lol).
Also you have retraction enabled in your slicer right? This helped for me.
a friend of mine gave me a decent crash course and got me up to date on a lot of things. i just updated the firmware also its coming out very clean. will check after this print on how the extrusion is
thank you, just updated the firmware and ill check the extrusion after this test print
I have Octoprint connected to the Snapmaker, they have an android app that does everything including monitoring. It also has a terminal screen if you need it. Cura will also connect directly to the Octoprint running on a small Rasberry Pi.
- Connect a computer to the Snapmaker control unit by the supplied USB cable.
- Connect with Luban. You will use the terminal there to enter Gcode values.
- Install the filament you want to use for calibration.
- Make sure it is extruding normally. You will need the nozzle at the correct temperature for the filament.
- Mark the filament exactly 120 mm from the entry point to the extruder.
- Send the Gcode M83 (Extrude Relative Mode)
- Send Gcode G1 E100 F300. This will try to extrude 100mm of filament. ([Linear Move Including Extrusion] [Extrude 100] [Feed Rate 300mm/min])
- Measure the remaining distance of the mark on the filament from the extruder. Call this value R.
- The actual amount extruded is A=120-R.
-
The correction factor C=100/A needs to be applied to the existing calibration.
-
Send the Gcode command M503 (Report Settings).
-
Note the M92 value in the result. It might have something like E212.21 at the end.
-
Calculate the new M92 value by multiplying by C: New value = C*Current value.
-
Send the Gcode command M92 E<new value> (Set Stepper Value) and press enter.
-
Check that the value has changed with the M503 command.
-
Enter the Gcode command M500 (Save Settings) to update the firmware.
-
Repeat the extrusion measurement to make sure A is close to 100.
The math:
A=K0E is the actual amount extruded with the current calibration K0 for E steps of the extruder.
We want to calculate the correction factor such that we get the desired value D:
D=CK0E
The ratio of D to A gives C:
D/A=(〖CK〗_0 E)/(K_0 E)=C
So, the new calibration factor is K1=CK0
I started a new topic about adding extrusion rate feedback to the extrusion module. This should solve all problems.
I’ve been having trouble with successfully zeroing out the extruder calibration.
As most have mentioned, out-of-the-box E-value is E212.21.
- After 1st run, remainder was 18.75mm, leading to new E-value of E261.18
- After 2nd run, remainder was 13.25mm, leading to new E-value of E301.07
- After 3rd run, remainder was 13.25mm again… following correction calculation would made E-value of E346.66. I did not add this value to my SM2 as I haven’t seen any other users even break E300.00
I thought perhaps something was resisting filament getting through hot end, so I swapped the spare provided with the original kit onto the extruder, reset value to E212.21, and re-ran the calibration. Exact same results with run-away E-value.
Does this calibration still apply to most recent SM2 (the “T” versions, A350T) and most recent firmware updates?
@MerkXR4 there is something wrong with your numbers. If you have less than 20mm left, the number should be going down, not up. Are you using:
I put my original mark at 100mm, instead of 120mm… so you can add 20mm to my first remainder of 18.75mm to make it 38.75mm for calculations following the link you sent.
If G1 E100 F300 = ([Linear Move Including Extrusion] [Extrude 100] [Feed Rate 300mm/min])
Machine was told to feed 100mm and only 81.25mm was fed in, giving me the 18.75mm remainder.
In my mind the M92 E###.## needs to increase to feed the additional 18.75mm, which slightly reduced my error after the first run, but not close enough to zero out the calibration. Also… my error seems much higher than others mentioned in this forum.
Is the filament stripping? Is your nozzle partially clogged? Can you easily push filament through by hand with the door open?
Your results are not explainable by M92 calibration, something else is going on. 300mm/min seems aggressive - you might be commanding excessive feed pressure for your temperature and nozzle.
Initially I was using F300 but read somewhere to slow it down. I went down to F150 and got a lot closer. F300 was about 15mm short for me compared to F150.
@brent113 & @MarkJ , good call regarding slowing down the feed rate.
My issue was as brent113 said: "excessive feed pressure for temperature and nozzle"
The material was not melted enough to squeeze it thru the nozzle at 300mm/min.
I was using the 300mm/min parameter as it was suggested a few times in this chain - being the Snapmaker forum I trusted that parameter was ok!
I feel my procedure helped me achieve perfect calibration in the end.
My Procedure
- Clear Hot End of material
- Heat to temp; unload material; cool down
- Open Extruder front door and loosen Hot End set screw; grab cooled hot end tip and remove
- I chose to leave Hot End hanging from wire; safest option would be to disconnect Hot End and set aside.
- Install filament into Extruder just past the feed gear; close door securing filament
- Mark the filament flush with the top of the opening where filament enter Extruder, using razor blade/Exacto/scribe/etc.
- I used a standard flat razor blade and laid it flat against entryway, and slid it horizontally into the filament. Tried to mark most of the filament’s outer diameter so it would be easy to find later
- Send Gcode “M302 P1”. (Disable Cold Extrusion Checking)
- Send Gcode “G1 E100 F200”
- Feed rate is now flexible since there’s no material being melted and forced thru nozzle
- Mark the filament again as done in Step 4.
- Cut filament above Extruder
- Send Gcode “G1 E100 F200” to remove measured sample from Extruder
- Measure the distance between the two marks made (Step 4 & Step 7). I am defining this as “A”.
- I used a metal ruler. Each line for a mm on the ruler was about the same thickness as the mark left by the razor blade - this made it very easy to see my measurement down to a half/quarter of a mm.
- Calculate Correction Factor then new M92 value
- Correction Factor (C) = 100/100-A
- New M92 value = C * M92_current
**M92_current obtained by Send Gcode M92 (value is numbers form E###.##)
- Send Gcode “M92 E”
- Send Gcode “M500” (Save Settings)
<may want to repeat Steps 3 thru 10 to check “G1 E100 F200” creates a 100mm length>
- Send Gcode “M302 P0” ([re]Enable Cold Extrusion Checking)
- Send Gcode “M500” (Save Settings
- Reinstall Hot End to Extruder
- Go print something