High Speed Motor Control
Overview
The project suggested was to design a system for high speed motor control using the PIC 32. To demonstrate the motor control, a two degree of freedom (2DOF) robot arm was designed to follow paths specified in a MATLAB gui.
Team Members
- Sam Bobb (Electrical Engineering senior)
- Daniel Cornew (Mechanical Engineering junior)
- Ryan Deeter (Mechanical Engineering junior)
Mechanical Design
Theory of Parallelogram Design
Equations of Motion
Commanding the arm is much easier for a user to do in x- and y- coordinates than in motor angles or encoder counts. Therefore, equations were required that would translate x- and y- coordinates into angles from horizontal and then into encoder counts. Equations to express the reverse (encoder counts to angles to x- and y- coordinates) were also needed to evaluate the accuracy of the execution with respect to the command path.
Note: is used to calculate in the MATLAB code and is not ever sent to the PIC.
Materials and Construction
The arm is constructed from aluminum and carbon fiber. These materials were chosen due to their light weight and their availability. The extended link of the arm is made of carbon fiber, as are two of the other supporting links. The final link is made from bent aluminum sheet because that link houses two bearings and removing
Electrical Design
Overview
Components
Circuit Diagram
GUI
The GUI used to control the arm was programmed in MATLAB using the "guide" function. The GUI code calls the other MATLAB functions and is rather small as far as the amount of new code in contains.
Usage
Code
Code
Overview
PIC C Code
MATLAB Code
Results
It was awesome.