c-4p5 automatic beer bottle filler and capper system design final report aaron landy imdl fall 2013...

15
C-4P5 Automatic Beer Bottle Filler and Capper SYSTEM DESIGN FINAL REPORT Aaron Landy IMDL Fall 2013 November 21, 2013

Upload: spencer-neal

Post on 24-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

C-4P5Automatic Beer Bottle Filler and Capper

SYSTEM DESIGNFINAL REPORT

Aaron LandyIMDL Fall 2013

November 21, 2013

DESIGN AND OPERATION

Varying bottle size:12 oz or 22 oz

CapElectromagnet

Filling Wand

BottleClaw

Claw/MotorClaw Driver

Raspberry PiMain Controller

Raspberry PiCamera

Ctrl

Img

Arduino MegaATmega2560Horizontal Axis

Controller

CtrlCtrl

Sharp IR Rangefinder

Sig

LASERBottle Detect

Emitter

Pwr En

Signal

DriveMotor

Stepper Driver

CtrlCtrl

Arduino Leonardo

ATmega32U4Vertical Axis

Controller

5 V

Capper Actuator

Capper Driver CtrlCtrl

Cap MagnetPwr En

DriveMotor

Stepper Driver

CtrlCtrl

5 V

Fill ValvePwr En

20 V

12 V

5 V

12 V

5 V

10K

CDs CellBottle Detect

Receiver

20 V

12 V

12 V

5 V

Power Supply

ATX PSU5 V12 V3.3 V

-12 V

HV PSU20 V

Ctrl D

ata

Ctr

l

Dat

a

USB

System Block Diagram

OVERVIEW

OVERVIEW

Three primary systems: Raspberry Pi

Master system control Image processing Slave management Software distribution

Horizontal Axis Arduino Primary real-time control Bottle searching Bottle handling

Vertical Axis Arduino Filling control Cap retrieval Capper control Height Adjustment

SOFTWARE DESIGN

Master system control

User interface

Progress monitoring

State save, resume

Testing control

Image processing

Bottle volume estimation

Bottle height estimation

Slave manageme

nt

Master <-> Slave serial

communication

Software distribution

RASPBERRY PI

PythonC++,

OpenCV

Build in place

Arduino Compile, Upload

make, g++, SCP

Bottle searching

CDs to ADC input

Digital threshold

monitoring

Trigger Claw on detect

Primary real-time control

Task scheduling

Sensor reporting

Motor Control

Background state

machine

Sensors

HORIZONTAL AXIS CONTROLLER

Arduino

Periodic background

sensor polling

Real-time digital

filtering

Serial communicatio

n

Program execution

?

QUESTIONS

Homebrewing is fun, bottling beer is hard

Time consuming process requires individually filling and capping bottles of different shapes and sizes

~50 bottles per 5 gal batch

MOTIVATION

Simple Filtering and Area

1. Inverse Binary thresholding to isolate bottle against background, fi lter noise

2. Count pixels for bottle area

3. Measure longest range of pixels for bottle height

Blob DetectionOpenCV

SimpleBlobDetector:1. Successive binary

thresholding2. Find contours in binary

images to extract connected components

3. Group keypoint centers across binary images

4. Estimate blob centers, radii from grouped components

BOTTLE DETECTOR APPROACHES

THRESHOLD CALIBRATION

12oz

22oz

Source 24 32 40 48 64 96

PIXEL AREA CONVERSION

Area Width

2058790

2246896

29708135

• Area in pixels must be converted to real 2D area measure

• Requires calibration calibration based on bottle sizes

• Must factor in relative positions of bottle and moving camera

Fill bottles with precise amountsCap bottles securely without breakingSupport inconsistent bottle shapes and sizesSeek/retrieve bottles automaticallyDo not contaminate, oxidize, damage, or waste beer

OBJECTIVES

Four primary mechanisms:1. Bottle searching/retrieving claw

Infrared and bump sensors to locate bottle

2. Filling tube Stainless steel tube lowered into bottle Tube opening must be pressed against

bottom of bottle to minimize agitation to prevent oxidation or contamination

3. Cap retrieving/placing magnet Caps must be picked up from top of

bottle and held during fi lling Cap must be replaced precisely on top

of bottle

4. Capping actuator Forceful linear actuator with capping

“bell” crimps/seals cap onto bottle

MECHANISMS

Raspberry Pi (Model B rev. 2) Infrared Range Finder and bump to detect bottlesRaspberry Pi Camera module to calculate bottle

height and volumeArduino + Stepper Motors + Motor Driver to drive

linear motion axesServos to open and close, turn claw

ELECTRONICS