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

Fixing units of measurement #1259

Merged
merged 18 commits into from Mar 19, 2022
24 changes: 12 additions & 12 deletions Documentation/DebugMenu.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,39 +14,39 @@ Items are shown in the menu on a single line, so they use short codes

### HW G

This indicates the High Water mark for the stack for the GUI thread. The smaller this number is, the less headroom we have in the stack.
As this is a Highwater mater, you should only trust this once you have walked through all GUI options to "hit" the worst one.
This indicates the high water mark for the stack for the GUI thread. The smaller this number is, the less headroom we have in the stack.
As this is a high-water mater, you should only trust this once you have walked through all GUI options to "hit" the worst one.

### HW M

This indicates the High Water mark for the stack for the movement detection thread. The smaller this number is, the less headroom we have in the stack.
This indicates the high water mark for the stack for the movement detection thread. The smaller this number is, the less headroom we have in the stack.

### HW P

This indicates the High Water mark for the stack for the PID thread. The smaller this number is, the less headroom we have in the stack.
This indicates the high water mark for the stack for the PID thread. The smaller this number is, the less headroom we have in the stack.

### Time

This just shows how many deciseconds the unit has been powered for.

### Move

This is the last timestamp of movement. When the iron is moved this should update to match the Time field (one before in the menu).
This is the last timestamp of movement. When the iron is moved this should update to match the time field (one before in the menu).
This can be used for checking performance of the movement dection code.

### RTip

This is the raw tip reading in uV. This can be used when assessing the calibration routines for example.
This is the raw tip reading in μV. This can be used when assessing the calibration routines for example.

### CTip

This is the tip temperature in deg C.
This is the tip temperature in degrees Celsius.
This can be used with RTip for assessing temperature processing performance.

### CHan

This is the handle temperature in C. This is used for cold junction compensation of the tip temperature.
This is shown in degrees C x10, so 200 == 20.0C
This is the handle temperature in °C. This is used for cold junction compensation of the tip temperature.
This is shown in degrees Celsius x10, so 200 == 20.0 °C

### Vin

Expand All @@ -73,12 +73,12 @@ This may change during power up as the sources are negotiated in turn.
- **QC** input (We used QC2/3 negotiation for current supply)
- **PD W. VBus** input (We used the PD subsystem to negotiate for the current supply); and VBus is connected to your input power source
- **PD No VBus** input (We used the PD subsystem to negotiate for the current supply); and VBus is **NOT** connected to your input power source
- If you successfully modified the Pinecil to support 24V by cutting the trace line to Vbus, then 'PD No VBus' displays on screen.
- Connect to any PD USB power to check Vbus status. It will not show any PD message when Pinecil is powered by DC port, QC, or USB 5V (non PD).
- If you successfully modified the Pinecil to support 24 V by cutting the trace line to Vbus, then 'PD No VBus' displays on screen.
- Connect to any PD USB power to check Vbus status. It will not show any PD message when Pinecil is powered by DC port, QC, or USB 5 V (non PD).

### Max

This indicates the max temperature in C that the system estimates it can measure the tip reliably to.
This indicates the max temperature in degrees Celsius that the system estimates it can measure the tip reliably to.
This is dependant on a few factors including the handle temperature so it can move around during use.


Expand Down
2 changes: 1 addition & 1 deletion Documentation/Flashing.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ dfu-util -D Pinecil_EN.dfu -a 0
- Try a direct connection to the USB port, do not use a USB hub, and use shorter cable. If possible pick a port connected to the main board.
- Switch to a different PC/Laptop and use different ports. USB-C ports are recommended but some have also reported having a fussy C port.
- Hold down the (-) button for the entire firmware update, do not release until near the end.
- `DC Low` message: a pc/laptop can not fully power pinecil, it generally can only get 5V (non-PD) to communicate for firmware updates and Pinecil will report 'DC Low'. This is normal.
- `DC Low` message: a pc/laptop can not fully power pinecil, it generally can only get 5 V (non-PD) to communicate for firmware updates and Pinecil will report 'DC Low'. This is normal.


## Windows
Expand Down
10 changes: 5 additions & 5 deletions Documentation/GettingStarted.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ If you press and hold the button near the rear of the iron it will take you into

When you press the button to enter the soldering mode, the iron will instantly start to heat up the tip.

The firmware defaults to 320C as the set point for the soldering mode, however on this screen you can enter into the adjustment screen by pressing either button.
The firmware defaults to 320 °C as the set point for the soldering mode, however on this screen you can enter into the adjustment screen by pressing either button.

Pressing and holding the button near the tip will enter **Boost** mode. This allows a temporary override of the set temperature to a higher (or lower) value. This can be useful as a way to force the tip to a higher temperature to drive more wattage into a large joint when the thermal connection is not ideal.

Expand All @@ -52,19 +52,19 @@ Pressing and holding **both** buttons at once will enter locked mode, which will

### Idle Sleep

If the iron detects a period of time without any significant movement, it will enter sleep mode. This is indicated with a screen graphic similar to ZZzz (or text in detailed mode).
If the iron detects a period of time without any significant movement, it will enter sleep mode. This is indicated with a screen graphic similar to Zzzz (or text in detailed mode).

In Sleep mode, the temperature of the iron automatically lowers to 150C (default), which is just below the melting point of the solder. This helps reduce rate of oxidation and damage to the iron tip. In general, when not using the iron, unplug it or let it sleep to increase the longevity of replaceable tips. The default sleep temperature can be customized.
In Sleep mode, the temperature of the iron automatically lowers to 150 °C (default), which is just below the melting point of the solder. This helps reduce rate of oxidation and damage to the iron tip. In general, when not using the iron, unplug it or let it sleep to increase the longevity of replaceable tips. The default sleep temperature can be customized.

Simply picking up or moving the iron will wake it back up into soldering mode. You can also press any button and this will also wake the iron up.

Optional Hall Effect Feature (Pinecil only):
Pinecil has an unpopulated footprint (U14) for a hall effect sensor (Si7210). Adding the sensor and placing a strong magnet on the holder stand will trigger Pinecil to sleep after it enters the stand, and ZZzz will appear on the screen. The magnet is positioned on the stand in proximity to the sensor which then activates one of 10 user defined settings (0=off, 1= lowest sensitivity, 9= highest sensitivity). Read the Hall Sensor document for details on [installation](/Documentation/HallSensor.md).
Pinecil has an unpopulated footprint (U14) for a hall effect sensor (Si7210). Adding the sensor and placing a strong magnet on the holder stand will trigger Pinecil to sleep after it enters the stand, and Zzzz will appear on the screen. The magnet is positioned on the stand in proximity to the sensor which then activates one of 10 user defined settings (0=off, 1=lowest sensitivity, 9=highest sensitivity). Read the Hall Sensor document for details on [installation](/Documentation/HallSensor.md).


### Idle Shutdown

If, after entering sleep mode, the iron still does not see movement for a much longer time (default = 10 min.); it will shut down and return to the home screen.
If, after entering sleep mode, the iron still does not see movement for a much longer time (default=10 minutes); it will shut down and return to the home screen.


## Settings Menu
Expand Down
6 changes: 3 additions & 3 deletions Documentation/HallSensor.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

## Sleep Mode Menu

In Sleep mode, the temperature of the iron automatically lowers to 150C (default), which is just below the melting point of the solder. This helps reduce rate of oxidation and damage to the iron tip. In general, when not using the iron, unplug it or let it sleep to increase the longevity of replaceable tips. The default sleep temperature can be customized.
In Sleep mode, the temperature of the iron automatically lowers to 150 °C (default), which is just below the melting point of the solder. This helps reduce rate of oxidation and damage to the iron tip. In general, when not using the iron, unplug it or let it sleep to increase the longevity of replaceable tips. The default sleep temperature can be customized.

Simply moving the iron will wake it back up into soldering mode. You can also press any button and this will also wake-up the iron.

### Optional Hall Effect Feature (Pinecil only):

Inside the Sleep Menu is an additional type of sleep setting. Pinecil has an unpopulated footprint (U14) for a hall effect sensor (Si7210). It is possible with the hall sensor to trigger Pinecil to go to sleep after it enters the stand, and ZZzz will appear on the screen. After installing the hall sensor, a magnet is positioned on the stand close enough to the sensor to activate one of ten user selectable settings.
- 0 = off, 1 = 1000, 2 = 750, 3 = 500, 4 = 250, 5 = 150, 6 = 100, 7 = 75, 8 = 50, 9 = 25 (9 has the highest sensitivity to magnets)
Inside the Sleep Menu is an additional type of sleep setting. Pinecil has an unpopulated footprint (U14) for a hall effect sensor (Si7210). It is possible with the hall sensor to trigger Pinecil to go to sleep after it enters the stand, and Zzzz will appear on the screen. After installing the hall sensor, a magnet is positioned on the stand close enough to the sensor to activate one of ten user selectable settings.
- 0=off, 1=1000, 2=750, 3=500, 4=250, 5=150, 6=100, 7=75, 8=50, 9=25 (9 has the highest sensitivity to magnets)
- Setting of 1 might be used if you solder on PCBs with magnets and do not wish Pinecil to auto-sleep constantly. And a very strong/large magnet would be required on the stand to activate the sensor sleep mode.
- Setting of 9 would be useful if you only had a small magnet and are not concerned about Pinecil falsely triggering sleep mode near magnetized items/tools.
- Neodymium magnets are recommended. If using small magnets, 2-3 may be required, but too many can also be detrimental.
Expand Down
2 changes: 1 addition & 1 deletion Documentation/Menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Scrolling through the submenu will return you back to its entry location after y

### Calibrating input voltage

Due to the tolerance on the resistors used for the input voltage divider, some irons can be up to 0.6V out on the voltage measurement.
Due to the tolerance on the resistors used for the input voltage divider, some irons can be up to 0.6 V out on the voltage measurement.
Please calibrate your iron if you have any issues with the cutoff voltage.
Note that cutoff messages can also be triggered by using a power supply that is too weak and fails under the load of the iron.

Expand Down
2 changes: 1 addition & 1 deletion Documentation/Power.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Combining these two gives the common equation, power is `Volts (V) squared / Res
The resistance of the tip is fixed, ~7.5 ohms for the TS100/Pinecil and ~4.5 ohms for the TS80(P).

This means that for both irons, the power delivered to the soldering tip is proportional to the voltage used, squared.
This is why the TS100 performs poorly when run off 12V power supplies.
This is why the TS100 performs poorly when run off 12 V power supplies.

## Output Control & Regulation

Expand Down
12 changes: 6 additions & 6 deletions Documentation/Temperature.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ This has some fairly large limitations, but it also has the benefit of being ext
Conventionally a thermocouple is created using two dissimilar metals that join, and then the other ends of these metals are terminated to copper contacts. These copper contacts are also part of the construction of the thermocouple and are referred to as the cold junction.
As there are these extra two joins between the thermocouple wires and the copper; these also have properties of their own in their reactions with temperature.

If the cold junction is held at 0 degree's C, then their effect is considered to be null, and so they can be ignored. However, in the real world the joins to copper are often at room temperature, and as such the measured voltage from the thermocouple must be compensated to remove the influence of these joints. This process is often called cold junction compensation.
If the cold junction is held at 0 degrees Celsius, then their effect is considered to be null, and so they can be ignored. However, in the real world the joins to copper are often at room temperature, and as such the measured voltage from the thermocouple must be compensated to remove the influence of these joints. This process is often called cold junction compensation.

Every time in the circuit there is a join between two different metals, there is a small thermocouple created, this means that _every_ soldered connection is also one.

Expand All @@ -25,9 +25,9 @@ Every time in the circuit there is a join between two different metals, there is
If you analyse one of the open circuit schematics (Pinecil, TS100, TS80) they all use the same approximate formula.
This consists of an op-amp that is connected directly across the heating connections to the tip, and a separate handle temperature sensor.

When the iron is **not** heating the tip, the microcontroller uses the ADC to read the output from the op-amp. This produces a voltage that _should_ be linear to the temperature of (tip-handle). This value is then offset compensated (to remove ADC+op-amp offsets), and then converted into a temperature delta in C/K. This temperature delta can then be added to the handle temperature to derive the tip temperature in C.
When the iron is **not** heating the tip, the microcontroller uses the ADC to read the output from the op-amp. This produces a voltage that _should_ be linear to the temperature of (tip-handle). This value is then offset compensated (to remove ADC+op-amp offsets), and then converted into a temperature delta in °C/K. This temperature delta can then be added to the handle temperature to derive the tip temperature in degrees Celsius.

Depending on the construction of the tip, the lookup values used for converting the tip reading in uV into degrees C/K varies. It is worth noting, however, that TS100 and Pinecil tips are approximately the same as the Hakko T12 tips. (In @Ralim's testing, to within measurement error). This makes sense as these tips are cheap and would have made an excellent design for Miniware to have cloned in making the TS100 in the first place.
Depending on the construction of the tip, the lookup values used for converting the tip reading in µV into °C/K varies. It is worth noting, however, that TS100 and Pinecil tips are approximately the same as the Hakko T12 tips. (In @Ralim's testing, to within measurement error). This makes sense as these tips are cheap and would have made an excellent design for Miniware to have cloned in making the TS100 in the first place.

## Implications of this

Expand All @@ -43,7 +43,7 @@ The PID controller in the firmware is tuned to be slightly underdamped and thus

This is why sometimes the temperature may flick around a little during use but the tip temperature itself is quite stable. The thermal mass of the tip smooths these small amounts out nicely for the user. Though seeing larger jumps on some tips than others _may_ indicate that the tip does not have optimal internal thermal bonding between the heater coil and the tip itself.

The firmware uses the theory that these irons are more towards the power users territory than most, so it tries to not hide the actual temperature. What some soldering iron controllers do is that they hide the actual measurement once you are within a certain tolerance of this. For example, on a digital Weller unit Ralim has to hand, if set to 350C, it will regulate to within around +-3 C but not indicate you are outside of this bad until you exceed +-5C. This gives the illusion that it's holding the temperature perfectly when in actuality it's moving around as well.
The firmware uses the theory that these irons are more towards the power users territory than most, so it tries to not hide the actual temperature. What some soldering iron controllers do is that they hide the actual measurement once you are within a certain tolerance of this. For example, on a digital Weller unit Ralim has to hand, if set to 350 °C, it will regulate to within around +-3 °C but not indicate you are outside of this bad until you exceed +-5 °C. This gives the illusion that it's holding the temperature perfectly when in actuality it's moving around as well.

Given enough time (3-5 seconds) with no external cooling, the inside and outside temperatures of the tip will be equal. When testing the tip temperature accuracy try to allow time for the system to stabilise.

Expand All @@ -53,6 +53,6 @@ The firmware in these irons does a best-effort of calculating an accurate temper

The firmware only accounts for cold junction compensation and then treats the remaining error as being a constant offset.
While the error is small, it is actually composed of both a constant offset as well as an offset that is linear to the handle temperature.
This offset that is linear to handle temperature is as of current not modelled into the firmware and there is assumed to be constant. This is generally "close enough" as once the unit is in use, the handle temperature is usually within 10C as the components inside warm-up from use. This means that this error is "relatively" constant once the unit is being used. However, this can cause odd behaviour when the tip temperature ~= room temperature. And can cause some jumping and movement in the readings when attempting to control the tip to sub 100C.
This offset that is linear to handle temperature is as of current not modelled into the firmware and there is assumed to be constant. This is generally "close enough" as once the unit is in use, the handle temperature is usually within 10 °C as the components inside warm-up from use. This means that this error is "relatively" constant once the unit is being used. However, this can cause odd behaviour when the tip temperature ~= room temperature. And can cause some jumping and movement in the readings when attempting to control the tip to sub 100 °C.

This is a known tradeoff that is made as the irons intended use case means that it will spend most of its time above 150C, at which point these errors are no longer the dominant error sources in the system.
This is a known tradeoff that is made as the irons intended use case means that it will spend most of its time above 150 °C, at which point these errors are no longer the dominant error sources in the system.
4 changes: 2 additions & 2 deletions Documentation/Troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ If you can open up your iron, give it a good look at all the connection points,

If you are finding the tip is reading high; the first fields to check in the Debug menu are `RTip` and `CHan`.

- `RTip` is the raw tip reading in uV; at cool this should be around 700-1000 for Larger tips and ~1500 for smaller tips (TS80's)
- `CHan` is the temperature of the temperature sensor on the PCB in degrees C \* 10. So 29C ambient should read as 290
- `RTip` is the raw tip reading in μV; at cool this should be around 700-1000 for Larger tips and ~1500 for smaller tips (TS80's)
- `CHan` is the temperature of the temperature sensor on the PCB in degrees Celsius \* 10. So 29 °C ambient should read as 290

### RTip is out of spec

Expand Down
Loading