hello, code and solder here, and as promisedtoday we’re making our own soldering station! here’s what we’ll need:first of all - the soldering iron i reviewed in my last videoclick now if you haven’t seen it. second - an arduino nano next - a thermocouple with the max6675based converter board a n-mosfet. i am using the irf3205 because of thelow resistance and a very low price. around 20 cents apiece from china. an 16x2 lcd with the i2c adapter.
one led with a resistor. the ky-040 rotary encoder. we will also need some wire and kapton tape. all this can be purchased from your favouritechinese marketplace for less than $15 total, on screen are prices from aliexpress. the links to all of those products can befound in the video description. let’s get to the assembly! first we’ll take apart the iron and removeall the electronics. to do this we need to remove the front ringand 3 screws on the top.
now we desolder the old pcb and connect ourcables to the remaining wires, insulating them with shrink tubing. we route the cable out of the back of thecase and put it back together. now it’s time to attach the thermocoupleto the tip. we put a single layer of kapton to insulatethe metal surface, then the sensor, and a few more to secure it in place. now let’s make the switching part. the components are connected as on this schematic. first we bend the outer pins of the mosfetin order to get more working space,
and tin them to make further soldering easier. next we place the resistor between the sourceand gate of the mosfet, to ensure it stays off without a signal applied. we trim the leads and get the cable to theiron. first we remove the insulation and tin oneof the leads. now we do the same to a thin cable we’lluse to connect the led. to make later connections easier we’ll removea bit more of the outer insulation from the cable. now we can connect the led cable with one for the iron. trim it shorter along with the middle lead of our mosfet.
add some shrink tube and solder it together. now let’s make the cable connecting thegate to arduino. to simplify the process we’ll use a jumpercable, cut off one end, remove insulation, tin it, and solder it to the transistor, insulatingwith shrink tubing as usual. we connect the other side of the led cable tothe second cable for the iron and solder them together. now we go to the other end, tin it, cut onelead of the led and resistor, solder them together and to the cable, insulating properly. finally we attach one more wire for the groundconnection with the arduino. to test the assembly we connect the thermocouplewith a thermometer and attach external power from my lab psu.
after shorting the gate to 5v the currentstarts flowing, the led lights up, and the temperature starts rising, just as expected. now let’s make a connector for the sharedpower rails. we’ll use some goldpins and leftover leadsfrom the resistors. next we’ll assemble the remaining partsas shown. first we connect the arduino to the power rails. next we attach the i2c adapter to the lcd,connect it to power and to the arduino. we do the same thing with the max6675board and the encoder. and finally the mosfet assembly.
to connect the thermocouple we need to bendthe pins slightly to fit them in the socket. the plus on the plug should line up with oneon the board. with the hardware finished it’s time toget to the software. all of the code can be found on github inthis repository. every links is also available in the videodescription. first thing we’ll do is find out which i2c addressthe screen uses, as it varies between sellers. the simplest way to get it is a program calledi2c scanner from the arduino playground. after uploading it we can see the addressin the serial monitor. in our case it’s 0x27.
now we can upload a “hello world†sketchusing the liquidcrystal_i2c library and see that the screen works. a great writeup about the encoder is availableon this blog, along with example code. after copying the code we can see the encodermostly works, although not reliably, as the delay caused by updating the screen causessteps to be lost. it turns out there is no pull up for the buttonby default, to fix it we’ll turn on the internal resistor in the arduino. to fix the skipped steps we’ll move thehandling into an interrupt and add a check if 100ms has passed to avoid issues relatedto contact bouncing.
with the encoder mostly finished we’ll nowhandle the thermocouple. it uses a non-standard implementation of thespi protocol, read only. i’ll be using a slightly modified versionof the code from this thread on the arduino forums. it is important to add a 200ms delay betweenreading the thermocouple as otherwise it doesn’t update the temperature. to avoid timing problems we’ll modify theinterrupt code to use much faster direct register access instead of arduino libraries. finally we write some code to handle displayingthe current and desired temperature on screen and changing it using the encoder.
after adding a basic p regulator for the outputwe can see that the iron reaches the set temperature and keeps it relatively well. thanks to active regulation we can now increasethe supply voltage to increase the power and make temperature recovery faster. at 10v it recovers the temperature reallyfast at the cost of larger overshoot. this could be likely solved by an application ofa well-tuned pid controller. in the next video i’ll use the iron to solder a kitand see how well does it work after the upgrade. if you have any ideas for future projectsplease let me know in the comments. like and share the video if you enjoyed it and subscribefor more videos like this one.
Comments
Post a Comment