Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Questions for closed loop control of a motor

Status
Not open for further replies.

bhl777

Full Member level 6
Joined
Sep 30, 2008
Messages
363
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,296
Activity points
5,140
Hi All,

I am looking for a closed-loop solution for a motor and its drive circuit. As shown in this picture, the motor will be used to turn a shaft, which is then connected to a mechanical part. What I want to archive is to control the rotation of this part. For example, I want to turn this part to 180 degrees every time when I send a command. Since the friction around this part is unpredicted, I need a closed-loop motor circuit to achieve this goal.

I have found some claimed closed-loop motor control products, such as https://www.nxp.com/docs/en/application-note/AN5212.pdf. What I found is the closed-loop it uses is to modulate the current going through the internal FETs. I am not sure this kind of modulation can be equally translated to my target for controlling the rotation of the shaft and the mechanical part under unpredicted friction conditions.

Would you advise:
(1) can the closed-loop solution at the link above solve the problem?
(2.1) If (1) is yes, why modulation the FET current can be used to overcome the unpredictable friction?
(2.2) if (1) is no, what is a mature solution to keep the rotation of the mechanical part fixed with regard to the friction?
(3) if there is no mature solution to my problem, what is the common way to translate the placement of the mechanical part to an electrical signal and feedback to the motor drive circuit to achieve the closed-loop control?

MOTOR CLOSED LOOP CONTROL.PNG


Thank you!
 
Last edited by a moderator:

Hi,

I want to turn this part to 180 degrees
This calls for a stepper motor. It moves exact angle independent of load (torque).
No closed loop, no complicated circuit, no complicated regulation needed.

Use a suitable stepper motor and a ready to buy motor controller with "step, dir" interface.
Any simple microcontroller just needs a pin to control the direction, and another pin for outputting a fixed count of pulses.

Klaus
 
  • Like
Reactions: bhl777

    bhl777

    Points: 2
    Helpful Answer Positive Rating
Is the total expected travel 180 degrees or less? Then a servo might suit your purpose. It runs on 5V.
It has a surprising amount of torque thanks to gearing. (Servos are commonly used in radio-controlled craft.)
Its arm moves to a predictable position depending on the length of control pulses.
 
  • Like
Reactions: bhl777

    bhl777

    Points: 2
    Helpful Answer Positive Rating
Hi,


This calls for a stepper motor. It moves exact angle independent of load (torque).
No closed loop, no complicated circuit, no complicated regulation needed.

Use a suitable stepper motor and a ready to buy motor controller with "step, dir" interface.
Any simple microcontroller just needs a pin to control the direction, and another pin for outputting a fixed count of pulses.

Klaus
Hi Klaus,

My case is a little bit complicated than this. The shaft and the mechanical part are not firmly coupled with each other. Therefore, the shaft itself may have turned a certain degree like programmed, but the mechanical part does not necessarily turn as we expected. In that case, is there any way we can do something in the circuits, instead of using glue or something else to stick the shaft with the mechanical part together?

Thank you!

Is the total expected travel 180 degrees or less? Then a servo might suit your purpose. It runs on 5V.
It has a surprising amount of torque thanks to gearing. (Servos are commonly used in radio-controlled craft.)
Its arm moves to a predictable position depending on the length of control pulses.
Hi Brad, would you teach me the following questions?
1. what is the difference between the servo you mentioned and the stepper motor mentioned by Klause?
2.if the servo can be used for degree 180 or less, what can be used for degree 180 or more?
3. what is the example and the application of radio-controlled craft?
4. I assume the servo you mentioned here is used for rotating the arms? What kind of motor is it when we are talking about lifting the shaft/arm up and down?

Thank you!
 
Last edited:

A servo moves its arm quickly to a position and holds that position. Easy to use.
I installed them in my radio controlled airplane to move elevators and rudders.

Steers model airplanes, cars, trucks, boats, submarines.
Mount them in any position to control horizontal or vertical movement.
Cost $30 or more. Larger, more powerful servos are more costly.

They have internal feedback which causes them to fight against any force to budge them. (A stepper motor can be turned by external force, and does not return to its original position, as I understand it.)

A pilot moves a joystick on his transmitter, and the servo responds immediately.
An Arduino or micro controller can be coded to operate a servo. Suppose you send 50 commands per second. Pulses range between 5-10 percent duty cycle.

Youtube has instructive videos.
Here's a demonstration of servo moving rudder back and forth in a model boat.

 
  • Like
Reactions: bhl777

    bhl777

    Points: 2
    Helpful Answer Positive Rating
You can use a stepper on one end of shaft, and an encode on the other end.
Control stepper with Arduino or something like that, and use Arduino to manage
the encoder to finmd the delta angle/error.




Regards, Dana.
 
  • Like
Reactions: bhl777

    bhl777

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top