FR: Thermistor offset, to correct for block vs nozzle difference- UHF hotend relevent

I have created a UHF (ultra high flow) hotend through the use of a Vulkanizer attachment (UHF adapter). The hotend is based on a V6 style block with the vulkanizer.

The system works well, but after measurements I can see there is a 30C difference between the block temp and nozzle end temp.

With the increasing use of UHF hotends I imagine this type of thing will become more common.

So, It would be very nice to have an offset that can be applied to a thermistor so that Nozzle temps can be used to drive the slicer & Klipper rather than block temps.

IMO the reflex to counter strange / bad hardware with software is some sort of a odd habit. Let’s face the facts:

  • You have a hotend that is build in a way that it heats the block but not the nozzle
  • The position of the temp sensor is such that it only measures the block temperature

Now you ask for a feature that cooks your filament while passing through the block with 30°C higher temperature in order to have the correct temperature at the nozzle tip?

Its not that outrageous. Its not strange or bad hardware, its commercially available and widely used. I don’t think it can be called a habit. Wow, you have quite a gift for making the mundane sound inflammatory.

UHF adapters are a very good solution to dramatically increase flow without much expense. These UHF adapters are increasingly popular and I think we will only see more use for CoreXY.

However, they do increase the difference between the block and nozzle temperature. This gradient surely exists with all hotends, but using a UHF adapter exaggerates this temp gradient to the point it requires compensation.

I do think an offset for a thermistor is a good feature as it would allow users with UHF temp difference to continue to think in terms of nozzle temperature rather than block temperature. I guess it should be a percentage offset. I only tested the temperature difference at the range I use for ABS. That is where the 30C comes from.

Just to be on the same page: We are talking about something like this?

Yes, that is exactly right. I think that one is even longer.

They work! 50% more flow instantly. Then you can use a CHT, and now your V6 Block is driving a UHF hotend.

And, its a hell of a lot cheaper than buying a Rapido.

Without wanting to sound rude: For me this is a prototype of bad hardware. If I needed an example, I’d choose this. Why?

Lets compare with a “real” volcano hotend:

Topic Real Volcano UHF Adapter Consequence
Heat-block Upright, going along the entire thread of the nozzle “Flat” only catching the smallest potion of the nozzle Heat needs to flow though the small “throat” on the adapter vs. big contact area on the real one
Cartridge position Parallel to the nozzle 90° to the nozzle The entire cartridge is heating the nozzle on the real vs. only heating the block on the adapter
Sensor position Roughly in the middle of the nozzle Max possible distance to the nozzle On the adapter the measured temperature has absolute nothing to do with the nozzle temperature
Heat loss Only a small potion of the nozzle (tip) is portruding from the block Nearly all is sticking out of the actually heated block Big heat loss due to high delta temperature between nozzle and ambient. Highly susceptible to air flow from fans

From the physics it is just impossible to get anywhere close to the target temperature in the actual nozzle. Just increasing the target temperature by whatever offset is no solution either, since you will put a lot of thermal stress to the filament in the (too) hot area of the block. Imagine your 30°C offset and ABS: It would mean the filament gets molten in an area that is around 290°C while you want to keep a printing temp at ~260°C.

Just because it is commercially available does not mean it makes any sense.

1 Like

That is German levelheadedness.

Only because something works somehow it does not mean it is a good design.
As you see this causes an offset that a good design minimizes by default.

Just to keep track of what we are proposing here…

Me: 3d printing software should have features to support common hardware that people use.

You: You should use hardware I approve of.

I’m not going to weigh in on the design, but I wonder why this feature is needed? If you know the temperature delta, why can’t you simply adjust the temperature in your slicer? We all do this to some degree when running temperature calibration prints to verify the best temp for a particular filament on a particular printer.

I had never heard of “Ultra High Flow” nozzles before this thread started and when I did a Google search on the term, this is what came up in the first few entries:

To be fair, with a bit of scrolling I found a Dragon Ultra High Flow hot end but I think you’re exaggerating somewhat when you say that UHF hot ends are “common hardware that people use”.

Now, to get back to the point, I think you’ve mistaken a valid question as an attack on your work.

If you have a 30C difference between your thermistor is and your nozzle, that sounds like to me there still needs work to be done on the design. As @Sineos pointed out, in order to get the correct temperature of the filament at the nozzle, the heater block must be at a much higher temperature elsewhere which may place the filament out of specification.

Well, we have different views here:

You are requesting that someone will develop, document, constantly maintain and support a feature that you would like. Notwithstanding the fact that:

  • A work-around exists that @jakep_82 pointed out
  • The feature potentially being detrimental since it may significantly impact the quality of the filament due to too much thermal stress
  • Is targeted at a hardware design that is pushed to the market to make money but does violate about every rule of thermodynamics and good design (Just for comparision: A regular Vulcano heat-block is between 2 and 8 USD on Ali)

Hi, I’m a rookie with 3D printing.
This goes with @jakep_82.

You do want to control your “block temp”, do I get that right? Where is your temp sensor located? Hopefully at your “block temp” part.
If I get that right, why don’t you just ‘pretend, that your “block temp” is the “nozzle temp” in Klipper’? You know the delta temperature between “block temp” and “nozzle temp”. Shouldn’t that be constant in an environtment of 18°C-22°C?

You just want to control ‘one temperature’ on your hotend, or? In my eyes, you don’t need to change anything in Klipper.

If I’m wrong, please explain! :wink:

Okay, lets do these one by one.

Is this true? Would it introduce significant thermal stress? How much more than the usual act of melting the filament? Say heating ABS to 290 for a moment rather than 260. What is the impact, how is it quantified?

I don’t want to keep my filament at 260C. I simply want it to exit the nozzle at 260C. I’m fine with it reaching a higher temp prior to exit. I’ve seen no negative impact. No additional stress that would manifest as warping.

I use it. It makes sense. I’m happy with its operation.

Thank you for your concern for my filament, I’m sure it appreciates your efforts to keep me from using it the way I want.

Yes, the propensity of all Germans to agree and exercise level headedness. never has there been a truer point. :roll_eyes:

Yes, that’s one way to do it. The other is to have an offset. With an offset you don’t have to reslice all your files when swapping hot ends. Simply change the offset.

…there fore they must be irrelevant

How can one argue with such logic.

Its not my work. Its a commercial part. Yes, yes… my poor filament. Why must I do this to it…why!!! It must surely appreciate your concern and efforts to dissuade me.

Gentlemen I think we’ve lost the plot here.

The idea is to have an offset to compensate between the spot where the temperature is measured and the spot of interest. There will always be some difference. But, in some of the new UFH solutions this difference can be exaggerated.

Therefore, the offset would allow Klipper to continue to be driven by the area of interest rather than the proxy area where the temperature is measured.

Also, I don’t understand this argument that keeps coming up. “In order to get the correct temperature of the filament at the nozzle, the heater block must be at a much higher temperature elsewhere which may place the filament out of specification.”

Yes, this is what I plan to do!!! Anyone who will be measuring the offset of their block to nozzle will surely also understand this point. The absence of the offset will not prevent this from happening, nor will it cause this to happen This point is irrelevant to the discussion of a thermistor offset. If I am planning to do this I will do it with or without the offset, right???

If you’re changing hotends wouldn’t you need to reslice anyways? If you’re pushing a high flow rate, and switch to a hotend with a lower flow you would need to change more than just the temperature. I would also note that most Klipper users have a start gcode macro that specifies the hotend temperature. If I wanted to change the temperature of an existing gcode it’s just a single line to edit.

I’m not sure I understand your question…

But the offset is not going to be constant. I’m not sure exactly what the relationship is as I’ve only tested at one temp. Maybe its some percentage, maybe there is a convex curve. But it wont be a constant 30C. For instance think of room temprature.

Ahh, the question you asked yourself had the answer you wanted :wink: Pretty specific answer.

Can you think of one that doesn’t?

This feature seems unlikely to be added, so I’ll just exit the conversation.

1 Like

Sorry, I figured you wanted to play a game with questions like that. If the only answer you can think of is one where the feature isn’t valid, that’s what I gather.

For instance What if you are going from High-flow to High-flow, slicing for multiple machines etc… The feature would also be useful for switching to nozzles made of material with higher or lower thermal conductivity, steel vs plated copper etc. other places where we are told to bump temps a bit. A thermistor offset would also be a valid approach.

Jumping in late here, but I perceive that this sort of functionality could be attained by way of custom thermistor profiles: Configuration reference - Klipper documentation

I believe that creation of a custom profile for correcting a thermistor’s readings that are subject to offset at nozzle tip could be accomplished with current featuresets in Klipper - i.e. just define a custom profile.

I did this when I initially tuned my newly built v2.4 by way of a k-type thermocouple affixed at the nozzle and went through a series of setting a temp, having Klipper attain that temp, recording the deltas and then generated and applied the new profile thereto.

EDIT: I recall using this page way back when, as a frame of reference to develop the values in my custom profile: NTC Thermistor - Steinhart and Hart Equation | Ametherm.

EDIT 2: I recall just plotting a graph with settings line and measured lines and then mentally adjusted values until it achieved what I wanted at the nozzle, verified thereafter at the nozzle with the test nozzle-affixed K-type thermocouple. IIRC, when all said and done, I ended up with a delta of just a few degrees from set temp to actual nozzle temp. Good 'nuf in muh books…

Maybe I am missing the whole point of the [FR] but figured I’d chime in with an idea of how to possibly attain the functionality sans any changes to Klipper’s code base. YMMV.


1 Like