Ralim / IronOS

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

Various new bugs with the latest 2.06 firmware on a ts100 #422

Closed sefer2 closed 4 years ago

sefer2 commented 5 years ago

Hi,

In installed the latest 2.06 firmware onto my ts100. I upgraded from the official 2.18 firmware. The first thing I noticed is that the main screen flickers twice before settles whenever the solder iron is plugged into power.

Next, entering "Advanced Options" there's a checkbox square to the right of "Detailed idle screen", its right most edge flickers all the time. In fact, this appears to happen with all the items that draw the right-most column on the screen.

Lastly, when I enable the iron, it shows only "305C" (it does heat up, but the screen displays a constant 305C, not showing the current temperature) and no warming/cooling progression. I have no idea when it reached its final designated temperature.

I tried doing a factory reset (I hope I did it correctly) without any effect.

rozwell commented 5 years ago

@Ralim Thanks for the handle temp advice - tried calibration after whole night and it was off by only ~5°C. I checked THan and it was at ~25°C, ambient 20°C so that's where the difference is coming from. From there it just gets higher, when handle warms up while it's powered up, or simply from body heat, resulting in a ~10°C+ difference in a very short time, without even working with the iron. That gave me an idea for a quick workaround where I just heated up the tip for a few seconds, then used auto calibration to compensate the difference. That did the trick, not practical, but works. Looks like the handle temp offset is needed. Or is it already there?

@elgab +1 for default 250°C, much safer. But for now you can set it on USB power - it won't heat up because of undervoltage and when you hold button A, temp adjusting will show.

Ralim commented 5 years ago

@rozwell The thing is that we dont actually care what "ambient is" we only use the handle temperature for cold junction compensation of the thermocouple in the tip.

The only time handle temp is used for anything other than cold junction calibration is when you do a calibration of the tip, which is why i recommend leaving the unit alone for an hour or two to let its temps stabilise.

Changing the default setpoint is sort of a moot point since everyone is going to have their own preference, and for those few who dont change it, it wont be the deciding factor in tip damage usually. Tips are an expendable item eventually, so the choice is always yours about changing the temp.

rozwell commented 5 years ago

@Ralim understood, seems just my unit shows a few degrees higher than it should. Not really important and relatively easy to compensate with the calibration trick I mentioned before.

Looks like it's time for me to finally start using TS100 with your awesome firmware :D

Nazosan commented 5 years ago

Did you ever do the hardcoded voltage firmware? I'm curious to try it. I really do not like the stock firmware, but I'm just afraid to use the power plug they provided with it.

Ralim commented 5 years ago

24W mode is 12V hard coded, next rev will have more options when i have some time to sit down and write it

Nazosan commented 5 years ago

Oh, I'm sorry. I completely misunderstood what you were saying before. Hmm. It has an interesting result with 24W mode. It cuts off as the voltage is slowly rising when it hits ~9V or so, then if I try using it again it works without a problem, this time going up to 12V (where it seems to hold very steady at 12.0V with no oscillation btw.) I understand it can accept higher voltages than 9V, but is 12V a strain on the TS80 long term? The wattage rating says 29.7W while it's heating up though. That's kind of strange. Officially the type-a port (QC 3.0) only supports 1.5A at 12V. The type-c (PD) port can do 2.3A at 12V, but that's 27.6W even if they're the same circuitry. Is the TS80 reading it wrong? The plug doesn't seem at all warm (compared to the plug that came with it getting quite hot even at 18W) but it seems like I smell something from it too. Is that just a normal result from pushing such a high current through a power source like this? (I'm curious if the QC 3.0 chargers that came with other people's TS80s were doing this.)

Nazosan commented 5 years ago

So far the 24W mode seems to be ok, but sometimes for some reason it loses the higher voltage and drops to 5V (I think after sleeping for a while, but I'm not sure if that's the cause.) It's trying to keep the tip temperature up, but ends up only able to maintain around 250C or so with only 5V. I have to unplug and replug the power supply it to get it back over 5V.

bradanlane commented 5 years ago

I’ve seen the “stuck at 5V” issue with the 2.04 release on my TS80 and a standard 18W setting. I had the same workaround.

Ralim commented 5 years ago

The stuck at 5V issue usually means that the QC negotiation failed. I've had this when a plug wasn't seated properly as the initial negotiation is only done once at start as its fairly slow.

Nazosan commented 5 years ago

Yeah, I assumed that it was such a thing since 5V is presumably the default fallback, but why would it drop to 5V after that initial negotiation? Does sleep mode actually go ahead and drop back to 5V then renegotiate? Because if sleep mode continues at the full voltage and merely uses less current then presumably the voltage wouldn't change. I was thinking maybe it was the plug itself, but I don't dare try running 24W mode to test on the original plug since it appears to be of exceptionally low quality and I'm still afraid to trust it for any length of time.

I did try switching back to 18W and switched back to the original plug, but oddly enough it seemed to keep turning off the heat. I don't know if it was just resetting or simply disabling heat because it always happened while I was actually using the iron and I didn't know it until after I started having a lot of troubles with the solder and then looked at it. I think maybe for now I'm going to give in and go back to the stock firmware even though it's really horrible to use (especially if you're left-handed since left-handed mode only switches the screen but not the buttons...) I don't think the voltage dropped to 5V, but perhaps it did and that would explain it sort of "shutting off" there. (It's worth noting that the higher quality plug I've been using does support a pretty significant amount of current at 5V.)

I believe the cable was well seated on both sides the entire time.

omair94 commented 5 years ago

I have noticed that when using the TS-80 with a QC 3.0 power bank, there is a faint buzzing noise coming from the power bank. I have tested it with 5 different power banks, all of which exhibit this. When using the included wall adapter, there is no buzzing. The buzzing only occurs on this firmware and not on the official firmware.

I'm not sure if this is actually an issue, but it is a bit concerning.

VjyedSC0UFMc8z commented 5 years ago

This was so helpful. You have the only firmware that I could get to work with my QC3 power bank https://www.ravpower.com/download/ravpower-turbo-20100mah-power-bank-with-usb-c-and-qc-3.0.html All the rest wouldn't trigger the bank to provide power and heat up. The only critique I would have for this combo is that my power bank will sleep before any of the standby settings on the TS80. But it turns on, which is a huge improvement. Thank you!

whitehoose commented 5 years ago

This was covered in some detail in the Mamoth ts80 thread (this is for ts100 which isn't really a qc3 candidate) The QC3 "standard" has in many cases been reverse engineered (rather than being leased from the owner) and thus (literally) subjected to the chinese whispers syndrome - thus it tends to be less of a standard and more a sort of guide. It's always worth asking round for powerbanks or adapters that are known definitively to work (have a look here https://github.com/Ralim/ts100/issues/349 - it's been covered a few times) The falling asleep issue has also been covered, to date the "best" solution (assuming you've tried any inbuilt measures the bank may have) is to either plug in a LED torch/lamp dongle or, if you're any good with a soldering iron o<}:oP stick a resistor and LED on the end of a cut down usb lead yourself. The additional constant load will do the trick.

asymcon commented 5 years ago

Xiaomi Mi Pro powerbank has a special mode for charging low power devices which instead of its typical 30 second timeout, turns off after 4 hours.

WerVa commented 5 years ago

Hi when 2.06 stable?

hgpt commented 5 years ago

Just upgraded to v2.06-RC4 on my TS100 and "out of the box" without changing any setting the set temperature, when just holding the iron in the hand, it's all over the place. (I'm attaching a GIF with the bug; sorry for the shaky camera :( ).

My setup is:

I've also tried changing the tip to a BC2 with the same results :( Ralim2 06-RC4

torqu3e commented 5 years ago

TS100 doesn't get past 430c.

Update - Reflashing 2.06 RC4 and not running a temperature calibration fixes the below mentioned issue. Will stick to this as accurate soldering temperature is the preferred feature here over a fancy room temperature thermometer. Shall go eat my sock at this point. :)

Sort of similar to the above issue. 2.06 RC4 TS100 BC2 20.1v power supply

Tip tracks 350c dead on, up to about 370c it still is within a few degrees. From there on the hovering starts getting worse, to the order of ~10c (display refresh rate too fast to have exact number).

From cold start with temperature set to 450c, it never gets past 420c. If I lower from there to say 350 then raise back to 450 it will get to 430 and hover around pretty bad but that's about it.

Interestingly, if I raise temp from say 350 to 400c, it gets to 400 and tracks it very closely for a few (~5) seconds then begins the hovering thing. This seems like @dhiltonp 's forward looking temperature estimation logic going awry in stable operation state instead of while ramping up/down. Interestingly, it does not happen at 350c (makes me think the tuning was done around this temperature.) All this is quite easy to replicate at least on my unit. Waiting for another tip to arrive then can test against that as well.

I'd gladly provide any debugging info or power meter data if that'll help with this.

jrrech commented 5 years ago

Just flashed 2.06 RC4 into my TS80, and the results with both QC adapters I own are pretty much the same: almost everytime the TS80 is plugged in it gets stuck at 5V, but unplugging the power supply and plugging it back sometimes make the TS80 negotiate higher voltages and work as expected.

The adapters I tested were a Motorola SC-28 (15W) and the Blitzwolf BW-S9 (18W QC 3.0). Both work properly with the stock 1.07 firmware.

Nazosan commented 5 years ago

So I noticed the new RC5 out and thought I'd try it just to see if it helps any with the problems I've had so far. For some reason it won't flash though. I even tried doing multiple factory resets. I also tried deleting the existing files on the virtual drive it presents just to be sure (since it adds extra stuff like "System Volume Information" and ".trashes" and I know it doesn't need "System Volume Information" since that is Windows' doing.) I even tried different USB ports just to be absolutely sure. I noticed that the TS80_EN.NOT file differs from the TS80_EN.bin from the update, so in the off chance it has anything useful in there like debug data or whatever I've included it. TS80_EN.NOT.zip

Ralim commented 5 years ago

@Nazosan

Flashing issues generally dont belong in these threads. Almost always the issue is the miniware bootloader. You could try another PC, make sure no AV is running or any other software that tries to watch file open events. Also make sure you are doing the double-copy trick. The bootloader actually creates fake entries for those folders to stop the OS making them, as they take the first file copy to be the "firmware" Make sure you are using the .hex file to update with the miniware bootloader! having a .NOT usually means the file format is wrong.

Nazosan commented 5 years ago

Ah, up to now pretty much every release has said to post about problems in this thread. I thought it was a problem with the firmware. Seems it wasn't. I was indeed flashing the wrong file. I successfully flashed this latest firmware and it does seem like it overall works better because I am able to use the 9V setting. It has a few oddities though. It's reporting power usage as high as a little over 90 watts when initially heating up and it shows as "low" as 58 and as high as 78 for power while maintaining tip temperature. This is obviously quite impossible, so that is clearly just a visual issue. It seems like it doesn't maintain quite as well since it drops about 10C at first when I use it and power usage goes way down from that "58-78" to as low as 0.01. Most of this seems to be pretty much visual other than that, so overall this does seem to be a better working firmware given that the 9V setting works with power supplies it didn't like before. (I'm actually really happy about that.)

yzept commented 5 years ago

RC 5 has some interesting new bugs. RC 4 worked very well with a Digitec QC 3 Battery Bank selecting 12v or 9v as set in the UI but the RC 5 revision seems stuck at selecting 9V. Power readings show imaginatively high up to 96W and fluctuate rapidly. RC 4 would vary the QC 3 supply voltage seemingly as power requirements changed but RC 5 seems to stick at 9v. For Me with this battery bank RC 5 is not useable.

Ralim commented 5 years ago

@yzept RC 5 changed from using 9V and then jumping up to 12V in 0.2V hops to negotiating for 12V as per the spec. Interesting to know your charger does not support this. This can be reverted fairly easily.

The auto-adjusting power supply voltage was removed as it generally made the tip temperature more unstable and created a 3-5 second oscillation that wouldn't damp out, and causes fussy power banks to shut off from over voltage occasionally.

The power readings are known bad and will be fixed when I'm next looking at it.

Nazosan commented 5 years ago

I'll have to second that removing the dynamic voltage change isn't a bug. I've had those issues with multiple power supplies really. This latest one is far more stable, including with my own QC battery power bank.

The wattage display bug definitely isn't a major issue, though it sure is weird watching my iron insist it's using so much power that both it and the PSU would surely burn out in an instant. Actually, I've been wondering in that respect: does it really need to show the actual wattage? Might it not be better if it only showed the current and voltage instead? That's usually all that really matters anyway. I know you can calculate it from the wattage, but it seems unnecessary and more useful to know the current directly.

dhiltonp commented 5 years ago

The wattage is based on voltage, duty cycle and estimated resistance.

@ralimtech: we could easily display a rolling average instead of instantaneous temperature (and maybe wattage?) The temp rolling average is already calculated, I don't remember on wattage...

On Mon, Jul 29, 2019, 3:40 PM Nazosan notifications@github.com wrote:

I'll have to second that removing the dynamic voltage change isn't a bug. I've had those issues with multiple power supplies really. This latest one is far more stable, including with my own QC battery power bank.

The wattage display bug definitely isn't a major issue, though it sure is weird watching my iron insist it's using so much power that both it and the PSU would surely burn out in an instant. Actually, I've been wondering in that respect: does it really need to show the actual wattage? Might it not be better if it only showed the current and voltage instead? That's usually all that really matters anyway. I know you can calculate it from the wattage, but it seems unnecessary and more useful to know the current directly.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Ralim/ts100/issues/422?email_source=notifications&email_token=AAA3FRHLERFV4Q557FUX7B3QB5PWHA5CNFSM4GMRYZD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3CC3TQ#issuecomment-516173262, or mute the thread https://github.com/notifications/unsubscribe-auth/AAA3FRAAIP7BIBPHBT635FDQB5PWHANCNFSM4GMRYZDQ .

Ralim commented 5 years ago

@dhiltonp I added in a small rolling average on the temperature on screen in this release to make it more readable. Could definitely add another one to the wattage if its not there.

Also when you have a chance @dhiltonp, I was running into issues getting a stable PID control working for the TS80, and open to ideas around the best way to stabilise it. Mostly running into the classing oscillation vs response time problems.

dhiltonp commented 5 years ago

The history class is a ring buffer with 3 operations: update, dereference ([]), and average. On every update, the old value is subtracted and the new value is added to a rolling sum, so the average step is one division operation.

The watt display currently uses milliWattHistory[0], the most recent value. Changing it to .average() would show the average over the last 3.5 seconds, the period over which we dampen oscillations (see more at the bottom).

https://github.com/Ralim/ts100/blob/master/workspace/TS100/src/main.cpp#L567 is one of the lines that would need to be changed.


For oscillation in this case, I'd first fix the wattage estimation.

We use our calculated wattage and the thermal mass to compute a duty cycle. If the calculated wattage is 5x too high, it's the equivalent of inputting a thermal mass 5x too low!

That's just an educated guess - I don't have a TS80 and haven't seen these issues first-hand.


We average over oscillationPeriod for our I term. It is pretty forgiving, but should be greater than 1/2 the actual period. It's currently set to 3.5*hz. Larger values may help with stability, but will hurt responsiveness and use more ram. history.hpp would need to be modified to handle buffers larger than 127 values, too - size+loc or i are uint_8t, and could overflow. If you're seeing oscillation over periods >5-6 seconds, that could be the culprit.

dhiltonp commented 5 years ago

In short: when the detected resistance is off, the derived wattage is off, so the PID controller is off, as it "thinks" in terms of wattage.

dhiltonp commented 5 years ago

It needs to think it terms of wattage, because a 50% duty cycle means something completely different when powered by 9v vs 20v.

yzept commented 4 years ago

Hi Ben, thanks for getting it out! It works for me except on my Digitech 20000mAh Battery Bank where it never rises above 9V whatever the UI settings where with prior releases I would see 12V with much better performance. The temperature measured with a Hakko FG100 thermocouple is now significantly more accurate. I will go back to the previous release to get the powwaaaaahh! Thanks Again, Roger

On 29 Dec 2019, at 1:44 pm, Ben V. Brown notifications@github.com wrote:

 Closed #422.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.