Ian Snyder's Lab Notebook

Week 01

January 11, 2006 (2 hours):
After class today, I met with my team to discuss and brainstorm project ideas. We have identified the key components of our system and discussed team roles. I will be assuming a hardware role on my team. We are all to start doing research today and bring in at least some preliminary findings tomorrow to class. I have documented my findings below.

RFID Readers - Checked out old projects to get an idea where I should look for an RFID reader. Texas Instruments seems to be a popular choice so I checked out their website. While the kits that at least two teams purchased were approx $600, TI has a new kit that could potentially fit our needs perfectly for a little under $300. I have included links to the kit description and the RFID reader's information. This kit includes a variety of transponders.

Texas Instruments Low Frequency RFID Evaluation Kit
Texas Instruments Series 2000 Microreader

LCDs - It would be nice to have some graphical capability on our LCDs to display simple graphs for things like fluid flow rates, estimated BAC, and other information.

Matrix Orbital Graphic LCDs

Microcontrollers - We would like to have an embedded webserver for an administrator to access for setup and configuration of our project. This following link demonstrates "RabbitWeb", which should allow a web page to be served by an embedded microcontroller module. I have also included a link to a page of development kits. It is probably possible that the EE477 lab already has microcontroller development kits for some of these chips. We will have to find out.

RabbitWeb Demo
Rabbit Semiconductor Kits

Flow Monitoring - While doing some searching on the web, I am across a project similar to the one that we are proposing. The author recommends using an inline volumetric measuring device for determining how much fluid has been dispensed. The part that they used is a Remag Vision 2000. This device has a liquid turbine that can measure actual flow or passed flow. This or something similar may work in our project.

Remag Vision 2000 Flow Meter

January 12, 2006 (1 hour):
Our team met after class again today to fill in homework 1. I showed my team the RFID kit, lcds, flow monitor, and Rabbit microcontroller that I researched last night. After that, we divided the eight reports up amongst the team. I am responsible for design constraint report and the schematic report. Finally, we decided on a team name, Digital Realtime Intelligent Networked Kegerator.

Accomplishments: Researched preliminary hardware, divided workload and responsbilities.
Weekly Work Total: 3 hours
Project Work Total: 3 hours

Week 02

January 16, 2006 (2.5 hours):
This afternoon before our team meeting, I looked into Motorola/Freescale microcontrollers based on advice Matt received from previous senior design students. It seems that Freescale has microcontrollers that might work well for our application, but they do have less memory than the Rabbits. We need to determine how much memory we need and if we need more than the Freescale module can provide, do we want to possibly interface with additional memory chips. Depending on how much memory we need, we may want to do that to increase the expandability of our system. The Freescale chips also have less serial interfacing ports, but they have enough for our purposes. After printing some data sheets out, I met up with the team. During the meeting we worked on developing a block diagram and selecting hardware. I was primarily working on what LCD we might want to use. After visiting about eight LCD manufacturer¡¯s websites, I located a 240*64 pixel Optrex graphic LCD with a black background and yellow text (for Purdue colors). Mouser has this LCD (F-51851GNFQJ-LY-AND) listed at $73. Communications can be done using a serial or parallel interface.

Optrex LCD

January 17, 2006 (0.5 hour):
After lecture we met with Professor Meyer to discuss our ideas thus far. It sounds like we are going to go with a Rabbit variant over the HC12 variants of microcontroller. Most of the trouble students ran into while using the Rabbit was on robotic applications. We need to figure out what development kits are available then purchase a microcontroller that will work with that kit. As for the RFID, the Texas Instruments development kit that we found will work for our application. We plan on ordering it sometime soon.

January 18, 2006 (1 hour):
This evening I discussed cable options with Matt. At first I thought we could use different shaped cables for the flow meters and solenoids, but we later determined it would be favorable to design our system to use one large cable that will go into the kegerator that will breakout with individual flow meter and solenoid hookups. We will probably need another main cable to the compressor area for power/temperature control circuitry. Basically we would like to keep the system to two self contained modules, a primary box with the RFID reader, LCD, and PCB, and secondary box that contain any temperature and power circuitry. The two main cables would plug into the primary box on the top of the fridge. I also found our LCD for a sample price of $50.71, much cheaper than the $73 originally planned. Unfortunately I will have to wait until tomorrow to order it and see if it is available (in single quantities). I should receive a call regarding the status of my request tomorrow.

Apollo Displays - Optrex LCD

January 19, 2006 (0.5 hour):
I could not get the display from Apollodisplays because I was not a distributor but I was able to order it for $71 + shipping from Digikey. The display shipped this afternoon USPS priority mail so I hope it will arrive Saturday or Monday.

January 22, 2006 (5 hours):
Worked on homework 2 at our team meeting. We worked out our motivations for this project and broke down the indvidual components of our system. I physically typed out the report. I also started getting our parts list together for homework 3. We determined that our project will cost approximately $700 for all components.

Temperature Sensor - While breaking apart our system, we realized we need a temperature sensor. I consulted the notes for the class because I remembered seeing a temperature sensor in there. The sensor in the notes only uses a 1 wire bus, with each sensor having a 64 bit address. This would allow us to potentially use has many sensors as we want on one pin. We might be able to add temperature monitoring to each keg or potentially to the compressor. The idea being that if we have a temperature sensor on the compressor we would monitor if it is operating within specifications. This feature would probably only be displayed within the Administrator control panel. An alarm/alert email could be sent when the compressor became too hot. These sensors are $5.04 on Digi-Key.

Maxim 1-Wire Temperature Sensor
1-Wire Temperature Sensor Additional Information/Application Notes

After our meeting, I took my MS word file that was serving as my journal and transferred it into this html file.

Accomplishments: Researched and ordered our LCD, completed homework 2 with group, researched temperature sensors, and started homework 3
Weekly Work Total: 9.5 hours
Project Work Total: 12.5 hours

Week 03

January 23, 2006 (3 hours):
I got an email back from Chris Barnett about the available Rabbit development kits. He mostly has 3300 kits but also has some 3000 and 2200 kits. He recommended tailoring our project around the 3300 kit. After calling Rabbit, I learned that the RCM3300 module is now known as the RCM3305. The RCM3315 is also part of that series. Both modules are 44.2 Mhz and have 512k of Flash, 512k of "fast" program SRAM (no battery backup), and 512k of "data" SRAM (battery backup). In addition to this, the modules have 4-8 MBytes of Serial Flash that can be used to store webpages and databases. This flash is setup with a "ready to run" flash based file system. This is a primary selling point for us because it will allow us to create a much more detailed administrator page and even allow the module to have enough memory to host a public statistics webpage. The 3300 series has 5-9 Mbytes of non-volatile storage, while the 2000 and 2200 core modules only have up to 1 MByte.

Another feature that is unique to the 3300 series is the SSL capability. If we want to run a webserver even for administrator access, we will need security. Rabbit advertises that a secure web application can be created in under 10 lines of code. Both the 3000 and 2200 do not have SSL capability, which would force us to have to design our own security software.

Both 3300 series modules have a total of 5 serial ports (6 total, but 1 is used for the flash chip) and are complete with a real-time clock, timers, watchdog, PWM, input capture, and quadrature decoder. The 3000 series has a full 6 serial ports, the same digital I/O as the 3300 but a much slower clock rate. The 2000 has 4 serial ports and a smaller amount of digital I/O.

RabbitCore RCM3305/RCM3315 User's Manual
RabbitCore RCM3000 User's Manual
RabbitCore RCM2200 User's Manual

This afternoon I also picked up our LCD from the post office. The data inputs to the screen are very thin ribbon cables, so we will need to locate a connector to start prototyping. I emailed Optrex asking for a part number for the connector and asked for a download link to the BMP editing software that they mention in LCD controller user's manual. If I don't get a response tomorrow afternoon, I will call them and/or Apollo Displays for technical support. Optrex's phone number is 440-349-6600 and Apollo Display's is 1(800)-LCD-STOC.

CDS51405 Display Controller User Manual

January 25, 2006 (4 hours):
After class we met with Chuck in the lab to get our development kit. We brought us a brand new 3300 development kit for use this semester. The kit includes a Rabbit 3000 module that we plan to return to him after we get our 3315. I talked with the TA about our 3315 choice and he believed that it sounded reasonable for what we wanted to achieve with our application. We ordered the part from rabbitsemiconductor shortly after that discussion. We also inspected the development kit but did not start working with it.

I went to work looking for an RPG with a pushbutton feature. I called Grayhill but they were all out of stock on almost every part in their online catalog. This was the case for all the online resellers as well. I called them and they said they would be unable to help me, as they are doing more "build to order" business nowadays.

Later, I called Bourns after I located a suitable "Rotary Optical Encoder w/Switch". I got verification that the part would work for our application (HMI - Human/Machine Interfacing). However, again I was disappointed to see that all of their online resellers were out of the desired part. Finally, I managed to locate some different parts that I believe will fit our needs. Both encoders output a 2 bit quadrature signal, which will interface perfectly with out microcontroller. Our dev kit even has a port for prototyping.

Bourns 14mm Rotary Optical Encoder w/Switch - EM14A0D-C28-L032S
Grayhill Series 62S Optical Encoder - 62S11-M5-050C

The good part about the Grayhill part is the fact that it has detents and a standard connection cable with a row header. The detents will prevent the switch from coming to rest in between two positions. This will prevent "teasing" which can potentially mess up our software. None of the available Bourns have this feature. The Grayhill is $37 and the Bourns part is $27. I have decided on the Grayhill part.
I located three knobs (2 silver aluminum and 1 black anodized aluminum) for use with the encoder. Newark parts MC15T2D, PVL-12B-2, and MC18S-2D

January 26, 2006 (2 hours):
We had a group meeting at MSEE189 this evening. I worked on getting design constraint information from my teammates for the upcoming report. I filled in the parts list at the end of the design report document. Currently, we are around $900 for our total part cost, but I suspect that we will be easily pushing over $1000 for this project before it's all over.

We also discussed thermal issues near the compressor, current consumption requirements, and power supply options (snake eating a mouse, wall wart, etc.). I put all of our team's brainstormed requirements and constraint information into the appropriate report sections. I plan to start writing this report this weekend then presenting it to our team during our meeting on Sunday.

January 28, 2006 (2.5 hours):
The optical encoder and knobs are in! I personally like the large brushed aluminum one the best, but we will see what suits the final packaging. Overall, the device has good tactile feedback and is easy to use. Selecting 32 clicks per revolution was a good choice, as it will not be akward to navigate menus due to having to turn the knob too much.

Besides the knobs, I have been looking for a pressure sensor for the CO2 tank. It would be nice to tell how much CO2 is remaining without having to open the kegerator. Unfortunately, after searching the internet for a while, I do not think that we can find an economical pressure sensor to monitor the CO2 tank.

As a consolation, Matt and I have been looking into bill acceptor devices to take money from users for payment and donations. We were unsuccessful with an ebay auction last night but we have hopes that we can incorporate one of these devices into our system with little difficulty. Tonight I emailed six companies a form email explaining our project, asking if they would be willing to sell us a discounted unit. I know many of them sell used/repaired units so I figured this would be worth a try.

January 29, 2006 (2.5 hours):
I got an reply from Pyramid Technologies about getting a discount on one of their bill acceptors. Their initial email said that they would be willing to sell us a bill acceptor at a very reduced cost. After emailing him what type we wanted, I was given the quotes for the following devices. I have withheld the pricing information at their request. We are to fax our credit card information to their secure fax line at 480-507-1922.

$1-20 Stackerless, part number 5400-SN5-USA
$1-20 Stacker w/200 note cassette, part number 5400-U25-USA

Pyramid Technologies 5400-SN5-USA Datasheet

If we decide to go with Pyramid Technologies, we will be going with the cheaper stackerless model. This way we can keep the form factor or our system to a minimum. Bill collection can just be done with a simple locking box/tray. These models use serial communications, so we should be able to interface to them using one of the 3315's extra serial ports. The 3315 has six ports, and with this we would be using 4 of them (LCD, RFID, Flash, Bill Acceptor). We plan on waiting an additional day or two to allow the other companies time to reply.

At our meeting today at 3pm I emailed Texas Instruments a message that was similar to the one I emailed the bill acceptor companies, except it was in regards to the RFID Micro Evaluation Kit. With any luck, they will come back with a discounted price tomorrow. If not, we are clear to purchase that module soon.

In addition to parts hunting, we decided to do some competitor analysis at our meeting. Justin located one company that is producing a table top device that monitors flow rates and can keep track of them with a computer. It also has an LCD, but the output information is primitive at best. The device is approximately $2845.

Auper Harpagon Draught Beer System

Using some of the same terminology used in describing this product, I managed to locate some additional commerical devices that were equally unimpressive. The Draft Sentinel Beer Monitoring system was the most advanced of what I located. It has an LCD that can display quantity dispensed by volume from up to 24 beer lines. The only real power in the system comes from the "Beverage Manager" PC software that can generate manager reports of volume dispensed by brand.

Draft Sentinel Beer Monitoring

Accomplishments: Aqquired a free bill acceptor, researched comparable commerical products, located and ordered an optical encoder/RPG, got a Rabbit dev kit from Chuck and made our Rabbit selection (3315), got a discount on an RFID reader (that we are not going to use), and picked up our LCD (which is going back due to inability to get a controller module)
Weekly Work Total: 14 hours
Project Work Total: 26 hours

Week 04

February 1st, 2006 (2.5 hours):
Called Digi-Key to get an RMA number for our LCD module and I shipped it by via UPS ground today. I also managed to locate a replacement LCD module with superior screen resolution (240*160 vs 240*64), controls, customizable firmware, and a development board at about the same price. While this LCD has a smaller viewable area, approx 37.032 vs 48.96 cm^2, it does have 250% more pixels (38400 vs 15360). Since the first LCD was so large, I think we will be fine with the smaller screen since it can display much more pixel data. This new LCD is capable of 512 colors (256 color limited by the controller), while the first one was only capable of one color.

I called about purchasing this LCD just to make sure it would do what we believe it would do. The engineer confirmed my query and gave me an email address to get a student discount. I have no idea what the discount will be but I should find out tomorrow. In the meantime I started playing around the LCD's simulator to see just exactly what we can do with the supplied functions. I managed to get a circles, lines, and dots to display, as well as a 256 color image of my face. 256 colors isnt bad at all due to the size of the screen. Potentially we could store user icon for each account, which could consist of an image of the person's face or an icon of their choosing.

February 2nd, 2006 (5 hours):
The discount on the LCD is $50, putting the price at $150 with the evaluation board. Played with the firmware editor program. Learned how we might be about to use the MMC slot on the back of the LCD using a different utility.

Met in my apartment to discuss LCD user interface. I sketched out the menu systems. We are going to have three main areas of the screen. Approximately 1/2 of the screen will be used for current information (the selected menu) while the other half will be split into a menu selection portion and a section containing basic information, user photo/icon, and the time. Matt created a table in his notebook illustrating this layout. I am planning on drawing it out more formally soon.

Also sketched out a new, more detailed block diagram of the overall system. Dustin used his tablet PC to redraw it into a digital version. From drawing this new block diagram, we realized that we need to start looking for optocouplers and MOSFETs.

At about 10pm, Matt and I went to lab to test out the 3315 module. Unfortunately, the 3315 does not seem to be supported by the software/firmware on the development board. After a bit of trying, we were unable to update the software/firmware We did however get the 3300 module that came with the development kit to work perfectly. We will need to talk to Rabbit/Chuck about getting support for our new module.

February 4th, 2006 (7 hours):
Met in lab to discuss various issues with Matt and Dustin (Justin was sick). We debated about the normally open, normally closed solenoid issue. We finally decided that our inital decision for normally open will stand. We plan on cutting off invalid pours after a "tick" or two on the flowmeter. This way, you will lose about 1 mL of liquid when someone tries to make an unauthorized pour, but that is essentially nothing.

As far as our problem last night with the 3315, it seems we need a newer version of Dynamic C. Too bad the update is like $100 and that might not even get us up to speed (need a really new version of Dynamic C and the $100 update doesnt even do that). We will have to talk to Chuck and perhaps Rabbit about getting a copy of this new version of the software. I'm hoping that people will work with us.

We learned that we need to look into RS-232 transceivers for our serial devices. I actually took one of the data sheets that was left in lab last week. It's a MAXIM 3.0V-5.5V True RS-232 Transceiver. It requires four 0.1 uF caps to work. I'm not sure yet exactly which serial devices that we are planning on using will require one of these chips, but it seems the bill acceptor will require one for sure.

Maxim 3.0-5.5V True RS-232 Transceiver

I started reading up more on our RFID reader. It sends a power pulse out for 50 ms then it reads the tag during the next 20 ms. Continuous mode will cause the reader to loop in this 70 ms sequence. After I came home I got to see our RFID reader in the flesh. The transponders are quite interesting, especially the pill shaped ones. I loaded up the CD-ROM began checking out the software.

Later I continued working on the design constraint report. I started collecting a reference list and putting together tables for the component selection rational section. I have completed tables for the LCD, microcontroller, and RFID reader module. Each device has three alternatives that are evaluated. I also wrote the computational requirements section and made a few adjustments here and there. I still have a ways to go with this assignment but it is coming together. Dustin sent me the power requirements for each component so I will be able to start with that part tomorrow.

Accomplishments: RMAed old LCD, tested RCM3315, got a discount on a new LCD, started learning our new LCD's functions and software, researched RS-232 Transceiver chips
Weekly Work Total: 14.5 hours
Project Work Total: 41 hours

Week 05

February 6th, 2006 (3 hours):
More design constraint report work tonight. The component selection writeups are now finished.

February 7th, 2006 (4 hours):
I called about the bill acceptor status today. I was told that it was mailed and it should be on its way. I expect it to show up by the end of this week. I uploaded all of my part spec sheets to the webpage. Additions include the optical encoder, microcontroller, LCD module, LCD, RFID evaluation kit, and RFID module.

Later on this evening I put together the slides for our presentation tomorrow morning. I spent a significant amount of time removing the background fill color from our components for that little extra special touch.

February 9th, 2006 (6 hours):
Finished the homework 3 in MSEE189. Added power considerations, introduction, summary, updated the parts list, and just generally fixed a few issues with the report. Submitted Friday at around 3:30am.

February 10th, 2006 (1 hours):
The bill acceptor came in today. Experimented with the LCD module and learned the jumper settings. PROG must be connected for firmware flashing. TEST will put the LCD into a slideshow. Taking off the jumper will put the LCD in normal operation.

February 11th, 2006 (4 hours):
Downloaded various RS-232 communication software packages to LCD prototyping. I need the capability to send files or large commands often without retyping the command. Most programs have locked out features (almost always the ones I need as well), but I managed to locate the program Docklight which is not crippled from a feature standpoint. It does not allow you save your project but that is okay for prototyping. I took screen shots of the commands instead.

I can now control the LCD backlight, draw boxes exactly where I want them, flash the firmware to include bitmaps and place them using the SET_ICON command, change colors, place text, etc. I worked on getting the interface we planned out last week on the screen. So far I have a stop sign that can be displayed for invalid pours, a picture of my head, button box placeholders, and text. Conceptually I believe I can perform all of the tasks on the LCD, it is now just a matter of continuing to build up the icons and place them. This work will be invaluable for turning these commands into C functions for the Rabbit.

Accomplishments: Finished the Design constraint report, began the LCD interface, got the bill acceptor.
Weekly Work Total: 18 hrs
Project Work Total: 59 hrs

Week 06

February 12th, 2006 (6 hours):
I got the bill acceptor working with the supplied serial software. The device is polled from the PC (microcontroller in our case) every few seconds. When a bill is inserted, the acceptor holds onto the bill until an accept command is sent from the PC. If this accept is not sent, the bill will be spit back out after five seconds.

Poe came into lab after this occured and we started to pick out all the connectors we will need from the PCB to wires. We investigated the molex connectors that Poe had previously selected for the solenoids and flowmeters. We talked about adding a link light with a surface mounted led on the PCB to indicate that the kegerator is detected

We examined the RFID reader board and determined that we can reproduce the board on our PCB. The board only contains three jumpers, some LEDs, and RS-232 tranceiver with its external capacitors. The RS-232 Chip is an Intersil ICL232. It is a 5 volt, dual RS-232 transmitter/receiver. We decided we will use this chip rather than the MAXIM one.

Intersil +5V Powered Dual RS-232 Transmitter/Receiver

I started to looking for the PCB header for the RPG but I was unable to locate it in stock anyplace. The problem is the pins are not in a standard dual row format but in some strange configuration that is going to be impossible to get in small quantities. I have opted to cut off the connector and purchase Hirose vertial PCB headers, socket, and dual row crimp sockets from Digi-key. Poe and I also selected a DB-9 connector, temperature probe molex connectors, and Rabbit headers. We opted to use the headers in lab for the RFID reader. I am still looking into the LCD headers. The problem with those is I need a wire to male to connect to the module's female PCB header. All parts were ordered from Newark and Arrow. I am going to put in a Digi-key order for the Hirose parts soon.

February 15th, 2006 (4 hours):
Met with Poe in the lab to work on the schematic. We placed headers and wired up the serial devices to the dual RS-232 chip. Later that night I ordered a variety of 1206 surface mount LEDs from Digi-key along wiith the Hirose connectors that we needed.

February 16th, 2006 (2.5 hours):
While it is a little late in the game, I am looking for a biometric fingerprint reader that can be communicated with over RS-232. Luckily relatively low cost models exist for what we need. I am talking to a few companies to get a discount on a reader. I have selected nine canidates from four companies. Ravirajtech modules may be cheap enough to purchase outright at about $180 but I am waiting to see what everyone says about discounts. I did receive a quote for the Secugen device but it was for the development kit (which we do not need).

FSM5000 Fingerprint Module
FSM9000 Fingerprint Module
FIM01 Fingerprint Module
Bioscrypt V-Flex
Bioscrypt P-Pass
Bioscrypt MV1210 Embedded
Suprema SFM3000 Series
Suprema SFM3500 Series
SecuGen FDA02

Weekly Work Total: 12.5 hrs
Project Work Total: 71.5 hrs

Week 07

February 19th, 2006 (12 hours):
Worked on the schematic all day. Dustin and I selected suitable footprints for many devices using the OrCAD book in lab. Measurements with calipers were made to verify datasheet mechanical drawing information. I selected an optocoupler with a built in NPN Darlington, located additional optocouplers in lab, and examined various headers that we ordered. I also tested the surface mount LEDs and determined the correct resistors for each type assuming a 5V supply.

BLUE - 557 ohm
RED/PURE GREEN - 224 ohm

I did manage to blow one of the 1206 LEDS up in my face after not realizing that the only variable voltage plug on the black power supplies is the bottom plug. Looking back, at least I used the 5V port and not the 13.6V port.

February 20th, 2006 (8 hours):
Slowly fixed all the OrCAD capture errors and got the schematic into layout. Most of the errors had to do with the Rabbit headers being numbered in Layout and named using letters in the schematic. Various other connectors were incorrectly selected. Started placing components.

February 21st, 2006 (8.5 hours):
I got an email back from TI today stating that we cannot purchase just the 80mm disc antenna without the microkit. We will need to order the $80 antenna if we send back the kit. The savings is still significant, but not as much as we had hoped. The email did however include instruments to create your own antenna with wire coils. They even had one antenna that was simply a wire and an inductor. Matt and I decided to try and develop our own antenna for the RFID reader. We got some wire from the instrument room and later Matt coiled it into the correct shapes using a foam cup and plastic tubing. We have not tested the antennas, we are waiting to test to see if they are made correctly.

This evening, I revised the schematic with Dustin in lab. I realized that we were missing a few parts on the schematic and we still need to order a few parts as well. Specifically, a battery with battery holder, push button reset for the rabbit, a speaker, and expansion ports for our PLD, 3.3V to 5V level translation for the RFID reader, and potentially our fingerprint module.

I located a surface mount piezoelement buzzer that will serve as our RFID tag "beep." These type of devices can be run directly off of the microcontroller port pin due to their very low current requirements. I selected the CMT-1603 Piezo Ceramic Audio Transducer device from Digi-Key. This device requires only 3 mA of current. The Rabbit can supply 6.8 mA max on each pin. I have included the data sheet and an mp3 file of it operating.

CMT-1603 Piezo Ceramic Audio Transducer
CMT-1603 Piezo Ceramic Audio Transducer MP3 File

The battery holder is designed for a 23mm disc. The battery itself is a 3V 165mA Panasonic Lithium 23mm disc. This type of battery is recommended by Rabbit, as it will last 3.1 years according to calcuations. This battery will not discharge when the Rabbit is powered up.

Keystone Coin Battery 23mm Battery Holder
Panasonic 3V 165mA Lithium Battery

The surface mount reset pushbutton was located in lab. We will need to create a custom footprint for this device. I have included the datasheet below.

Omron B34 Surface Mount Tactile Switch

3.3V to 5V level translation is needed for our RFID reader. The RFID reader needs 5V inputs but the Rabbit only outputs 3.3V. This problem is not as bad as it seems because we only need to change our Rabbit outputs to 5V and not the Rabbit's inputs due to the 5V tolerant I/O. I located a Texas Instruments part that will perform the needed conversion.

Texas Instruments SN74AHCT125 Quad Bus Buffer

The rest of the night was spent on presentation slide creation and homework 5. I also observed Matt get the serial communications to work from Rabbit to bill acceptor. This is a significant milestone for our project.

February 22st, 2006 (4 hours):
After the presentation today during class I spent about an hour making modifications to the schematic before Poe got to the lab. I had to leave for other obligations. Later tonight I assisted Matt with the new solenoid testing. The new solenoid appears to work as the beer comes out clear. Afterwards, I worked on homework 5 for about two hours.

Accomplishments: Located and purchased additional parts (piezo buzzer, battery/battery holder, reset switch, level translator, etc). Got the schematic to transfer to Layou, helped make footprints for the Layout.
Weekly Work Total: 32.5 hrs
Project Work Total: 104 hrs

Week 08

February 28st, 2006 (4 hours):
Day before presentation, worked on schematic tweaking and presentation slides.

March 2nd, 2006 (2 hours):
The temperature probe might be more difficult to interface than previously thought. It requires very specific timing that might be difficult to do on the Rabbit. The waitFor(int msdelay) function supplied by the Rabbit can only go down to 1 ms while we need approximately 10 us resolution with our timing of pulses. One solution is to drop into assembly mode and NOP the desired time, but this may screw up the Rabbitweb and other devices.

March 5th, 2006 (9 hours):
My goal today was to successfully test hardware components to verify that the PCB and schematic design are correct. I was joined by Matt in lab to test various subsystems and parts. We started by focusing on getting out RS-232 level translators to function properly. I soldered MAX3232C chip to a dip socket so we could prototype using a standard breadboard. Using this device, we hooked up the bill acceptor first.

We used scope probes to verify that the output was in fact within the correct RS-232 range (Minimum -5V to 5V). We noticed that the transceivers on the Rabbit dev board would output 12VPP (-6V to 6V) so that was what we were shooting for with our device. We tested different capacitor values and types (both ceramic and electrolytic). During debugging (after we broke a wire off inside the bill acceptor's cable), we noticed that the bill acceptor has an RS-232 tranceiver itself in the cable's connector. This is important to note in case you wanted to use a different cable. Without the special cable, the bill acceptor outputs 5V serial logic. The part number of the cable's chip is 232CB-PO345BDTV.

After getting the bill acceptor to talk to the Rabbit (Port C) through the RS232 chip, we noticed a bug in the code that would prevent the rabbit from communicating with the bill acceptor. If the bill acceptor fully powered up before the Rabbit powered up, communication would fail. This was fixed by changing some logic . Next, we took the LCD off the dev board and wired it to the Rabbit to Port D through the development board's RS-232 transceiver. The baud rate was set at 115.2k. We successfully sent byte commands using the Rabbit to turn on various features of the display. Next, we reattached the bill acceptor to get both devices to work at the same time. Our main test accepted all bills except a $10 bill, which was be denied. This also triggered a stop sign icon to be placed on the LCD screen from the device's firmware.

The final integration milestone was to connect the 9600 baud bill acceptor and the 115.2k baud LCD both to the Rabbit through the MAX3232C chip. This test was successful and represents a major milestone for our hardware intergration and software development.

We also tested our piezo audio transducer device. Using a 3.3V square wave, we were able to produce a tone. We should be able to make a suitable noise for our RFID transponder reads. Varying the frequency will give us some creative flexibility for the most pleasing noise. The device can noise throughout the human hearable frequency range, but obviously it is very annoying at the higher frequencies. Finally, we attempted to use the MOC3010 optocoupler that we found in the lab. Unfortunately these devices are triacs, so they turn on and stay on until grounded (on the non-microcontroller side). This would work for AC, but it doesn't work well for our application. I am going to look for a replacement. We also need power MOSFETs for our solenoids. We were unable to locate any in the lab.

Accomplishments: Successfully tested two RS-232 devices (different baud rates) simultaneously through a transceiver with the Rabbit.
Weekly Work Total: 15 hrs
Project Work Total: 119 hrs

Week 09

March 6th, 2006 (12 hours):
I tested the NPN transistors that Dustin purchased from Mouser a while back. Unfortunately they did not work. One of them went up in smoke when powering the solenoid. I managed to located a 5A capable power transistor that we have decided to use. The three pin TIP122 (TO-220 package). I tested the solenoid for one hour and nothing was hot.

After that I purchased two 4N33 optoisolators for prototyping. These devices seemed to work fine and luckily come in the same 6-DIP package as the triacs I tested yesterday. This means minimal schematic and PCB changes. I then powered the solenoid using the optically isolated power transistor and tested for an additional hour. It appears to finally work properly.

The schematic was updated to reflect these changes and was then brought into layout. I worked with Dustin to match footprints for a few parts with the 3.3V to 5V level translator requiring a custom footprint. Once in layout again, I worked with Dustin to learn to run the software more efficently. I think I have a good handle on it so I plan to assist him with finalizing the board this week.

I also placed a large Digikey order to get the last of our parts for the "Proof of Parts" on Friday.

March 7th, 2006 (15 hours):
The Digikey order shipped so we should be good to go for the "Proof of Parts" on Friday. I ordered two day shipping.

I tested contactor with the power transistor and the optical isolator that I located yesterday. Everything worked and the device only pulled about 150mA to close the circuit. Then I tested the Grayhill Optical Encoder with the o-scope. The outputs were out of phase exactly like the data sheet specified and the push button worked. All we need to do with this device is connect the wires to a header so we can directly plug it into the PCB.

Finally, Dustin and I tested the 12V DC power supply with the solenoid. We noticed that after disconnecting the power supply from the wall, the solenoid pulses on and off. This is because of the large capacitors in the power supply. This will not be an issue because our microcontroller is turning on and off our solenoids.

The rest of the night/morning was spent working on PCB.

March 8th, 2006 (10 hours):
I wired up my optically isolated compressor circuit for Matt. I switched the optoisolator's current limiting resistor to 10k and we managed to get the Rabbit to turn on the compressor when the temperature goes above 23 degrees C. Since room temperature was approximately 20C, we tested this with our hand.

Later Poe and I changed the XOR gate footprint, rerouted the GAL16V8 PLD, and changed other trace paths and widths to tweak the PCB layout. I tested the 12 to 5V DC-DC power supply chip.

Testing this chip required soldering surface mounts to scrap PCB boards and flywiring the circuit to a protoboard. I soldered the sensor resistor, inductor, and diode in this manner. I soldered wires directly to the capacitors. After debugging the circuit, the end result was a power chip that gave us approximately 5 volts but was drawing FAR too much current. We had the current limiter at 0.5 Amps. The data sheet claims that the chip itself will only draw 2 mA, but has no mention of what the total draw of the circuit might be. It does say that the chip will not get hot. Ours gets very hot if we leave it on. One possible problem might be the fact that our inductance is incorrect because of the flywiring.

March 9th, 2006 (14 hours):
This afternoon was our proof of parts. I lined up all our parts and presented them to Brian. We noticed that the low ESD tanalum capacitor pads needed to be slightly larger. Also, the Rabbit header was slightly off and our temperature probe connectors were too close together. We corrected all of these issues before we were checked off for proof of parts.

This evening I adjusted trace widths and looked for acute and right angles on the PCB. I also looked for a way to import a DXF file into OrCad for a silkscreen logo. To do this, you need to import a DXF file. We can create one of these from either Visio or AutoCAD. Visio turned out to be more trouble than it was worth. The option is available but a strange error code comes up when you try to export the file. Exporting from AutoCAD works, but comes up as blank in Layout. I decided my time was better spent checking the schematic and layout.

I started redlining potential trouble location of our schematic using component datasheets. I noticed that a few pins on the RFID module need to be adjusted. Pin 27 needs to be connected to Pin 26 to it can go through the 27k Ohm resistor to ground, rather than directly to ground. Pin 23 needs to be no connect and Pin 24 and 22 need to be seperate wires from the decoupling capacitor to reduce noise.

One oversight that I discovered was a message in the datasheet that claims you cannot use switching mode power supplies with the RFID module. The data sheet states:

Note: The RF Module must not be supplied by Switched Mode Power Supplies (SMPS). This is because most SMPS operate at frequencies around 50 kHz. The harmonics of the generated field can interfere with the TIRIS receiver. Therefore only use linear regulated power supplies, or SMPS with a fundamental operating frequency of 200 kHz or higher.

Luckily, our calculation for the operating frequency of our DC-DC power supply came out to be greater than 300 kHz. We should be fine, but this is important to note during debugging if we need to change any components.

Accomplishments: Completed proof of parts and turned in the PCB
Weekly Work Total: 51 hrs
Project Work Total: 170 hrs

Week 10

March 22nd, 2006 (4 hours):
The PCB arrived today. Visual inspection did not revealed only minor issues, like incorrect via size at one point near a power rail. I do not believe this will be an issue. Dustin and I then stepped through the board to verify that all the connections were correct. After we felt confident the board was okay, I solder the barrel plug to the board and we applied 12 V. We then connected one, two, and then three solenoid valves and allowed the board to burn it. I did not see any issues after an hour of operation.

March 23rd, 2006 (4.5 hours):
I soldered the 5V LTC power chip up to the board with all of its supporting components. Unfortunately, when power was applied, pin 12 exploded. I suspect that there is no major damage to the board, and at worst, we will lose one pad. Here is a photo of the damage.

Damaged 5V LTC Chip

We are going to email LTC and ask the TA what might cause a failure like this tomorrow.

March 23rd, 2006 (4.5 hours):
Brian helped us identify a number of issues with our circuit today. The low battery input and outputs were tied to ground. Ideally we should tie the input to 12V and not connect the output. Also, pin 9 is a no connect on our chip, but we had it connected to ground. In the variable power supply variant of this chip, this pin is used to monitor the voltage of the circuit. If it is grounded, it may casue the circuit to continually draw more current, until it fails. Finally, our inductor was not the correct value. We need a 33uH inductor, not a 3.3uH.

March 25rd, 2006 (9 hours):
Based on the findings from yesterday, I modifed PCB with Dustin. I cut the trace on pin 9 and 4, and cut the digital grounds and connected them all to analog ground with flywires. Initial results yielded a power supply that was putting out 5.8V. We believed that checking our components would get us down to 5, but it turns out the chip was not operating properly. The higher the load on the circuit, the lower the voltage dropped. We eventually realized that with no load (removed SMT resistor to LED), the output voltage was about 11.7V. After exhusting our debugging options, we removed the LTC chip and replaced it. This turned out to be the problem. This evening we are burning in the circuit with some resistors.

Weekly Work Total: 22 hrs
Project Work Total: 192 hrs

Week 11

Weekly Work Total: X hrs
Project Work Total: X hrs

Week 12

April 8th, 2006 (4 hours):
I spent some time in lab trying to debug the serial and flowmeter issues. I tried replacing the RS232 chip but I am getting the same result, no output. I am going to ask a TA on Monday what to do because I am stuck on this issue.

I also tried to debug the flowmeter problem. I am getting 3.3V at the microcontroller pin for a high and 1.2V for a low. The optocoupler appears to be working correctly but due to the lack of a pull down resistor, the low never makes it to 0V.

I tried adding a pull down resistor but the best low output I could get was 0.9. The threshold for logic low is 0.8V. Also, when I add a resistor that small, my logic high starts to drop. This is not the answer to the problem.

Weekly Work Total: 4 hrs
Project Work Total: X hrs

Week 13

April 10th, 2006 (5 hours):
Nick helped me debug the RS232 chip by checking cleaning up my soldering job. He suspected that because my chip worked once before, there may be an issue with the soldering. After he was done, the chip started working again, so we believe that we can safely assume that the soldering was no good. I believe the other chip may have the same problem.

Once we had serial successfully coming out of our RS232 chip, I worked with Dustin to create wiring harnesses for the LCD. Dustin crimped the wires while I soldered them to the male headers and heatshrinked the connections. After we completed the two cables we tested basic commands to the LCD. While the LCD appears to respond, the cables are noisy and have some issues. This is because we have the incorrect inserts and Dustin has managed to do his best to make them work. Unfortunately I don't believe they will be suitable. Tomorrow I am going to look into this issue more.

April 11th, 2006 (4 hours):
I tested the LCD cables some more for reliability. The incorrect inserts are causing major issues with connections. The LCD is displaying irratic behavior with serial communication by sending the correct information but also sending incorrect information. I ordered the right inserts along with additional connectors from Digikey this evening.

I also soldered Dustin's RPG cable to the RPG and heatshrinked the connections. This cable is The RPG cable the same issues as the LCD cable due to the incorrect inserts. I did however manage to verify that the RPG was working correctly. As long as the microcontroller can read the quadrature input, this portion of the circuit should work.

April 12th, 2006 (4 hours):
I talked to Professor Meyer about the flowmeter issue after class today. He recommended having a resistor go from the 3.3V into the optocoupler and reading the logic level from the top of the optocoupler. I spent the afternoon making the modifications to the board to test this. The flowmeter now works correctly for keg 4.

After verification of this circuit portion, I started to populate the rest of the common beverage interface. I believe that keg 1 is working with the flowmeter but the software may not currently support that I/O line. Kegs 2 and 3 have shorts to ground someplace that need to be found.

Weekly Work Total: 12 hrs
Project Work Total: hrs