GithubHelp home page GithubHelp logo

valerionew / unisolder-notes Goto Github PK

View Code? Open in Web Editor NEW
202.0 33.0 46.0 5.98 MB

Markdown documentation repo for building and chosing parts for Unisolder, the open source universal soldering iron controller

License: Creative Commons Attribution 4.0 International

unisolder markdown documentation open-hardware

unisolder-notes's Introduction

unisolder-notes

License CC-BY-4.0

Just a set of notes for anyone who is trying to build his own unisolder controller. It is intented to be a personal recap of the original topic on dangerousprototypes.com forum.

If you are reading this after i finished my project (so you are in the future, WOAH!), probably i'm not updating this document anymore. If it was useful to you, please help to keep it updated, by modifying the document and making a Pull Request. The community will thank you. Please see the Contributing section of this document.

I'm currently building this project, and this page is a work in progress, so the info may be unaccurate and untested. No warranty is given. Please refer to LICENSE.md file for all the conditions.

General notes

Sources

Original sources from Sparkybg are available as a submodule in this repository. Check out the sources on GitHub: sparkybg/UniSolder-5.2

Soldering and mounting

No hot air or reflow oven is required, the board can be mounted with a regular soldering iron.
Sparkybg recommends BGA no-clean flux. I personally use a felt tip regular flux and it works well for me.
ATTENTION: there are some resistor pairs that can be mounted in the wrong direction. All the mentioned couples have to be mounted with the long side according to the long side of the front board. Those are the couples that require special attention during the mounting:

  • R27 and R28
  • R63 and R65, double and triple check this pair, it's very common to have these wrong. If you do probably you will get error 13.
  • R30 and R31
  • R35 and R39
  • R25 and R26
  • C60 and R46

Please check the image provided by the author if you have any doubt about mounting or component orientation.

Interactive PCB map

I'm currently hosting on my GitHub pages this very useful interactive pcb map by Bug82: unisolder-chips

Original post here, I'm hosting it with the author's permission after his hosting went down.

Configuration resistors

There are some configuration resistors, please make sure to pick the correct values for your application. Those are listed in the Equivalent parts in BOM section of this document.

Power supply

The controller can be powered anywhere from 9V to 26V, AC or DC. However, since the iron current is limited to 6A RMS, more voltage means more power delivered to the iron. A toroidal transformer is recommended: 24V 120VA. Although this is not fully recommended (because of grounding difficulties in switching PSUs) you can use a 24V DC supply. There are two power input ports on the "back" pcb. One is for AC, the other is for DC.

Earthing

The controller should not be earthed in any way, except for the iron tip. In many cases the earth of the tip differs from the ground of the controller. For this reason, is not possible to use the tip earth connection to send the sleep/stand signal (see Sleep sensor section of this document). SLEEP pin should never be connected directly to the iron tip. Also, proceed with caution with the ground clip lead if troubleshooting the board with an oscilloscope. Disconnect the system from main's earth before attaching the clip to board ground.

OLED display configuration

At an early stage of the project the author was planning to implement both the 7 segment display and the OLED display. The 7 segment option was never implemented, and the compatibility was removed. There are some components that you'll have to remove from the BOM and some pads to short.

  • Ensure to get a SSD1306 128x64 oled. It is mainly available in a 0.96" size. I've used this part with success: DD-12864WE-4A. However, user SZ64 from the forum was able to get a 1.3" display (UG-2864KSWLG01) and confirmed that it is pin to pin compatible, and needs 12V. Users NECHTO and afedorov patched the firmware to work with SH1106 displays, patches can be found in this forum post and recompiled firmware in this other post.
  • Q15, Q17 and U9 (UL2003N) are not needed.
  • Ra to Rg are shorted
  • Ja to Jg are shorted ย 
  • Short, on the back side of the front pcb, the pins that have some soldermask free pads around, with the pads.
  • See the U19 FAN5331 section in this document, for picking the correct boost feedback resistor.

Rotary Encoder

Author added Rotary Encoder functionality, that duplicated the functionality of the buttons, to adjust temperature/settings. He posted in this forum post the details.

To add the Rotary Encoder functionality, you will need to wire up your rotary encoder as pictured, depending on which version of Unisolder you have.

You will also need to change settings in a hidden menu that is not immediately obvious.

  • Go to the main settings menu (Hold down center button or rotary encoder switch)
  • When in the settings menu, Hold down center button or rotary encoder switch for 5 seconds.
  • Press and release center button to select the control options
  • Leave it alone for 5 seconds, and it will exit the menu saving the settings.

Meaning of control options

  • KEYS: The normal 3 button control
  • ENC-A-1PPD: Encoder with Channel A event, 1 pulse per detent
  • ENC-AB-2PPD: Encoder with Channel A and Channel B event, 2 pulses per detent (One for A, One for B)
  • ENC-A-2PPD: Encoder with Channel A event, 2 pulses per detent
  • ENC-AB-4PPD: Encoder with Channel A and Channel B event, 4 pulses per detent (Two for A, Two for B)

Just select what works best for you. The goal is to select a variant which leads to change of temperature/option with one up or one down per detent.

Using a generic EC11 encoder, I used the ENC-A-2PPD option which worked great. If the direction is not what you prefer, change the Buttons: +/- orientation in the normal settings menu.

Buzzer

Q20 and D17 are needed only if a DC active buzzer (internal oscillator) is used. The one specified in BOM, however, does not need them. Unfortunately for now the DC buzzers are not supported by the firmware.

Sleep sensor

The author of the project has provided also a sensor module, based on an IR system, to detect whether the iron is in its holder.
You can use whatever system you want: a mechanical switch, a reed switch, an hall sensor... You can use any switch or any other device that shorts SLEEP to GND when the tool is in the holder. SLEEP is connected to a 3.3v pullup resistor.

Calibration

You'll need to calibrate the controller by connecting a very precise 10 ohm resistor (0.1% is recommended) between SENSEA and Vout1-.
Go to the Calibration submenu and turn the trimmer until R shows as close as possible to 100 times the resistor. If the trimmer doesn't get you to the value, try replacing R57 and R59 (one by one) with next higher and next lower value (1.8k, 1.3k).

Iron ID resistors

The station can automatically recognize the instrument you attach to it. To do this, you will need a resistor pair in the iron connector, so that the system can read it when a new instrument is plugged. If you don't want to switch between instruments, you can simply connect the resistor to the station connector instead of the iron connector. ID resistors must be not less than 1% tolerance. We will call Rid1 the resistor that goes between ID and Vout1-, and Rid2 the resistor that goes between ID and Vout2-

Soldering iron model Rid1 Rid2
HAKKO T12/T15 1k 5.6k
HAKKO FX8801, HAKKO 907 1k 820
JBC C245 150 5.6k
JBC C210 3k 5.6k
JBC C105/C115 3k 1k
JBC Microtweezers 1k //
JBC Nanotweezers 1.5k //
WELLER WSP80 120 5.6k
WELLER WMRT 680 //
ERSA RT80 300 110
PACE TD100 Black 680 560
PACE TD200 Blue 680 470

Software and programming the PIC

There are two alternatives for the PIC32 firmware:

  • Using the firmware without bootloader, loading it directly with a PicKit
  • Using the firmware with bootloader, loading the bootloader with the PicKit and the firmware via usb and UniSolder's PC software.

To me it's unclear what are the advantages of picking one choice over the other, I have to ask the author to clarify.

If you don't have a pickit and don't want to get one, you can use an Arduino as here. I've not tried this solution personally, so i don't know if it works. Let me know if you try this.
You can also use pic32prog from sergev, if you have a pickit 2 and want to program the microcontroller.
To load the firmware with a PicKit you will have to use MPLAB X, Microchip's software.
As zed65 stated in the forum: "You can NOT program the PIC via the PicKit2/3 standalone programming software. You have to put the programmer into MPLab mode in the standalone software then program it via MPLab."

To attach the PicKit3 to the unisolder board check on the PicKit for the little arrow pointing to pin 1. Connect that pin to the square pad on the unisolder board, and the rest of the pins in order. Pin 6 of the PicKit stays disconnected.

Modify the software

If you want to modify the software you'll have to compile it with XC32 v1.33 compiler (paid), adding the "s" option to the optimization.

Testing the bootloader

To test if the bootloader loading went ok, hold down keys "+" and "-" during power up. If some moving squares appear on the screen, the bootloader is working.

Equivalent parts in BOM

Some parts are not really easy to find. Some of them can be easily substituted with equivalent parts.

Resistors

Rs1 shunt resistor, R37, R42

0.003 or 0.004 ohm resistor can be used as a shunt. WSL3637 from Vishay is used. I wasn't able to find an equivalent part that would have a similar package. If you use 0.003 ohm shunt, R37 and R42 have to be both 1.5k 0.1%.
If you use 0.004 ohm shunt, R37 and R42 have to be both 2.0k 0.1%.

Ra to Rg 47ohm

Those resistors are not needed. You will need to short their pads with solder or use zero ohm resistors.

3v and 3.0v zener diodes

Despite the different name in the BOM, the same part can be used for both.

Rgnd1

This resistor is in a 2512 format, 10M, it is there to prevent huge electrical potentials between the computer's ground when it's connected and the station's ground.
You can use any value between 1M and 10M, or leave it disconnected if you feel safe, anyway this isn't recommended.

Rc2 Bourns trimmer

In BOM it's indicated as Bourns 3362, this part is a THT trimmer from a previous version, correct part number is Bourns 3364X-1-202E.
I'm using a Bourns 3314J-1-202E which also fits well.

Capacitors

For the ceramic capacitors insulator type, C0G is the best, X7R is also good. X5R is not as good as X7R. If it's possible avoid Y5V. Where voltage is not specified you can pick any voltage. 50V rating is better than higher. A contributed list of which capacitors need higher voltages than the logic 3.3V would be appreciated.

Diodes

Please note that many times with diodes there is the same part from a different manufacturer listed with the first two letters.

D1, D2, D3, D4 SR580

SR580 means "Schottky rectifier, 5A, 80V". There's nothing special about these diodes. Just use 5A 80V Schottky in a DO-201 package.
This part can be substituted with SB5100 or other Schottky Rectifiers with at least 5A current capability and at least 80V forward voltage. However the 80V part is still preferable, because it will have less forward drop.

D5, D8, D10, D14, D15 BAT46WH

Alternative parts:

  • BAT46WH

D6, D7, D12 SS310A

SS310A means 3A, 100V schottky. Any Schottky with the same ratings will do. For example:

  • SK310SMA

D9, D11, D13 1N4007

Alternative parts:

  • GF1M

D18, D19 MMBD1505A

If replacing this part, beware that the reverse leakage current is very important and should be as low as possible.

D22 SS34A

SS34A means 3A, 40V schottky. Any Schottky with the same ratings will do. For example:

  • SK34SMA
  • SS34FA

D16, D17, D20, D21 BAV199

This part is common with a suffix, such as "BAV199,215". It is the same part.

TVS1 60V TVS

60V TVS is just a 60V TVS. Any 60V TVS or close to this will do. For example:

  • 1.5KE62A

#ICs

U1 LM2675, R3 and R4

Either the LM2675M-3.3 and the LM2675M-ADJ version can be used.
If LM2675M-3.3 is used, R3 has to be 0 (shorted) and R4 has to be 1.5k.
If LM2675M-ADJ is used, R3 has to be 3k and R4 has to be 1.8k.
LM2674 can be used too.

U9 ULN2003L

You don't need this IC, this was only for the 7-seg version.

U10 MCP4651-503 (50k)

This part seems hard to find. You can replace it with the MCP4651-104 (100k) version. You can NOT use the 103 (10k) version.
Beware that this part is different from U15 below, they have a similar code but with the 5 and the 6 switched.

U15 MCP4561-503 (50k)

This part (as before) seems hard to find. You can replace it with the MCP4561-104 (100k) version. You can NOT use the 103 (10k) version.
Beware that this part is different from U10 above, they have a similar code but with the 5 and the 6 switched.

U6 REF3030

This part seems harder to find than the others. These are some of the possible alternatives:

  • REF3130AIDBZT
  • MAX6010AEUR
  • MAX6063AEUR
  • ISL21010CFH330Z
  • MAX6035AAUR30 may work, not personally tested.
  • LM4120AIM5-3.0 may work, not personally tested.

U14 LM4041CIM3-1.2

Can be substituted with LM4051AEM3-1.2

U12, U13, U18 MCP6V27

This part can be substituted with:

  • MCP6V02
  • MCP6V07
  • AD8629

U16 ADG736

Can be substituted with MAX394EUP+

U17 MCP6V03

This part can be substituted with:

  • MCP6V01
  • MCP6V06
  • MCP6V08
  • MCP6V26
  • MCP6V28
  • AD8628

U19 FAN5331, R68

This part can be substituted with LM2731, FAN5333A or FAN5333B. Please note that either version of FAN5333 have a different feedback voltage from each other and from the FAN5331. LM2731 has the same feedback voltage, so can be used as a direct replacment. This part is the boost converter for the OLED display. Different OLED displays need different voltages. Usually they can be either 9V or 12V. Check the voltage of your OLED and select R68 accordingly. R68 should be at least 1%.

Follows a table with values that should suit. These values are not tested (FAN5333B with 9V display is tested by me and working), proceed with caution and check the voltage prior to soldering the OLED.

IC R68 for 9V display R68 for 12V display
LM2731 (1.230V) 4.7k 3k
FAN5331 (1.230V) 4.7k 3k
FAN5333A (0.110V) 340 249
FAN5333B (0.315V) 1k 732

Transistors

Q2, Q8 SUD50P10

Can be substituted with SQD50P08

Q10, Q11 IPD053N08

AUIRFR3607 or IPD12CN10NGATMA1 can do the job.

To substitute this part the important parameters are:

  • Vds(max) should be at least 75V.
  • Rds(on) should be no more than 0.01ohm.

Q14, Q15, Q16, Q18, Q19, Q21, Q22 IRLML6401

This part can be substituted with VISHAY SI2315BDS-T1-E3 (@Tony, pg 113 unisolder forum)

Q15 IRLML6401

This part should not be installed when using the OLED display.

Q17 IRLML2502

This part should not be installed when using the OLED display.

Packages compatibility

SOD123 diodes

SOD123 diodes can be used also in miniMELF packages. Check in the document to see which parameters are important, to find a substitute.
If you can't find the part you are looking for, ask in the thread and please open an issue/pull request to update the document.

SOT223

Footprints for the SOT223 components are also compatible with DPAK packages.

Connectors

These are the part numbers for the connectors I've used. I was able to crimp all of them with a single tool: NEWBRAND NB-8160-04

J1, J7

Cable connector: MOLEX 039013022 555702R1
Crimp pin: MOLEX 39-00-0039
PCB connector: MOLEX 5566-02A-210

J2, J3, J9

Cable connector: MOLEX 5557-04R
Crimp pin: MOLEX 39-00-0039
PCB connector: MOLEX 039288040 5566-04A-210

J4, J8

Cable connector: 3M 89110-0101HA
PCB connector: 3M N2510-6002RB

J6

Cable connector: MOLEX 022013037 2695-03RP
Crimp pin: MOLEX 008550102 2759-(555)L
PCB connector: MOLEX 022292031 AE-6410-03A(241)

J5 RJ11v

This is just an RJ11 vertical connector. I found that Molex 95522-2667 fits perfectly.

Iron connector

If you don't want to keep the original connector from your iron, I've used and I suggest:
Socket: LUMBERG KFV 81
Plug: LUMBERG 0332 08-1

JBC T245

The matching socket for this iron, if you want to keep the original plug, is the Hirose RPC1-12RB-6P(71)

Contributing

Contributing to this repo is very welcome, feel free to add any information.
The information on this repo are gathered all around the internet, especially from the Dangerous Proto forum, and not only by first-hand experience. Please specify if what you're adding is tested by you personally or mention the source.
Please pay attention to not add copyright-protected material to the repo. Photos you're not the author have to be considered under full copyright by the author, unless otherwise explicitly stated.

Many thanks to the contributors @rsre and @lauer2356/EricLau

Currently I'm on page 100 of the topic. This is just a reminder for myself, ignore it

unisolder-notes's People

Contributors

ericrlau avatar lauer2356 avatar rsre avatar sparkybg avatar valerionew avatar werva avatar wildstar87 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

unisolder-notes's Issues

Adding enclosures to the notes?

Hi,

I was considering adding some talk about possible enclosures and how to build them. I don't know if there is much information regarding this topic in the thread. I've seen some aluminium extrusion enclosures, some 3D printed ones (like yours) and a few others.

What do you think?

Q10, Q11 not in BOM?

Hi,
I'm planning to assemble a unisolder unit and I found your notes very useful, especially the BOM.

I just have a small question: I did not find Q10 and Q11 listed in the Excel file but there is instead line 112 specifying two IPD031N03LGATMA1 as IPD053N08 equivalents.

But looking in the IPD031N03 datasheet, Vds(max) > 75v requirement is not met... Has this line to be corrected with another mosfet?

Thank you,
Nicola

Some questions

Hey, I just have 2 very simple questions.

  1. When are you planning to release the case schematics?

  2. Can you estimate the overall price of the pcb components?

Thank you for all the work!

best iron for the system?

I was just looking into different irons and ease of the system to control the heat.
does anyone have data on which controls it's heating best?
i've seen a marco reps video on the jbc 245 it seems good but the heating and thermometer lines are double use
is there a smarter one to use?

Board won't program

I've tried multiple things, but the board won't program. I've powered it via the power supply board and everything. The programmer always errors out, saying it cant detect the appropriate voltage level. Any ideas on troubleshooting? I can upload pics of both boards tomorrow, but I'm pretty sure all the components are oriented correctly.

Programming Question

Is the board supposed to have power when you're programming it? I have the PicKit3 plugged into the controller board and nothing else, and it's failing to program.

Equivalent parts U10, U15 correct?

For replacing U10 (original: MCP4651-503 (50k)) and U15 (original: MCP4561-503 (50k)) it's recommended using the same part MCP4561-503 (50k). But the original parts are different and it is even stressed in the description that you can't use the same parts for both.

Is there a typo in the replacement recommendation?

Wiring questions

I figured out which pins were which on the power supply board, but now I need to figure out where they plug into the control board. I can't find anything about how to hook this up, pin 1 isn't labelled in any way.

Problems with calibration

I'd post this to the forum, but I'm not getting the verification emails when I sign up, and no one has responded.

I'm trying to calibrate my unisolder. When I go into the calibration menu, the R value is sitting at 35 with the 10 ohm resistor attached. I can turn the trimmer and have it go up to 40, or down and it goes to 30. If I disconnect the resistor, the value shoots up to 1100-ish. Reading the docs, it is supposed to be close to 1000 with the 10 ohm resistor? I tried searching through the forums, but I didn't find anything that solved my issue. I found some things that mentioned the current across Sense A and Vout1- should be around 380uA, mine measures 360uA (though I don't fully trust my multimeter). I double checked U11 was soldered on properly, as well as the PIC, but I haven't been able to figure it out. I even replaced Rc2 thinking it was a broken pot (original spun infinitely).

New layout and updated BOM file

Hello, I was in the market for an upgraded station at home and stumbled across this project. I would like to do some design changes to make it easier to order mostly pick and placed. I am not looking to take the design as my own or profit off of it, in fact I am more than willing to share all files 100% every step of the way. I just finished the front board schematic into KI_CAD as it is my preferred software at work (only other option is PADS and I cant stand it anymore). if anyone would like to assist (and sparkybg approves) I would appreciate help finding new more available parts for the BOM. if there are software designers out there interested in implementing any new features but require edits in the schematic i am happy to incorporate those edits. I will be purchasing these from JLCPCB and just hand solder all the through hole components as required and will be more than happy to send off samples to anyone looking to add those software `integrations.

my first step is going to be just making replica schematics so if anyone wants to double check the connections. then I will begin to edit the schematic to relevant and more available parts either splitting diodes/op amps or joining them for example. I will be changing the regulator to newer IC something most likely with a higher switching frequency i prefer TI based IC's so I can use the webench designer for simplicity. please any input or requests i am excited about this project, and if nobody else chimes in I will at least be laying out my own board
Thank you
Ryan

Rotary Encoder information

Was having a lot of problems getting a rotary encoder to work. Finally found this note, buried in the thread. Would be nice to put this into your notes so it's more easily found.

Information was found here in the main thread:
http://dangerousprototypes.com/forum/index.php?topic=7218.msg71747#msg71747

The control method is selected this way:

  • go to menu
  • press and hold center button ot encoder button for 5 seconds
  • pres and release center button to select the control option
  • leave it alone for 5 seconds and it will exit

The meaning of options:

  • KEYS - the plain old 3 button control
  • ENC-A-1PPD - encoder with channel A event, 1 pulse per detent
  • ENC-AB-2PPD - encoder with channel A and channel B event, 2 pulses per detent (one for A and one for B)
  • ENC-A-2PPD - encoder with channel A event, 2 pulses per detent
  • ENC-AB-4PPD - encoder with channel A and channel B event, 4 pulses per detent (2 for A and 2 for B channel)

Just select what works best for you. The goal is to select an variant which leads to change of temperature/option with one up or one down per detent.

There is a connection picture here: http://dangerousprototypes.com/forum/index.php?topic=7218.msg74587#msg74587
front2

Merging back some forks into main

Hi everyone,
I see that some of you are continuing the work in some forks, doing a great job of expanding the documentation.
In particular:

What do you think about merging all this information in the main repo, adding a credits/contributors section?

Esp32 porting

I propose to start to work on an Wiring porting for Esp32 mcu, with Ota+wifi+bt future expansion.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.