1 / 42

Critical Design Review Laser Choreographer 2500FX

Critical Design Review Laser Choreographer 2500FX. Team ThunderForce February 26, 2004. Introduction Features System Overview Software Hardware. Expansions and Upgrades Risks and Contingency Plans Questions. Table of Contents. Laser Choreographer 2500FX Overview.

zeshawn
Download Presentation

Critical Design Review Laser Choreographer 2500FX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  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 cShow::~cShow() { // 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 < pageCount; i++) delete pages[i]; }

  11. Laser Choreography PC Software Backend Code Example int cPage::visitor() { 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 cPage::visitForms() { // Iterate through the children, calling their // visitors for(int i = 0; i < formCount; i++) forms[i]->visitor(); 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. 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 Laser Choreographer 2500FX Embedded Systems Hardware

  18. Laser Choreographer 2500FX Embedded Systems Hardware

  19. 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 Laser Choreographer 2500FX Embedded Systems Firmware

  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. FPGA – Address Decoder EPROM CPU RAM … 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 Data Bus LCD Photogate Optical Systems Driver FPGA Positioning System 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. Rest DrawDot DrawLine DrawNone 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. PC Software Nick Embedded Systems Jeremy FPGA Lars Optical Systems Matt and Lars Laser Quinton Power Quinton Projection Mathematics Matt Laser Choreographer 2500FX Questions

More Related