It’s ALIVE!

Well, I shot past my self-regulated milestone of having a working prototype by the end of February.  Not surprising really, especially if you know me.  Time management is certainly not my strong suit. However, as with any good milestone passer, I have lots of good excuses.  A poker tournament and weekend company took up one full weekend, a friends bachelor party in New Orleans took up another full weekend (more when you factor in the recovery period… on both accounts).  Picking out hardware and electronic components was certainly a time-suck (who knew there were 40 different kinds of 6 amp tubular fuses?).  And most recently, I realized I had to change resistor values on several parts of the circuit, which would normally not be a problem, but I do not have much of an assortment of the surface mount parts, so I had to order some more and wait for shipment.

However, since I’ve last updated you, I have built the power circuit board**, created all the cable assemblies to connect the internal components together (buttons, LCD screen, temperature module, power, etc).  The cables took a little longer than I had expected; they weren’t especially difficult, just time consuming.  I also performed all the power and continuity checks and then programmed the on-board PIC. 

Then.  Finally.  Last night.  It was time for me to breath life into my creation!

 It still has a few bugs related to the circuit that I need to patch up, but for the most part… IT WORKS!  It was a momentous occasion!

You will, however, notice from the picture below, that it needs to learn a little discretion and put another layer on, but we’ll get to that (he’s going to so embarrassed when he grows up and realizes I posted naked pictures of him all over the internet.)

Anyway, that’s all for now.  I’ve got a case for it and once I get some bugs worked out, my next task is to get it all put together in the case.

****Especially Geeky Power Circuit Explanation****
My power circuit consists of a terminal strip that connects the input and output power cords to the circuit board.  The circuit board then transforms 120V AC power to 6.3VAC power through a transformer.  The 6.3VAC coming out of the transistor is converted to 5VDC through a series of components.  First a rectifier converts all the negative portions of the AC sine wave to positive.  When graphed, this creates a series of humps instead of a sine wave.  A capacitor, which temporarily holds a charge (similar to a very short term battery), evens out the signal to a noisy (wavy) DC voltage.  Then a voltage regulator IC takes the noisy DC signal and converts it to a clean 5VDC signal.  The picture below shows a graphic representation of what each stage looks like. 

PCB, easy as 123!

At last! The printed circuit board that I designed has arrived for my fermentation chamber thermostat.  Actually, I received it just over a week ago but haven’t had a chance to document it.  I was very happy to see a package from BatchPCB in the mail.  Even more so to find it contained a second bonus board (not sure why, but it will be nice to have another one if when I ruin the first one.)

As expected, I did realize some mistakes that I made (shocking… I know) in the design of the board .  I, for some reason, didn’t allow access to the microcontroller chip for reprogramming purposes.  So I had to add another header on the board for that.   I did this by drilling small holes in the pattern of the header into the PCB. Then after placing the header into the holes, I soldered small stretches of 30 gauge wire between the desired contacts.  There’s nothing like going at your new prized possession with some power tools to get the blood flowing!

I also decided that the placement of the LED’s on the board were too high (with respect to the faceplate of the case), I resolved this issue by placing the headers and LED’s onto the back side of the PCB and then installing the board face-down inside the case.  This moved the LED’s further down on the faceplate.

So after performing all the necessary changes, I soldered the remainder of the components.  I still have to test out all of the connections before I can add power and start using troubleshooting it, but all the parts are there… and I’m pretty happy about it!  Here’s what it looks like:

You can see the little blue “jumper” wires just below the chip that I added to connect the new ICP (In-Circuit Programmer) header (all of the headers are shown in the top pic, what used to be the backside of the board).  I took these pictures before I cleaned the excess flux off of the board, which makes the board look even more sloppy (it certainly doesn’t need any extra help).  Flux is a chemical that aids in the soldering process, it cleans the corrosion off the metal connections and allows the liquid solder to cling to the pads and wires.  However, it leaves a sloppy and dirty looking board afterwards.  The good news is that it comes right off with a little rubbing alcohol.
You’ll notice that two of the corners of the board have been beveled.  This is so I can slide the board as close to the edge of the case as possible without interfering with the screw holes for the lid of the case. I’ll add another post soon of how everything fits in the case.
Cheers!

Microcontrolled

I know you guys are just dying for more information about microcontrollers.  Well, I’ve just so happen to come across this presentation on the internet (I’m seeing some potential in this…).
This guy will tell you everything that you want to know about microcontrollers and more (probably WAY more).  It’s a good presentation regardless of your existing knowledge of the subject.  If you’d like, you can just listen to parts of it , there are bookmarks on the left side so you can jump to different sections to get some overviews.

Check out the link here.

But more importantly, check out that guy’s voice!  It’s like SILK!   I’d listen to him describe the procession of an episode of food poisoning. Which is probably a good thing since, for some of you, this presentation will be equivocal to such a description.

Enjoy!

Picture Time!

Welcome to February!  It seems odd that we are already in our second month of 2012.

I’ve been making pretty good progress lately on my thermostat, however, most of the work done has been updating the software embedded within the microcontroller, which makes it hard to convey physical progress.  I plan on creating and posting a video of the user interface, which should give a pretty good idea of the usability of the thermostat.

I’ve had this hardware setup for a while now, but haven’t really given any indication of it other than a theoretical description of it.  So I thought I’d post a few pics to give you a visual idea of what it is I spend so much time aimlessly staring at with glazed eyes.

This first picture is the main “board” with the complete system attached.  And by board, I mean a scrap piece of wood I had sitting around the garage that I painted.  It just seemed to be a good way to keep all the parts together on a movable object.

The parts along the bottom of the board are components of the user-interface; the Menu, Up and Down buttons are on the bottom left and the LCD screen on the bottom right.
You can see the microcontroller chip in the middle of the white breadboard, the other electronic components are spread out between the remainder of the white breadboard and the blue breadboard at the top-center of the picture.
The PC board in the center of the picture with the USB cable is the PICKit2 board.  This board creates an interface between the microcontroller (the PIC) and my PC.  It allows me to upload the program to the PIC, start, stop, and reset the program as well as may other debug functions.

This next picture is the AC/DC power converter.  This converts the 120 volts of AC (alternating current) power from your outlet to 5 volts of DC (direct current) power.  This is similar to what you will see if you were to take apart one of the big heavy outlet blocks that power the majority of your electronic devices.

And finally, I snapped a picture of all the components as well as the box (seen in the bottom left corner of the picture) that all of this needs to fit in to.

All I need is a shoe horn and a hammer and it will fit just fine!

I’ll try and get a video out soon to give you an indication of how the user interface works.

Oatmeal

Oatmeal??  Yes.  I’m sure you are wondering what oatmeal could possibly have to do with ANYTHING that this blog touches on.  Well, I’ll get to that…

When oatmeal comes to mind, I’m sure most of you think: “crappy breakfast” .  Well, oats are a grain, and grain is what you use to make beer.  Although beer is mostly made of malted wheat and barley, small amounts of oats can be added to a beer recipe to impart some excellent additions to a beer.

I am currently in the process of brewing an oatmeal stout, in fact, I just bottled it several days ago and it should be ready to drink very soon.  An oatmeal stout is a very similar to other stouts (Guinness beer is a stout, for instance), except that adding oatmeal increases the body, viscosity and silkiness of the beer.  There was an article posted in “Brew Your Own” magazine that describes it this way:

“Typically, oatmeal stouts do not specifically taste of oats. However, the oats impart the well-known smoothness because of their high content of proteins, lipids (includes fats and waxes), and gums. The gums increase the viscosity and body of the beer.”

To put it in slightly less technical terms:  Oatmeal has tiny particles of awesome contained within the grain, these bits of awesome are transferred to the beer during the brewing process, oatmeal’s awesome particles are infused with the already sizable awesome particles contained within the beer, adding to the overall awesomeness of the beer.

So when I decided to create an oatmeal stout, I figured I would do some research on the beer to hopefully pick up some tips to help me out a bit.  Within minutes of researching, I found probably the best advice possible.  It instructed:

“In a sublime stout, you need to create an effective interplay between the robust immediateness of the roasted, acrid malts and the floral-aromatic reverberations of the hops.”

Uh..  Right, got it.  So this is going to be easier than I thought!!   As instructed, this was the first step that I performed when I started making my beer… you’re just going to have to trust me on this one.   I guess we’ll just have to wait and see if I was successful in creating the “effective interplay”.   I’m guessing this is going to take awhile for all the ingredients to get to know each other well enough to commence in interplay…

Hopefully this will give you guys something a little more enlightening to imagine when you hear the word “oatmeal”.

Summary for the Skimmers:   Oatmeal has the lipids.  There’s no known cure… but it certainly makes for good beer!

Cocktail Robots

A cocktail robot is exactly what you would expect it to be:  an automated device that can mix drinks for you on command.  And believe it or not, my final project for my senior microcontroller class in college was a cocktail robot.  The project was a complete disaster!  In hindsight, it’s very possible that more time was spent sampling the product than working on the project.  The final demonstration didn’t go well at all. In fact, whenever you exclaim “Oh Sh*t!” during a recorded final demonstration, things aren’t going very well…at all.  However, for some reason, the professor generously gave us a passing grade. 

Anyway, I was reminded of this project when I came across an online story of a similar project (although considerably more creative… and working).  Apparently, there is quite a community out there that builds these types of projects.  In fact, there are several annual competitions to demonstrate your robotic (and possibly drinking) chops.

So anyway, you absolutely need to check out the cocktail robot that was created by the folks over at Evil Mad Scientist Laboratories.  Pay close attention to the devices they used to pump the ingredients!  Funny!  The fact that they are making white russians with the robot makes it even better!

Here is the link to the original article, complete with more pictures as well as a video.

“White Russian? Coming right up, heavy on the irony!”

Happy New Year!

Happy 2012 to all!

The holidays were a whirlwind, good times were had by all, but unfortunately, I’m pretty sure that good times are inversely proportional to progress.  Or, if you don’t mind me going all geek on you:

 

I have high hopes for this year with many great things planned and high expectations!  I plan on completing my thermostat for my fermentation chamber fairly early in the year. If all goes well with the thermostat, I will move forward with getting this device available for other home brewers to use. However, lots of work has to be completed for that to happen.   Plus I have to overachieve a little this year in case the Mayans were right (er.. got lucky).

Here’s to a good year!!

Prototypical Stuff

Hola!

So I’m actually to a point on this thermostat that I’m ready to actually start building the PC board that contains controller and accompanying components (the smarts of the innards).  I’ve actually spent a few hours placing, soldering and wiring the parts on the prototype board.  This is tedious work to say the least, you are working with tiny parts and a soldering iron (which is essentially a pen shaped, skin searing device that rests at 700 degrees F).  Burned skin, strained eyes and fingers are consistently a by-product of this process.

Here is a front/back pic of the progress I’ve made so far; I’m at about 40% complete:

So at this point in the soldering process, already sick of it and looking for alternatives, I visited a few PCB (Printed Circuit Board) websites and found an awesome (fairly) new website and service setup for people making prototype PCBs.(Hey wait, I’m a people wanting to make protoype PCBs)  Making PCBs aren’t very expensive, as long as you are getting hundreds of them made at a time, to make small one, it’s quite expensive. 
The service that I found essentially takes dozens of submissions for boards from multiple customers and places them together like a puzzle on one big board.  Then it sends this large, completed puzzle off to get it printed.  When it gets this large board, it slices up all the pieces to distribute to everyone.  This way, the price is divided up among the dozens of people building boards.  BRILLIANT!!

So for about $15 I can design my own PCB and have it printed for me.  Screw all this start-from-scratch fabrication crap!  The downside is that there is a 3 week delay before I get the board back, but that’s acceptable.

So, the last couple night’s I downloaded the software used to design and route the board, read a few tutorials and got to work.  Within a few short hours, I’m almost ready to send off my first PCB!  Sweetness!! 

Here’s a screenshot of the layout of the PCB:

I’ll keep you posted when this baby shows up.  Stay tuned!

More parts

OK, so we’ve covered the main brain of the thermostat, the microcontroller.  I’ve briefly described a couple other integral components of the device, the thermocouple, which reads temperature,  and the relays  which control the heating and cooling mechanisms.  The human interface portion of the thermostat includes the buttons for input and the LCD screen for output, both familiar devices.

Another significant part of the device is the power supply.  The electronic components require a power level 5 volts DC (Direct Current), however the power coming out of a normal household outlet is 120 volts AC (Alternating Current), and there is actually quite a bit of difference between the two.  (I’m sensing some waning interest here)  If I were to serve the electronics with 120 VAC, you would probably get to see an awesome, but expensive fireworks show…. once. So to convert the AC to DC, you need a converter, and this is something we all have used before.  An AC to DC converter is the large, usually black, block plug that seems to somehow take up about 4 spots on your surge protector when plugged in.  This is what is used to provide power to all your electronic gadgets, including your laptop at home.    I would have loved to just get one of these plugs to provide power directly to the thermostat, however, the thermostat also requires use of the 120 VAC so it can send power to the freezer (which is what the thermostat will be controlling).  So instead of running both the AC and the DC the thermostat, I decided to send only the AC to it, then convert it to DC once it gets in there.  So essentially, I have a what amounts to a large black plug that takes up 4 spots on your surge protector inside the thermostat.  So when I referred to the power supply as significant, I was also referring to the sheer size and weight of the device.

Outside of that, the only parts in the device are few electronic components including resistors, capacitors, and couple transistors.  The purpose of these devices is mainly for signal conditioning.  A good analogy of electric signals is water pressure.  You have many different uses for water in your household, and most of these uses can’t be solved by turning on a water hydrant, sometimes water needs to be heated, it needs to be changed to different pressures, it might need to be a in a stream or converted to a spray. Well, different electronic components are the same in the fact that they need the electrical signals specifically conditioned for its own need.  Resistors, capacitors, transistors and oscillators are the devices that are used to manipulate the electricity.

So there you go.

Parts is parts

OK, so I’ve given you an inkling of what the thermostat is supposed to do and what it may or may not look like (if you’re not up to speed, check out some of my earlier posts.)  I’m just SURE you guys are out there wondering, “What sort of black magic makes this thingy work??” Well, this magician is here to reveal his secrets…  (about the thermostat… don’t get greedy.)

Well, the brains of this operation comes from a microcontroller, more specifically a PIC18F microcontroller.  Essentially, it’s a small processor, think of an Intel Processor from a computer, circa 1985. However, if the Intel 8086 processor is your average pocket knife (it isn’t), the PIC is a super utility Swiss Army knife (still an analogy folks, please don’t try to open a can of ravioli with this.)  The ‘micro’ in microcontroller only refers to the size of the device, functionally, it should probably be referred to as a macrocontroller… or possibly a ginormo-controller.

The microcontroller (or ginormo-controller, if you prefer) keeps track of everything within the thermostat.  It reads the temperature of the thermocouple (a device that converts temperature to a voltage for the PIC to read), it controls the relay (an electrically controlled switch) that turns on and off the electricity to the freezer, it reads the inputs from the push buttons on the front panel, keeps track of time, stores the heating and cooling program sequences, and most ostensibly, controls the LCD screen on the front panel. And YES, it will indeed open up a can of ravioli, but only once, and other tools are probably required…

Much like the processor that’s in your computer, the microcontroller runs a program.  To the microcontroller, this is just a list of binary numbers that are interpreted as instructions, it reads each instruction, one at a time, completes the instruction, then goes to the next instruction in the list.  To us, this same program is a list of instructions written in a programming language, in my case, the c programming language, which is a universal and very versatile programming language that has been around for a long time (it was developed in the early 70s).

Once I write the program using my desktop PC, I have to run it through a software program that compiles the c program into binary for the controller to understand and interpret. The binary program is then loaded and stored on some flash memory (same flash memory that’s in a USB memory stick) embedded within the controller (did I tell you how cool this thing is??).   Once loaded and running, my particular program runs a repetitive loop that, essentially, reads the current temperature, updates the time, updates the relay outputs in response to the new temperature, then performs any screen updates if necessary.  Of course it goes into a different section of the program to create the user interface, menus and setup pages, but the majority of the time, the microcontroller is in a repetitive loop, repeating the same things over and over again.  Which is something I’m sure we can all relate to from time to time…

Summary for the skimmers:  Microcontrollers are very versatile, very useful and impressive, but a poor choice for a survival tool.

**Disclaimer:  I apologize for any extra geekiness that may have slipped out during this post…  I usually do my best to conceal that as much as possible.