teachingtechyt / teachingtechyt.github.io Goto Github PK
View Code? Open in Web Editor NEWLicense: Creative Commons Attribution Share Alike 4.0 International
License: Creative Commons Attribution Share Alike 4.0 International
I used the temperature tower with PETG and it printed too fast, would be very helpful to have a field to enter the desired print speed.
Is...
5. Enter your reliable feerate and filament diameter below:
Should be...
5. Enter your reliable feedrate and filament diameter below:
I was looking a little bit at the code and I saw something like this in the retraction
retraction = retraction.replace(/G1 E-6.0000 F900/g, "G1 E-"+a1+" F"+a2);
retraction = retraction.replace(/G1 E0.4000 F900/g, "G1 E"+a3+" F"+a2);
// B section
retraction = retraction.replace(/G1 E-7.0000 F1200/g, "G1 E-"+b1+" F"+b2);
retraction = retraction.replace(/G1 E0.6000 F1200/g, "G1 E"+b3+" F"+b2);
the problem is if someone enters the value 7 in section A, then the code above will replace the 6 by 7, then replace the 7 by the value entered in section B resulting in section A and B be the same. I know the feed rate would also have to match which makes this issue not likely to happen. But I'm assuming there is similar code in other places.
A better approach is to use placeholders in the original gcode. So if in the original gcode you replace "G1 E-6.0000 F900" by something like "G1 E- F" then the code could do:
retraction = retraction.replace(//g, a1);
retraction = retraction.replace(//g, a2);
or in a single replace as you have
retraction = retraction.replace(/G1 E- F/g, "G1 E-"+a1+" F"+a2);
The first example above could be used to add a comment section at the beginning of the gcode with all the selected values from the web form.
You could even replace the whole line in the original gcode by something like "" then in the code you would do
retraction = retraction.replace(//g, "G1 E-"+a1+" F"+a2);
It would be very useful if there was support for start/end Gcode scripts. This would also allow for multi extrusion machines as you could insert a 'Tx' command and whatever script your machine uses. Also, this could help for purge buckets, prime lines, and nozzle wiping. This could allow for calibrating parameters like retraction with dual extruder machines, where the Hotends are marginally different, or with different extruders/filaments, ect.
Z Hop motion can be unnerving. Usually generates many threads and give the impression that a value higher retraction is needed.
Disable Z Hop is a must.
It would be helpful to have more options for cooling fan settings in all of the gcode generators. Being able to set a percentage @ a layer would assist people with less standard build surfaces.
In many types of calibration we need temperature and retraction values, but they are in the end of list. May be better do temp/retracts calibrations before use values.
Hi there, fantastic idea. One thing I always do is print 5 squares/circles on my bed to check leveling as per this: https://www.youtube.com/watch?v=RZRY6kunAvs&list=PLyelYMwIkPd4SlwcBTDj92t0eyGpvzIkB&index=2&t=196s
I find it an important step to double check leveling and distance is set correctly. The amount of newbies on FB group I've suggested this to, and its helped them proves its an important test print to run. Would be great if your tool could generate the test gcode.
https://github.com/teachingtechYT/teachingtechYT.github.io/blob/master/js/gcodeprocessing.js#L227
this is the only similar line that doesnt have TO
after the home all axes/, "M109 S170
the slicer flow calibration test doesn't take into consideration horizontal expansion. the method shown for calibrating slicer flow doesn't take this into consideration and can lead to the issue you mention at the bottom of the page re under extrusion it maybe worth checking an tuning this to a degree before adjusting flow as this setting can also reduce elephants foot and bulged corners
The retraction calibration test gcode came out odd-looking. I printed on an Anycubic Predator and on the second layer the hotend heating was turned off and the printer halted. That is why it has a blob on it. It never did such things.
I used decimals in the retraction distance values, so it might be an already mentioned issue.
I would suggest using two perimeters for the calibration of flow rather than a single perimeter.
Gcode generates with M140 S{bed_temp} in two consecutive lines:
...
M140 S{bed_temp}
M140 S{bed_temp}
...
rather than:
...
M140 S{bed_temp}
M190 S{bed_temp}
...
I have to set my extrusion multiplier for my current role of filament to 1.06 to get accurate results, however none of the subsequent G-Code generators have anything that allow me to take that into account, so for the retraction tests, if I use the websites GCode generator, it will be generated using under-extruded filament, which I feel like might throw off the retraction calibration.
My only option is to slice the models myself, which is tedious and loses one of the big benefits of the site. :)
Can you include a parameter for Extrusion Multiplier to each of the subsequent calculators?
Printer: Prusa MK3S
Working my may though the tuning process it would be nice if I could also use the calibration values I've found through the process on the next steps.
For example, my flow rate went from 100% to 79%. Unsure how much an effect it may have but could the extra flow rate (what I assume to be 100%) from the generated gcode affect retraction and/or temperature towers results?
My suggestion is to add extra fields for the generation of the gcode that can include the values you've previously found, like flow rate, retraction tuning.
Edit: There are already requests that are similar to this one.
I always have Cura do a purge line prior to starting a print to get the filament flowing and use the skirt to see if I need to adjust baby steps.
I got through all the other testers without any issues but trying to run the gcode for the acceleration test keeps causing an error on my printer that forces it to shut down.
Octoprint shows me "Reported error: ?J out of range (0.01 to 0.3)"
First time was leaving the jerk at 8 changing the acceleration 300-800 in 100 increments. I tried that gcode twice to make sure it wasn't a random error. The third time I reset the acceleration to all 500 and then adjusted the x jerk to about 4-9 (don't recall specifically 100%). But each time did the same thing, it started printing getting through the first section then caused the printer to error and show that code in octoprint.
Once a good flow parameter is found, there is no way to use this parameter when printing the retraction tuning or temperature tuning prints
Extruder E-steps Calibration page says "Now heat up your hot end to whatever temperature you usually print with."
This is incorrect. If extruder is under load, fillament will slip over the gear slightly and you will get wrong results, e.g. different results for different fillaments or different gear tension, if extruder is capable of adjusting it (like BMG).
In case of bowden setup calibration can be done with bowden tube detached.
In case of direct setup, the calibration can be done with backwards movement or with dismounted extruder.
I followed the steps of the Extruder calibration and I've forgotten to set to absolute mode again.
Thanks
Of the 4 prints I've gotten to complete now all look like crap. The bridges have bad defects at all temps. I just printed a skull with horns yesterday with the same filament at 190 and it turned out beautifully so I'm a little perplexed. I tried a different bridging test from thingiverse to compare the results, printed at 190, and it turned out just fine. So I think it's a problem with the code generated by the site.
Here you can see what I mean. The one on the left starts at 185 and the one on the right starts at 190. Both increment by 5 degrees going up. Normally I print at 190 with this filament.
HI Team
First I have to say thank you, All calibration for your machine in one place. I am eternally grateful and appreciate the effort put forth.
I have several machines, I am suspecting that most of the code here is designed for a .4 Nozzle. Is there any way to add the option of different nozzle sizes, personally I print with .4, .5, .6 and .8. I am suspecting some of my calibrations are off because of the nozzle size.
Any chance we could see a nozzle size option in the calibration options?
Thanks again for all the hard work you did on this, Its awesome.
For a fair comparison of the newly tuned parameters with the base line cube, the base line cube generator should allow to optionally set the parameters that have been found in the tuning process.
Namely:
See title, it only allows you to input whole MM numbers so you cannot finetune, while in the example picture it clearly shows decimal values in the input boxes.
May I suggest that you add a variable to print the first layer (or base) of the Temperature Tower at the value of C. That way it will be a midrange temperature whether people print from low to high or high to low. The current settings may cause trouble with bed adhesion if people choose too low a temperature for the first layer.
BTW I love this website and imagine it will make tuning more accessible for new users.
Trying fourth time as I type this. Every time the printer just stops after it starts on level B. The print head is unlocked and no more filament is coming out. It just stops dead. Using a Bibo2 Touch. Tried redoing settings, reexporting from site. Same file size every time and same result.
It would be nice to have a drop down of preset variables for the types of filament.
so if I select the petg dropdown. It would fill in some defaults for like 230-250 or something like that with bed temp at 80
Hello,
This is an awesome project, thank you for creating this. I mostly use a 0.6 nozzle so some of the tests did not print correctly for me, it would be awesome to have options for different nozzle sizes. Thanks again!
Just wanted to bring up what appears to be three issues on your Acceleration Tuning page.
Firstly, there's no indication that the model has been deliberately rotated. At least, I believe you've deliberately rotated it. The X is embossed on the side parallel to the Y axis and vice versa, which I'm assuming is to indicate which acceleration/jerk is responsible for the ringing occurring on the print. It's possible you mention this in the video but I didn't find it when scanning through quickly.
Second, the generated GCode isn't 100% compatible with Klipper firmware. While Marlin seems to not mind the missing T parameter for M204, Klipper will completely ignore the command by design. Using the legacy (at least in Marlin) S parameter works fine, as does specifying both P and T (which Klipper will take the lowest of). I'm unsure how RepRap handles the missing parameter as I don't have a Duet-based printer, though I suspect it's more graceful than Klipper.
Lastly, I feel as though a better demonstration picture may be in order - or perhaps at least a little more explanation. While I can see the subtle reduction in the after-ringing that you're talking about as you go down the accelerations, there appears to be more pre-ringing as you go down further as well. I'm unsure whether you consider this a non-issue or if it is your intention that this be solved by way of a different method (jerk/JD tuning? Linear advance?) that isn't mentioned. Personal opinion, it's a toss-up between 500 and 600 due to how even it is on both sides, where 400 seems to introduce noticeable pre-ringing.
Otherwise (and these are admittedly only minor), major kudos for the effort. The GCode generation has finally inspired me to finish dialing in my settings, mostly because of how much of a nuisance it is to do the same with Cura. Frankly it's easier at times to manually edit the GCode, which is unfortunate given how well the rest of the program tends to work.
In some slicers like Cura, some parameters are expressed in volume instead of mm as the additional distance when returning from a retraction.
I think a volume-distance calculator that takes into account nozzle size would be very useful on that tab.
I'm not sure if I should use the nozzle diameter or the filament diameter for the calculation.
Many of us use nozzle sizes larger than the standard 0.4mm bore.
Even in those unknown sizes where there are no good parameter guides, experimentation and calibration becomes more necessary.
Currently the navbar overflows with tabs and looks kinda messy. In order to make the tabs fill the width, I suggest setting display:flex on the container and increasing the mobile navbar breakpoint to 1080px.
If more stuff needs to get added later, then maybe sorting the pages into dropdown categories would be better.
Hi there,
For acceleration with Jerk of 8 the generated gcode is:
M205 J8 Y8
Which is command for Junction Deviation
Need to be:
M205 E8 Y8
Checking 'additional start gcode' in baseline print causes no gcode to be generated when pressing the button at the bottom of the page. I changed the bed size (250x210), ABL method (Prusa MK3) and retraction distance (1mm) and it generated the code fine, but it would not generate when I attempted to add a purge line at the beginning. I even tried it with the box checked and no code in there, and it generated fine after unchecking the box.
I've found that many slicers default to having the same Retraction Prime Speed as the Retraction Speed. This means for fast retractions the filament is going back into the nozzle area very fast.
Just reducing the prime speed by itself has greatly reduced the stringing I was getting with no further change to the the other Retraction settings.
Please consider adding a prime speed calibration to your Retraction Calibration. For PETG this helps a lot at reducing the zits and blobs during the reload extrusion move. I believe Simplify3D has a different name for the setting than Cura does, but it helps in both slicers.
I have used this setting with both Bowden and direct drive.
My Bowden has a Retraction speed of 55. A prime speed of 15
My direct drive has a Retraction speed of 20 and a prime speed of 10. (I haven't dialed in the prime speed yet, 10 seems to work better than 15 did for me. There is less slop in a direct drive regarding room for the filament to build up and store spring energy on its way to the nozzle.
A Nice feature would be a ironing calibration tool, Ironing is used to get a smooth finish on top of the print. Its quite hard to find a good setting so a ironing calibration tool would be nice to figure out which settings are the best. instead of doing multiple prints, print one simple stair case and on each level it have different ironing settings.
Might want to check out the retraction calibration I created.
prahjister.duckdns.org
I changed my chosen parameters on the retraction tuning tab and then thought to label my first test. I looked inside the GCode to see if I could see what my choices were, they were not there. It would be helpful if the parameters the user chose are written to the file as comments for later discovery/recovery.
These comments could also be machine parsable, allowing the calibration tool to read them back.
Due to the introduction of negative numbers, the G-code generation for delta printers is very much broken.
Ex: Top layer of Baseline Calibration Cube for delta printer:
The problem is caused by decimals being ignored when offsetting the print.
E.g. one of the first G1 commands in baseline.js:
G1 X37.985 Y35.136 E0.1737 F1800
This is given an x and y offset of -50, which should be G1 X-12.015 Y-14.864 E0.1737 F1800
.
However, only the integer part of the values are used in the calculation, and then the old decimals are just pasted back on, which results in G1 X-13.985 Y-15.136 E0.1737 F1800
.
I believe (but have not confirmed) that a fix would be to change the regex here to /X\d+.?\d*/
and to use parseFloat
rather than parseInt
when calculating the new value. The same will have to be done for the Y-offset, of course.
Hi there,
Very good calibrations pages. And first thanks a lot for this !!
Maybe an useful other calibration test is for X,Y and Z steps motors. => M92 + M500
With xyz cube or other xyz calibration models more efficient with bigger length.
The Temp Calibration tower is not changing. I have downloaded the gcode a few times with different temps to see if there would change. In one instance, i started at 195 and for each section, raised the temp 5 degrees stopping at 215. according to the gcode, at layer 51 it goes straight from 195 to 215 and at each new temp section remains at 215. I've included the portions of gcode that downloaded. I went in and changed the temp changes manually and they worked fine.
M82
M106 S0
M140 S60
M190 S60
M104 S215 T0
M109 S195 T0
G28 ; home all axes
G29 ; probe ABL
;M420 S1 ; restore ABL mesh
; process Color1-6-1
; layer 1, Z = 0.200
; layer 51, Z = 10.200
M104 S215 T0
; layer 91, Z = 18.200
M104 S215 T0
; layer 131, Z = 26.200
M104 S215 T0
; layer 171, Z = 34.200
M104 S215 T0
Hi again,
Some or all slicers like prusaslicer, cura, ... have in theirs configurations feedrate, jerk, acceleration, .... parameters, so if change it in Marlin with M500 it's override by generated GCode.
Maybe add in each pages the place of the parameters in commons slicers. (For many of slicers it's a little hidden, have to switch to expert mode or choose all parameters visible)
Thanks again for your work :)
Calculating maximum feedrates has the wrong G1 commands....
For example... G1 F50 F120 should actually read G1 E50 F120
Bed Dimensions
Is....
In the centre button is checked,
Should be...
If the centre button is checked,
Part Cooling Fan
Is....
PLA typically has the part cooling fan come o n from layer 2. Alter thi default bahaviour here:
Should be....
PLA typically has the part cooling fan come on from layer 2. Alter this default behaviour here:
These guys did a great job and created the GCode generator that allows you to adjust the temperature and retraction at the same time. on-line version
The problem with their code is that it must be fully executed two times:
If for the second time there was a reduced tower (20x20 for example), it would cut a lot of time.
Hi. Can you add ways to get the printed results accurate?
Such as control over expansion and hole sizes
I've generated (and printed) a gcode-file for retraction-tuning and noted that the towers start only at layer 11.
currently:
layers 1-3: solid
layers 4-7: infill
layers 8-11: solid
So lowering the "base plate" from 2mm to 1mm (or even 0.8mm) should be enough.
While looking at gcode commands I have noticed a lot of numbers end with things like .99999999999 or .00000000001. These are the results of rounding errors in the code. While it probably wont effect the tests much, it is indicative that the wrong functions are being used somewhere.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.