Introduction
This is a three-channels combined soldering iron rework station for Hakko T12, JBC C245 and 858D Hot Air Gun based on STM32 micro controller. The soldering controller uses ili9341 TFT display with SPI interface without touch-screen. There are several display variants (2.2", 2.4", 2.8" or 3.2") in the market, so you can chose the one that satisfies your requirements, The controller in main photu uses 2.8" display.
The soldering controller manages both soldering irons and Hot Air Gun at the same time. In the main mode, you can activate any device or activate them all simultaneously. The information about two devices can be displayed on the main screen. The third device temperature can be displayed as a small number under the iron temperature in case the third device is not cold.
To simplify managing devices simultaneously two rotary encoders are used in the controller. The upper encoder manages the JBC or T12 soldering iron and the lower encoder manages the hot air gun or T12 iron depending on which devices are curently in use. Also, the main menu is available through the lower encoder.
The automatic mode switch that turn the Hot Air Gun off is still optional and can be placed on the front panel, like mine. To simplify using JBC iron, you can buy the dedicated stand (base) or implement optional push button to simulate JBC tip change and optional switch to simulate JBC on-hook feature when the JBC iron is not connected to the controller. Both optional switches and be placed near the JBC socket on the rear side of the controller.
UPDATE
Sep 05 2023, version 1.0.2
- Black screen issue at first startup fixed
- Tip activation issue fixed
- Added ability to backup and restore the configuragion data: parameters, tip calibration, pid parameters. See description in more details
Sep 10 2023, version 1.03.
- Fixed issue with limited temperature display in iron tune mode: now the temperature higher than 400 degrees is displayed correctly.
- Mirror bugs fixed.
July 03 2024, version 1.04
- Adjusted main view when several devices are in use. Reviewed the switching algorythm between active devices: JBC or T12 iron and Hot Iron Gun.
- Fixed bug in the iron tip activation menu.
- Updated the managemant of FLASH memory.
- When the FLASH memory failed to read, the controller switches into flash debug mode.
- Added error message when the FLASH write error occurs.
Aug 15 2024, version 1.05
- Added new JBC tips to the tip list.
Sep 08 2024, version 1.06
- Added green progress bar to the automatic calibration screen indicating how fast the iron reaches the reference temperature. See the project description below for more details.
Let's get started
This project has several features:
- The controller allows managing Hot Air Gun and both soldering irons independently. Two rotary encoders allow this kind of managing your devices. The reed switch of the Hakko 858D Hot Air Gun handle is used to activate rework capability. The optional JBC stand base siplifies usage of the JBC iron.
- The JBC iron can be switched off or turning to the low-power mode when it is placed on the optional stand depending on configuration parameters in the main menu.
- Hot Air Gun is powered by a whole sine half-period voltage peaks from AC outlet and do not disturb the AC power source of your room.
- The controller checks the hakko T12 soldering tip is connected by short peaks of a current through the tip. When the tip is removed from the handle, the controllers initiates the tip change procedure. This simplifies managing of soldering tips.
- The controller checks the Hot Air Gun is connected and its fan is working properly before applying power to the Hot Air Gun heater. This increase the safety of the controller.
- The controller would keep the Hot Air Gun fan working until the Air Gun become cold. Optional main power switch can be used to automaticslly turn-off the entire controller after the Hot Air Gun become cold. This allows you to lieave your workplace immediately and guarantee the Hot Air Gun will be cooled safely.
- The fan speed of the Hot Air gun is managed automatically as soon as the Gun is powered off. This decrease the time requred to cool down the Hot Air Gun and ensure that the hot air not harm your workplace environment.
- The controller uses ambient temperature sensor inside the FX9501 handle of the hakko T12 iron to correct the tip temperature measured by the soldering tip thermo couple.
- The controller supports individual calibration of the T12 and JBC tips by four reference points, 200, 260, 330 and 400 degrees Celsius.
- The controller supports calibration of Hot Air Gun by four reference points, 200, 300 400 and 500 degrees Celsius.
- The dedicated calibration procedure is implemented in the controller to simplify the tip or Hot Air Gun calibration process.
- PID algorithm used to manage the supplied power to soldering iron or Hot Air Gun. This allows to keep the preset temperature very accurate.
- The temperature can be displayed in two degrees: Celsius or Fahrenheit.
- The standby (low power) mode implemented using optional hardware tilt switch in the hakko T12 handle.
You can install optional switches and buttons if you are going to use single device and do not connect other devices to the controller.
- Optional JBC switch can be used when you do not connect the JBC iron to the controller. This switch connected in parallel with the 'standby' connector of the JBC stand. This switch can be placed near the JBC connector.
- Optional JBC tip change push button can be used if you are not implementing the JBC stand at all. This button can initiate the tip change procedure of JBC iron tip. This button can be placed near the JBC connector.
- Optional automatic mode switch can be used when you do not connect the Hot Air Gun to the controller to switch the Hot Air Gun off for sure. The auto switch connected in parallel with the reed switch of Hot Air Gun.
The controller PCBs
To low the controller price and increase its reusability, the complete schematics was split in 3 separate PCBs: the main PCB, high-voltage PCB to manage Hot Air Gun and display PCB. The component list of each PCB is available on EasyEDA site.
- The main PCB conntains the main low-voltage components: STM32F446RET6 MCU, op-amps, voltage dc-dc converter and regulator, mosfets that manage the soldering iron and Hot Air Gun fan.
- The high-voltage PCB that manages the Hot Air Gun contains the high-voltage part of the project: the triac, optional relay and opto-couplers that creates galvanic isolation from the main board.
- The display PCB contains the TFT display and two rotary encoders.
The main board
The main board schematics available in EasyEda site, where you can vew it and order the board if you wish. The schametics of the main board was separated to 4 pages.
The main board picture is shown below. As far as you can see, there are several connectors on the board that should be explained.
- J3 is a screw-type 24v input power connector, please ensure the polarity.
- J12 is a screw-type Hakko T12 connector, please ensure the iron polarity.
- J10 is a screw-type JBC iron connector, please ensure the iron polarity.
- J11 is a additional JBC connector (thermo-sensor, on-hook connector, tip change terminal.
- J8 is a connnector for tilt switch and ambient temperature sensor inside the Hakko T12 handle.
- J7 is an interface to the high-voltage PCB to manage the Hot Air Gun.
- J5 is a optional DIP-type connector for optional SD-card reader on the TFT display. Can be used to load external files to the SPI flash memory IC. Just solder the pin-header here.
- J4 is an optional auto-switch connector.
- J9 is a low-voltage part of Hot Air Gun, reed switch, thermo sensor, fan.
- J6 is a IDC-type connector for the display board.
On the EasyEDA site you can find two versions of the main PCB: first release has a small fix: the extra wire between U5 op-amp pin #4 and negative terminal of D3 diode. Second version has updated desing and should work properly without any change, but not tested.
The HotAir Gun PCB
The high-voltage pcb is also available in EasyEda site. The schematics contains the TRIAC and opto-coipler modules allowing to isolate the board from low-voltage part of the project.
The high-voltage board has wide lines and should be ordered with 2oz depth to allow high current to the Hot Air Gun heater. It would be very expensive to order the complete board with 2 oz depth, so the high-voltage part was split to a separate PCB. Yet, the interface connector is completely isolated from AC power via two opto-couplers OK1 and OK2. The EasyEda page contains two versions of the pcb, both are correct. You can select the one you like depending on where your connectors are on the case.
There are 4 screw-type connectors on the left side of the board and one interface connector on the right side.
- JP3 is a AC power connector, connect here the AC 220volts from AC outlet. Do not forget to install 5A fuse before. The fuse can be placed on the rear pannel of the case for instance.
- JP6 is a optional main power switch connector. Connect the main switch here or just short the pins with a piece of wire.
- JP4 is a Hot Air Gun heater connector.
- JP7 is a connector to supply AC power to the AC-DC 24v power supply.
- JP8 is an interface connector to the main board. It supplies the isolated interface to the Hot Air Gun.
The interface connector has 5 wires that manages the AC power board:
- "+24" is +24 volt from AC-DC power supply to activate K1 relay. You can remove this wire if you do not install the relay
- "gnd" is obliously ground wire
- "E" is a power enable signal (3.3 v), used to activate the relay. Can be skipped if you do not install the relay.
- "P" is a Hot Air Gun heater signal (3.3v), used to power the Hot Air Gun.
- "Z" is a AC zero cross signal from the High voltage PCB.
You can skip optional 24v RTE24024 relay from TE Connnectivity if it is unavailable in your country or if you do not want to implement the safety feature in this controller. This relay completely disconnects AC power from Hot Air Gun GX16-8 aviation plug on the front panel when the Hot Air Gun is not used. If you install optional auto switch you can completely disconnect the Hot Air Gun from the controller and it would be safe to touch the GX16-8 connector.
To remove the RTE24024 relay completely, you should solder the relay pins as shown on the picture bellow by red lines. Also, you can remove R24, VT6 and D3 from the PCB together with the relay.
If you do not want to implement the main power switch of the controller, you should solder the pins of the main power switch as shown on the picture by the purple line.
The display PCB
The display PCB allows to install the controller into the small case. The board files and description available on EasyEda site.
If you wish to use bigger display, you can use another TFT board.
The schematics of the board is very simple. It contains two rotary encoders and TFT display only. Also, you can see the mosfet that manages the TFT display brightness.
The controller requires big size PCB to fit all the components so it is convenient to create the display separate board. Also, It is convenient to solder rotary encoders to the display board and use encoder neck to fix this board on the acrylic front panel.
This controller is working with ili9341 based TFT displays only. You can select the display size (2.2", 2.4", 2.8" or 3.2"). The display has sufficient resolution 320x240 to show required information. I used the 2.8" one to fit the case.
AC-DC power supplyThe JBC tips requires much more powerfull power supply than Hakko T12 tips do. The JBC C245 tips resistance is about 2.6 Ohms, so the power supply should be capable to give you about 10A of current, more than 230 Watts. To power up the project, I would like to recommend Mean Well EPP-300-24 power supply like shown on the picture below.
This is a high-quality power supply that can drive both JBC and T12 tips simultaneously without any issue. This power supply has a small form factor, and has light weight. The only disadvantage is thet this power supply is not isolated one. The JBC tips have feature that the termo-couple is connected to the tip body, so using switching power supply the 'Line' terminal from AC outlet goes to the body of the tip. Perhaps, it is not good idea to use switching power supply for this project, but I do not like the transformer power supply as soon as they have a very huge weight and big dimensions. I decided to use extra transformer power supply 220v->127v while working with the sensitive components. We can discuss in futher details the AC-DC power supply in the comments of this project.
Hakko T12 Soldering TipsThe Hakko T12 soldering tips are very convenient tools: they are heating fast and have a sensor inside that allows to keep the temperature very accurate.The tips require three wires only: plus, minus (ground) and earth ground. The heating element inside the tip is connected consequently with the thermo couple allowing to decrease the required wires. It makes the cable very flexible and light weight.
A dedicated handle is required to use the T12 tips. I would like to recommend some handles from KSGER supplier. You can order the variant you like. In any case, you can put the termistor and tilt switch inside the handle.
The standard T12 handle can use the GX12-5 plug to connect to the controller. You can use the following reference of the plug pin-out.
If you use the standard hakko T12 5-pin connector, you have to connnect together pins 1&2 of J12 connector on the main PCB then connetct them to the pin #1 of the plug. But you can use the GX12-6 socket instead like shown on the picture below.
Here tip power pin is separated from the tip temperature pin and you can connect Soldering Tweezors or Hakko 907 iron or similar to this connector, which have separated circuits for heater and temperature sensor. Pin #1 should be connected to the iron heater and pin #6 - to the iron sensor. The controller main PCB has J12 socket which has splitted heater and sensor pins accordingly. The GX12-6 socket of the T12 handle should be modified: you have to connect pins #1 &6 together inside the T12 handle connector.
If you are not going to use Hakko 907 or Soldering Tweezors with this controller, you can use standard GX12-5 plug.
Automatic power off feature
This feature increases the safety of the soldering iron. There are two automatic power-off features are implemented inside the controller: software driven and hardware driven. The hardware driven one requires optional TILT or REED switch installed inside the T12 Iron handle. In the software mode, the controller turns on the Idle mode if the supplied power to the iron is stable for a while. In this case, the controller will power off the iron in specified timeout. When the time to automatic shutdown near, it will be displayed as a seconds remaining. When you use the iron, the supplied power changes and the controller resets the automatic power off timeout.
The automatic power off feature enabled as soon as you setup the auto off timeout in the setup menu. You can setup the minutes before the soldering iron will be switched off in case of inactivity.
The TILT switch is working as follows: when it turned downstairs, it is "open" (not conduct the electricity) when it turned upstairs, it is "closed" (start conduct electricity). The tilt switch is the part of the Chinese soldering kit. You can connect the TILT switch in any way, upside down or not, the controller is checking the TILT status change. When the TILT switch status would change, the controller would reset the low power mode timeout.
To use the hardware TILT switch, you must setup automatic power off timeout and standby temperature. If the standby temperature is "OFF" the hardware tilt switch will not be used and software solution described previously will be activated. Also, you can setup standby time (timeout to switch to low power mode). When the tilt switch enabled, the main working mode changes the following way. The iron is starting heating. When it reaches the preset temperature the "Ready" icon will be displayed and the controller will keep the preset temperature. If the soldering iron is not used (laying on the table, the tilt switch become "inactive") the controller will switch to low power mode. If the iron keep laying for automatic off timeout, the controller will switch off the power completely. As soon as you start using the iron, the controller restores the preset temperature.
Also, you can use REED switch in the soldering handle. The controller would activate the low power mode when the REED switch would "closed". For example, you can place the magnet into soldering station base to activate this switch when you put the soldering handle on the base. Perhaps, you should use mode shorter timeout values when using REED switch.
To connect the IRON handle you can use the schematics shown bellow. As you can see, the TILT switch and the thermistor connected between dedicated line and ground. The iron tip is connected by three lines: Earth, V- and V+.
The JBC C245 soldering tips are up-to-date replacement of Hakko T12 ones: they are heating much more faster because have a much more powerful heater element. The JBC C245 tip has heater resistance about 2.6 ohms while the Hatto T12 tip resistance is about 9 ohms. As soon as both tips requires equal voltage to be supplied, the power of the JBC tip bigger than the Hakko T12.
The JBC tip also have a sensor inside that allows to keep the temperature very accurate. The heating element inside the tip is not connected consequently with the thermo couple this time.
The JBC tip connected to the controller by the following way: the Vout1 terminal is connected to the pin#2 of the J10 connector on the main PCB and then through the PR2 & PR3 resisters to the ground, the Vout1+ is connected to the pin #1 of the J10, the SENSEB terminal is connected to the pin#3 of the J11 connector. The thermo-couple generates the negative voltage with respect to the Vout1 terminal (controller ground) so it is not possible to use the Hakko T12 channel to control the JBC iron, The dedicated channel implemented in the controller to manage the JBC iron.
Caution: As soon as the heater resistance is low, the +24 volt terminal is about connected to the JBC tip body. The switching power suppliers are not isolated one and the AC power 'Line' can be detected on both output terminal of the power supply, so on the tip body. That is why the JBC soldering controller usually uses the transformer power supply. To partially resolve this problem, someone advices to connect the minus termianl of the power supply to the Earth Ground through high-voltage capacitor 470 nF.
Better to use AC/AC isolated transformer, for instance 220-> 127 volts or 220 -> 220 volts before the switching power supply to ensure the soldering tip safety. Unfortunately, to properly power the JBC tip, 10A capable power supply required. The transformer power supply capable to supply such big current, has big weight and is not convenient.
As soon as the JBC handle does not contain the tilt switch it is not convenient to use this handle without any additional equipment like optional JBC stand because you cannot put the iron to the standby mode easily. On the other hand, the JBC tip can reach the preset temperature very fastly and it is possible to completely turn-off the tip when you do not use it.
The JBC stand allows to put the JBC tip to the standby or completely off mode, yet it allows to initiate the tip change procedure. The controller supports the JBC stand: the JBC iron will be turn-on automatically when you pick-up the handle from the stand. The JBC iron will be turned-off or put to the standby mode when you put the handle to the stand. Yet, when you touch the upper changing plate, the controller initiates the JBC tip change procedure.
The JBC stand and JBC handle usually uses dedicated connector type that is not convenient in my point of view. Yet my veriosn of JBC stand had inproper connection. Perhaps, the stand was designed for other JBC tips C210 or C115. So I have replaced the connectors on the JBC handle and JBC stand with GX12-6 aviation plug.
Use the schematics below to correctly replace the JBC stand connectors.
When the JBC is on-hook (put on the JBC stand) the JBC stand signal connected to the JBC temperature sensor terminal and the controller detects that the JBC iron is not used. As soon as you take the JBC handle off-hook, the controller starts supplying power to the JBC iron.
It is convenient to install optional standby switch and push button. This allows to completely disconnect the JBC iron handle from the controller if you are not going to use in in your soldering session. Or you can use the JBC iron without of JBC stand. Turn the optional switch on to start JBC iron.
The optional push button can be used to start JBC tip change procedure in case you have no JBC stand. Press the tip change button to replace the JBC tip.
The optional switch and button can be placed near the JBC connector and connect to the socket as shon on the pictre above.
Hot Air Gun 858D handle
To turn the controller into rework station, you can order hakko 858D hot air gun handle as shown on the picture bellow. This handle is non-expensive and contains all required components: heating element, fan, temperature sensor and reed switch.
When connecting the Hot Air Gun handle to the controller via GX16-8 plug you can use the following reference of the plug pin-out. Unfortunately, I do not know the color of the wires because my handle is completely assembled. I have been told that there is a different kind of hakko 858D handles in the market and your handle can have different pinout. To check your handle pinout you can keep in mind the following criteria:
- The plug should have two wires for the heating element, two wires for the temperature sensor and two wires for the fan. The reed switch shares gnd with a temperature sensor.
- Earth Ground is connected to the metal body of the handle.
- The heating element has resistance about 60 Ohm.
- The thermo-couple (temperature sensor) resistance is about 1-3 ohms.
- The reed switch should be shorten to the groun pin when the handle is near magnet
- The fan should start working when you apply 24 volts to its terminals.
To obtain pure 3.3v power source, it is advised to order DC-DC converter based on MP1584 chip like shown on the picture below.
Connect this DC-DC converter consequently with b0505 isolated converter:
24v -> MP1584 DC-DC converter -> b0505 -> ams1117 and you get isolated power supply for your stm32 micro controller. This king of power supply is isolated and supplies low-noise power that ensure accurate ADC temperature readings. The MP1584 board that supply 5v only is more accurate than ones with adjustable voltage output. Perhaps, next release of the controller I should disassemble this board to the components and put them on the PCB.
Build/Start checklistTo clarify the sequence for starting the controller here is the list of operations should be performed consequently:
- Build the controller hardware, solder all the components as shown in the complete schematics below.
- Flash the firmware into the controller
- Connect the T12 soldering iron handle with tip installed to the controller
- Connect the JBC iron to the controller
- Connect the Hot Air Gun
- Power on the controller
- Initialize (format) the SPI FLASH using main memu, then power-cycle the controller
- Activate some tips you are going to use in near future using main menu
- Setup some common parameters through menu (temperature units, automatic power-off timeouts, standby temperature)
- Calibrate Hot Air Gun and several soldering iron tips
Flash firmware to the controller
This project is based on the STM32F446RET6 micro controller. To flash prebuilt firmware to the controller the st-link v2 programmer and ST link utility are required.
Download the STM32 ST-LINK utility from st site. Install the utility in your system. Launch the ST-LINK utility, connect the programmer to the 4pins SWD interface (J1) of the micro controller, press "connect" button. The main window should display the memory content of the micro controller. Press flash button to write the firmaware.
Note: Do not connect AC power the controller while it is connected to the usb programmer. The micro controller oryour computercan be damaged in this case.
Caution:Disconnect AC power from the controller while you connect or disconect soldering Iron handle or Hot Air Gun. Connecting this equipment while the controller is working can damage the controller ports.
Build all the blocks together
On the picture below you can see the block diagram that help you to connect all the parts together.
As you can see, the main AC power after the 5A fuse goes into JP3 socket on the high voltage board. You can connect main power switch to the JP6 socket or short its connectors and completely remove main switch if do not like to use it. JP4 socket on the high-voltage board and J9 socket on the main board are used to connect to the GX16-8 connector of the Hot Air Gun to the controller. The power to the heater goes from JP4 socket and all other wires connected to the J9. Earth ground should be connected to the Earth ground of AC power (not shown here). JP8 on the high-voltage board and J7 on the main board connectors should be connected together. Soldering Iron GX12-5 (or GX12-6) connector should be connected to J12 and J8 sockets. J4 used to connect optional automatic mode switch for Hot Air Gun. Using this switch you can manage the Hot Air Gun without the reed switch. Yet you can turn this switch off and then disconnect the Hot Air Gun completely from the controller when it is not needed. J6 socket on the main PCB should be connected to the J1 connector on the TFT board. This is 14-wires connector to attach the display and rotary encoders. The JBC GX12-6 connector can be connected to sockets J10 and J11.
Using J5 you can connect the SD-CARD adapter installed on TFT display to the controller when going to upload some files from SD-CARD to SPI FLASH. For instance, it can be used whel upload localization data files.
Initialize FLASH
The SPI FLASH of the controller should be initialized (formatted) first time controller starts. If the FLASH is not formatted, the controller shows up a dialog menu asking to format the FLASH. After the SPI flash would be formatted, power-cycle the controller. The controller cannot save any file on unfurmatted flash.
The Debug modeDebug mode implemented to allow fixing the problems in the controller hardware. In this mode the controller shows its internal parameters. To reach this mode, select 'About' item in the main menu, then long press the lower encoder.
As you can see from the picture above, the debug screen shows the following information:
- iron power. You can manage the power supplied to the soldering iron by rotating the upper encoder. As the encoder rotated, you adjust the power supplied to the iron. The supplied power will be shown here (in internal units). The more power supplied to the iron the faster it heats. If the JBC soldering iron is on-hook, you can manage the Hakko T12 iron, when the JBC iron is off-hook, you can manage the JBC iron.
- The currunt through the iron tip. Checking the current through the iron tip the controller detects that the tip is connected. When you remove the iron tip from the handle, the current value should decrease. The value equal to 250 when the tip is not connected and equal to 1500 when the current through the tip detected.
- Iron tip temperature (internal units, 'tTmp' and 'jTmp')
- The current through the Hot Air Gun fan ('gCur'). The controller checks the current through the fan to ensure the Hot Air Gun is connected. If the current would not detected, the controller never supply the power to the Hot Air Gun heater.
- Irons and Hot Air Gun detection flags ('t-j-g') in the right bottom corner. If the T12 iron tip is connected, the 't' flag would be shown. 'j' flag is for JBC tip. If the current through the fan detected, the 'g' flag would be shown.
- Tilt switch status (open or closed). The value should change when you rotate the T12 iron handle. This status used to check the iron is in use.
- Fan power value (internal units, 'gFan'). Rotate the lower encoder to change this value. If the hot Air Gun activated, the fan should change its rotation speed.
- Hot Air Gun temperature (internal units, 'gTmp'). As soon as the power suppplied to he Hot Air Gun it should heat and the value should increase.
- Timer TIM1 period value in miliseconds.The timer clocked by the AC zero signal. Here the value should be 1000 (or 833 if AC power frequency is 60 Hz in your country). If no AC zero signal detected or the period value is not correct, thois line would be shown red.
- The ambient temperature value (internal units, 'amb.'). This is a temperature of the sensor installed into the T12 iron handle. In normal conditions, the value should be near 2000.
In the debufg mode you can manage the hardware by rotary encoders: upper encoder can manage the soldering iron power, lower encoder can manage the Hot Air Gun fan speed. When you finish hardware checking, long press the lower encoder.
The flash debug mode
The flash debug mode allows to check the SPI FLASH IC is working. To enter this mode, long press the upper encoder in the 'About; menu.
If the SPI FLASH is formatted and working correctly, you should see the screen above. As you can see, it is the root directory list of SPI FLASH. In case of FLASH error, the error message would be displayed indicating the FLASH is not readable. If your SPI FLASH is unformatted, the corresponding message would be displayed and the controller asks you to cofirm the FLASH should be formatted. When the FLASH will be formatted, you should see the empty file list.
Starting from v 1.02 you can manage the data files on the SPI FLASH: long press the upper encoder button. You will enter the manage menu allowing
- load NLS localization files (for instance, cfg.json, ru_lang.json, po_lang.json, port_lang.json and font binary files) from the external SD-CARD
- load configuration data binary files with paramete settings, calibrated tip data and pid parameters from the external SD-CARD
- save configuration data to the external SD-CARD
You can connect external SD-CARD to the card reader of the TFT display using J5 connector on the main PCB.
User manualThe Working ModesThe controller supports several modes:
- The main working mode: the controller is ready to work. This mode is activated at controller startup.
- Tip activation mode
- Tip selecting mode
- Tip or Hot Air Gun calibration mode
- Setup menu
- PID tune mode
When the controller is just powered on, the main working mode is activated. In this mode the T12 soldering iron can keep switched off or start running debending on settings in the main menu. You can use the T12 and JBC soldering irons and (or) Hot Air Gun in any combination.
The main display shows the following information:
- The tip name.
- The iron and Hot Air Gun status
- The current temperatures of the iron and Hot Air Gun
- The preset temperature of the iron and Hot Air Gun
- The temperature of the handle (ambient temperature)
- Iron icon indicating the tilt switch activity
- Fan icon indicating the fan is blowing
As you can see the display shows information of two devices at a time. The rotary encoders manage corresponfing device, In this case Hakko T12 is managed by the upper encoder and Hot Air Gun is managed by the lower encoder. Depending on the device status, the main display can change. For instance, when you activate the JBC iron, the upper slot of the display will show the JBC tip and the upper encoder will manage the JBC temperature.
The lower slot can change to the Hakko T12 iron as shown in the picture above.
To turn the Hakko T12 soldering Iron on, press the correspondng encoder. The controller start to heat the Iron to the preset temperature. To turn the Iron off, press he encoder lightly again. When you are rotating the encoder, you are changing the Iron preset temperature.
Long press the Hakko T12 encoder activates the boost mode. Boost mode can be configured via the main menu. You have to setup the temperature shift and the boost mode duration.
The lower encoder usually manages the Hot Air Gun. Rotating the encoder you changing the preset temperature or fan speed of the Hot Air Gun. Light-press the encoder to toggle the changing mode between temperature and fan speed. By default, you changing the temperature rotating the encoder. Changing fan speed mode is a temporary mode.
Long-press the lower encoder to activate the main menu. The menu list is looped for convenience. To navigate through the menu, use lower encoder.
Tip activation mode
To start using the tip, you have to activate it first. There are about 150 T12 and JBC tips available in the market at this time. The controller contains the complete list of these tips, but it is too long to select from when you like to change your tip. To short the tip selection list. To add the tip to the selection list, you have to activate it. The tip activation mode started via 'activate tip' menu.
Here you can navigate through the complete tip list using rotary encoder. Selected tips are marked by square checkbox (see T12-D16, T12-D24 for instance).To select new tip, navigate to it and lightly press the encoder. If you wish to remove the tip from the selection list, press the encoder button again.
The exclamation mark right to the tip name is indicating that the tip is not calibrated yet. The tip list starts from T12 tips and then shows the JBC tips.
Note: You have to select some tips to start using the controller.
Tip selection mode
The tip selection mode allows you to change the tip you are going to use. You can change the tip to another one from selection list.
To activate the tip selection mode of the Hakko T12, you have to switch the T12 soldering Iron off and disconnect the tip from the tip handle. The controller detects that the tip is not installed in the handle and activates the tip selection procedure. Also the tip selection mode can be activated from the main menu if you are going to use Soldering Tweezors or Hakko 907 iron.
Use the rotary encoder to navigate through the tip selection list and highlight the required tip. Then insert the required tip into the handle. The controller detects the tip is connected and turns to the main working mode. If you are going to activate the Soldering Tweezors or Hakko 907 iron, you should press the lower encoder to select new device.
To activate the tip selection mode of the JBC iron, you have to touch the 'changing plate' of the JBC stand or press optional push button near JBC GX12-6 connector. The controller activates the tip selection procedure. As soon as new tip will be installed into the handle, the controller turns the main working mode.
The Tip Calibration
Note:The external thermocouple required to calibrate the iron tip.To perform calibration procedure more precisely, apply a solder drop to the contact between the thermocouple and the soldering tip rod.
The current tip can be calibrated using 'calibrate tip' menu item. If the tip is not calibrated yet, the "[!]" sign would be displayed near the tip name on the main screen. There are two calibration modes in the current version of the controller firmware: automatic and manual.
In the automatic calibration mode, controller split the temperature interval into 8 reference points. Then it goes through each reference point and tries to keep the temperature as near to calibration point as possible. As soon as the temperature stabilze, the controller requests you to enter real tip temperature. In the calibration mode, the controller uses very conservative PID parameters to prevent overheating of uncalibrated iron tip. It tooks some valuable amount of time to reach and stabilize the reference temperature. Starting from version 1.06, the progress bar of green color was added to the calibration screen. This gadget is to brighten up your annoyng minutes of waiting for reaching reference temperature.
First, turn the power on by pressing the encoder lightly to start calibration process from the first referense point. The iron starts heating. When the reference temperature reached, the controller beeps and get ready to read the real temperature value. Check the iron temperature by the external thermo-couple and enter this temperature to the controller: rotate the encoder handle to select the real temperature then press the encoder lightly. Then the controller continues with the next reference point. This procedure finishes when you enter temperature of all 8 reference points or when the real temperature will be greater than 430 Celsius. During this procedure controller updates tip calibration data.
After all reference points would be calibrated, the controller saves new tip calibration data to the FLASH. The controller would short beep if the calibration saved successfully.
Caution: In case of emergency you can turn-off the iron power during calibration procedure by pushing the encoder button.Take care of JBC tips and Hot Air Gun, careflly control its temperature during calibration procedure. This equipment can be damaged by overheating.
The red temperature gauge at the bottom of the screen shows the tip temperature in the internal units. The right point of the gauge is the maximum tip temperature (about 450 degrees Celsius). The gause indicating as hot the tip is. If the tip temperature overheats the boundary, the calibration procedure would fail and the controller switches to the main mode.
Automatic calibration procedure build the tip calibration by least squares method and the calibration approximation parameters can be inaccurate. To improve the tip calibration data the manual calibration procedure can be used.
In manual tip calibration you must 'guess' the internal temperature readings that matches the calibration temperature. First, you should select one of the 4 calibration temperature point and press the encoder lightly to start calibration process. This procedure is iterative: you start with the some preset temperature value in internal units (for example, calibrated by automatic procedure) the controller heats the tip to this preset temperature and gets ready. Then you measure the real temperature by the external thermo-couple. If the real temperature is not equal to the preset one, you should increase or decrease the internal preset temperature by rotating the encoder handle.
The progress bar in the lower part of the display shows the difference between preset and current temperature (in internal units) of the tip. The controller keeps the tip temperature near the preset value (vertical line on the progress bar) all the time. To increment the preset temperature, turn the encoder right, to decrease - turn it left.
As soon as the iron reaches required temperature (check the external termo-couple sensor), press the encoder lightly. The controller reads the internal temperature at the moment and saves the calibration point data. Then you return to the preset point selection mode. Here you can select next or previous reference point. When you finish calibration, long press the encoder.
Note: The controller starts calibration with 260 degrees Celsius. This allows you to apply a solder drop to the contact between the thermocouple and the soldering tip rod.
Low power mode
The controller supports low power (standby) mode for Hakko T12 and JBC C245 tips. When the T12 soldering iron is not used for predefined period of time the controller will switch it into low power mode. To enable low power mode, go to the T12 menu, then select 'standby temp' menu item. Press the encoder handle and setup the standby temperature value (or OFF if you do not want to use low power mode). Then select next item, 'standby time' and setup the period to enter low power mode.
Also, you can setup 'auto off' parameter that defines the time the unsused T12 iron should be completely powered off.
When the low power (standby) mode activated, the controller shows the 'standby' icon in the upper-right corner of the display lie shown on the picture below.
As you can see, in this mode, the preset iron temperature will be changed to the snadby temperature. The controller would keep that temperature while the standby mode will be disturbed by using iron or automatic power off timeout.
If you use the iron, the controleer would return to the main working mode, the tilt sensor icon shows that the controller detects the iron was used.
The JBC stand is used to manage the power supplied to the JBC iron. The Iron would be turned on when you take JBC iron off-hook and turned-off or put into standby mode when you put the JBC on-hook. The JBC menu allow you to configure the standby temperature and standby time duration. In the standby mode, to turn-off the JBC iron completely you can press the encoder button.
Tune PID parameters
Note: Perhaps, it is not necessary to tune the PID parameters of soldering iron or Hot Air Gun.
These parameters are determines how fast the iron heats and how accurate the temperature is kept by the controller. You can restore the default values by completely resetting the configuration. Or you can write down old parameter values on some piece of paper and restore them manually via PID tune menu.
The 'tune PID' menu item in the main menu allows tuning PID parameters of soldering iron and Hot Air Gun. When tune PID mode activated, you can see three values of PID parameters on the display, Kp - proportional, Ki - integral, Kd - differential. First, choose the parameter you are going to change and press the encoder button. You turn into tuning test mode. Long press the encoder to start procedure. There are two graphs: the temperature difference and power math dispersion. Both graphs are auto magnifying ones and its maximum value is shown on the Y-axis by the corresponding color.
To power on/off the iron, long press the encoder button. To change the selected parameter, rotate the encoder. On the graph you will see how the temperature changes in time. To select another parameter to change, press encoder lightly. You will return to parameter selection screen. To finish procedure and save new values of PID parameters long press encoder in parameter selection screen.
The firmware
Prebuilt version of the controller software can be downloaded from the github repository. To upload this hex file into controller, you can use stm32 st-link utility.
Native Language Support
The controller supports messages in national languages. The language configuration files are located in the NLS directory in the repository. The main configuration file is cfg.json, where the localization configuration defined. For each language you can find three parameters: language name, message file name and binary font file name. For instance, to configure russian language the following line was added to the cfg.json file:
{ "name": "russian", "messages": "ru_lang.json", "font": "ubuntu_cyr.font"}
The russian messages are described in ru_lang.json configuration file. You can investigate this file if you want. As you can see, standalone messages and menu item messages are defined in this file. The ubuntu_cyr.font is a binary unifont file in u8g2 library format. This font contains ASCII and cyryllic characters.
To simplify adding new language support, the template_lang.json file can be used. Edit this file, adding translation from English to your favorite language then save the template fo a new message file.
My firiend Armindo translated all messages to Portugeese, so the project has Russian and Portugeese languages at least. The binary font ubuntu_we.font contains ASCII and Western Europe characters including Greek symbols. You can use this font for your language if you are speaking on one of the european language. To do this, you have to add new line to cfg.json file and create new message file from template.
When the controller initializes, it searches for cfg.json file on SPI FLASH. If the file exists, the controller reads this file and checks that it is consistent (for each language entry, the font and message file are exist on the FLASH also). Then the controller loads the configuration where the desired language defined. If the language correctly defined in cfg.json file, it will be activated: binary font and messages will be read from the corresponding files.
Caution: 'language' menu item in the prefference menu can be also translated to the national language. To change the language back, you should be able to understatand the language you select.
To activate the selected language, save the parameters menu.
Upload NLS file to the SPI FLASH
In order to use your native language, the NLS data should be uploaded into SPI FLASH. To do so, you have to:
- Connect your SD-CARD reader (the TFT display board has one) to the J5 connector via 6 wires: SD_CS (Chip Select), MOSI, MISO, SCK, +3.3v, gnd. In case you are using the SD-card reader on your deisplay board, ou can connect 4 wires only (exclude +3.3v and gnd). If you have not implemet the J5 socket, remember following: SD_CS (Chip Select) - PC13, MOSI - PC1, MISO - PC2, SCK - PB10 of the MCU.
- Write the files from NLS directory on the repository to root directory of SD-CARD (hope you have one). SDSC and SDHC should work fine. I have formatted my card in FAT32, but other FAT variants should work fine.
- Put the SD-CARD into card reader and turn the controller on.
- Access about menu item and press the lower (GUN) encoder shortly.
- In the about screen long-press the upper encoder
- The flash debug mode screen appears. Here you can see the files available in your SPI FLASH.
- Long-press the upper encoder again to access the configuration file manage menu. The first item allowint to load NLS files from SD-CARD to SPI FLASH.
When the controller copies files from SD-CARD to SPI FLASH, it reads the cfg.json file and loads the language data accordingly with this file. For each language in the list, it checks the language consistency and copies data files when the language is consistent (have both message and font file). Yet, the controller copies only files that is newer that existed on SPI FLASH one. Font data file can be used for several languages. For instance, you can use ubuntu_we.font for several Wester Europe languages.
Comments