Step 1: From Concept to Reality
My first step was to consider my available resources. I had 5 servos, a 14″ by 14″ piece of 1/4″ polycarbonate, the Arduino, and a few servo brackets from Lynxmotion. (Purchase from www.robotshop.ca/)
Then I considered the features required:
Liquor Reservoir (I wanted at least 3 containers of minimum 500ml each in volume)
Tray for the shot glasses (I wanted at up to 4 shots to be served at once)
Human Interface (Controls for the selection of type of liquor to be intuitive)
Liquor Selector (A mechanism that chooses the selected type of liquor to dispense)
Dispensing volume controller (A mechanism that allows the control of volume of liquid per shot)
Initially, the idea was to directly use the robotic arm and attach a liquor dispensing mechanism to it, but this proved to be difficult due to a number of factors. First, I did not have proper sized valves so it was difficult to figure out how to transport the liquid to the dispenser on the arm without interruption. Second, I had 1/4″ tubing (sourced locally at a hardware store) but it was not the silicone type and therefore not very flexible (too much torque will be required for the servo).
The next idea was to have the dispenser be stationary and have the tray with the glasses move under it. This had a few advantages: no need for a mechanical liquor sector as the tray could just move under the selected liquor container, and less torque would be needed for the main servo since the tray is horizontal and weight of the glasses (acting vertically) could be supported through structure.
The images below highlight some of the ideas, with them evolving to the final sketch at the end. Funny thing is I know AutoCAD and SolidWorks, but prefers to draw them because I get most of my ideas right before I go to bed (I have pen and paper prepared under the bed just for that :P).
Step 2: Building the Supporting Structure.
I had a piece of polycarbonate left over from an underwater camera case I built last year. Originally it was destined for a computer case mod that I started but never finished. I felt bad for it as it was just sitting there waiting to be useful. It was a 14″ by 14″ square, so just over a square foot. Unfortunately it is also the only material for this project that I do not know where a good and well-priced source could be found. I hope avid readers of this instructable could provide their insight on this matter (so I could update this).
I am a fan of circles, and since the tray would be traveling in an arc, I decided to build the base based on circles (its a pun, I love puns). The main dimensions are based on the material constraints, so its pretty easy to see the general size of the whole structure by looking at the image below. However, the dimension are also based on the size of the shot glasses I used as well as the size of the Lynxmotion servo bracket (I wanted the tray to have the same curvature as the base so it looks like two intersecting half-circles).
I found that the easier way to prototype for structures like this is to build a 1:1 scale out of cardboard (this was faster for me than CAD and can provide similar insight on whether your designs will be feasible. Attached are pictures of the frame built with cardboard.
Step 3: Working with Polycarbonate
Despite being strong and aesthetically crystal-like, polycarbonate is relatively easy to work with. The major cuts were done on a band saw, although a jigsaw, hacksaw or dremel could have been used as well. Too ensure a nice clean look, all cuts were then sanded with a belt sander. Some smaller corners had to be filed smooth first then sanded.
One important thing I have learned is that you NEED sharp tools and patience, especially when drilling large diameter holes. I had some decent hole saws that I assumed would go through like butter. Well, it did, it melted the material surrounding the hole as well, causing slight discoloration and a lot of headache. So remember to take it slow and do not apply too much pressure when drilling so it could cool.
Step 4: The Tray Arm
The tray arm is made from a piece of polycarbonate with holes that will allow the glasses to sit 2/3 of the way. There are contact switches glued under each hole to allow the Arduino to sense the presence of the glasses (we wouldn’t want to waste liquor now).
The tray arm is made from:
1 x Lynxmotion “L” Connector Bracket
1 x Lynxmotion Long “C” Servo Bracket
1 x Lynxmotion Multi-purpose Servo Bracket
1 x Hitec HS-645MG Servo, although a cheaper HS-422 would do as well.
4 x Small Snap-action switches with levers. There are great inexpensive contact sensors I got from All Electronics, a great online store
1 ft of Multi-wired cord (8 strands needed) I got this great 10-strand cable that is useful for situation such as this.
Most of the mounting screws will be available to you at your local hardware store. I used a few nuts, screws and bolts from the bracket kits.
For more detail: Build Your Own BARBOT using AVR microcontrollerT