Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Formulas Question #3

Open
Nibbels opened this issue Mar 11, 2021 · 14 comments
Open

Formulas Question #3

Nibbels opened this issue Mar 11, 2021 · 14 comments

Comments

@Nibbels
Copy link

Nibbels commented Mar 11, 2021

Hello mkudzia84 :)

Thank you for your great work again.

I am now investigating why the bottom of my prime tower looks overextruded. I especially print PETG+PLA as support. So two materials which might not stick good at another are printed into one tower. Apart from that my overextrusion seems to cause tension problems when the material cools down a bit.

So I installed pycharm, generated a debug scenario and looked into the code. I stumbled upon the part where calculate_E happens.

The circles to draw the pollar bands seem to be 0.2mm == nozzle_diameter apart.
But the material which is A_ex is described with a more complicated formula than just layer_height * nozzle_size.

A_ex = layer_height*nozzle_diameter + Pi*(layer_height/2)² - layer_height²
A_ex = [____] + (| * 0.68 + |) * 0.68
= ([____]) -> which is a bit more material than [____] = layer_height*nozzle_diameter
-> so the resulting flow percentage might vary squared depending on the layer_height used.

As the circles are 0.2mm apart I guess that the "rounded edges" might cause the overextrusion.
Solutions?
a) I suppose that else we should drop the rounded edges and just use 10% more flow depending on the nozzle diameter. And 10% stretched pillar bands to compensate that.
b) Or the pillar bands should be stretched to fit the flow, according to the formula part with the layerheight².

One thing here: I did not actually test any fix yet! Just thoughts.

Apart from that: In the last line a high extrusion-multiplier seems to decrease the flow
image
I would suspect that a E-multi of 2 would double the flow, not make it half.
Can you look into this? Maybe I dont see something, in that case ignore this.

Something weird that only occured while debugging:
image
I introduced round(layer_info.layer_height, 5) here to be able to debug. This did not happen when I executed the file using PrusaSlicer. (I am a total beginner when it comes to python)

@mkudzia84
Copy link
Owner

Fixed now, also new fixes - use G10 instead of M104 for temperature.
Fixed also retraction/detraction detection to differentiate between G10 retraction (No params) and G10 temperature (params)

Fixed and testes with new RepRapFirmware flavour in PrusaSlicer 2.3

@maracMB
Copy link

maracMB commented Mar 15, 2021

Thank you mkudzia84, thank you Nibbles!
I'll be testing this out real soon

@mkudzia84
Copy link
Owner

mkudzia84 commented Mar 15, 2021

Hello,

I did another commit - I rolled back the G10 temperature control to M104.
G10 is missing one feature - it doesn't put the heater into standby mode.

WIth M104 I would be able to set the temperature and immedietly trigger the heater into standby mode - allowing the tools to be preheated before initial use.

With G10 I have to wait for first activation

@Nibbels
Copy link
Author

Nibbels commented Mar 15, 2021

I saw this:
image
But don't know if it affects anything.

@mkudzia84
Copy link
Owner

fixed

@Nibbels
Copy link
Author

Nibbels commented Mar 15, 2021

Do I have to install the logger using pip? I have trouble to execute the new code with my previous installation.
I already downloaded python 3.9 and tested PrusaSlicer 2.3 but the script seems to work only when I download an old commit.

I will now try step by step when this started but suspect that I might miss some references?

@Nibbels
Copy link
Author

Nibbels commented Mar 15, 2021

My problem starts here:
1bc7b32
When the logger got introduced.
image
Same with python 3.8.x

@mkudzia84
Copy link
Owner

Hmm, I dont think its the logger as a dependency (as its part of standard python runtime) - might be the logger setting.
Can you do me a favour and try running the python tcspp script manually?
Might be more of an issue with logger settings and the log output dir/file

@Nibbels
Copy link
Author

Nibbels commented Mar 15, 2021

hmm that did the job I guess
image

@mkudzia84
Copy link
Owner

Pushed out logger.conf that only outputs to console, not to a log file.
Please check it out and try running form the slicer again.

@Nibbels
Copy link
Author

Nibbels commented Mar 15, 2021

image
:)

@Nibbels
Copy link
Author

Nibbels commented Mar 15, 2021

That is how I preheat all the extruders in my start.g
image
I dont know if M703 was really necessary.

@mkudzia84
Copy link
Owner

ill see if I can use this approach

@Nibbels
Copy link
Author

Nibbels commented Mar 21, 2021

When you have time again:
Can you review this?

image

I saw that G10 codes were generated with a Tn as Tool selector - which should be Pn I guess.

Another thing I read today:
From RRF3.3 onwards, the G10 usage to set tool temps might become deprecated:
https://duet3d.dozuki.com/Wiki/Gcode#Section_G10_Tool_Temperature_Setting
->
https://duet3d.dozuki.com/Wiki/Gcode#Section_M568_Set_Tool_Settings

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants