This project is about convert an old Weller WECP-20 into a modern JBC soldering station with the following:
- Model Predictive Control with quadratic programming
- Kalman-Bucy filtering
- Modbus for parameter setting and logging
- eFuse with 7400 logic family for safety feature
- Sleep functionality
- Power consumption alarm
The goal of this project is not to create a JBC clone to compete against JBC soldering station manufacturer. The goal is to create a Model Predictive Control controller (MPC) together with Kalman-Bucy filtering that works on low cost devices. In this case STM32F051R8 has been used successfully with MPC and Kalman-Bucy filtering. The STM32F051R8 has the following properties:
- ARM®Cortex®-M0 32-bit RISC core
- 48 MHz CPU
- 64 kB in Flash
- 8 kB in SRAM
- 12-bit ADC
- 32-bit PWM
- USART
The MPC controller has the objective function:
The MPC controller inside the microcontroller has the following properties:
- Input constraints
- Soft output constraints
- Regularization
- Integral action with anti-windup
- Rate of change constraints
- Disturbance input handling
The code and example for the MPC controller can be found at CControl.
The famous Kalman-Bucy filter that was successfully used in Apollo 11 program. The same filter is used inside the microcontroller of this soldering station for estimate the next state vector for the MPC controller. The microcontroller solves the Algebratic Riccati Equation for finding the optimal Kalman gain matrix directly.
The Algebratic Riccati Equation is solved by using Runge-Kutta 4:th order.
The code and example for the Kalman-Bucy filter can be found at CControl.
Due to the weak 50W transformer inside the Weller WECP-20 soldering sation, the output of the step response is slowly minimizing the steady state error. In other words, the 50W transformer cannot produce enought of current to ramp up the heat at the soldering time. Hence, the steady state still minimize the error between the reference and the trajectory due to internal integral action of the MPC controller. The measurements of the soldering station can be measured by the C++ software GoobySoft via nanoMODBUS through a FTDI 232 UART USB Device.
One good thing to mention! This MPC controller giving the soldering tip a more rapidly heat than the original analog PI-controller. Even though they were using the same 50W transformer. So this PCB board heats up the soldering tip much faster than the original does.
It takes about 10 seconds for the soldering tip to go from room ambient temperature to 320 degrees. That's a major improvement compared to the old Weller station.
When using T245 handle with C245 tips and C245 calibration parameters:
When using T210 handle with C210 tips and C210 calibration parameters: (The calibration parameters for C210 settings seems to need some few adjustments. Please send a PR if you have any suggestions.)
This is the current calibration parameters. The parameters can be set by using the C++ software GoobySoft. I have been using the genuine JBC tips when I made the calibration.
Calibration parameters for C245 tips:
Calibration parameters for C210 tips:
Connecting with GoobySoft:
The gerber files of the PCB can be found at my CircuitMaker project.
Here is the schematic. I have been purchased the T245/210 handle and holder from AliExpress. The PCB board have the same Connection for the plug, no matter if you're using T245 or T210 handle.
Handle T245: https://www.aliexpress.com/item/1005006125308446.html
Handle T210: https://www.aliexpress.com/item/1005009145545923.html
Tips C210: https://www.aliexpress.com/item/1005007415050203.html
Holder T245: https://www.aliexpress.com/item/1005006533444952.html (Select C245 sleep base)
Holder T210: https://www.aliexpress.com/item/1005006533444952.html (Select C210 sleep base)
DC 5.5x2.1 plug: https://www.aliexpress.com/item/1005006942560340.html
Connector socket: https://www.aliexpress.com/item/1005001699699232.html
Soldering station.
Soldering station with holder.
Circuit attached.
Circuit attached.
Circuit attached.
Glue.
Circuit front. Made with Altium CircuitMaker.
Circuit back. Made with Altium CircuitMaker.
Buck DC/DC converter from 36VDC to 7.5VDC and then 7.5VDC to 3.3VDC through a 3.3V LDO.
eFuse with 7400 logic family for safety feature.
Current and temperature measurement with high precision operational amplifiers.
STM32F051R8 microcontroller.
P-MOSFET.
Thread connection to the PCB.
Complete Circuit.
Flashing.
Potentiometer for temperature settings.
Sleep connection.
Sleep connection.
Switch connection.
Switch connection.
Transformer 50W.

































