Tuesday, May 29, 2007

Database


Here is the data model for the mySql database thus far (click on the image to enlarge it to something legible). It needs some work (the relationships are undefined) but its a start. The work on the php pages has begun but have stalled with the discovery of Aspect Oriented Programming. I'm currently torn on weather to proceed with the quick and dirty pages that are in development or to scrap everything and take a more methodical approach. We'll see what time allows...

Monday, May 7, 2007

Das Brewmeister!

It started with a photointeruppter, and ended with fermented barley and hops. My brother in-law needed a way to analyze biomass fermentations and the volume and or rate of gas produced by a waste management system. My brother who is an electrical engineer setup a sensor to count bubbles. I took some of the hardware and added some code and a database so I could pipe a count to a database and graph the results.

Enter Das Brewmeister!


The microcontoller on the breadboard takes sensor data from two one wire digital temperature sensors- one on the barrel (taped with only the finest blue electrical I have in the garage) and another a few inches from the board (for ambient temp) . On the water lock sticking up from the barrel there is a photo interrupter that counts bubbles for us.


The laptop is running a VB program to parse a serial string from the microcontroller and push it out to a mySQL database. The database then serves as a back end to a PHP page that either displays the data or graphs it on a line graph applet. Initially I thought we could sample every minute for several days for a nice robust log.

Once things got setup and the fermentation began to kick I noticed a few problems:

1. The microcontroller code was insufficient to count the 4 million or so bubbles coming off the water lock and an unsigned 16bit int was not going to do. The counter rolled over - the microcontroller got hung and manual resets put gaps in the data.

2. The increase in fermenter temperature I expected never materialized. The temp data was not all that interesting in that it varied only 1 degree C between the barrel and the board. I concluded that the difference could be accounted for by my drafty kitchen and not some cold fusion/fermentation reaction.

3. I can make drinkable beer. So much so that I've cranked out 3 runs since without taking time to test the corrections to the counter code (see below) and finish the php pages so they are fit for public consumption.

Maybe after things slow this summer and before Robothon!