High Speed Motor Control: Difference between revisions

From Mech
Jump to navigationJump to search
Content deleted Content added
Line 10: Line 10:
===Theory of Parallelogram Design===
===Theory of Parallelogram Design===
====Equations of Motion====
====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 -> angles -> x- and y- coordinates) were also needed to evaluate the accuracy of the execution with respect to the command path.
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.


<math> x = L \cos (\theta_1)\ + \cos (\theta_1+\theta_2)<\math>
*<math> x = L \cos (\theta_1)\ + \cos (\theta_1+\theta_2)</math>
<math> y = L \sin(\theta_1)\ + \sin(\theta_1+\theta_2)<\math>
*<math> y = L \sin(\theta_1)\ + \sin(\theta_1+\theta_2)</math>
<math> \theta_1 = cos^{-1} \left(\frac{x^2+y^2-L^2-(2L)^2}{2L^2} \right)<\math>
*<math> \theta_1 = \frac{-(2 L \sin(\theta_2)) x + (L + 2 L \cos(\theta_2)) y} {(2 L \sin(\theta_2)) y + (L + 2 L \cos(\theta_2)) x}</math>
*<math> \theta_2 = cos^{-1} \left(\frac{x^2+y^2-L^2-(2L)^2}{2L^2} \right)</math>


Note: In the code, <math>\theta_2 \, </math> is written out explicitly in the equation for <math>\theta_1 \, </math>, but was defined as above for ease of reading.
===Basket Design===
===Basket Design===
===Materials and Construction===
===Materials and Construction===

Revision as of 14:46, 9 March 2010

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 throw and catch one ball with itself.

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.

  • x=Lcos(θ1)\ +cos(θ1+θ2)
  • y=Lsin(θ1)\ +sin(θ1+θ2)
  • θ1=(2Lsin(θ2))x+(L+2Lcos(θ2))y(2Lsin(θ2))y+(L+2Lcos(θ2))x
  • θ2=cos1(x2+y2L2(2L)22L2)

Note: In the code, θ2 is written out explicitly in the equation for θ1, but was defined as above for ease of reading.

Basket Design

Materials and Construction

Electrical Design

Overview

Circuit Diagram

Components

GUI

Usage

Programming

Code

Overview

PIC C Code

MATLAB Code

Results

It was awesome.

Next Steps