Skip to content
README.md 3.8 KiB
Newer Older
Flax's avatar
Flax committed
# 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

Flax's avatar
Flax committed
Legacy software : [Repository of the legacy project (SW)](https://github.com/diorcety/SolderStation)

Flax's avatar
Flax committed
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

Flax's avatar
Flax committed
Status : AVAILABLE

Flax's avatar
Flax committed
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.
Flax's avatar
Flax committed
See [the original documentation on the Electroilab wiki](https://wiki.electrolab.fr/Projets:SolderStationWEnglish) for further details and documentation.
Flax's avatar
Flax committed

### Flax variant

Flax's avatar
Flax committed
Status : IN PROGRESS

Flax's avatar
Flax committed
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).
Flax's avatar
Flax committed
The push button of the encoder is used to provide better control of the HMI, by detecting short and long pushes for different actions.
Multiple "working modes" are 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 is shut down automatically, and the interfaced locked in an error mode, which is exitable with a long push on the encoder.
The gain of the ADC measure is editable directly from the interface.
The regulation is done with a PID.
Flax's avatar
Flax committed
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

Flax's avatar
Flax committed
Status : IN PROGRESS

Flax's avatar
Flax committed
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)