Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final Project: DC Motor Control #18

Open
wants to merge 25 commits into
base: master
Choose a base branch
from

Conversation

Pythonidae1
Copy link

I am following the assignment bank PR and saw that Naty said we could make updates. I updated my import lines, fixed spelling mistakes, added references to the end of the notebook, and updated Latex formats in charts and throughout the notebook. I also replaced web browser opening of PDFs with hyper links for nbviewer and revised format of references list.

… make updates. I updated my import lines, fixed spelling mistakes, added references to the end of the notebook, and updated Latex formats in charts and throughout the notebook.
@labarba
Copy link
Member

labarba commented Jan 2, 2016

Excellent commit log! Except, of course, for the commit message "can't remember what i changed…” You can look at the file diff!

Your choice of project topic requires quite a bit of background outside of the scope of this course, which I admit made it tough to review. You put a lot of effort setting up the context for your reader, but still had to leave a handful of external links to material needed to understand fully what you are doing. This is not a criticism, just an observation. Also, for this reason, my review comments are limited, as I have little command of the application you chose.

Despite the fact that you included plenty of background material, however, the purpose of the project is not evident. Your goal statement says: "I discuss the application of numerical methods for ordinary differential equations (ODE) of motion and temperature for DC motor control of a gimbal system. The focus is the motion profile and motor winding temperature respoinse [sic] to a demand current input.”

It sounds like you are going to address a control problem. But what is that problem? It’s not clear at all.

"Environmental Factors — Operate during a wind velocity of 178 MPH”
WHAT?? That is a Category Five hurricane!

We later read that you have some torque applied by the motor, and torque due to some wind-induced moment. Is the idea that the motor should counter-act the wind effects? Or is it that the motor should turn the device around, despite the high wind hitting it? (And you used alpha without definition. What is alpha? Acceleration?)

"the thermal resistance coefficient for copper is … “ —> what are the units?

“the thermal equation …” —> why do you have \Delta T (a discrete difference) on the numerator and dt (a continuous difference) in the denominator? Or by dt you mean a discrete time step? Later on, you have \Delta t. I think your notation is confusing.

In[4] defines the function Ivalues( ). Do you really need all those for-loops?
Accessing array elements one-by-one is slow and can almost always be avoided by using NumPy idiomatically.

In function Vvalues(I,N) you do V = numpy.zeros(N) first and then you do V[:]=0.0. Isn’t the second command redundant? And you can probably get rid of the for-loop there, too.

This may seem fussy, but it bothered me that you use sloppy unit designations. The SI unit for power is Watt, and the proper engineering way is to write “500 Watt” not “500 Watts,” despite the way we speak it. Similarly, engineers write “28 Volt” or simply 28 V — German engineers often write 28 [V] and 500 [W], with brackets for the units. In any case, you shouldn’t use the plural on units! “Amps” is not a unit; it’s either A or Ampère, and the SI unit for time is “second,” abbreviated [s] and never capitalized. And for the ultimate pedantic unit policing: degrees-Kelvin is abbreviated with just a K and does not use the symbol º.

"Since the equation for omega is non-linear, there is an expectation that a higher order method would benefit the accuracy of the solution.” — What? Huh? Why?
What makes you say that the benefits of a higher-order method are “less” in a linear equation than a non-linear equation?
That particular paragraph also has some awkward uses of the passive voice.

"An L1-norm error is calculated to show the total error difference between the Euler method and the Ralston Method.” —> it’s not really correct to talk about an “error” when you are comparing two methods that are both approximate.

Your code in In[7] is pretty ugly! You should try to split code lines that are too wide to fit in the cell. Otherwise, it makes it unreadable. Our rule-of-thumb is to never exceed 70 characters, but maybe 60 is better. The code in In[8] is pretty dense, too. Remember: you write code for other humans to understand, not for the computer to understand.

Similarly, the output of those “error” values as printed-out numbers is not user-friendly.

Results:
Without a clear idea of your purpose, to be honest, I still don’t know what results you are showing. You give a plot of the wind-induced torque, which follows an equation from your reference, the ICAS 155 paper—why you are referencing this paper, which deals with static aerodynamic loads of helicopter underslung loads, is not clear. But the formula you are using is simply a sinusoidal curve for torque versus angular position, with a geometrical dependence (on the length/width ratio of the rectangular object).

"Wonderful! The position profile follows the approximated expected results very nicely. “ —What? The angular position just goes around a 360 turn. Is wind effect considered here? I don’t quite know what you’re showing here, I’m afraid.

I tried really hard to appreciate your work here. But it unfortunately made little sense. The output of In[12] shows a plot of velocity profile that includes the effect of wind torque. Honestly, I have to doubt your result: if you really used a wind speed of 178 MPH, a Cat5 hurricane … well, this is meaningless because the whole building that your device is attached to would be destroyed!

I know that you wanted to do your project in a topic related to your thesis work, but unfortunately you went far outside the scope of this course, making it very hard for me to appreciate your effort. Numerically, it seems that you are integrating a couple of ODEs with RK2. But you don’t even provide evidence that the numerical solution is correct.

Typos, grammar, etc.

respoinse —> response
wind induced torque —> wind-induced (compound adjective needs hyphen)
power limited input —> power-limited
The most interesting aspect of the acceleration profile is the within —> delete “the”
Its a good thing —> It’s
a generally planned for motion profile —> delete “for”?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants