Ralim / IronOS

Open Source Soldering Iron firmware
https://ralim.github.io/IronOS/
GNU General Public License v3.0
7.1k stars 706 forks source link

Hot swapped tip starts heating up without user input. Risk of burn. #907

Open B9KGF opened 3 years ago

B9KGF commented 3 years ago

_This is a bug that has the risk of burning the user

Steps to reproduce the bug:

alvinhochun commented 3 years ago

It sounds like you accidentally hit the button to enter soldering mode when swapping the tip. It seem unintuitive but it is actually what the current firmware does.

The code can be changed to prevent entering soldering mode when it detects the tip isn't inserted. Perhaps it should even automatically exit soldering mode when it detects that the tip has been removed. However, since the tip removal detection is based on a high temperature reading, it may interfere with operating in a high temperature (say > 410 °C).

B9KGF commented 3 years ago

The way I see it, when there is no tip connected, the iron goes to the menu. But if I'm in the menu and I add a tip, it shouldn't automatically start heating up. Same thing when hotswapping tips. I guess I can go back to the menu, swap tips, and then heat it up... idk... It's a bit weird. On one hand it makes sense that hotswapping should heat up the tip asap, on the other hand it's a bit risky.

River-Mochi commented 1 year ago

If it's a Pinecil V1 or V2, hot swap is not advised. the V2 only does tip resistance detection on bootup, therefore, should not be hot swapped as that is the only time it knows which tip is installed since it now handles 6.2ohm and 8.0 ohm tips. Pinecil Wiki pages also says to not hot swap.

I remember also reading about a TS80 or a TS80P where someone broke their iron trying hot swap and somehow shorted and broke it. Hot swapping in general is not advised. manufacturers should probably put a note in directions for people to not hot swap tips and rather unplug each time a tip is changed.

discip commented 1 year ago

@Ralim As @alvinhochun pointed out, detecting a disconnected tip can fail due to the current method.

But what if the rate of temperature rise was used to determine this, since the temperature reading jumps to the maximum value almost immediately when the tip is removed?

e.g.:

  1. If the device (TS80P) was in soldering mode, the current tip temperature was 410 °C and the tip was removed, it would have taken the device some time to reach the maximum temperature (here 486 °C). However, if it immediately jumps to this value, the soldering mode should be terminated.
  2. It may also be worth checking if the temperature rises without user intervention to detect a removal of the tip.

Unfortunately I wasn't able to pull this of myself, so someone more capable might try that. 😊

discip commented 1 year ago

@Ralim Any ideas / advice?

Ralim commented 1 year ago

It's down to speed really It takes a while for the pull-up on some models to cause us to detect a removed tip. When we do it should exit soldering nice so you don't get hurt.

If you swap quickly then it won't see it. A lot of soldering irons will great as soon as you change and I've often seen it as a good thing as I can just swap a tip and move on. But it does require one to be a little careful when handling the hot tips.

discip commented 1 year ago

@Ralim I'm not quite sure what you mean by that, as you added the enhancement label some time ago.

Is a reliable implementation of this feature request feasible?

If not, should this issue be closed?

jakobi commented 1 year ago

It looks like I opened a duplicate of this in #1802 (as I searched for insert tip and heat, instead of burned fingers :).

Thx to @ia for spotting it and pointing to the earlier issue.

Summary:

And a new observation: If the old tip was sleeping, the new is not heating up. And only in this case pinecils and s60 detect tip removal and show the crossed-tip image.

Otherwise both only list the bogus temperature and continue heating with the switched tip. This happens with both heating up from lower temp as well after reaching the set temp. Regardless of fast switching or waiting a few seconds.

Workaround: press 2nd button to make the iron cool done before switching tips.

Rough implementation notes: Maybe add a boolean setting "tip change delay". If N>1 seconds have passed (and the boolean permits it), switch from state assuming a flaky-tip/temp-misreadings to new state tip-must-have-changed. State basically being an entry point to sleep or suspend, with maybe first checking that "heat-on-startup" setting.

jakobi commented 1 year ago

Rethinking my previous post: shouldn't the title of this issue be changed to

cannot detect missing/broken tip when heating (incl. during tip switching)?

Maybe also label it a bug now?

Another observation: when switching between pinecil short tips and hakko tips (I added a epoxy depth stop inside the pinecils to permit hakko use), the resistance is NOT updated, thus I saw a hakko tip, which the debug menu saw claimed to have 6.2 ohm.