Newer
Older
# Solder Station MK2
SMD SolderStation for Weller RT series soldering tips (software part).
This is an evolution of the previous project : https://wiki.electrolab.fr/Projets:SolderStationWEnglish
Legacy software : [Repository of the legacy project (SW)](https://github.com/diorcety/SolderStation)
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Hardware part : https://code.electrolab.fr/Flax/solderstationmk2_hw
## Description
## Variants
A few [hardware variants](https://code.electrolab.fr/Flax/solderstationmk2_hw#variants-branches) are available for this project. The corresponding embedded software for each variant will be provided in a separate directories.
### Legacy
The legacy hardware variant is 100% compatible with the [legacy embedded software](https://github.com/diorcety/SolderStation), based on an Arduino Nano. It won't be provided in this repository.
See [the original documentation on the Electroilab wiki]https://wiki.electrolab.fr/Projets:SolderStationWEnglish) for further details and documentation.
### Flax variant
This variant is based on a ST Nucleo STM32L011K4. It is developped with STM32CubeIDE, using the LL low-level layers from ST.
Due to the small size of the MCU, the ST HAL cannot be used without heavy optimisation.
This embedded software handles the temperature regulation, and provides a HMI through the encoder and the 7-segment display. A I²C connection is provisionned for future use, but not used as of today.
The 7-segment display provides three digits, which are multiplexed with individual control of the common pin. Thus the maximum luminosity is 1/3 of the theorical max rated.
The encoder is connected to external interrupt pin. The circuit provides hardware filtering, making software debouncing non-mandatory. The detection of the steps will be done using a state machine as explained in [this topic on EEVBlog](https://www.eevblog.com/forum/projects/easy-rotary-encoder-implementation-good-easy-to-implement-code/msg504575/?PHPSESSID=nhqopfmigfoc5a1h5o7atbsbv5#msg504575).
The push button of the encoder will be used to provide better control of the HMI, by detecting short and long pushes for different actions.
Multiple "working modes" will be provided in order to ease the use of the station, in particular a standby mode which will have a different (lower) temperature set point than the nominal working mode.
In case of error detection, the power output will be shut down automatically, and the interfaced locked in an error mode, which will be exitable with a long push on the encoder.
The gain of the ADC measure will be editable directly from the interface.
The set points and gain are stored in the E²Flash of the MCU, using a rolling NVM mechanism.
See specific documentation for details (TODO).
### PICLIght and PICLight_THT variants
These two variants are based on a Microchip PIC12F1572. The temperature set point is defined with a single potentiometer, which value is read through an ADC. The power control is done with a 16-bit high resolution PWM output. The LED is controlled with a standard GPIO.
A pin header is provided for direct connection to a PICkit proramming / debugging probe.
## Tools
- [Arduino IDE](https://www.arduino.cc/en/software)
- [Arduino-Makefile](https://github.com/sudar/Arduino-Makefile)
- [STM32CubeIDE 1.12.0](https://www.st.com/en/development-tools/stm32cubeide.html)
- [ST CubeL0 low-level layers](https://www.st.com/en/embedded-software/stm32cubel0.html)
- [ST STM32L011K4](https://www.st.com/en/microcontrollers-microprocessors/stm32l011k4.html)
- [Microchip MPLabX IDE](https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide)
- [Microchip PIC12F1572](https://www.microchip.com/en-us/product/PIC12F1572)
- [Microchip PICkit 4](https://www.microchip.com/en-us/education/developer-help/learn-tools-software/programmers-debuggers/pickit4)