DIY SMD REWORK STATION.

23,976

53

72

Introduction: DIY SMD REWORK STATION.

About: Electronics hobbyist

In this Instructable you can learn how to make a hot air gun controller using Arduino and other common components. In this project, PID algorithm is used to calculate the power required and is controlled by a isolated Triac driver.

this project uses a handle compatible with 858D, it has a K-type thermocouple, 700 watt 230 VAC heater and a 24 VDC fan.

This controller is efficient and reliable compared to the commercial one and is easy to build.

Step 1: Gather the Parts.

Here is the part list and link from where you can order them.

1. Modules and Boards :

> Arduino Pro Mini

>1602 LCD + I2C module

>Rotary encoder with push button

2. Tools :

>Hot Air Gun Handle : https://www.banggood.in/700W-Hot-Air-Gun-Handle-fo...

>Hot Air Gun Handle Holder + Nozzle : https://www.banggood.in/Hot-Air-Gun-Handle-Bracket...

3.Semi-Conductor devices :

>BTA12-600B Triac: https://lcsc.com/product-detail/Thyristors-TRIACs_...

>IRFZ44 MOSFET : https://lcsc.com/product-detail/MOSFET_IR_IRFZ44NP...

>MCP602 OPAMP : https://lcsc.com/product-detail/General-Purpose-Am...

>MOC3021 DIAC : https://lcsc.com/product-detail/Triac-Optocouplers...

>4N25 OPTOCOUPLER : https://lcsc.com/product-detail/DIP-Optocouplers_4...

>BRIDGE RECTIFIER : https://lcsc.com/product-detail/Bridge-Rectifiers_...

>UF4007 DIODE : https://lcsc.com/product-detail/Diodes-Rectifiers-...

4.Connectors :

>4-PIN CONNECTOR : https://lcsc.com/product-detail/_Boom-Precision-El...

>3-PIN CONNECTOR : https://lcsc.com/product-detail/XH-Connectors_Shen...

>2-PIN CONNECTOR : https://lcsc.com/product-detail/_Boom-Precision-El...

>2-PIN BIG CONNECTOR : https://lcsc.com/product-detail/CH-Connectors_CH3-...

Female Headers : https://lcsc.com/product-detail/_Boom-Precision-E...

5.Capacitors:

>0.1uF CAPACITOR : https://lcsc.com/product-detail/CBB-Capacitors_PAN...

>10nF CAPACITOR : https://lcsc.com/product-detail/Polyester-Film-Cap...

6.Resistors:

>200K TRIM POT : https://lcsc.com/product-detail/Precision-Potentio...

>100K RESISTOR : https://lcsc.com/product-detail/Carbon-Film-Resist...

>47K RESISTOR : https://lcsc.com/product-detail/Carbon-Film-Resist...

>10K RESISTOR : https://lcsc.com/product-detail/Carbon-Film-Resist...

>1K RESISTOR : https://lcsc.com/product-detail/Carbon-Film-Resist...

>470E RESISTOR : https://lcsc.com/product-detail/Carbon-Film-Resist...

>330E RESISTOR : https://lcsc.com/product-detail/Carbon-Film-Resist...

>220E RESISTOR : https://lcsc.com/product-detail/Carbon-Film-Resist...

>39E RESISTOR : https://lcsc.com/product-detail/Carbon-Film-Resist...

others:

Buzzer : https://lcsc.com/product-detail/Buzzers_HMB1206-0...

Step 2: Wiring

The following modification should be made to the arduino pro mini to use it. Since, the I2C pins of arduino A4 and A5 are not PCB friendly. The pins A4 to A2 and A5 to A3 should be shorted as in the picture.

Wiring for I2C LCD module:

I2C Module<--------------> Arduino Pro Mini

GND<----------------------->GND<--------->GND

VCC<------------------------>VCC<--------->5V

SDA<------------------------>A2<------------>A4

SCL<------------------------>A3<------------>A5.

Wiring for Rotary encoder module:

Encoder<---------------------->Arduino

GND<--------------------------->GND

+<-------------------------------->NC(Not Connected, code uses inbuilt input pull-up of arduino)

SW<----------------------------->D5

DT<------------------------------>D3

CLK<---------------------------->D4.

Wiring of Handle:(7 wire)

3pin connector - (Green, Black, Red)

Red wire<----------------------->Thermocouple +

Green wire<-------------------->Reed Switch

Black wire<--------------------->Common ground.

2 pin connector - (Blue, Yellow)

Blue wire<--------------------------> Fan +0

Yellow wire<------------------------>Fan - (or GND)

2 Big pin connector -(White, Brown)

White wire<-----------------------> Heater

Brown wire<----------------------> Heater(no polarity)

NOTE :

Thewiring of the hot air gun handle may be different for different type of wands. So, refer to the wiring diagram in the photo and follow the path of the wire to find the respective pins.

Step 3: Circuit Diagram

The circuit consists of 3 parts mainly.

The Interface Part :

It consists of a 1602 LCD display with I2C module and a rotary encoder with push button. The display shows the set temperature, current temperature, Fan speed and applied power and current status of the handle. The encoder is used for various inputs and to navigate through the options and controls.

The Sensor Part :

It consists of a K-type thermocouple for temperature sensing and a reed switch for determining the position of the handle. The thermocouple's voltage is amplified by the op-amp to a voltage level measurable by the arduino. The gain of the op-amp is controlled by 200K trim pot.

The Controller Part :

There are mainly 2 controllers in this circuit. The one is a simple PWM Fan speed controller with a MOSFET. The other one is a isolated controller for heater. It consists of a TRIAC driven by a opto-coupled DIAC and it is done by controlling the number of wave cycles that is delivered to the heater. The 4N25 optocoupler helps to maintain the sync with the AC waveform.

Step 4: PCB

The circuit of this project is a bit complicated, So I recommend you to use a printed board than a dot PCB. If you want to make your own PCB I have attached the eagle files in this step. But, If you want to get them done by a PCB manufacturing company you can order it from JLCPCB

. You can view the Easy EDA design through this link : https://easyeda.com/ManojBR/harws1-1

Step 5: The Code and Libraries.

The program is the most crucial part of the project and thanks a lot for sfrwmaker writing the program. The program uses PID algorithm to control the power to maintain the set temperature. It works by controlling the number of wave cycles delivered to the handle per second.

When the controller is turned on the wand will be in OFF state. By rotating the encoder the temperature and fan speed can be adjusted. Short press of the encoder will switch between the Fan speed and Set temperature adjustment.

The Hot air gun starts heating as soon as it is lifted up from the holder and shows Ready and make a short beep when it reaches the set temperature. It will turn off heating as soon as it is put back into the holder. But, the fan will continue to blow until it reaches the safe temperature. After the temperature falls below 50 C it will make a short beep and displays COLD.

When the hot air gun is off, the controller will enter Setup mode if the encoder is long pressed.

The setup mode has Calibrate, Tune, Save and Cancel and Reset Config options.

Note: If you are using PCB from easyEDA then you should change the pin number of reed switch to pin no. 8 and Buzzer pin to pin no.6

you have to install the Commoncontrols-master library andtime-master library for the code to work properly.

go to this GitHub repository to download all the files in one zip file: https://github.com/ManojBR105/ARDUINO-SMD-REWORK-S...

Step 6: SETUP

The temperature readings should be calibrated with the original value to get reasonable readings. So, in order to do that you should follow the following steps.

First, go to the setup mode and select the Tune option.In the tune mode the internal temperature (0-1023) is displayed on the screen.Rotate the encoder to manually select the applied power to the hot air gun. Heat the gun to 400 degrees.When the temperature and dispersion become low, the controller beeps. Then tune the trim-pot to set the internal temperature about 900 (in the internal units). Long press to the encoder return to the menu

Then, go to the setup mode select Calibrate option. Choose the calibration point: 200, 300 or 400 degrees, press the encoder. The hot gun will reach the desired temperature and beeps. By rotating the encoder, enter the real temperature. Then select another reference point and repeat this process for all the calibration point.

After this long press and come to main screen and then again go to Setup mode and select save.

And now the Hot air rework station is done.

Step 7: Finished Project:

For power supply, I have used Hi-link 230 VAC - 5 VDC 3 watt isolated power supply module and for 24 VDC have used 12-0-12 500 mA transformer by connecting the 12 VAC end to a bridge rectifier and center tapped is left unconnected. Then the rectified output is fed to a filtering capacitor and then to LM7824 voltage regulator IC. The output of the IC is the regulated 24 VDC.

Thank you sfrwmaker for writing the code, Checkout the other projects by sfrwmaker: https://www.instructables.com/member/sfrwmaker/

Thanks to LCSC for their support. LCSC Electronics is one of the fastest growing suppliers of electronic components in China. LCSC has been committed to offering multitudinous, genuine and in-stock items, since its founding in 2011. Aiming to provide the whole world with more superior parts from Asia. More details please visit: https://lcsc.com/

If you have to make your own PCB at home, checkout this instructable: https://www.instructables.com/id/PCB-Making-1/

Thank you.

Be the First to Share

    Recommendations

    • Robots Contest

      Robots Contest
    • Back to School: Student Design Challenge

      Back to School: Student Design Challenge
    • 3D Printed Student Design Challenge

      3D Printed Student Design Challenge

    72 Comments

    0
    dima7901
    dima7901

    4 months ago

    Good day! I made a soldering station, everything is fine, except that the buzzer (speaker) does not work, I did not use the Arduino nano, but the atmega 328p controller in the TQFP32 case and used the 12 pin of the controller, which is the digital output of the D8 controller.the same pin is specified in the firmware.The buzzer does not work, what is the problem, who can tell you ? There is another main question-what is this option - " Setup Tune ", what does it regulate and how to properly configure this item and what does the internal temperature (900) mean ? Please tell me what and how, my translator may not translate well, and this item is not at all clear to me from the description

    0
    johngr1
    johngr1

    1 year ago

    hello.thanks for sharing your project. when im trying to validate the code in arduino ide it gives me this error : no matching function for call to 'DSPL::begin()'
    and highlites this line of code
    LiquidCrystal_I2C::begin();
    any ideas why is this happening??thanks in advance..

    0
    dima7901
    dima7901

    Reply 4 months ago

    У меня была таже проблемма.нужно использовать более старую библиотеку lcd_i2c.и все будет впорядке.я подкидывл трижды неудачно четвертая заработала.библиотеки просто обновились неоднократно

    0
    johngr1
    johngr1

    Reply 1 year ago

    found it..had to replace ''begin'' with ''init'' now compiles fine.

    0
    miladk989
    miladk989

    6 months ago

    my handle doesn't have reed switch its old without fan how can i use my handle in board
    i use air compressor instead fan

    0
    miladk989
    miladk989

    Reply 6 months ago

    anybody help?

    0
    miladian89
    miladian89

    6 months ago on Step 7

    hello thanks for your great job!
    please help me
    I cant find mcp602 in where I live, could you tell me what part can use instead of mcp602?

    0
    Maker BR
    Maker BR

    Reply 6 months ago

    Try to find an opamp that works with 5v and has rail to rail output

    0
    miladk989
    miladk989

    Reply 6 months ago

    thanks!
    my handle doesn't have reed switch its old without fan how can i use my handle in board
    i use air compressor instead fan

    0
    digital38
    digital38

    Question 6 months ago on Step 4

    hello, I could not run your project anyway, when I run it, I encounter Failed I guess a0 pin doesn't read thermocouple

    0
    digital38
    digital38

    Answer 6 months ago

    What does the zero detector do? Can't it be canceled?

    0
    Maker BR
    Maker BR

    Reply 6 months ago

    No it is very much needed.

    0
    sonallsun
    sonallsun

    9 months ago

    would you think to add soldering iron codes in to this project ? or maybe you have another project you ve allready done?

    0
    meikashitamomime
    meikashitamomime

    9 months ago

    Good day to you my friend. I just finished the assembly but there is one thing I have a problem. I can't compile the codes. I'm not good in coding, I really need your help buddy. I am running Arduino 1.0.1. Thanks.

    IMG20210109190511.jpg
    0
    Kvaðning
    Kvaðning

    9 months ago

    I'm not getting any text on my display. Any ideas as to the likely culprit?

    0
    Maker BR
    Maker BR

    Reply 9 months ago

    Probably the display itself or i2c. Assuming all wirings are correct.

    0
    Kvaðning
    Kvaðning

    Reply 9 months ago

    turns out I was using the wrong liquidcrystal_I2C version

    0
    Hamza92
    Hamza92

    Question 9 months ago

    Is it possible to eject the zero circuit because I want to connect directly to the SSR relay.

    0
    edwardg78
    edwardg78

    10 months ago

    how to change pwm frequency

    0
    vejdani.2016
    vejdani.2016

    1 year ago on Step 7

    Hi
    Why can't the CommonControls library be installed?
    Please help me.