Pages: [1]   Go Down
Author Topic: Servo Controller  (Read 2705 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

We are currently using arduino to control 2 3v DC motors.
We want to convert the DC motors to Servo motors but we want to keep the same motors as the ones we have. Meaning we do not want to buy servos... we want to convert our own motors to servos.
can someone guide me on how to do this?
thank you in advance
J
Logged

Left Coast, USA
Offline Offline
Sr. Member
****
Karma: 5
Posts: 499
Sometimes I just can't help myself.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A servo motor is a motor with a positional feedback sensor that creates a signal that can be used to control the device.  RC servo motors actually contain the motor, the feedback sensor and a certain amount of electronics that allows a "simple" input signal (typically PPM) to control the position of some actuator arm or shaft.

A couple of references:

The Difference Between
Stepper Motors, Servos, and RC Servos


Servomechanisms - Wikipedia



Regards,

Dave
« Last Edit: January 18, 2011, 01:47:27 pm by davekw7x » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks Dave
i know the difference between the two

i just need to know how to convert a DC to servo so i can control it directly from the controller
Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 124
Posts: 6652
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
i just need to know how to convert a DC to servo so i can control it directly from the controller
A servo motor usually consists of a motor with geartrain, some sort of positional feedback mechanism (usually a variable resistor) and some circuitry that reads a "desired position" using some interface (sort-of-PWM for common hobby servo) and drives the H-bridge to move the motor in the correct direction until the actual position (as measured by the feedback mechanism) is the same as the desired position.   There are several "open source" servo motor designs out there. (eg: http://www.openservo.com/ )

Now, if you already have an Arduino in your circuit, you can think about using PART of the arduino CPU power to replace the circuitry.  The "desired position interface" can go away entirely (you already have it internally.)  You can gain considerable flexibility in the actual position feedback mechanism (hall effect, linear encoders, optical...)

Unfortunately, the expensive parts are usually the motor itself, the geartrain, and the H-bridge, and you usually end up with more people modifying servo motors to act as general purpose motors than the other way around.
Logged

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 200
Posts: 12773
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


I believe these folks have graciously published information about building "digital servos"...
http://www.openservo.com/
Logged

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 39
Posts: 5557
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Now, if you already have an Arduino in your circuit, you can think about using PART of the arduino CPU power to replace the circuitry.  The "desired position interface" can go away entirely (you already have it internally.)  You can gain considerable flexibility in the actual position feedback mechanism (hall effect, linear encoders, optical...)

For my UGV, I'm essentially currently doing this (well, I have the code, and the motor is installed - I have yet to complete the interface between the two) for the steering mechanism; my DC motor is a 12 volt DC Pittman gearmotor, feedback is a potentiometer.

Currently my software is a simple "window comparator" algorithm; depending on how well it works (or doesn't), I may switch it over to a PID algorithm.

In order to create a servo from a regular DC motor, you either must be able to gear down the output to use a potentiometer, or you need a way to count the turns of the shaft (from the motor or gear) in either direction (using a quadrature encoder, hall sensors, etc).
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Pages: [1]   Go Up
Jump to: