290 likes | 401 Views
This project involves a system that uses a low-resolution camera to detect moving targets, servo motors to aim a laser pointer, and an LCD screen for displaying motion events. The success criteria include image analysis, laser calibration, and precise aiming. The project utilizes the OV6620 camera, MC9S12DP512 microcontroller, and servo motors for functionality. The design also features a compact packaging layout for concealability and user flexibility in power options. The schematic and theory of operation involve connections between the camera, microcontroller, LCD module, servo motors, and laser pointer. PCB layout considerations include physical and electrical constraints to optimize component placement and connectivity.
E N D
ECE 477 Design Review Team 9 Spring 2006 Eric Tarun Craig Dave Galamback Chawla Noble Kristof
Outline • Project overview • Project-specific success criteria • Block diagram • Component selection rationale • Packaging design • Schematic and theory of operation • PCB layout • Software design/development status • Project completion timeline • Questions / discussion
Project Overview • Motion Tracking System • Low resolution camera takes images and detects differences • Servo motors aim laser pointer at moving target • Stores timestamps of motion events • Events are viewable on an LCD screen • On startup, users have the option to calibrate the system and set the current time
Project-Specific Success Criteria • An ability to analyze successive stored images for changes/movement in field-of-view. • An ability to calibrate laser-aiming platform relative to camera field-of-view. • An ability to aim laser at a torso 10 feet away. • An ability to timestamp and log motion events. • An ability to configure/control system operation and view event logs via pushbuttons/LCD.
Component Selection Rationale • Camera Chip selection • Needed a low resolution, small, inexpensive digital camera • Investigated cameras from Kodak and Omnivision • Decided on the OV6620 color camera • Comes on a module for simplicity (C3088)
Component Selection Rationale • About the OV6620/C3088 • Low resolution, 16 bits of data per pixel (CIF=352x292 or QCIF=176x146) • C3088 module includes 17.73 MHz oscillator (can be clocked down to 70 KHz) • I2C interface to set registers • Data is clocked by PClk signal • 5V operation • Analog Video Output • Only need to use Y data (8 bits)
Component Selection Rationale • Speed Issues QCIF Resolution Clock (MHz) FPS (frames/sec) .070 2.72 1 38.9 10 389.16 17.73 689.99 • Space Concerns (Image) [Difference Data] CIF: 352x292 pixels (102,784 B) [644 B] QCIF: 176x146 (25,696 B) [322 B] 1/3 from CIF: 118x98 (11,564 B) [216 B] 1/2 from QCIF: 88x73 (6,424 B) [161 B]
Component Selection Rationale • Microcontroller Selection (MC9S12DP512) • Fast enough to acquire images, pinpoint center of motion and output PWM signals to track motion in real time (25MHz) • Plenty of RAM to store one image and difference data (14k) • I2C interface • Plenty of I/O (91 pins on 112 pin LQFP package) • ATD, PWM, RTI systems
Component Selection Rationale • Servo motors • Pushbuttons – setting time, event scrolling, LCD backlight • Laser pointer • Potentiometers - camera calibration, LCD contrast adjust • LCD display - timestamp display
Packaging Design • Designed to be as small for maximum concealability. • 4.3” x 3.2” Serpac Electronic Enclosure holds PCB • A dome on top of the enclosure contains the laser and a servo motor for tilt control. • Designed to operate with either AC or DC power for user flexibility.
Schematic/Theory of Operation • Camera has a 24 pin connection to the microcontroller; two 8-bit data buses, I2C data and clock, and six control signals • VTO pin usable for analog video output • Only using Y (luminance) data, one byte per pixel • Scaled down PCLK allows for data manipulation as pixels are read in to the microcontroller • PCLK connected to interrupt pin, pixel data read on rising edge
Schematic/Theory of Operation • LCD module has an 11 pin connection to the microcontroller; one 8-bit data bus and 3 control signals • Contrast adjust potentiometer connected through power • LED backlight pushbutton connected through power
Schematic/Theory of Operation • Servo motors controlled by PWM signals • 16-bit signals will be used for increased accuracy, 8 channels available • Each motor has its own calibration potentiometer • Calibration pots connected to ATD channels on the microcontroller
Schematic/Theory of Operation • Laser pointer will be sourced directly from the microcontroller but also has an external switch to disable it • Up/Down push buttons wired to interrupt pins so there is no polling required • Programming header connected to BKGD and RESET pins • Extra PLD and headers available for easy expansion • Ceramic resonator has built in capacitors, 25MHz crystal • PLL circuit designed for 25 MHz
PCB Layout • Physical Considerations • Hard Constraints • Minimize overall area • 112 pin 22mm2 LQFP uC package • Headers: 2x17, 2x8, 1x6, 2x3, 1x3’s • 0.1” pin spacing, near PCB edge • Voltage regulator: TO-220 package • Power circuit separate from rest
PCB Layout • Physical Considerations • Soft Constraints: Component locations • Camera header fixed to minimize clock traces into interrupt port pins • LCD header near LCD location opposite of camera location • Remaining parts not as critical, placed near convenient port pins
PCB Layout • Electrical Considerations • Hard Constraints • Freescale recommended PCB layout • Capacitor, oscillator, PLL circuit • Copper pour under microcontroller • Bypass capacitors at each power pair • Camera/LCD module already covered • Isolation of oscillator/PLL circuit • PCB Manufacturer size limitations
PCB Layout • Electrical Considerations • Soft Constraints • Sizes used: 60mil power, 12mil signal • Short clock traces, far from others • 45 degree trace turns, no loops • Power circuit far from digital circuit • Signals cross perpendicular • Connectors close to modules
PCB Layout • Camera Module • Two 8-bit parallel data buses • Three clock signals, I2C communication • LCD Module • 8-bit parallel data bus, (3) control signals • Servo Motors • Use PWM outputs to determine position • Potentiometers • Bottom mounted, traces into ADC pins
Software Design/Development Status • Most interfacing will be interrupt driven • Interrupts: • PCLK – Highest Priority • Push Buttons • RTI for updating the clock • ATD for potentiometers • PWM signals for servo motors
Software Design/Development Status • PCLK ISR (for reference frame): RefFrame[row][col] = Y[7:0] Col++ if (Col > NUMCOLS) Col = 0 Row++ if (Row > NUMROWS) Row = 0 Ref_Frame_Acquired = 1
Software Design/Development Status • PCLK ISR (normal frame): if (abs(Y[7:0]-RefFrame[row][col]) > Difference_Threshold) ColDiffData[col]++ RowDiffData[row]++ Col++ if (Col > NUMCOLS) Col = 0 Row++ if (Row > NUMROWS) Row = 0 Find_Center()