g4_rotdisp_slides

download report

Transcript g4_rotdisp_slides

Patrick Boyd
Group 4
Rotationally Refreshed Display
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.

Hardware Schematic
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.
Timing Diagram
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
Questions?