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.

robotic arm using dc motor

Status
Not open for further replies.

ku91l

Newbie level 6
Joined
Sep 5, 2013
Messages
11
Helped
1
Reputation
2
Reaction score
1
Trophy points
3
Activity points
78
HI, can you suggest a cheap way to speed control a DC motor .The motor is to be used in the joints of a robotic arm.
 

Search for "back-EMF speed control".
This probably the cheapest non-encoder method. Put simply it open circuits the drive for milliseconds and measues the back emf produced by the motor which is proportional to speed.
There can be brush noise etc., so you may need multiple A/D reads and smoothing or averaging, but this technique works well.
 

Search for "back-EMF speed control".
This probably the cheapest non-encoder method. Put simply it open circuits the drive for milliseconds and measues the back emf produced by the motor which is proportional to speed.
There can be brush noise etc., so you may need multiple A/D reads and smoothing or averaging, but this technique works well.

yaa that's cool , but cAn you tell me how to realize such a circuit in real time,, as in how to create one circuit that precisely controls the speed of the DC motor
 

choosing stepper motor in arms will give you high torque accurate control and desired speed....

If you still use the DC motor then you can do the Back emf method by Software method It needs a extra connection between motor Positive terminal to the micro controller ADC there is no extra connections and you have to all other things by software.....
 

Use PWM method to control the speed of DC Motor like assigning the concept of Duty Cycle
If you are using AVR you can go through PWM method using TIMER/COUNTER

There you can assign the value of OCRA Register and that is always compared to TCNT register and a cycle repeats always

Or else as posted by another member that you can use Stepper Motor
Also you can use Servo motor it gives you degree precision movement

You can also control the Servo Motor by assigning some loop as + or - 1 degree or 10 degree
Like if the configuration of Servo Motor is 0 degree to 180 degree then make a function

such that motor moves by a certain degree

for(i=1;i<180;i++)
{
//Servo movement per Degree

}
 

It is quite common/useful to use PWM for speed control whether you are using a stepper motor or simple brushed DC motor with feedback or measuring motor emf. With many robot arm applications it is important to have the position or angle so most often a stepper (in which you know how many degrees per step) or a motor with encoder or resolver feedback is used.
 

For this project I would follow the advice and use the servo motor as used for RC models. These will give you the positioning that you require and you can control the rate of movement (speed) in your software by iteratively changing the rate of the position requested.
You could also measure the force being exerted by measuring the motor current which might a useful feature.

They are relatively compact, powerful, rugged and mass produced so relatively cheap.

Don't make the mistake I made with my first purchase which were servo motors without the feedback pots, so were actually just motors where the signal controlled the velocity.
RC servos used to only be positional, but as they were found to be good for robotic wheel drive motors and users used to remove the FB pots for this purpose some manufacturers do this with the product supplied, so just watch out!
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top