I want to create a controller for the JBC T245 handle, but first I decided to see how the original controller works. Therefore, I had to reverse engineer the circuit of a CD-2BC model.

In order to understand the following analysis it is necessary to follow the schematic of the attached pdf. I also added some LTspice simulations.
Starting at page 1, the power rating of the main transformer (80 VA) is based on its size. I do not know the real value. There is some type of temperature sensor built in the transformer. At first, I thought it was a 33 kΩ PTC (measured with a multimeter in open circuit). Latter I discovered it could not be, because when the circuit is powered the sensor resistance is only around 1.65 kΩ @ 23 °C and 1.92 kΩ @ 43.5 °C. If anyone knows what type of sensor could be, let me know.
The interface board has nothing special about it, just the handle connector and an isolated serial to USB converter.
Jumping to page 2, here is where the most interesting circuit is.
The AC voltage used to power the solder iron is controlled by a pair of MOSFET transistors. Diode BAS16 charges a tank capacitor and this voltage is limited to 18 V by a zener in parallel. The top optocoupler turns ON the FETs and the bottom one discharges the gates for a fast turn OFF. The
~V23 voltage is around 31 Vp when the driver is OFF and 26 Vp during ON (peak values). The driver is always turned off for around 308 us on every half cycle during zero crossing.
Moving to the right, there is a differential amplifier measuring the voltage drop on the 5 mΩ shunt resistor. The voltage gain is set to -22.65 V/V and the output voltage is shifted by 1.65 V of offset (Vcc/2). Although the measured tip current is around ±10 Ap, the circuit is able to measure up to ±14.4 A maximum.
There are two sleep detect signals, one for the tip exchange holder and another one for the handle holder. The tip shorts these signals to ground.
SLP+ comes from an output pin of the dsPIC and it is always at +3.3 V.
Next, there is the amplifier circuit for the temperature measurement. The total amplification gain is -244.6 V/V. This signal,
T_TIP, is invalid when the output driver is ON, saturating above Vcc during negative cycles and below ground during positive cycles. Analog switches controls what signals feed the differential amplifier. When
SW1 and
SW2 are ‘0’,
T_TIP represents the temperature by measuring the small voltage between
TC and
COM. The circuit is at this state most of the time. One time during power up and one more when the handle is connected, the circuit changes
SW2 to ‘1’ during 30 ms. At this point, both inputs are connected to
TC. Maybe this is used to see the offset of the amplifiers. Sometimes, especially when the tip temperature decreases,
SW1 goes to ‘1’ for 300 us up to 8 ms. Now the amplifiers are measuring between
LOAD and
COM, this is the voltage drop at the heater. I do not know what they are trying to do here, because they do this when the output driver is ON. When this happens,
T_TIP is saturated and remains like that for the complete cycle.
When the driver is OFF,
T_TIP represents the tip temperature. There is more than 200 us for the dsPIC ADC to sample the temperature between every half cycle. I have notice that this signal seems stable inside this window but it is different depending if the previous cycle was positive or negative, one is always higher than the other for more than 100 mV @ 300 °C! Also there is a lot of ripple outside of this window when the driver is OFF. See attached pictures “T_TIP@300ºC”.
I think they detect when the handle (and the tip) is connected by analyzing the signal
T_TIP.
Moving on, the optocoupler controlled by the signal
ISO1 does nothing on this unit.
Next, there is a circuit to detect when the output voltage is applied. I called the signal
DET and it is active low. It goes to the active state every time the output driver is ON. I removed the 470 kΩ resistor forcing the
DET to be always inactive. The behavior of the station was very strange, the maximum output power was limited to around 10% and, with a setpoint of 300 °C, it heated the tip to only around 100 °C still showing 300 °C on the LCD.
Next, we find the ESD safe circuit.
TC is connected to mains earth through a couple of 0.22 Ω resistors and a 1.25 A fuse. If the user tries to solder a live circuit with reference to mains earth, it may happen to blow the fuse. This fuse is SMD and not easily replaceable. The 1 MΩ resistor ensures that the iron will still be ESD safe after such event. There is another differential amplifier measuring the leakage current between the iron tip and earth. The total voltage gain is -829.5 V/V, which ensures a correct measurement range of ±9 mA.
Finally, there is the power supply circuit that generates +8 V, +4.9 V, +3.3 V and -4.5 V.
On the last page, one can find the dsPIC connections, LCD, external I2C EEPROM, buttons, internal jumpers, ICSP connector (before you ask, yes the program is read protected!), a temperature sensor MCP9701, buzzer and the zero cross detection circuit. Since the thermocouple cold junction is at the handle, not in the control unit, it is not necessary to measure the unit internal temperature. However, they do it for some reason. This temperature will be significantly high because of the main transformer (main source of heat).
Zero cross detection is done in a very simple way. The signal is active some time before the zero cross event and the value of this time depends if the previous cycle was positive or negative. Not perfect, but I guess it is more than enough for the specific application.
All of this can be verified in LTspice using the supplied files.