Peter Bowlin Daniel Clement Trevor Fine Josh Kline

advertisement
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:
 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
Parallel
Data
Communication with
I/O CPU (RS-232)
Cyclone III
FPGA
NIOS II
Softcore
Processor
LCD Controller
DDR SDRAM
Peter
Control
Flash
Memory
Controller
Address
Control
Data
Address
DDR
SDRAM
Controller
Data
Audio
Out
SCL
Flash Memory
LCD Panel
SDA
SCL
SDA
Touch Panel
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
Danny
PWR_GND
4
-
L
1
0
5
2
S
P
Emitter
Cathode
PWR_GND
9
8
1.8Vf
10mA
Collector
Anode
D
PWR_GND
8
1
1
0
Emitter
Cathode
6
1
7
D
N
G
Collector
Anode
Valve
2
1
5
0
2
0
1
1
L
1/4W
805
1.17K
Emitter
Cathode
D
N
G
1/4W
805
3
1
4
R38
3
1
2
R37
Collector
Anode
4
1
3
R36
PWR_GND
D44H8
MOSFET-N
Emitter
Cathode
5
1
2
Q11
Q10
K
3
3
Collector
Anode
F
u
0
0
1
6
1
1
R35
Pol1
Cap
Optocouple2
Valve
?
C
MOSFET-N
#1
IO
Valve
MSP
9
Q
V
2
1
805
Ceramic
F
u
1
D
N
G
C14
3.3V
Valve Control Schematic
Danny
D
N
G
5
0
8
K
0
1
R42
D
N
G
#1
FM
MSP
5.1K
#1
FM
5
0
8
R41
1
2
3
2.2K
8
1
P
5
0
8
0
5
2
R40
R39
V
5
Flow Meter Circuit
Costs
Item
Quantity
Price
Cost
Purchased
Structure
MDF
2-Liter Bottles
Silicon Tubing
1
4
1
$
$
$
25.00
1.25
20.00
$
$
$
25.00
5.00
20.00
Y
Y
Y
Pinch Valve - PK-4805-NC
Paint
4
1
$
$
100.00
10.00
$
$
400.00
10.00
Y
N
IR Emitter
IR Receiver
Flow Meter - SF800
LED Controller - TLC5940
RGB LEDs
MCU - MSP430F169
Touch Screen CPU - Nios II Evaluation Kit
1
1
4
1
10
1
1
$
$
$
$
$
$
$
2.00
2.00
25.00
3.50
0.20
11.00
449.00
$
$
$
$
$
$
$
2.00
2.00
3.50
2.00
-
Y
Y
Y
Y
Y
Y
Y
PCB Layout
2
$
60.00
$
120.00
N
Passive / Misc. Components
1
$
100.00
$
100.00
N
Other Parts (Wires, Connectors, etc.)
1
$
100.00
$
100.00
N
1
1
$
$
9,995.00
80.00
$
$
80.00
Y
N
Total Cost $
869.50
Remaining Cost $
410.00
Electrical
Miscellaneous
Micriµm µC/GUI Software
Presentation / Documentation (Poster, Binding)
Josh
MSP430 Firmware
Wait for Mixture
Command
Is there
liquid?
No
Yes
Mix
Acknowledge
Is there a
container
Yes
Open Valves
Pour
Complete?
No
Josh
Error handler
No
MSP430 Interrupt Handler
Interrupt received
Which
Port
Port X (1-4)
Add to
counter X
Check if
desired
amount
Yes
Close Solenoid
No
Return
Tommy
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
Module
Inputs
Outputs
Functionality
Trevor
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.
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.
Nios II Software Functional
Decomposition
Module
Inputs
Outputs
Functionality
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()
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
Optocouple isolation
 Time Constraints/pipelining
issues
Plan for extra time on certain
 Errors in the PCB
areas
 Errors in software
architecture
 Lack of experience with
Testing!
critical components
 (MSP430, NIOS II eval. Kit,
µC/GUI)
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
Structure
X
Power Circuitry, Valve Control
X
PCB Layout
X
MSP430 code
Tommy
Trevor
Peter
X
X
X
X
Altera - Verilog
X
X
Altera - C code - User Interface
X
X
Josh
Josh
Gantt Chart
Josh
Download