Critical Design Review Laser Choreographer 2500FX - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Critical Design Review Laser Choreographer 2500FX

Description:

This address is decoded and using 'One-hot' encoding one of the 16 peripheral ... Opens or closes photogate based upon blanking information received from the processor ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 43
Provided by: mattm72
Learn more at: http://ecee.colorado.edu
Category:

less

Transcript and Presenter's Notes

Title: Critical Design Review Laser Choreographer 2500FX


1
Critical Design ReviewLaser Choreographer 2500FX
  • Team ThunderForce
  • February 26, 2004

2
Table of Contents
  • Introduction
  • Features
  • System Overview
  • Software
  • Hardware
  • Expansions and Upgrades
  • Risks and Contingency Plans
  • Questions

3
Laser Choreographer 2500FX Overview
  • Designed to aid the in choreography of large
    groups of performers
  • Projects laser dots to represent the location of
    each performer at any time in a show
  • Includes software to write the choreography and
    control the projector

4
Laser Choreographer 2500 FXSystem Overview
5
Laser Choreography PC Software Goals
  • To be able to input data from a standard drill or
    choreography sheet into the program in a natural,
    easy-to-understand way
  • To be flexible and extensible to accommodate the
    extending of the scope of the hardware
  • To generate a compiled and optimized set of point
    data to send to the projection system, supporting
    such features as animation

6
Laser Choreography PC Software Goals
7
Laser Choreography PC Software Backend Base
Classes
  • Common Functions to the Base Classes
  • Constructor
  • Destructor
  • Recursively deletes all of the members of its
    children when called
  • addChild()
  • Instantiates a new child class, adds a pointer to
    the child pointer array, and returns a pointer
    to the new child

8
Laser Choreography PC Software Backend Base
Classes
  • More Common Functions of the Base Classes
  • removeChild()
  • Deletes the child specified, which in turn causes
    everything under that child to also be destroyed,
    preventing memory leaks
  • visitor()
  • The heart of the compiler. Recursively steps
    through all entire tree, grabbing the appropriate
    information from each node. This information is
    then parsed, and printed out in the desired
    format.

9
Laser Choreography PC Software Backend Base
Classes Hierarchy
10
Laser Choreography PC Software Backend Code
Example
  • cShowcShow()
  • // The page is removed, so kill all of its
  • // children mercilessly
  • // NOTE If all goes well, calling the
  • // destructors of the children pages
  • // should propagate down to include all
  • // dots and formations as well as the
  • // member pages
  • for(int i 0 i lt pageCount i)
  • delete pagesi

11
Laser Choreography PC Software Backend Code
Example
  • int cPagevisitor()
  • int returnCode
  • // COMPILER Print out any page information
  • // in this section
  • printf("Page\n\n")
  • // COMPILER END
  • // Call the visitors of all the children
  • returnCode visitForms()
  • return returnCode

12
Laser Choreography PC Software Backend Code
Example
  • int cPagevisitForms()
  • // Iterate through the children, calling their
    // visitors
  • for(int i 0 i lt formCount i)
  • formsi-gtvisitor()
  • return 1

13
Laser Choreography PC Software Backend Looking
Forward
  • Children classes should only be created by their
    parent class, and can therefore retain a pointer
    to the class that they were spawned from. This
    helps in various front-end tasks, such as
    clicking on a dot, and determining which
    formation it belongs to
  • The visitor allows for very quick and easy
    changes to the compiled file. Data can either be
    printed on the fly, or collected into a new data
    structure to be sorted to best suit the
    constraints of the hardware
  • For the formations, all the drawing functions
    were made as general parametric curve drawing
    functions, and thus can be used for both the
    backend and the front-end GUI drawing routines,
    to ensure consistency

14
Laser Choreography PC Software Schedule
  • Right now, we have a fully functioning software
    package, able to choreograph shows, as well as
    create the compiled output files for the Laser
    Choreographer to read in and project on the field
  • Next phase of the project GUI construction to
    make these data structures easy to manipulate for
    the end user

15
Laser Choreography PC Software Schedule
16
Laser Choreographer 2500FX Embedded Systems
Hardware
  • Hardware Components
  • MC68000 CPU
  • MC68881 FPU
  • AMD 27C512 EPROM x2
  • KM681000ALP-7 SRAM (128K) x2
  • Max 233 RS232 Transceiver
  • National 16550 UART
  • Spartan XCS10 FPGA
  • Xilinx XC18V256 EEPROM

17
Laser Choreographer 2500FX Embedded Systems
Hardware
  • Parts List
  • 2 Banana Plug Sockets
  • 1 9-pin female serial connector
  • 1 power bus strip
  • 1 74HC14 Logic Inverter
  • 1 push button switch
  • 1 68 pin PGA socket
  • 10 20-pin sockets (DIP)
  • 2 28-pin sockets (DIP)
  • 2 32-pin sockets (DIP)
  • 1 40-pin socket (DIP)
  • 1 12MHz clock generator
  • 3 20-pin headers
  • 6 10-pin SIPs (Isolated 4.7k)
  • 10 .01 micro Farad Capacitors
  • 1 220 micro Farad Capacitor
  • 1 1Mohm resistor
  • 1 Motorola 68000 Processor
  • 1 Motorola 68881 or MC 68882 FPU
  • 5 74LS245 Bus Transceiver
  • 1 LM340 5V voltage regulator
  • 2 AMD 27C512 EPROMs
  • 2 KM681000ALP-7 SDRAM(2)
  • 1 Wire Wrap Board
  • 1 MAX233 RS232 Transceiver
  • 1 16550 UART

18
Laser Choreographer 2500FX Embedded Systems
Hardware
19
Laser Choreographer 2500FX Embedded Systems
Firmware
  • Boot Monitor
  • Set up stack
  • Test RAM
  • Initialize laser device
  • Initialize UART
  • Start main process
  • Main Process
  • 3 states
  • Idle
  • Output Loop
  • Datafile download to RAM
  • Interrupts
  • Input from serial device
  • Reset

20
Laser Choreographer 2500FX Embedded Systems
  • Where are we now?
  • Processor running code stored on EPROM
  • nop, nop, jmp
  • Working on connecting RAM and UART
  • Developed plans for FPGA bus control
  • Researching FPU
  • Starting to develop more advanced code

21
Laser Choreographer 2500FX Project Schedule
Embedded
22
Laser Choreographer 2500FX FPGA Embedded Systems
  • Bus Master Functionality
  • We use a state in the state-machine to act as a
    bus controller
  • Allows for easy chip select
  • Prevents other devices from picking garbage off
    the bus

23
Laser Choreographer 2500FX FPGA Embedded Systems
  • CPU sends a 4 bit address to FPGA
  • This address is decoded and using One-hot
    encoding one of the 16 peripheral chips will be
    enabled
  • Short delay is inserted to stall clock to allow
    proper propagation time

24
Laser Choreographer 2500FX FPGA Embedded Systems
  • Boundary Scan circuit to enable reprogramming of
    Xilinx XC18V256
  • Address Decoder Chip Selection

25
Laser Choreographer 2500FX FPGA Embedded Systems
  • Simulation of Address Decoder

26
Laser Choreographer 2500FX Optical Systems
Overview
27
Laser Choreographer 2500FX FPGA Optical Systems
Driver
  • Scanner Interface
  • Buffers angles and passes them to driver circuit
    when mirrors ready to be positioned
  • Photogate Interface
  • Opens or closes photogate based upon blanking
    information received from the processor
  • Laser Interface
  • No interface diode remains constantly on

28
Laser Choreographer 2500FXOSD State Machine
  • Four states
  • Rest No motion of the mirrors, photogate closed.
    The projector is in this state whenever not
    actively projecting a page or animation.
  • DrawNone Mirrors moving to the next dot
    location, photogate closed. The projector is in
    this state between projecting dots
  • DrawDot No motion of the mirrors, photogate
    open. The projector is in this state only in the
    instant a dot is being placed on the field.
  • DrawLine Mirrors moving to the next dot
    location, photogate open. The projector is in
    this state whenever a label is being drawn.

29
Laser Choreographer 2500FXOSD State Machine
30
Laser Choreographer 2500FX Project Schedule - FPGA
31
Laser Choreographer 2500FX Optical Positioning
System
  • GSI Lumonics G325DT Scanners in an XY
    configuration
  • 25 degrees optical excursion
  • 35 uA/degree Position detection sensitivity
  • A660 Driver Board
  • Ideally can find used components
  • Have full schematics to build our own, if
    absolutely necessary

32
Laser Choreographer 2500FX Projection Mathematics
  • Determine exact location and orientation of
    projector relative to field
  • Use vector subtraction to generate projection
    vectors
  • Calculate direction cosines and send to scanner

33
Laser Choreographer 2500FX Projection Mathematics
P
PB
qPAB
A
AB
B
C
34
Laser Choreographer 2500FX Projection Mathematics
35
Laser Choreographer 2500FX Project Schedule -
Optics
36
Laser Choreographer 2500FX Power Systems
  • All ICs are currently running off of a 9 Volt
    source
  • Simplifies power requirements
  • Individual ICs provided either 3.3V or 5V via
    voltage regulators
  • Scanner driver board may require unusual
    voltages, such as /- 22VAC or /- 35VAC

37
Laser Choreographer 2500FX Power System
Schematic
38
Laser Choreographer 2500FX Power System Parts
  • C1 - 14000uF or 10000uf 40 VDC Electrolytic
    Capacitor
  • C2 - 100uF 50Vdc Electrolytic Capacitor
  • C3 - 0.1uF Disc Capacitor
  • C4 - 0.01uF Disc Capacitor
  • R1 - 5K Pot
  • R2 - 240 Ohm 1/4 W Resistor
  • U1 - LM338K 1.2 to 30 Volt 5 Amp Regulator
  • BR1 - 10 Amp 50 PIV Bridge Rectifier
  • T1 - 24 V 5 Amp Transformer
  • S1 - SPST Toggle Switch
  • MISC - Wire, Line Cord, Case, Binding Posts

39
Laser Choreographer 2500FX Backup Power System
  • Goal is to maintain information stored in RAM
    when device is powered off
  • Show data
  • Calibration Information
  • Ideally will use large capacity rechargeable
    battery for long duration

40
Laser Choreographer 2500FX Project Schedule -
Power
41
Laser Choreographer 2500FXRisks and Contingencies
  • Optical Systems
  • Risk Finding affordable, suitable scanner
  • Contingency March 11th deadline to obtain
    scanner before falling back on stepper motors
  • Risk Interfacing to the scanner with Team
    ThunderForce built driver board
  • Contingency Try to locate used board through GSI
    Lumonics

42
Laser Choreographer 2500FX Questions
  • PC Software
  • Nick
  • Embedded Systems
  • Jeremy
  • FPGA
  • Lars
  • Optical Systems
  • Matt and Lars
  • Laser
  • Quinton
  • Power
  • Quinton
  • Projection Mathematics
  • Matt
Write a Comment
User Comments (0)
About PowerShow.com