Peter Bowlin Daniel Clement Trevor Fine Josh Kline Tommy Sterling Trevor Mix-A-Lot Overview  Create a device that can combine multiple liquids in an automated fashion  Uses: 

Download Report

Transcript Peter Bowlin Daniel Clement Trevor Fine Josh Kline Tommy Sterling Trevor Mix-A-Lot Overview  Create a device that can combine multiple liquids in an automated fashion  Uses: 

Trevor Peter Bowlin Daniel Clement Trevor Fine Josh Kline Tommy Sterling

Mix-A-Lot Overview

 Create a device that can combine multiple liquids in an automated fashion  Uses:   making drinks mixing liquid paints  mixing chemicals ( not all at the same time)  Gravity-fed system   Four 2-liter bottles, with a pinch valve and flow sensor for each Goal: Simultaneously dispense a precise amount of each fluid into a single cup or other container Trevor

Levels of Objective

Low Level:

 Easily cleanable components  Interchangeable liquids  Dispense from one bottle at a time  LEDs to indicate system state and fluid dispensation from each bottle.

 Pre-made mixes selectable with buttons on the Altera board (no touch-screen GUI) Trevor

Levels of Objective (continued)

Mid Level:

 Fill precision of 1 mL    Simultaneous dispensing Basic touch-screen GUI  Cup detection (basic functionality) High Level:    More fully featured GUI  Create mixes  View amount of remaining fluids.

iPhone interface via bluetooth Internet connectivity via embedded web server Trevor

Milestone 1

 Structure built- Done  First revision PCB ordered  Software architecture for MSP430 and Altera FPGA completed  Demonstrate valve control and flow-sensor input  Draw button on touch-screen and receive touch event Peter

Milestone 2

 Final PCB ordered  Hardware systems integration complete  MCU receives and executes commands from FPGA  GUI and data structures fully implemented. Final debugging of these in process.

Peter

Expo

 Functional system  Combines appropriate liquids on command  Cup detection implemented  LED indicators  Touch-screen user interface with GUI  Ability to create mixes Peter

Functional Decomposition – Level 0

Josh

Level 1

Josh

Level 2 - MCU

Josh

Level 2 - FPGA

Communication with I/O CPU (RS-232) Audio Out NIOS II Softcore Processor Cyclone III FPGA LCD Controller DDR SDRAM Controller Flash Memory Controller Parallel Data SCL SDA SCL SDA LCD Panel Touch Panel DDR SDRAM Peter Flash Memory

Hardware - Structure

 Securely holds 4 2-liter bottles  Control column houses the 4 valves and flow meters  Predrilled holes for the RGB LEDs at each bottle  Nice and stable Danny

Hardware - Silicon Tubing

 FDA and NSF approved food grade tubing  Low fluid friction  1.7 Liters per minute in our structure  10mm outside diameter  8mm inside diameter Danny

Hardware - Flow Meters

• Swiss Flow meter SF800 • 5 volt • 12-36ma • Flow rate 0.5-20 liter/min • Outputs a pulse train Danny

Hardware - Valves

 Accepts 10mm diameter tubing  Solenoid pinch valve  Operates 12VDC at 1.7A

 30-50 ms response time.  Valve normally closed  Manufactured by TAKASAGO ELECTRIC,INC  PK-0802-NC-3 Danny

Hardware - Power Supply

 12V computer power supply powers the valves  Currently we have tested the computer power supply that we have (200 Watt) with all 4 valves and it can handle them… like a champ  5V wall wart power supply will power everything else  The rest of the circuit will require less than 1A  3.3V will be regulated from the 5V power supply Danny

TLC 5940

 16 PWM channels  Going to be using two chips daisy chained  10 RGBs total  5 GPI/O to communicate  Flexible SPI communication Tommy

Hardware – MSP430F169

 I/O Controller MCU  Utilized Features:  USART0 – RS232  FPGA  USART1 – SPI  LED driver  30 GPIO pins  Internal DCO  Interrupt driven arch.

Tommy

Valve Control Schematic

Danny

Flow Meter Circuit

Danny

Costs

Item Structure

MDF 2-Liter Bottles Silicon Tubing Pinch Valve - PK-4805-NC Paint

Electrical

IR Emitter IR Receiver Flow Meter - SF800 LED Controller - TLC5940 RGB LEDs MCU - MSP430F169 Touch Screen CPU - Nios II Evaluation Kit PCB Layout Passive / Misc. Components Other Parts (Wires, Connectors, etc.)

Miscellaneous

Micriµm µC/GUI Software Presentation / Documentation (Poster, Binding) Josh

Quantity

1 4 1 4 1

Price Cost

$ 25.00 $ 1.25 $ 20.00 $ 100.00 $ 10.00 $ 25.00 $ 5.00 $ 20.00 $ 400.00 $ 10.00

Purchased

Y Y Y Y N 1 1 4 1 10 1 1 2 1 1 1 1 $ 2.00 $ 2.00 $ 25.00 $ 3.50 $ 0.20 $ 11.00 $ 449.00 $ 60.00 $ 100.00 $ 100.00 $ 9,995.00 $ 80.00 $ 2.00 $ 2.00 $ $ 3.50 $ 2.00 $ $ $ 120.00 $ 100.00 $ 100.00 $ $ 80.00 Total Cost $ 869.50 Remaining Cost $ 410.00 Y Y Y Y Y Y Y N N N Y N

MSP430 Firmware

Wait for Mixture Command Mix Acknowledge Is there liquid?

Yes Is there a container Yes Open Valves No No Error handler Pour Complete?

No Josh

MSP430 Interrupt Handler

Interrupt received Tommy Which Port Port X (1-4) Add to counter X Check if desired amount No Return Yes Close Solenoid Update Amount Left in Bottle

Touch-Screen Control (Nios II)

 Provide a user interface for the system:  Use µC/GUI  GUI will have three screens  Will update the screens based on the status of the machine  No longer planning to use embedded Linux Peter

Nios II Software Functional Decomposition

Module Inputs Outputs Functionality Draw_Screen() which screen to draw images to LCD Will draw the buttons depending on which of the three screens has been specified. Will also check the status of the liquids available and decide which buttons (mixes) are available. Will check to see if screens need to be updated after every signal to the MSP430 is sent.

Module Inputs Outputs Functionality Send_Mix() liquids amounts RS-232 signal to MSP430 Query MSP430 to see if there is a cup present. Check to see if MSP430 is already mixing something. If it is mixing something, push the mixture onto a queue. If it can send the mix, it sends it, it updates the amounts of liquids available accordingly, and if the mix is a drink and is volatile it will delete it. Once it sends the signal, it sets a flag that the MSP430 is busy.

Trevor

Nios II Software Functional Decomposition

Module Inputs Outputs Functionality Receive_Signal() RS-232 from MSP430 none This is an interrupt. Will set the flag for the MSP430 to available. Will also check to see if there's anything on the queue. If so, will call Send_Mix() Module Inputs Outputs Functionality Store_Mix() amounts of liquids Saves the mix and pushes it onto the linked list where the saved mixes are stored. This makes it such that the mix will be drawn when we draw screen one.

Trevor

Nios II Software Functional Decomposition

Module Inputs Outputs Functionality Mix() Index of mixtures (for linked list) OR amount for volatile liquid Calls Send_Mix() Will either find the specified mixture in the linked list, or just sends the mixture.

Module Inputs Outputs Functionality Mix (Struct) none none Has single pointer to next mix, contains integer amounts for all liquids in the mix, name of the mixture in a string, int that says whether it's volatile or not.

Module Inputs Outputs Functionality AmountsOfLiquidRemaining (Struct) none none Integer amounts of each of the liquids remaining. Trevor

Risks Solutions

  System Noise/device failure Time Constraints/pipelining issues Optocouple isolation  Errors in the PCB  Errors in software architecture  Lack of experience with critical components  (MSP430, NIOS II eval. Kit, µC/GUI) Plan for extra time on certain areas Testing!

Tommy

Risks

 Shipping delay/wrong parts  Plan for shipping time  Order early  Parallel planning  Fluid Leakage Tommy

Contingency Planning

 Already canned Linux idea  New plan: implement GUI with Micriµm  Alternatives:  Bitmap images to create the GUI  Use push buttons instead of touch events.  If we can’t get flow meters to work, use a scale instead with serial communication link to MSP430.

Tommy

Division of Labor

Danny Tommy Trevor Peter Structure Power Circuitry, Valve Control PCB Layout MSP430 code Altera - Verilog Altera - C code - User Interface X X X X X X X X X Josh X X Josh

Gantt Chart

Josh