Flywheel Control and Monitoring (FlyCAM)

A storage system of any kind is useless without a control interface. Our user-friendly design allows for precise control of Idaho's Flywheel Energy Storage System. Additionally, it provides intuitive monitoring of the Flywheel's performance.
== Project Overview ==
Flywheel Control and Monitoring (FlyCAM) is a desktop graphical user interface (GUI) application designed for the Flywheel Energy Storage System. It provides users with the ability to precisely control the flywheel as well as monitor its performance. The interface is being developed for modern Windows operating systems using the Qt framework. It communicates with a microcontroller on the flywheel using an RS-232 serial protocol over a USB cable. This interface is being completed as part of a 2016 senior design project, which is scheduled for completion in December 2016.
=== Background ===
One of the problems a potential lunar mission faces is energy generation and storage. Solar and nuclear power generation are both options, but they have their complications. During the 14 Earth-day lunar night, solar energy is not available. During the equally long lunar day, nuclear power generation would have to decrease due to heat. At lunar dawn and dusk, neither method would be able to produce much power. As a result, an efficient energy storage system is needed. To accomplish this, the University of Idaho has proposed the idea of using a Flywheel Energy Storage System, which has a higher energy density and longer lifespan than other options.
=== Problem Statement ===
While the Fly Rollers senior design team works to complete the Flywheel test setup and develop the embedded system to control it, there is currently no way for a user to control or monitor the operations of the flywheel. An intuitive interface is needed for both initial development and practical use of the flywheel.
=== Goal ===
The FIGs set out to develop an intuitive interface for the Flywheel Energy Storage System. Our interface will allow precise control of the Flywheel while displaying it status and reporting any errors. Our interface will include functionality needed to test the flywheel as well as operate it as a practical energy storage system.
=== Implementation ===
The GUI is written using the QT Framework. This allows for rapid development while being flexible. The interface's primary target operating system is Microsoft Windows, however QT is multi-platform allowing for expanded operating system support in the future. The QT serial library will be used to communicate with the Flywheel's primary microcontroller facilitating control and monitoring of the Flywheel's operating parameters.
== Design ==
Mockups and Prototypes of the interface of FlyCam are shown below, demonstrating the evolution of the design.
 Mockup (03/2016)
Dashboard	Controls
 	
The first mockups showed the basic design of the interface. Vertical tabs add intuitive navigation, while always-visible graphs on the right-hand side allow constant monitoring of the flywheel.
 Prototype (03/2016)
Dashboard	Controls
 	
The first prototype shows many of the design elements of the mockups, such as buttons functioning as vertical tabs. This protoytpe has both a control page and a performance monitoring page where a single graph is displayed. The control page has sliders and spin-boxes for controlling velocity, acceleration, and jerk.
 Prototype (04/2016)
Dashboard	Controls
 	
Settings 	
 	
The second prototype has many of the components requested by the client. The right-hand sidebar has all graphs needed, each clickable to bring up an enlarged view of it in the central view. The control components' maximum values are set on the configuration page. This configuration page also allows the user to set a keyboard shortcut for the emergency stop command.
 Final GUI (12/2016)
Dashboard	Controls
 	
Settings 	Interface Selector
 	
The final GUI is now complete.
== Team Information ==
=== FlyCam Members Group Photo ===
Group photo of the members of team FlyCam taken after a team meeting.
=== Members===
150px|left Jesse Jutson: Computer Science 	150px|left Thomas Hagen: Computer Science 	150px|left Eric Silk: Electrical Engineering 	150px|left Ben Bolton: Computer Engineering
Jesse is an aspiring software engineer. He is interested in big data problems and data analysis. He is originally from Southwest Oregon.	Thomas is a computer scientist with special interests in mobile applications and interface design. He is from Boise, Idaho and is a third generation Vandal.	Eric knows how electronics works. He is Scottish or Norwegian or something. He is interested in audio, DSP, and will be working as a software engineer after graduation.	Ben is a computer engineer originally from Gooding, Idaho. He has an interest in communication protocols, embedded systems and computer architecture.
== Documents ==
=== Current Documents ===
* 
* 
* 
* 
* 
* 
=== Deprecated Documents ===
* 
* 
* 
* 
*