Friday 20 March 2015

Yet Another Reflow Oven

There's something very satisfying about making your own stuff. As you'll have seen by my previous posts I design a lot of my own circuits. To this end I've built a Surface Mount Device Reflow Oven.

I was inspired by this youtube video. The thing that impressed me about it was the price; small reflow ovens can cost upwards of US$500. The toaster oven used in the video is still (March 2015) on sale at Walmart for less than US$20. But like most things based on an Arduino, not only does it require an Arduino board at some US$30+ but it needs a shield to connect all the temperature sensing and heating elements etc at a further US$35. So that would make the total something like US$100 or more. Still not ideal.

So thinking that I could do better I set about designing my own "embedded Arduino" based controller. It would have all the same facilities as the one in the video but everything would be contained on a single PCB where possible.


This is what I came up with. The board above contains an AC power supply, LCD interface, temperature sensor, interface buttons, buzzer, FTDI serial interface and of course, an Arduino.


So then all I needed was firmware for the Arduino. There was no point trying to write my own. It's not as if I've had an original idea here. Casting about the 'net I came across this website where IanJ describes his journey creating a similar oven. I downloaded Ian's code and set about adapting it to my board. It was quite easy really. I simply needed to move some pin assignments around and change some of the outputs from low to high etc. My modified version of the code can be found below. It still requires the library from Ian's website (don't forget to modify the library for Arduino IDE 1.x+).

My design differs from Ian's slightly in that I use a PNP transistor to toggle the relay that in turn powers the heater elements. I've also used the analog pins in digital mode so that I could make the board layout easier for a milling machine or home brewers doing single sided boards and likewise I have not used the traditional LCD pins but rather moved them  to other pins for the same reasons. Other than that we've come up with more-or-less the same design.

If you want a copy of the board you can buy it from Oshpark. Be aware that there is a minor error on the PCB. The "fix" is to raise pin 21 of the Arduino such that it does not connect with the IC socket. I had inadvertently connected that pin to ground when it should have been either pulled up or left floating.

Parts list and costs ...

"Rival" brand toaster oven - $18.47 @ Walmart
Solid state relay - $1 @ ebay
Welding blanket - $18 @ ebay
"K" type thermocouple (minimum 350c) - $1 @ ebay
PCB - $10 @ Oshpark
Arduino - $3 @ DIPMicro.com
LCD - $2 @ ebay
R's, C's etc, - $3 @ junque box
AD595 temperature sensor - $3 @ ebay
Total = $60 or thereabouts

 The usual files in Eagle format and GCode for your CNC mill ...

YARO.ino
YARO.pdf
YARO.brd
YARO.sch
YARO.bot.etch.ngc

Saturday 7 March 2015

Ebay 3020 desktop CNC router

I bought one of these 3 axis CNC routers via ebay. My goal is to make my own PCB's with it. Well, yeah; that's my goal. But in the 9 months I've owned it I've not yet been able to get a satisfactory piece of work from it. As is usual with most things from China via Ebay, the documentation was non-existant. I got most of my information from other frustrated owners on various mailing lists and message boards. 

Sales picture from ebay
My first issue was that it needed a PC with a parallel port. Having a "legacy free" PC was going to cause problems. As it turned out that problem solved itself. I'm a Linux user. Having done some research on how to use this thing with Linux I discovered that there is an entire Linux CNC project dedicated to these sorts of machines. Because the timing demands of the router are pretty specific Linux CNC requires its own PC hardware. I was able to find a suitable PC in the junk pile that would run the router "properly".

I say "properly" as the supplied controller (the thing in the black box) was pretty lacking in its features. Not only that but when I tried to use the demonstration CNC projects supplied with the Linux software the router became intermitant. Investigation of the controller box revealed that the enclosed circuit board was not grounded at all!! It relied on a single screw thread poking through a mounting hole. Unfortunately the screw head was covered in paint. A wire brush fixed the paint problem and a few other ground cables added here and there brought the lighted power switch into operation. Great, now it would route the demonstration piece.

Rear panel of the controller
Take a look at the back of the controller. Can you see that blanking cover? What is that for? Well, closer examination of the circuit board revealed 4 axis abilities as well as limit switches and a few other features not normally available by default. Do you see that coaxial connector next to the parallel port (click the picture to enlarge it)? At first I thought it was to supply DC power instead of using the built in mains PSU. Good job I didn't try connecting anything to it as it turned out to be the Z axis probe input (used to detect if the router bit has contacted the work piece).

Inside of the controller. Note linear PSU and 2 control boards

Spindle control not connected to anything
Whilst poking around the board I noted a few other things that were useful. As supplied the controller requires manual control of the motor spindle that drives the actual router bit itself. One presses a switch to start the motor and then winds a knob to adjust the bit rotation speed. What a load of crap!!. Why can't the PC turn the spindle off and on and adjust the speed as needed? Turns out that the PC can do these things if only the jumpers on the circuit board were set correctly!! The vacant white connector at the top of the right hand picture controls the bit speed.  Control of the bit spindle was achieved by cross connecting the PWM-OUT on the below board to this connector. The picture also shows the bad grounding issues I dealt with. Here we see that the mounting holes are painted over thus insulating the ground path.

Limit and bit spindle outputs not connected to anything
That brings us back to the limit switches. There's a header on the board that allows for limits on 3 axis. I found a 4 pin CB microphone connectors in my junk box and wired it into the limit header on the circuit board. I still need to install the actual switches on the router itself as they are missing too but unlike the controller circuit board there is no provision for adding these. I bought a few of these switches via ebay and I think I'll try and make a mounting bracket with my new 3D printer. Alternatively I could make the brackets with the router itself?

Limit switches brought to the back of the control box

A-axis output just below the left white connector
So now we have to connect the router to the PC by way of the printer port. My chosen software needed me to create a machine profile so that it would know how to drive the router. This meant having to map the pin functions from the controller to the PC. The below is what I came up with.


Since starting on this journey I have run across some other websites that have also found the same issues as I have. This one is by far the most detailed.

Friday 6 March 2015

Build your own "Internet"

By now you've probably seen this sketch from the TV show "The IT Crowd"?  Jen is fooled into believing that a small black box with a flashing light on the top is in fact what the Internet looks like.


I gave a talk recently at a gathering of Shortwave radio listeners. I decided that I would demonstrate the "Internet" as part of my talk so I set about building one of my own. It's incredibly simple and requires just a few $$ of parts and a black plastic box.
I got the above circuit from the real Internet. Note that the circuit has 2 LED's. To make a clone of the original "Internet" one needs only to use a single LED however, the two LED's gave me an idea ..... build a second device which would use both LED's into a smaller box and call it "The Internet V2.0". After all, Moore's Law dictates that everything becomes smaller, cheaper and has more facilities.




My boxes had a 9V battery for power and the circuit was stuck onto the inside of the lid with double sided tape.

It you want to make one of your own you can buy a board from Oshpark

As usual, here are the files in Eagle format along with GCode for your CNC mill ...

555 Internet Flasher.pdf
555 Internet Flasher.sch
555 Internet Flasher.brd
555 Internet Flasher.bot.etch.ngc