Ralim / IronOS

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

TS80P v2.13 issue #749

Closed Airmonkdev closed 2 years ago

Airmonkdev commented 3 years ago

This is a Bug

Steps to reproduce the bug: Goes into settings and try to enable the auto sleep or shutdown feature.

On the idle screen, you can hold the settings button and it will show you the firmware & PCB version. If using a USB-C supply please note model number

Ralim commented 3 years ago

Ah bugger, need to fix that version string.

What PCB model is indicated in the debug menu for you? (You didn't put it in your query)

Airmonkdev commented 3 years ago

PCB 99

discip commented 3 years ago

@Ralim Unfortunately I have to report a new issue as well, but other than OP.

iron Firmware Version PCB Version Power Supply
TS80P https://github.com/Ralim/IronOS/commit/8acfc7e587184d947c054d7e039961b10a3c3e0e 2 UGREEN 65W GaN Charger

Since I have to go now, I will have to proceed testing later.

kind regards

Ralim commented 3 years ago

@Airmonkdev

PCB 99 means that your accelerometer was not detected in boot.

Could you flash the older releases and check what PCB version it reports?

@discip

Are you saying that the TS80P does not negotiate pd as reliably ? Are you seeing this because it's picking 9V or using the new debug menu option ?

I have a very similar charger here and will test tomorrow.

Airmonkdev commented 3 years ago

Just flashed the v2.12 and PCB is 3

Thanks for support

Ralim commented 3 years ago

Just flashed the v2.12 and PCB is 3

Thanks for support

That would indicate that 2.12 also does not detect your accelerometer, so sleep modes were likely non functional before as well.

discip commented 3 years ago

@Ralim

  1. Yes indeed.
  2. I am using the debug menu. And PWR is in most cases 1.
Ralim commented 3 years ago

@discip There has been no code changes between https://github.com/Ralim/IronOS/commit/b359e6e37e9c10a0e21c89eb67cd20184dbb7bd3 and the final release firmware?

If you set the unit to QC=9V, does it negotiate 9V or 12V? How long does it take to negotiate the voltage?

Just trying to figure out if its showing the wrong PWR entry or if its actually using QC.

discip commented 3 years ago
  1. Strange! 🤷 2.1. If QC kicks in, it negotiates for 9V. If PD => 12V. Judging by the debug menu. 2.2. That's really the riddle here, because I do not know, what's going on in the background. But what I can tell: In QC it heats up significantly slower. And: Sometimes it immediately shows 12V, sometimes it first shows 5V and than climbs up to 9V or 12V.
Ralim commented 3 years ago

Interesting indeed.

2.1 -> Makes sense The pause at 5V then climb up is QC,as QC takes at least 1.2 seconds at a minimum.

Could you give this a try and check if you get any warnings about pd ic not detecting: https://github.com/Ralim/IronOS/actions/runs/455253208

Trying to figure out if the pd ic is just not being dectected at bootup of the iron, or whats going on.

discip commented 3 years ago

@Ralim First of all:

Happy new year!

Sorry was late yesterday. 😊 This version does solve the QC / PD issue, however now the autostart-sleep function is 'broken'! 😵🤷‍♂️

One more thing I noticed about the temperature, which is present in CI #113 , in https://github.com/Ralim/IronOS/commit/b359e6e37e9c10a0e21c89eb67cd20184dbb7bd3 and in https://github.com/Ralim/IronOS/commit/8acfc7e587184d947c054d7e039961b10a3c3e0e:

  1. RTip still jumps every 10 seconds up (Unfortunately I can't tell about wich amount, but seems to be ~30. It's to quick.) and than returns to the previous value.
  2. Temperature sometimes jumps in no particular interval e.g.: between 20°C and 27°C.

regards

Ralim commented 3 years ago

autostart-sleep is very fragile to exactly how that particular accelerometer starts up and system noise.

Have pushed a new commit to that branch, could you test if this is now good for you?

The temp jump may be the keep alive power pulse, could you test with that off if its on to see if thats the cause?

Airmonkdev commented 3 years ago

At the moment I can't build the source code... can you please give me the EN hex file so I can flash it on my TS80P? :)

discip commented 3 years ago

@Ralim Good morning sir, thank you for being persistent! 👍

  1. Unfortunately this commit did not solve the autostart-sleep function.
  2. Seems to be true, since the previously described jumping behavior vanished.

I hope you do not get mad at me, for asking and 'reporting' (imho) continuously. 😅 I noticed one more thing, with RTip since the jumping is gone now: The value drops over time. For example: When I first calibrated the inserted tip, RTip was something like 1500, when I recalibrated the value decreased to ~1470 and by watching RTip in debug menu, one can observe, that the value is ever so slightly going down without being moved or even touched.

@Airmonkdev https://github.com/Ralim/IronOS/actions/runs/457430023 Scroll to the bottom of the linked page and choose the version you need.

Ralim commented 3 years ago

Ah bummer, auto start works for me here hmm...

Shall have to have another look 🤔

And yes it going down is actually normal! 🤯 Because the top is a thermocouple it's messing the temperature difference between the tip and the cold junction (inside handle).

As you use / hold the iron the handle warms up; which will therefore reduce the temperature delta, and therefore a smaller voltage is produced.

If you cooled the handle down(without cooling tip) it would go back up again.

Oh, and no stress about bring it up, its good to have people who notify me nearly instantly if something goes funky :D

discip commented 3 years ago
  1. Would appreciate that! 😁
  2. Aha, that is weird, because I am not holding the Iron, it just sits on my desk, being stared at. I am not monitoring the temperature in the room, but if it would go up, everything would get warmer (tip & handle) so delta should stay the same, right.
  3. I am very glad you are seeing it that way! 👍
discip commented 3 years ago

@Ralim That's strange! I just flashed another language of Add warnings for missing parts CI #118, and that worked with autostart-sleep. 😵 However flashing the EN version, it than quits working.

Philipp-3 commented 3 years ago

Hello there!

first of all I want to thank Ralim for the nice project! I have the same issue as Airmonkdev (PCB 99), and had it also with the previous versions. On original miniware firmware the accelerometer did work. This made me looking if one of the supported accelerometer (MMA8652, LIS2DH12 or BMA223) is installed. See the picture of the top-side of the pub. Didn't find the IC, but perhaps it helps to you. TS80P_pcb-V1 2

Ralim commented 3 years ago

Hello there @Philipp-3

Interesting, that does indeed look like a different IC juding by its top. (I havent seen a LIS with that etching to date). They normally have a qr like code burned onto them. its the one to the left of the STM32. (3219 is the USB-PD interface).

Gah thats frustrating if they have changed model again

Any chance you can possibly get a photo from the side that shows (roughly) how many pads on each edge?

Ill make an I2C scanner firmware build to try and figure out what its I2C address is at least.

@discip What setting are you using exact for the sleep setting? Its working for me here on all of them on English on my ts80p

discip commented 3 years ago
My settings are: Sleep temp Sleep timeout Shutdown timeout Motion sensitivity
90°C 10S 7M 7

As for the mainboard: I immediately noticed, that the mainboard was changed, since the version of the above depicted is 1.2 and mine is 1.1.

image

I already posted miniware about providing the changes between versions.

Ralim commented 3 years ago

@discip Are you using start to sleep or start to off?

@Philipp-3 / @Airmonkdev Could you put the attached firmware on your unit, and power it up. It should numbers for what ID's it finds. When a number shows, can you note it down and then press any button and it should move on to a new number. Keep going until it loops, hopefully you should find a total of 4 numbers. (two pairs of numbers next to each other).

If you could do this and report back the numbers it will help narrow the search space dramatically. TS80_I2C_Probe.zip

discip commented 3 years ago

Sorry I missed to mention that: 😔 I am using the last setting O to make the iron sleep at room temperature. (start to sleep)

btw: If just flashing the EN version, after other language was flashed, without resetting autostart-sleep works fine.

discip commented 3 years ago

@Ralim

👍 Now it works with the EN version as well!

I think the problem was, that I dragged the EN version direct from the .zip file into the 'iron-folder' and because of having flashed previously other versions, wich were named exactly as the one I tried to flash, the old version was put on the iron, because the zipping software extracts its content to a temp-folder ... I think most do know this anyway. 🥱 I hope I am right with this, in case someone would experience similar issues.

Ralim commented 3 years ago

Ohhhh!!

Yes dragging straight out of the zip has caused me grief before, where I would get random flash failures.

Thinking about this, I have a suspicion that the firmware writes the blocks in the order they arrive. Combined with hex not encoding the full address, getting an out of order block around a page change would corrupt flash.

If the zip software extracts directly without doing temp+move I could absolutely see that happening?

Philipp-3 commented 3 years ago

@discip Are you using start to sleep or start to off?

@Philipp-3 / @Airmonkdev Could you put the attached firmware on your unit, and power it up. It should numbers for what ID's it finds. When a number shows, can you note it down and then press any button and it should move on to a new number. Keep going until it loops, hopefully you should find a total of 4 numbers. (two pairs of numbers next to each other).

If you could do this and report back the numbers it will help narrow the search space dramatically. TS80_I2C_Probe.zip

Hello Ralim, there are 4 numbers shown: 76, 77, 120 and 121. If this doesn't help, I can try to figure out the IC's housing (unfortunately I just glued the display with double side sticky tape to the housing to avoid dust on the display :) )

leonardpitzu commented 3 years ago

same numbers in my case - and obviously the same issue. @Ralim - thanks for your support!

discip commented 3 years ago

@Ralim

Thank you very much for patiently working this out! 👍❤

One thing that still remains though, is the fact, that the temperature still fluctuates between e.g.: 21°C & 27°C. It does that not very frequently, but it does change just by sitting on the desk, without any intervention. I will watch this behavior and try to find a pattern or cause by pure visual observation, since I am not skilled enough to do it on another level.

Ralim commented 3 years ago

Alrighty, thank you everyone, waking up to all the useful information is fantastic ❤️

@discip thank you for the board image, absolutely makes it look like its a new spin they have done to down-cost.

Thank you @leonardpitzu and @Philipp-3, those numbers indeed are extremely useful. Absolutely confirms they have changed the model without warning agian.

Going to move the accelerometer discussion over to #755 for clarity.

@discip Im not entirely sure of the exact cause of the changes with the power pulse turned off. Will require more investigation.

Airmonkdev commented 3 years ago

Hey Ralim, sorry for the delay. Same numbers also on mine: 76 77 10 121

Thanks man!

discip commented 3 years ago

@Ralim Are you planning to merge this branch into master, after you derived OPs issue into https://github.com/Ralim/IronOS/issues/755 and solved my irons "sleeping" issue as well?

Ralim commented 3 years ago

Yes, I will probably merge the warnings branch in later tonight. Going to merge it before the accelerometer support is done, but wont release until after #755 is done

discip commented 3 years ago

That sounds great! Thanks in advance.

By the way, as you mentioned accelerometer: Is the new one (in v1.2) better or worse? I did not get that! 😊

Ralim commented 3 years ago

Generally they are all about the same.

It tends to be as a new company makes one for slightly cheaper miniware jumps to that model

discip commented 3 years ago

Thanks!

Ralim commented 3 years ago

Using the latest build from here Is there anything else outstanding that people know about for v2.13?

discip commented 3 years ago

You are fast! 😲 I just flashed https://github.com/Ralim/IronOS/commit/c358083cc137c74740be4dd43c3552c1a1e66e35.

Let me try out the latest as well.

Ralim commented 3 years ago

Trying to get the outstanding bugs list smaller before I get busy with work again 😂

Airmonkdev commented 3 years ago

Thank you so much for all you've done!

Just opened a new issue for the Apple reboot and crossed my fingers. :)

discip commented 3 years ago

@Ralim Good afternoon, as I had to find out the hard way, that zipped files have to be unpacked before dragging them 'into the iron':

I think the problem was, that I dragged the EN version direct from the .zip

and you confirmed that:

Yes dragging straight out of the zip has caused me grief before, where I would get random flash failures.

and @Urus74 confirmed that as well: https://github.com/Ralim/IronOS/issues/639#issuecomment-754905255

I think it would be nice, if this would be added to the documentation somewhere, I am not aware of such an entry, already being placed there.

vini-nu commented 3 years ago

TS80P straight outta official box, v2.13 didn't detected accelerometer.

After building and flashing current master ( v2.13.2052f30 ), everything working. Well, except maybe for custom-boot logo, some pixels looks like swapped in the matrix. PCB 4

Edit: v2.14.1; TS80P & TS100 everything working.

discip commented 3 years ago

@Ralim Sorry I have to bother you again, but I am still not able to wrap my head around the temperature drift. I know, you have explained, that before https://github.com/Ralim/IronOS/issues/749#issuecomment-753453283:

And yes it going down is actually normal! 🤯 Because the top is a thermocouple it's messing the temperature difference between the tip and the cold junction (inside handle).

As you use / hold the iron the handle warms up; which will therefore reduce the temperature delta, and therefore a smaller voltage is produced.

If you cooled the handle down(without cooling tip) it would go back up again.

... but how am I able to tell, whether the iron is showing the correct temperature? Because in my case the 'drift' amounts to almost 10°C.

Is there no other way to determine the tip temperature, without having to consider the cold junction in the handle?

I am apologizing in advance, for asking you to answer questions like that. 😌

thanks in advance

setup iron | Firmware Version | PCB Version | Power Supply -|-|-|- **TS80P**|**https://github.com/Ralim/IronOS/commit/6d56ba3322959afdac235f8c955cfc69564f2a9c** |**2**|**[UGREEN 65W GaN Charger](https://www.ugreen.com/products/65w-gan-usb-c-fast-charger?variant=32127034654782)**
Ralim commented 3 years ago

The only way that is 100% reliable is to use an external tip temperature checker.

Rtip is a raw value, so you should not be concerned by it drifting around of the ctip is holding steady.

discip commented 3 years ago

@Ralim Good evening sir, yes, that is exactly what I am concerned about: CTip is not holding steady, if the warmth of the palm is applied to the handle. Because I am not only seeing RTip changing , but it is the temperature, which is shown on the detailed idle screen (Seems to be the same as CTip.), that is jumping from 27°C to 34°C.

Here is what I did to observe this behavior:

  1. Provide the iron with power (Not heating the tip.).
  2. Calibrate the tip.
  3. Go to idle (detailed) screen, or in debug menu CTip and note the temperature.
  4. Surround the iron, without touching the tip, with your palm.
  5. Watch the temperature climb from 26°C to 27°C, 28°C and suddenly to 34°C! 🤷‍♂️ (In the previous post I was wrong, by stating the 'drift' would be as high as 10°C, because I missed that jumping! Apologies! 😅)
  6. Let go of the iron and put it on your desk to let the handle 'cool down' to room temperature again.
  7. Watch the temperature descend from 34°C to 33°C and suddenly to 26°C ...! 🤷‍♂️

Hopefully this helps, to get an idea, what I am referring to.

By the way after calibrating the iron it shows the room temperature to be 26°C, whereas an external thermometer shows only 22°C.

Thanks in advance regards

setup iron | Firmware Version | PCB Version | Power Supply -|-|-|- **TS80P**|**https://github.com/Ralim/IronOS/commit/6d56ba3322959afdac235f8c955cfc69564f2a9c** |**2**|**[UGREEN 65W GaN Charger](https://www.ugreen.com/products/65w-gan-usb-c-fast-charger?variant=32127034654782)**

edit: With the latest commit https://github.com/Ralim/IronOS/commit/ad37c752cc4a59ee5ca8e22bce70a7078e1bd46f it now shows 23°C after calibration (The external thermometer also shows 23°C. 👍). Also directly after it gets powered up (not heating). But than, for some reason it jumps to 30°C. 🤷‍♂️ Accuracy has improved, however the 'jumping behavior' remained.

Ralim commented 3 years ago

So one of the issues you may be running into is that this firmware does not support having the tip cooler than the handle. Once the unit is powered up the handle will start to warm up a little due to the power being burner inside.

This causes issues like this when the unit is cold, but once the tip is >100C all of these issues disappear.

discip commented 3 years ago

@Ralim I hope you are not upset by now. 😅

There is just one more thing I have observed, which I would like to share (Most likely you know this already, because it is by design, maybe.): After having calibrated the tip, as you know RTip keeps descending, in my opinion, to infinity. (Was not patient enough, to wait, until it stops descending.)

I noticed, that the temperature only jumps when the calibrated RTip is reached:

  1. Let the iron sit and wait for RTip to go down for some time,
  2. now calibrate the tip,
  3. unplug and re-plug the iron,
  4. it shows the actually real room temperature (Confirmed with external thermometer.), until RTip, the iron was previously calibrated at, is reached.
  5. Now the JUMP occurs (eg: 22°C => 30°C).

Is this by design, meaning the behavior described here: Temperature.md, or is this a jump in the lookup table, or anything else?

thank you very much in advance

kind regards

Ralim commented 3 years ago

Apologies I completely missed responding to this.

The jump you are observing shouldn't really occur, and might be a bug but im not 1000% certain of the cause off the top of my head.

Definitely there will be some jump as we mask to 0 offset while RTip is < calibrated offset.

discip commented 3 years ago

@Ralim Good evening Sir, you have absolutely no reason to apologize. But at the same time, I do not refuse or depreciate the good manner you are proving to have. I think, I would have reacted similarly if not the same way. 😃👍

  1. Do you see any chance to look into that?

  2. Am I the only one seeing this behavior?

  3. Additionally to the above mentioned, I am also seeing instabilities when heated up to the desired temperature. But since I do not know which range I have to expect, I do not know, if it is ok.

e.g.: Heating up and letting the iron sit there without touching neither solder, nor any conductive surface. Set temp is 330°C. The temperature jumps between 33X°C and 35X°C(Since I could not figure out the last digit, I replaced it with 'X'.)

thanks in advance kind regards

setup iron | Firmware Version | PCB Version | Power Supply -|-|-|- **TS80P**|**https://github.com/Ralim/IronOS/commit/9ed1c1fc043736af873eb8164af1b62dfc7cb4c5** |**2**|**[UGREEN 65W GaN Charger](https://www.ugreen.com/products/65w-gan-usb-c-fast-charger?variant=32127034654782)**
Ralim commented 3 years ago

@discip

1. Do you see any chance to look into that?

2. Am I the only one seeing this behavior?

The jumpiness has been noted elsewhere, you are not alone in spotting the way the temp sensor reacts. Seeing the jump around the cal point shouldn't occur, but I'm currently thinking its probably exposing a weakness of the current cal routine, in that we are lumping a few sources of error into one, when they probably shouldnt be. I need to figure out a good way to thermally cycle an iron to get a feel for these 😂

I don't have a timeline yet as I'm not sure the best way to test and model the issue, what I'm most suspect of is that there is an increasing error that is a function of handle temperature that is not calculated yet that really should be. Though I'm also unclear of a good way to derive said offset without just empirically measuring it.

3. Additionally to the above mentioned, I am also seeing instabilities when heated up to the desired temperature. But since I do not know which range I have to expect, I do not know, if it is ok.

It's ok but I do need to add in some code to not visually show these. Mostly its just the side effect of having the same piece of wire be your temp sensor and your heating element.

e.g.: Heating up and letting the iron sit there without touching neither solder, nor any conductive surface. Set temp is 330°C. The temperature jumps between 33X°C and 35X°C(Since I could not figure out the last digit, I replaced it with 'X'.)

thanks in advance kind regards setup

discip commented 2 years ago

@Airmonkdev Please close this issue, if this is solved. 😊

thank you