S17: Propeller Clock

From Embedded Systems Learning Academy
Revision as of 03:30, 21 May 2017 by Proj user8 (talk | contribs) (References Used)

Jump to: navigation, search

Project Title

Propeller Clock (Persistence of Vision Based Analog Clock)

Abstract

Persistence of Vision (POV) refers to the optical illusion in which after image of an object seen by the eye, exists for a brief time, usually 1/10th of a second. We have used this phenomenon to create a POV clock where we display the face of an analog clock by driving one dimensional LED array (1 x 17) using precise time delays. To reduce the weight in order to achieve higher RPM necessary for POV displays, we have used wireless power supply modules to drive micro-controller and LED array which are located on the rotating arm.

Introduction

The main idea of the POV display is to flash/blink the LEDs at exact same location in each revolution. If the speed of revolution is fast enough, then the human eye cannot distinguish between two different blinks and the LEDs appear to be static and constantly glowing. Usually the motion picture frame rate is 24 frames per second and this seems to be an ideal condition for smooth POV system. However, anything above 10 updates per second can provide illusion of continuous motion.

In this project we have used 1200 RPM(no load) motor and have used 5mm bright LEDs (~10mA) which aid in creating a POV clock. Initially, the idea was to use slip ring to avoid mounting of SJOne Board on the rotating arm. However, RPM limit of 300 and limited number of wires on slip ring reduced it's feasibility. Hence, we mounted LPCXpresso LPC1769 board on the rotor and provided wireless power supply so that we can reduce the weight on the rotating arm by avoiding heavy battery. LPCXpresso LPC1769 board was chosen over SJOne board because of it's light weight and form factor which made it suitable for mounting on the rotating arm.

Instead of controlling the RPM of the motor and displaying the clock using fixed delays, we calculate and correct the time delay according to the varying RPM which in turn will compensate/nullify the effect of varying RPM on the display (moving/ dragging / stretching of the analog clock). For this, we have used reed switch.

Objectives

The main objective of this project is to implement the following:

  • Determine the power consumption of the system especially the maximum current requirement so that it matches with the specified ratings of the wireless power transfer module.
  • Design hardware system (PCB) which is fairly balanced and as light as possible so that it can be mounted on the rotating arm of the motor to provide balanced and stable rotation with sufficient RPM.
  • Design precise time delays using timers interrupts to flash the LEDs at precise location.
  • Design hardware and algorithm for compensating the change in RPM (to display a stable clock face - avoid rotation/dragging of clock face) using reed switch.

Team Members & Responsibilities

  • Aakash Menon
    • Designing precise timer interrupts for providing timing base for updates in each rotation.
  • Aditya Choudhari
    • Hardware and PCB Designing.
  • Aditya Deshmukh
    • DC Motor Interface.
    • Reed switch/IR sensor interfacing and programming.
  • Ajinkya Mandhre
    • Soldering the components.
    • Algorithm for displaying POV clock's hour/minute/second hand and final integration of all the codes.
  • Kalki Kapoor
    • Algorithm that keeps track of actual time to be displayed.

Schedule

Week# Start Date End Date Task Status Actual Completion Date
1 03/14 03/20
  • Finalize project
Completed 03/20
2 03/21 03/27
  • Formulate project design and prepare Bill of Material
Completed 03/27
3 03/28 04/03
  • Purchase the components and assign tasks
Completed 04/03
4 04/04 04/10
  • Understand how the Slip Ring works
  • Test the components and design motor-slip ring module
Completed (slip ring discarded/wireless supply added) 04/10
5 04/11 04/17
  • Build the LED strip (Rotating hand of the clock)
  • PCB designing
Completed 05/02
6 04/18 04/24
  • Check feasibility, purchase and test wireless module
  • Design and build motor-PCB interfacing
Completed 04/24
7 04/25 05/01
  • Design Software (Mathematical formulation) to create Persistence of Vision analog clock
  • Update project Report on Wiki
Completed 05/05
8 05/02 05/08
  • Testing and Debugging (Software and functional testing)
Completed
9 05/09 05/15
  • Team discussion on extra features that can be implemented
Completed 05/15
10 05/16 05/23
  • Update Wikipedia Documentation
Planned
11 05/25 05/25
  • Final Demo
Planned

Parts List & Cost

Below is the bill of materials required in this project.

Item Description Manufacturer/Source Quantity Total Cost
LPCXpresso Board LPCXpresso LPC1769 rev D Embedded Artist 1 $23.00
Wireless Charging Module 9V 600mA (2-20mm) robotshop.com 2 $19.95
High Torque DC Motor 12V 1200RPM Uxcell - amazon.com 1 $15.28
Motor Shaft Coupler 5mm Rigid Flange Coupling Connector Uxcell - amazon.com 1 $7.19
5mm LED multi-color 5mm IL184 LED Microtivity - amazon.com Pack of 60 $6.99
Voltage Regulator 3.3V LM1086CT 3.3 Excess Solutions 10 $5.00
Switch 2x1 DIP Switch Excess Solutions 5 $2.50
Reed Switch Magnetic Reed Switch amazon.com Pack of 5 $14.13
Magnet GradeN52 Neodymium Magnets CMS Magnetics - amazon.com Pack of 10 $15.98
Power Adapter 9V 1.67A Excess Solutions 1 $5.00
Power Adapter 12V 1.5A Excess Solutions 1 $2.50
PCB PCB Manufacturing PCB4WAYS 1 $26.00
Total Cost $143.52

Design & Implementation

The design section can go over your hardware and software design. Organize this section using sub-sections that go over your design and implementation.

Hardware Design

Discuss your hardware design here. Show detailed schematics, and the interface here.

Hardware Interface

In this section, you can describe how your hardware communicates, such as which BUSes used. You can discuss your driver implementation here, such that the Software Design section is isolated to talk about high level workings rather than inner working of your project.

Software Design

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.

Implementation

This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.

Testing & Technical Challenges

Describe the challenges of your project. What advise would you give yourself or someone else if your project can be started from scratch again? Make a smooth transition to testing section and described what it took to test your project.

Include sub-sections that list out a problem and solution, such as:

My Issue #1

Discuss the issue and resolution.

Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

We would like to thank Professor Preetpal Kang for the knowledge he has given us about FreeRTOS and coding for bare metal ARM.

References Used

1. http://www.nxp.com/documents/user_manual/UM10360.pdf 2. http://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/f2012/cfz4_sjh234/cfz4_sjh234/FinalProjectDocumentation.html 3. http://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/f2013/js2839_yc969/js2839_yc969/js2839_yc969/index.html

Appendix

You can list the references you used.