Pretty on the outside and ugly on the inside prototype

So I’ve been busy doing a bunch of computer maintenance and looking into other things I’ve neglected while building the roaster so it’s been a bit slow.  I decided I wanted to start gluing corners together and drilling some holes to see how the case goes together so I can eventually get back to fixing the issues with the roast controller case.  Over the past several weeks I soldered together all of the boards, made wiring harnesses and figured out a bunch of “oops” moves I had made designing things when I got rushed for time.

Turns out I was not able to get stand offs locally in the sizes I had wanted so the heights are all screwed up where I placed holes on the outside surfaces.  I also forgot to specifically allocate power for the exhaust fan in the original design BUT I did have “Spare” pins allocated. The fan I ordered also was not the right size for the hole template I had used (Inside fan dimension vs outside screw / case dimension)… neither of them were actually labeled right the way every other fan I have is sized.

So with everything screwed or harnessed in place this is what I have for the Arduino…

The Arduino wired for Coffee Roaster control

It is a MEGA2560 mounted on a Crib for Arduino.  On top is an Ethernet Shield w/ microSD slot.  Then I used a variety of crimped headers to connect to some of the pins on the MEGA and on the ethernet shield.  I have twenty five lines in the bundle going to the Arduino.  I had some spare 10 strand cables from a project at Halloween and no 25 strand cables to use so I used one of those cable wraps to keep the all together after connecting DB25 to one end and header pins to the other.  Once the lid for the crib for Arduino is in place it then connects to the back of the enclosure.

Wiring Harness connecting to the back of the controller enclosure

As you may notice the sockets I was using for connecting the power out are the type that snap in.  The majority of these will not snap into most laser cut plastic sheets and instead are designed for aluminum cases.  The plug to the right on the other hand screws in.  These work great with a variety of thicker locations.  The fan was originally going to be on the inside with a wire cover on the outside but with the wrong size fan hole in use I had the wrong cover to fit the fans that I had that would fit the hole.

For the DB25 connectors it turned out good that I had decided to use a cut out pattern  that had the holes on the side for the anchoring hex nuts rather than just having them cut out so that I could mount them to the socket and anchor the connector.  Since the stand offs were too short they don’t allow me to anchor the PCBs to the bottom plate.  Instead I had to screw them to the back plate using normal screws and with the burnt circles on the laser cut work I had to use some washers too to keep it sturdy.  This is what the back plate looks like.

Rear Panel of controller

This panel includes – One non-filtered switched 15Amp Power Entry module, 2 snap in 15 amp convenience plugs, 1 5VDC fan, 2 DB-25.  The left one is the main guts for the LCD, TRIAC control, potentiometers, thermocouple, and a variety of other sensors.  The right includes all the non-essential stuff for backlighting all the buttons on the button pad and a few other things including spare wiring.  You cna see just a screw on the right since it was relatively intact and so it won’t block the DB25 plug being used.  The right DB25 has washers and screws in place.  These are primarily used to attached the PCB in place attached to the back side.

Next up is the inside view of the electronics area:

Rear View of the Back Panel

Rear view of the back panel.  I need to shrink up the crimp connectors around the wire  (they shrink like heat shrink tubing but is actually much firmer).  Also the connector on the right side (the switched power entry module) should have the screws more securely fastened with nuts and washers but this is mainly just a test to ensure it all fits together and then allow me to focus on some programming for a while to see if I can get more working and develop menus etc.  The clear acrylic bar is used to anchor the corners better.  I need to change the locations of the screws since I could not find screws the size I wanted without spending way too much for large quantities of them on the internet and having them shipped to me etc.  The thermocouple board on the right had the same issue with the stand offs so it is just floating loose in there right now.  I need to find somewhere to get the Omron thermocouple sockets where I dont need to order them by the 1000s since it looks like Ryan McLaughlin has stopped selling things on his site when they (used to) have problems getting the newer MAXIM thermocouple chip.  They’re all over the place now but he hasn’t restarted his store up so I don’t know the deal there.

Here is the view down into the enclosure from above:

Top view into enclosure

With the cover on:

Front panel installed on enclosure

Front panel running

Front Panel Running

When I send it back out again for a new case I hope to have a different board to install that will be switching the smaller breakout boards being designed onto the circuit board as well as add a power supply and possibly having an arduino board mated on top of the circuit board perhaps to bring more of the electronics inside.  I might want to try to get a Digilent board perhaps to try converting to it as a transition between Arduino and PIC32 before I completely switch to a dedicated PIC32.

I’ve also been looking at possibly creating a dedicated PC application to communicate with it directly via USB and over ethernet.  I am toying around with the “QT/QML” language but havent gotten too far with it.  I may just go back to Processing though.

RoastGeek Button Pad v 1.0

This weekend the final resistor I was waiting for arrived.  As a result I was able to solder the button pad board together and mount all the buttons.  I placed the board on my infrared preheater, applied some solder paste using the syringe dispenser on each of the pads, and then using a pair of Weitus tweezers started placing 0603 resistors from the piece cut from a reel.  I then turned the heater on and let it sit for a bit before turning it up a few more times until I got close to the temperatures I needed.

RoastGeek Button Pad v1.0 on Infrared Pre-Heater with SMD resistors placed.

Without a stencil it’s pretty hard not to goop too much solder paste onto the pads.  In most cases I had a suitable amount but a few it got a bit too much.  For most of the cases I had too much I removed some while it was still liquid-like from the preheater softening the paste.  I used the tweezers with a tiny bit of paper towel to wipe some away on the worst spots.  Solder paste is essentially  a mixture of a type of flux with a fine dust of the solder.  When the temperature gets high enough the flux material starts to liquify and the solder particles flow with the wet flux-like material towards the meeting point of the pads and the item being soldered.  As you apply a final amount of heat the solder particles melt and the flux-like material starts to evaporate/burn up.  To do this I used a hot air rework station to heat up the area near the resistors.  It has a pretty gentle flow that I can adjust with a knob so I didn’t have any issue of the resistors blowing away.  This tends to be a common problem using a hot air rework tool to solder SMD parts.  Once they were all in place I turned down and then a bit later fully off the heaters and allowed it too cool down.

0603 Surface Mount Resistor soldered to the board with an infrared preheater and a hot air rework tool.

Once the surface mount resistors were in place I tested each pad on each side of every resistor and confirmed that the correct resistance was measured.  This was to confirm that I didn’t have any “over gooping” resulting in the resistor being jumped by solder underneath of it.  Everything checked out ok so I continued on to mounting the buttons and header pin connections by hand with a standard iron.

RoastGeek Button Pad v1.0 with buttons, caps, and headers mounted

At this stage I tested the board with an Arduino sketch and was able to measure each button as expected.  This board has a much more accurate number compared to the last board.  Each button previously would measure a number that ranged 3-4 from the highest to lowest reading.  This one is dead on for almost every single button except for 2 of them that vary by 1.

I then mounted the board to the back side of the control panel.  I discovered that the standoffs I am using are about 1-1.5mm too tall so I will need to either grind them down or find a different set of stand offs.  I’m thinking of getting some Nylon or ABS ones that have a self-retaining clip for the circuit board side and a threaded end for accepting a screw from the front panel.  I also need to begin wiring up some wiring harnesses to go between the LEDs and potentiometer over to the new board.

I’ll add a picture of the mounted board  here once that takes place.