Lunar Flywheel Controls System

The Lunar Flywheel Controls Systems is a portion of the Flywheel Energy Storage System multi-year project which has been scheduled for refinement and completion by the Lunar Flywheel Controls Team. The flywheel's rotor, stator, and magnet array have been constructed already.

The Controls System includes:
 * Linear and Rotational position sensors
 * Microcontrollers dedicated to rotational acceleration and linear stabilization
 * The control code run on the controllers, which determines the appropriate current for each coil based on sensor and user input.

These systems are being completed as part of a 2016-2017 senior design project. It is scheduled for completion in Spring 2017.

Project Overview
In general, this team's goal is achieving precise control of UIdaho's Flywheel Energy Storage System.

Problem Statement
For a moon base to be livable, it needs a constant energy supply. Nuclear and solar power have been considered, but neither can operate constantly through both fortnight-long lunar days and nights, so some combination of technologies is required. A high-efficiency energy storage system is a desirable way to provide constant energy when it couldn't otherwise be produced, and prevent excess produced energy from being wasted. The University of Idaho has proposed the idea of using a Flywheel Energy Storage System, which can have a higher potential energy/weight density and require less maintenance than other storage options. For maximum efficiency, the proposed system features:
 * An "inside-out" design with the rotor wrapped around the rotor
 * A vacuum chamber
 * Magnetic bearings

Project History
Several teams and years of work have already been done to produce the existing parts of the Low-Speed Flywheel. Continuing the work of the Fly Rollers senior design team, this year's controls sub-team works to complete the Flywheel setup and develop the embedded system to control it. Meanwhile, the Flywheel Interface Guys are developing a graphical interface for the system, and  our Stator Design subteam is developing the governing equations and models needed to design a high-speed version.

Specifications
The controls team is working to:
 * verify the previous progress on the Low-Speed Flywheel's control systems
 * finalize the design of the Low-Speed Flywheel and get it safely working
 * suggest improvements or required changes for the High-Speed flywheel

Selections
Hardware choices:
 * Controllers
 * The microcontrollers to be used were chosen/built by previous teams, but some multicore capabilities weren't utilized by the code. Optimization of the code and controller layout and setup are therefore possible.
 * Sensors
 * Only linear position sensors were purchased. A rotational position sensor and encoder are needed to put the whole thing together. The | Renishaw RESOLUTE absolute encoder, RESA model was selected for its good resolution at our operational speeds and drift tolerances. An optical rotation sensor is necessary since there's a required air gap between the rotor and stator. An absolute rotation sensor is simpler and faster to use than the alternative of one or more incremental sensor and counting rotations.

Software choices:
 * Usage of different control schemes:
 * Hysteresis/bang-bang control was optimal for the current control loop, since it minimizes the current's time to reach the SetPoint, or target value. This is optimal for stabilization responsiveness and driving coil accuracy.
 * Several PID controllers are used to determine the current SPs. For stabilization, a proportional response to disturbances prevents overshoot, which is potentially disastrous. So, a SP proportional to the positional error is sent to the current control loop, which runs frequently enough that current over-correction is brief, frequent, and of minimal amplitude. This prevents current overshoot from having any net positional effect.

Details
Graphs and lists of the overall system are shown below, demonstrating the evolution of the design.

Implementation
The control code is written in c, using the Texas Instruments DesignDRIVE IDDK development kit and the TI ControlSUITE package. Currently, no powered components have been used with the constructed Low-Speed flywheel, but some testing of control algorithms has been done on a separate test-setup.

Testing
(FILL) Testing the already-written code is important, we should do that.

Group Photo


Group photo of the members of the Lunar Flywheel Controls Team taken after a team meeting.

Documents

 * [[Media:2016-LFCT-Client Interview.pdf|Client Interview]]
 * [[Media:Design_Specifications_signed.pdf|Design Specifications]]

Meeting Minutes
Note: dates are in (YY-MM-DD) format.
 * [[Media:16-09-14 Meeting Minutes.pdf|16-09-14]]
 * [[Media:16-09-29 Meeting Minutes.pdf|16-09-29]]
 * [[Media:16-10-05 Meeting Minutes.pdf|16-10-05]]
 * [[Media:16-10-12 Meeting Minutes.pdf|16-10-12]]
 * [[Media:16-10-19 Meeting Minutes.pdf|16-10-19]]
 * [[Media:16-10-26 Meeting Minutes.pdf|16-10-26]]
 * [[Media:16-11-02 Meeting Minutes.pdf|16-11-02]]