Measuring Motor Rotation with a Desktop Computer

Click For Summary

Discussion Overview

The discussion revolves around methods for measuring motor rotation using a desktop computer and a microcontroller (uC). Participants explore feedback mechanisms to ensure the motor rotates the predetermined amount, considering various approaches and technologies.

Discussion Character

  • Technical explanation
  • Exploratory
  • Debate/contested

Main Points Raised

  • One participant seeks feedback methods to confirm the motor's rotation accuracy, indicating a lack of formal controls knowledge.
  • Another participant clarifies the control hierarchy, stating that the uC controls the motor while the desktop issues commands.
  • Suggestions include using an optical mouse wheel mechanically coupled to the motor shaft as a potential feedback mechanism.
  • A later reply confirms the use of a potentiometer coupled to the motor shaft to provide feedback to the uC, translating voltage readings to angular position.
  • One participant describes a feedback loop where the difference between desired and measured positions is used to adjust motor movement, suggesting a condition for "closeness" to stop unnecessary movement.
  • Participants discuss the components of the feedback system, including the potentiometer, ADC, and conversion factors for measurement.

Areas of Agreement / Disagreement

Participants have not reached a consensus on the best feedback method, with multiple approaches being discussed, including the optical mouse wheel and potentiometer solutions. The discussion remains unresolved regarding the optimal implementation.

Contextual Notes

Participants have not fully explored the time response requirements for feedback or the specifics of the control loop design, leaving some assumptions unaddressed.

sandy.bridge
Messages
797
Reaction score
1
Hello all,

A bit of background. We are communicating with a microcontroller through a desktop computer. The desktop computer controls direction of rotation of the motor, and it can prompt a step in the motor causing a rotation. However, what can I do in terms of feedback? I have not taken controls (I will be in my final semester), but I do want a way to ensure the motor is indeed rotating the predetermined amount.
 
Engineering news on Phys.org
Hello SB -- I think you thinking is backwards? The uC controls the motor and the desktop issues commands to the uC - am I correct?

Typically the uC is controlling the motor and regulating the speed (a basic controls problem) however "to ensure the motor is indeed rotating the predetermined amount" is usually a secondary control loop - and this an be at many levels, But the key is how are you measuring the speed? Can this signal be measured / read by the PC directly or in a background by the uC supervisory loop. What time response is needed? etc...
 
Optical mouse wheel mechanically coupled to motor shaft ?
 
My apologies, that was a typo. The computer merely issues the commands, and the uC controls the motor.
The motor will not be constantly running. A user promts it to rotate 5 degrees at a time.
 
jim hardy said:
Optical mouse wheel mechanically coupled to motor shaft ?
Oh, neat. I have a similar application this may work on. Thanks Jim. :)
 
We did consider the mouse application, however, we decided against it. We are providing freedback to the microcontroller's A/D via mechanically coupling a potentiometer to the shaft of the motor; each discrete voltage will coincide with a relative angular position of the shaft.
 
sandy.bridge said:
We did consider the mouse application, however, we decided against it. We are providing freedback to the microcontroller's A/D via mechanically coupling a potentiometer to the shaft of the motor; each discrete voltage will coincide with a relative angular position of the shaft.
Ok so simply convert that value from the A/D from volts to meters (or whatever measurement you have on your input).
Then subtract your input (desired value) from the feedback (measured value). If there is a difference, apply a voltage to the motor such that it moves either forward or backwards. This process continues until the two values are equal.

note: you might want to set a condition where if the motor is "close enough" then the motor won't move.

does that make sense?

http://nuclearpowertraining.tpub.com/h1013v2/img/h1013v2_117_3.jpg
so looking at the above link,
feedback elements would be your potentiometer, the ADC, and your conversion factor to meters, inches etc,
control elements would be where you decide if the motor is close enough and the motor driver. the plant is the motor, the output is the motors position, and the input is the desired motors position.
 

Similar threads

Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 7 ·
Replies
7
Views
4K
Replies
9
Views
3K
  • · Replies 18 ·
Replies
18
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 136 ·
5
Replies
136
Views
21K