Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Nozzle temperature during auto-levelling #5

Open
chickenskin opened this issue May 17, 2023 · 9 comments
Open

Nozzle temperature during auto-levelling #5

chickenskin opened this issue May 17, 2023 · 9 comments
Labels
enhancement New feature or request

Comments

@chickenskin
Copy link

Hi,

The S5 heats the nozzle up to the printing temperature of the installed filament for the levelling procedure, this means that if you use a coated print bed (say PEI), the nozzle will met little areas of the bed during the levelling procedure.

If the nozzle temperature was reduced to say 150 - 160C for this procedure, then this melting wouldn't occur. I'm trying to find where this temperature instruction is located, I think it's probably in the prePrintProcedure.py file.

Anyway, just an idea for the next version of UltiTuner.

Thanks

John

@rachael7
Copy link

Hi John,

I'm not an expert, but I've played with this machine a fair bit. I do not think you are going to find a hardcoded temperature in any of the procedures, but rather a call to the material library to get the temperature for the loaded filament. When you find that call, you can either do some math on the returned values, like multiplying by a correction factor or subtracting a fixed amount, or you can change that to a fixed value instead of a function call. But I strongly suspect that what you're looking for in the Python is a function call to the materials database that returns the temps, rather than a fixed value.

Rachael

@chickenskin
Copy link
Author

chickenskin commented May 17, 2023 via email

@rachael7
Copy link

You're very welcome John, and thank you for doing this work. You are definitely not the only one who wants this. Even if Smithy doesn't integrate it into UltiTuner, I would happiliy make the changes manually, if you identify what Python files we need to look at. I like the PEX and PEI build surfaces from WhamBam a lot; but I get little pock marks at every probe point because of the hot nozzles, which really limits their use.

Fwiw, I don't think the nozzles are actually melting the PEX/PEI - both are high temp materials that should be relatively stable at most common printing temperatures - instead, I think the nozzles are melting/vaporizing the adhesive in the spots where they probe. That would explain why I see no damage to a powder-coated PEI plate after many probings, but I do see damage to PEI or PEX film after the very first use. I don't know if there are adhesives that remain stable at higher temps or if there is a way to do smooth PEI powder coating, but those could be alternate directions to look for a solution.

@chickenskin
Copy link
Author

Funnily enough I discovered this whilst using a wham bam plate - and thought to myself that this can't be that difficult to fix! So hopefully not. I'll post whatever I find up here.

@SmithyAT
Copy link
Owner

Hi
I have done some research at the beginning of the UltiTuner project to understand how the firmware works and can say it is hard to read and to follow. The good thing, most of it is pure python, so readable and changeable.
I am limited on free time, so I cannot promise to find time to look into it, but if you find something, I am happy to add it to the UltiTuner, because you are right, it is something a lot of users are looking for.
Personally I am using Filaflex plates and for these plates it doesn't matter if the nozzle is hot.

@SmithyAT SmithyAT added the enhancement New feature or request label May 17, 2023
@rachael7
Copy link

Hi I have done some research at the beginning of the UltiTuner project to understand how the firmware works and can say it is hard to read and to follow. The good thing, most of it is pure python, so readable and changeable. I am limited on free time, so I cannot promise to find time to look into it, but if you find something, I am happy to add it to the UltiTuner, because you are right, it is something a lot of users are looking for. Personally I am using Filaflex plates and for these plates it doesn't matter if the nozzle is hot.

Thanks, Smithy! Chickenskin and I will figure this out, I hope. It's been bugging me forever and the solution should be possible. In the meantime, did you mean "Filaflex" or "Fulaflex"? I can only find flexible filaments from Filaflex, no indication of build plates. Thanks again!

@SmithyAT
Copy link
Owner

@rachael7 Ups, sorry my fault, it is called FilaFarm ;-)
https://www.filafarm.de/en/collections/wechselsysteme/products/switch?variant=12254570217583

@DBMcoder
Copy link

DBMcoder commented Apr 8, 2024

Oké exactly this issue is bugging me a lot also! I'm using the Buildtak flex system with flex plates PEI sheets and have the same dents in them. Although PEI should hold it looking at the HDT, I found in the material properties that for the 'hot ball pressure test' PEI only can last 125 degrees C tops. Printing with ABS means a nozzle of 255C...

Would love to help out and fix this. Maybe we can even add it to Ultituner? This would also give me the chance to 'open up' my S5 a bit to tinker and tweak more. I can code Python but it's rusty.. (don't do it often enough).

As a first hint from reading about the bed levelling procedure, the heating of the nozzles is there to push leftover filament from the last print (or the purge if you have material station) off, or aside, so the nozzles actually touch the build plate and not filament residue.

So I wouldn't tinker with the temperature, it needs to heat up to material spec to make sure it melts or is soft enough the be pushed off. I you look at the procedure it first touches with both nozzles one time, then homes and then starts the actual bed levelling probing. And then the heating of the cores is off to prevent interference with the touch sensor.

So my idea is that we let the nozzles cool off to 110 degrees C, after the first 'squish filament away' touch and before actual bed levelling probing starts. That will give one dent in the sheet, but saves the rest and will give actual better bed levelling (because no dents anymore)

Things to find out:
What files make up the bed levelling procedure?
Is the first touch (of each nozzle) excluded from the bed levelling correction?
What is the instruction or code line to set the nozzle temperatures to a fixed and hardcoded value (maybe set-able later in Ultituner)?
How can we make sure no filament oozes out during the suggested cool down stage? (Cuz this will ruin the bed levelling procedure) Always retract for instance?
The nice to know question would be how this is done on the S7, who has a flex plate fitted standard...

Who will/can help with this?

Love to hear,

Dennis

@SmithyAT
Copy link
Owner

SmithyAT commented Apr 8, 2024

The hard thing is, to find the correct files. It is really hard to understand the firmware and how all these files are working together. Luckily the OS is linux, so you can try to grep to find something interesting and then look deeper into it. But as far as I remember you have files with functions, then files with variables and constants and not everything is managed directly with python functions.

Additionally I am not sure how important the nozzle temp is for the material station. Ok, during the probing it should not matter how hot it is, but I am not sure if a function or constant is maybe also used for the depriming feature (or how it is called) to form a nice tip on the filament. So be careful with it in case you have a material station.

If you turn on the developer mode of your printer, you can ssh into it, and try to find the files in charge for the leveling function. Then you can also just edit that file, it is pure Python. Just be careful that you don't brick your printer, which could happen easily, in case you have an error in your file. UltiTuner is using the same "technique", it does ssh to the printer and modifies specific files.

To be honest, it would be much easier to switch to an another build plate. FilaFarm an others don't have the issue like the Buildtak. Also the new S7 has a coated steel sheet and it doesn't care about the temperature too.

I can implement your findings to Ultituner when you provide all the details, what needs to be done. But I cannot help to find the files or how to change it, because I don't use Ultimaker printers anymore.

Good luck!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants