Group 4 Rotationally Refreshed Display Patrick Boyd Daniel Hill.
Published byModified over 6 years ago
Presentation on theme: "Group 4 Rotationally Refreshed Display Patrick Boyd Daniel Hill."— Presentation transcript:
Group 4 Rotationally Refreshed Display Patrick Boyd Daniel Hill
Why Did We Build It? We wanted to create a stock ticker like device This design appealed over others due to the “floating” image and cylindrical display We had seen similar projects elsewhere, but never using a cylinder shape
What is It? An array of 16 LEDs connected by a swing arm to a DC motor Control components are located on the swing arm
What Is It? A Hall effect sensor (trigged by a magnet) is used to detect each complete rotation. Displays messages stored in memory on what appears to be a cylindrical display.
Hall Effect Sensor Used to detect magnetic fields Wide operating voltage Able to detect magnetic field within several centimeters
LEDs Orange for high visibility High power (up to 150mA) and very bright (7 lumen max) Had to be affordable as we needed to order around 20 ($1 each compared to $4 for others)
PIC16F873A Micro-Controller Small, inexpensive micro-controller used to control input and output signals for display. Operates at a range of voltages, uses an external oscillator and can handle an external interrupt.
PIC16F873A Micro-Controller Non-volatile memory ideal for storage of messages. Large number of software controllable I/O lines. 1024 bytes of Registers spread across 4 256 byte memory banks 8 bit architecture with 35 instructions Separate Data and Program memory Uses a single accumulator register for operations
How Does It Work? The DC motor is set to spin, and this is not controlled by the system The micro-controller counts the cycles between when the Hall sensor triggers From this we can determine how long the swing arm takes to fully rotate. The micro-controller uses this information to determine which LEDs should be on at what point in the rotation
Software Overview Message data stored in Flash Program Memory Majority of operation controlled by two interrupt handlers: External Interrupt triggered by Hall Effect Sensor Interrupt triggered by the 8-bit hardware timer Main process loop handles other upkeep tasks
External Interrupt Handler Triggered by the Hall Effect Sensor, indicating that the arm has completed a full rotation. Uses the on board 16-bit timer to calculate the speed of the motor. Calculates and stores the timing required to properly calibrate the 8-bit timer.
Timer Interrupt Handler Is triggered by the 8-bit timer whenever a new column of pixels needs to be drawn. Calls a subroutine to output data to the LED drivers. Resets the 8-bit timer and waits to be called again.
Main Process Loop Runs whenever interrupts are not active. Responsible for reading new data stored in Flash Program Memory and storing in registers. Also updates pointers so message appears to scroll across display.
Technical Challenges Due to the rotation of the project there we a number of different issues: Had to have a lightweight design Can't weight motor down too much More powerful ARM board not available Harder to get signals across to the components Commutators used to transfer power and ground Mechanical point of failure Have to protect against slippage of commutator brushes
Future Work Add third commutator line Can be used for serial data transfer with outside device Allows for dynamic message updating Connect with news sites and RSS feeds for constantly updating headlines