Thursday, 14 March 2013

Milling PCBs and Circuit Board Evolution

I've been dabbling in electronics for years. Most of the time this involves starting on a breadboard and then transferring your finished circuit onto stripboard.

More often than not I'm trying to squeeze far too much stuff into a tiny space, for example in my Zippo Burglar Alarm.
Which means that the resulting boards are an awful mess of wires and massive solder lumps.






For this post I'm going to use my Hellboy Corpse Locator light board as an example, because it's been through a fair few revisions.
It's a fairly simple piece, I needed a board to fit under the dial of my corpse locator prop, and make the dome light up red. A simple task electronically, but mechanically it's difficult to get everything to fit.

I started by using a tank cutter to cut disks out of stripboard.




I was surprised by how well this worked, it made it easier, not having to shape each board by hand, but each one still took about 10 minutes.

I wanted to use surface mount LEDs, they were on the copper side, meaning everything else was on the reverse side. Which left me trying to find a way to create a second battery contact on the reverse side of the board.

The most reliable solution I could come up with was stitching a grid with copper wire.


Again, at the time, I was proud of my little inovation, conductive paint had too much resistance, glueing foil to the board had been problematic, this wasn't perfect (some wide copper tape would have been good) but working with materials at hand it did the job.



Once everything else was attached, the board looked like this. 
After making about 10 of these I managed to get them quite neat. But it was very labour intensive, each one probably took over 3 hours of quite fiddly work. 
And due to the nature of cutting out the boards, each one was slightly different, in where the LEDs went and where the wires were routed.


Many months later, the dawn of my CNC machine, and obviously one of the first things I wanted to have a go at was milling PCBs. I drew up the design in Vectorworks (EagleCAD* is the proper tool) and bought some copper clad board and was very easily able to cut out a simple PCB.
Milled PCBs are different to proper manufactured PCBs, you start with a solid layer of copper and simply mill away 'isolation paths' to create your tracks.



The one on the left is my very first attempt, I just used a cheap V bit that I had and the result was some very rough looking paths, but an entirely functional board.
My second attempt (using a 0.8mm ball nose) was much neater, but after my PCB milling bits arrived from China I was able to cut really neat boards. These are 0.2mm isolation paths, so potentially I can mill some really complex boards with lots of tiny surface mount parts.





Designing for CNC always affects your design. For example I wanted to take advantage of the fact that the copper layer could act as my other battery contact (no more stitching) so that meant the board was flipped and everything was soldered on the back. 




This also meant I had to switch to normal 3mm LEDs and mount them upside down (poking through the board) I originally use smt LEDs to keep the board thin, but the limiting factor is always the battery thickness so this works out fine, and the 3mm leds are brighter.

The boards look really cool now, very neat and I can do cool stuff like engrave labels and my logo. But the main thing that makes these far better than their predecessors is the time they take to produce. Each one probably takes about 20 minutes of milling, because it requires several tool changes. But then only about 10 minutes of soldering and it's finished.

Also each one is identical, which means I can add matching screw holes to my plastic corpse locator parts. rather than the tedious task of lining up and drilling each individual part to match it's specific board.




* Eagle is a program which allows you to draw up circuit diagrams, as well as layout circuit board designs for sending off to have fabricated. With the proper add on you can also create Gcode to send to a CNC machine. It sounds like a fantastic tool, but when I had a go there was a lot to learn and, for such a simple circuit, with mostly through hole components it was just slowing me down.

Friday, 1 March 2013

Concrete Couch

I covered this project in extensive 'how to' detail over at Instructables. So here I'll just give an overview and cover some different aspects.





This project started out as a competition created by the University of Brighton Architecture Society.
You can read more about the scope and intention of the project on the University's website. As well as everyone who worked on it.


I did enter the competition myself, but being a first year I only made it through one round of judging. The final design came from a third year and consisted of stacked concrete blocks to create modular seating. 

The actual build took place over the summer. I joined the build team and our first job was finalising the design.

We decide to add lugs to more securely seat one block on another. We took our inspiration from how Romans used to join columns together. However our early prototype looks more like a lego brick.



This is still one of my favourite things I've ever made from concrete.

On that note this was a prototype created by the other team (attempting to make a chair by filling a large bag with concrete).



It was a beautiful object, like a concrete pillow, impossibly smooth for something so hard. A quality which, unfortunately, they were unable to recreate in the full-sized chair.


From our prototype we adjusted the design to have four lugs on top and to make them square.

We made a mould out of plywood. The construction of the moulds is actually pretty complicated, gluing together strips of wood that are chamfered so that we created the right shape for the lugs. The Instructable has more on all that, but I quite liked these diagrams I put together.



This is the first brick we pulled out of the mould.


A little rough, but we checked it over, made another to make sure they fit together and finally decided to add some lugs to the sides to help them all lock together.
The lugs are centered, if we had offset them we would have been able to overlap the bricks when stacking (like with traditional brick laying, or LEGO) but we intentionally constrained it to direct stacking, in line with the original concept drawings.
Although, by this time, I felt we had taken ownership of the project, the original designer was unable to join the build so we'd collectively made all the development decisions. The identity of the bricks themselves was totally different (originally they had been conceived with holes so they would thread onto scaffold poles inserted in the ground)



Then it was into production mode.


We cut a stack of plywood on a table saw them began gluing all the panels together.


Eventually we had a pile of panels ready to be assembled into boxes.


We had enough moulds to produce 5 bricks at a time.


We tried a bunch of different techniques to make the blocks more interesting, one of the best was simply hot gluing leaves inside the mould before pouring.
Other techniques included burning the mould, and hot glueing lines inside.

We poured 5 blocks at a time. Over a period of a few weeks we came in, broke down the moulds, cleaned them, reassembled them and cast 5 more bricks, then left them 3-4 days to cure. This method is known as batch production and we were able to make around 30 bricks this way. 


The final job was hefting all the bricks down to the garden so we could set them up.





 As seating they're fine for up to about an hour, which is plenty of time for lunch or a quick break. 

This was a fun project and I learnt a lot. Concrete's a really fun material when you give it a chance, we didn't even scratch the surface of the cool finishes you can achieve.

One of the main lessons though was how many issues you have to deal with in 'live' projects, designing stuff is easy, but the number of revisions and compromises you have to make when thinking about actually making it are what end up informing the design more than anything else.

CNC Mill Build - Enclosure

After finally getting the mill running it became obvious that I was nowhere near done.

Firstly, in their current position the electronics didn't give the machine enough room to move freely, so they would have to be relocated.

Also my current method of using drawing pins to hold down material wasn't going to be a permanent solution.


The first problem is easily fixable, I collected a bunch of connectors, then got out my calipers, cracked open Vectorworks* and began designing an enclosure. 
I cut all the pieces out of 3mm MDF and when assembled they looked like this.




From the front all you see is the name and power switch.


One side features a cut out for a fan.


The back has all the connections, A/C power in, parallel signals from the computer and five molex connectors, one for each motor and one for the limit switches.


I designed the box to be low profile so it would fit in the sliding drawer under my desk.



Here it's nice and out of the way but easily accessible if I need to fiddle with it.




Under the hood, you can see the power supply takes up most of the space. Main power is routed through the illuminated switch at the front. The 24V supply then gives power to the motors, it also drives a tiny 5V regulator for the logic power supply and the motor is supplied by a slightly larger 12V regulator (you can see it glued to wall on the right)




I found some little fuse holders and intend to put a small fuse in after the switch. There's also room at the back for adding more connections, for things like spindle control and an emergency stop button.



Being the first real thing I've made with my machine this taught me a lot. Firstly my machine is pretty damn accurate. 
The pieces just fit, I was expecting to have to sand things, but they actually fit great and I measured the pieces to be well within 0.2mm of what I intended, that's nowhere near what some CNC machines can achieve but with MDF it's more accuracy than I'll ever need.

Another thing to note is, always measure your material. I should have remembered this from when I designed stuff for laser cutting, but my 3mm MDF turned out to be 3.2mm, so my box joints aren't quite flush.

A lot of time designing this was spent on the engraving. The majority of fonts these days are solid blocks, you can turn them into outlines with a vector program, but the best results are achieved from single line fonts. You can see that the axis labels I engraved on the back of the box are a bit chunky, I didn't like that so I spent a while manually creating single line letters for my title font.



This was tedious but I'm happy with how the final thing came out.


The M6 for short

I'd like to make the lettering black so it pops more, but I can't think of a good way to do this, hand painting would be tricky, and detract from the nice clean finish.
The easiest solution is to mill all the way through a material and place black behind it.

I also installed a hold down table. Essentially this just involved sinking a bunch of t-nuts into the back of my board in a grid. I now have a grid of points where I can bolt things down to the table.





Above you can see me marking out holes, and a couple of nuts ready to insert.
The grid is now finished, I'll snap a proper picture next time I'm using it.

I've actually found that for most materials  double sided tape is a better solution, most of the time the clamping bolts just get in the way.


I've been happy with this set up for the past few weeks, I've had a go at milling a phone dock, pcbs, and at the moment I'm milling maps out of cork. :D

One thing I haven't really tried is milling plastic, I've got some chunks of acrylic on the way so that's next on my to do list.


*Vectorworks is my CAD program of choice, mainly because it's what I used during my architecture degree. However it seems that I'm in the minority using this program. Most people use AutoCad or SketchUp, or for simple 2D work, Inkscape.
Supposedly AutoCad was designed by engineers and Vectorworks by architects.
I've got a copy of Illustrator, but most of the time I get frustrated with the alien pen tool, give up and switch back to Vectorworks. 

Tuesday, 19 February 2013

CNC Mill Build - It Works!

Very quick update, I did finally sort out my electronics problem and was able to mill my first piece.

Behold the power of my machine:




When I shot this video my setup looked like this.




Already I'm not happy with it, the electronics are too close and don't allow the wires enough room so I can't use the full length of the Y axis, also they really need to be covered. 


I'm currently holding work down using push pins, not a great solution.

Already working on changing all that. But for now it works !



See my next stage of improvements here.

CNC Mill Build - eLectronics

The last post saw me putting the finishing touches to my machine build, by adding the belts. Unfortunately that's the easy part over, now I'm tackling electronics.


There are two stages to controlling a CNC machine. The first is a controller which will take a Gcode file* and turn it into step and direction pulses that tell each motor when to turn.
The second is a motor driver which takes these low voltage data signals and sends high power signals to actually drive the motor.

For the driver (the second part) I'm using pololu a4988 drivers along with a stepper shield. After finally sourcing all the parts this is what they look like.




The driver is quite small, you can see one of them in the top left. The rest is just capacitors, to even out power, and connectors, to attach all the motors.

This board is a 'sheild' which is intended to be used with an arduino. You can use an arduino as your controller, but I wanted to use a PC because it gives me more control and a  nice graphical interface.

Which means I had to build a separate board to make it so the signals to and from this shield could be sent via a parallel cable.



This is what I put together. Again not much going on here, the parallel cable is broken out and the signals sent to the right sockets (so they match up when the shield is plugged in on top).
There is also a 5v regulator to supply the logic voltage and all the connections are optically isolated. This means that the CNC motors and the computer aren't physically connected, this means any noise caused by the motors won't affect the computer.

Bart Dring, of Buildlog.net designed this board which does exactly what I want. But he doesn't sell them anymore. So what I did was buy the arduino version (also designed by Bart, but now made by Reactive Substance) and adding in the missing components so that it was functionally the same. It probably would have been easier to just build the whole thing myself from Bart's schematic. But the black boards help with heat dissipation  as well as matching the drivers I bought, and looking badass.
Edit: of course now that the M6 is finished, I could design a new PCB with everything on and mill it on my machine, how ever I'm unlikely to ever get round to this.




Now the shield carrying the stepper drivers, just plugs in on top. Each one of those drivers (now with large blue heat sinks on) controls one of the motors, each motor has 4 wires.

The large silver box off to the left is the 24V power supply, this is the power that is used to drive the motors, the 5V logic is supplied by a small regulator I put on the lower board.


That's most of the hardware set up, the other end is an old PC running Ubuntu, I'm using LinuxCNC to control my machine, it's a very powerful tool (probably overkill for this little thing) but nice all the same.

What came next was lots or testing tinkering and , to be honest, swearing as I tried to figure out why it wouldn't work.

(figured it out eventually WooHoo!)




*Gcode is the end result of designing on a computer, it's composed of simple lines of text that instruct the machine where to go using an absolute positioning system. E.g. g0 x10 y10 would tell the machine to move to that co-ordinate (g0 is just max speed) so kind of like playing Battleships.

Saturday, 16 February 2013

Cardboard Boba Bucket - Range Finder

We're getting very close to the end of all my old progress pictures. I did get the helmet down the other day intending to do some more painting, but gave up before I'd even started, it's just so tedious, marking out all the shapes.




Originally Posted 27-Jul-2009


Next up is the rangefinder housing. If I remember correctly this part isn't detailed in either of Antman's threads 
(which I have been following fairly closely) So I'll try to show a bit more detail.

First of all print out a set of WoF's templates from the gallery.

I'm using 1mm thick mattboard (scavenged from an old sketch book)
So I then began to mark the various places I would have to trim 1mm off of to keep the correct shape.



The dotted lines show where I'm going to angle both edges at the corner rather than just trim one of them.



Here are the pieces cut out.

I began to angle some of the pieces with a knife and sandpaper. I also drilled out the LED holes using a 5mm wood bit.



Then I just began assembling all the pieces.




I had to be careful, trying to make sure the sides were square.



One of the pieces didn't quite fit, overtrimmed, but I'll sort that out later




After letting it dry a while I decided to paper mache' the inside, to cover the small cracks and strengthen it a bit.





Then I brought out my circuit and did a test fit, bending the LEDs into roughly the correct place.




The circuit fits easily into the housing. The only problem is that it infringes on the lens' space more than I would like. 
But I can't be bothered to move all the stuff onto a smaller board.

Saturday, 2 February 2013

Cardboard Boba Bucket - Electronics


A huge gap here, bringing us closer to the present. Now working on some rangefinder electronics.



Rangefinder Electronics


Originally Posted 27-July-2009
I haven't posted anything in ages because I've been away (doing an Architecture degree)

But now I'm back and have got thoroughly stuck into making my rangefinder.

First of all I purchased a metronome kit from Maplin as well as some green LEDs.

As soon as I got the kit I assembled it according to the instructions and then began to sync the lights up to the right speed (2.13 Hz), by adjusting the two pots to 40KΩ each.






That was fairly easy and formed the basis for my rangefinder circuitry.

Next I desoldered the 9v clip, the LEDs and the capacitors. I re-soldered the capacitors, leaving longer leads so I could fold them down flat.




I had to extend the leads of the LEDs, this was fairly simple, I just soldered on some short lengths of wire and added heat shrink tubing.







I then re-soldered these longer LED's into place.
Also I filed off the unused areas of the board.




Until I could scavenge another resistor (maplin only sell them in massive sets) I'm leaving the circuitry here.

Total spend is now £9.58.

- Large card for main helmet & mask : £2.00
- Pint o' PVA Glue : £3.00 
- Metronome kit : £3.99
- Superbright green LED : £0.59