Team Name
Regenergy
Timeline
Fall 2019 – Spring 2020
Students
- Chase Craig
- Sophia Salemizadeh
- Jonathan Gilbert
- Mohamed Sawan
- Trey Mays
- Trinh Nguyen
Sponsor
Lockheed Martin (Missiles and Fire Control)
Abstract
This project is being completed with the cooperation of a team from the Electrical Engineering department here at UTA and being sponsored by Lockheed Martin. This project involves designing a motor drive system to model a motor as a generator controlled by a micro-controller and visually represented through a GUI on a web application. The Electrical Engineering team’s focus is on the circuitry driving the motor, storing the generated energy, as well as the custom carrier board, while the Computer Science and Engineering team’s focus is on the user interface, data processing and communication.
Background
Project Requirements
The ACADS shall provide a human to machine interface for the User. |
The ACADS shall record feedback data, which is the supply voltage to motor 1 and 2, voltage generated in the regenerative braking circuit, as well as the positions of both motors. |
Upon recording of data, the ACADS shall display data as defined in the ACADS Variable Display Requirements table. |
The ACADS shall provide an input interface for positioning configuration for the User to enter an angle from -40° to +40° in 1° increments. |
The ACIDS shall provide an interface for an Advanced Control Actuation Drive System (ACADS) utilizing D-Sub connectors for power and communication. |
The ACADS shall operate when provided electrical power in accordance with the ACADS DC Power Requirement table. Following battery profiles that are depicted in Battery Profile 1 and Battery Profile 2. |
The ACADS shall provide the ability to drive a motor(s) with a slew rate of 1° per 100ms. The motor drive shall have the capability to drive two or four motors. |
The ACADS motor shall be brushless and have a minimum torque of TBD. |
The ACADS motor drive shall remain under a volume of 3”x3”x3”. |
The ACADS motor drive shall report the position of the motor within 0.5°. |
System Overview
Our system has 3 main subsystems, the Front End User Interface, the Control Layer, and the Back End/ Motor Driver layer.
The front end layer is composed of a web application that will be written in JavaScript using the Electron framework and will provide the user with easily readable and interpreted data. This layer will communicate with the micro-controller through a TCP/IP communication link. The user will input commands into a graphical user interface and then promptly receive data about the motor, including its speed, position, and other state properties.
The control layer is composed of a micro-controller that sends and receives data to and from the motor. The microcontroller receives PWM signals from the motor, processes the data, and then sends the data to the front end through an ethernet communication peripheral. The microcontroller will be running on the Yocto RTOS (Real Time Operating System).
The back end layer is composed of a motor being powered by a motor drive circuit. The circuit receives control signals from the user via the control layer, and uses these signals to drive the motor. The motor will then react accordingly, and using internal sensors, will record its updated state data and send it to the microcontroller to be processed and transmitted to the front end layer. The motor has a rotational sensor to measure its position and a breakage system to measure speed.
Results
The results so far are a completed front end prototype using the Electron framework pictured below. We also have completed control code on the micro-controller that can read and send packets across the Ethernet connection. We have configured our tiva c tm4c123gxl board to operate as our motor controller and communicate with our carrier board via i2c and will be able to send feedback data via i2c to the carrier board. The motor-controller will operate the motors using generated pid code from a Matlab simulation of our motor system.
Future Work
Unfortunately due to the Caronavirus pandemic, lead times for the hardware needed to complete the Electrical Engineering team’s portion of our project were too long to complete a working prototype according to our timetable. If we had the hardware in a timely manner, we would’ve tuned our Matlab generated control code, and tuned the data processing according to our accuracy needs, however because we do not, there is no way for us to physically test the output to motor driving circuit, or input feedback from motor driving circuit. Therefore, future work would include these items.
Project Files
System Requirements Specification