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.

problem with Servo and Stepper motor

Status
Not open for further replies.

Ahmmed Razu

Advanced Member level 4
Joined
Jul 7, 2011
Messages
100
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,298
Location
Bangladesh
Activity points
1,968
Which one Servo or Stepper motor

Hi, i am going to make a robot.for this purpose i have to make proper choice of motor for wheels.I can not understand what kind of motor should i use, servo or stepper.the fact is that i have to control the the speed of the motor from very low speed to medium speed in both direction.Suggestion needed.
 
Last edited:

Most servos have limited rotation, 0 to 180 degrees are common.

The task of driving wheels is usually accomplished with either Stepper, DC or BLDC Motors, you may need to incorporate an encoder in your design to provide feedback.

Utilizing a stepper motor would most likely give you better control.

What type of processor or microcontroller do you plan on using in your design?

BigDog
 

using dc motor is cheap n programming is also bit easy... if you use concept of pwm... its quite simple to control motor
 

@bigdogguru your comment is helpful.i am using ATMEGA32 uc.can i operate the stepper motor at low speed(10-100rpm) for robot wheels and how?why it should not servo motor?Thanks.
 

i am using ATMEGA32 uc.
can i operate the stepper motor at low speed(10-100rpm) for robot wheels and how?

Yes, you can control a stepper motor quite effectively with an ATMEGA32, several stepper motors in fact.

You'll some type of driving circuit like an H-Bridge or Darlington Array to drive the stepper motor.

Drive a Stepper Motor with an AVR Microprocessor

Stepper motor controller with ATtiny13

AVR446: Linear speed control of stepper motor

AVR360: Step Motor Controller

why it should not servo motor?Thanks.

As I indicated before most servos have a limited rotation 0 to 180 degrees in very common, and while they do have multi revolution servos they are still not as accurate as stepper motors, and a DC or BLDC motor would still be a better choice over a servo motor.

BigDog
 
that is you are talking that stepper is better over servo for low speed control of robot wheels.can you give me a simple & good model of stepper motor & its driver?.thanks.
 


from you [Servos are good for applications requiring a limited range of motion]
my speed control range is (10-100)rpm.in this range which one will be better servo or stepper?As far i know that stepper has discrete movement at low speed i.e step by step but i need smooth continuous low speed.help me?
i am also in problem with KST TX01 & KST RX806.can you help me?
 

from you [Servos are good for applications requiring a limited range of motion]

Actually, let me clarify, servos have a limited range of rotation, most can only turn less than a full circle or revolution.

Pololu Robotics and Electronics:

How many degrees can this servo turn? Why do you not list it with the other specifications?
We do not specify the range of rotation of our servos because this information is not generally available from servo manufacturers. RC servos are usually intended for controlling things like the steering mechanism in an RC car or the flaps on an RC plane. Manufacturers make sure that the range is enough for these typical applications, but they do not guarantee performance over a wider range.

This means most RC servos will rotate about 90° using the standard 1–2 ms pulse range used by most RC transmitters. However, if you are using a controller capable of sending a wider range of pulses, many servos can rotate through almost 180°.

You can find a servo’s limits if you use a servo controller that can send pulses outside of the standard range (such as our Maestro servo controllers). To find the limits, use the lowest possible supply voltage at which the servo moves, and gradually increase or decrease the pulse width until the servo does not move any further or you hear the servo straining. Once the limit is reached, immediately move away from it to avoid damaging the servo, and configure your controller to never go past the limit.

You might be wondering why we do not just follow the above steps for all the servos we carry and list a specification for degrees of rotation. Unfortunately, since servo manufacturers do not specify the range of rotation, it might change from one manufacturing run to the next. They will not inform us about changes that are not specified, and we have no way of knowing if or when they might change their manufacturing process.

For more information about servos and how to control them, we recommend the series of blog posts on servos starting with: Introduction to servos.

Introduction to servos

Society of Robots, ACTUATORS - SERVOS


my speed control range is (10-100)rpm.in this range which one will be better servo or stepper?As far i know that stepper has discrete movement at low speed i.e step by step but i need smooth continuous low speed.help me?

After examining the links I have provided above, you should realize that servos are not the best choice to turn the wheels of your robot. Stepper motors offer finer control, but require more coding than a DC or BLDC motor. A stepper movement does not appear discrete when driven and controlled properly.

Your choices are stepper, DC or BLDC motors, but not servos.

A DC motor would be the easiest route, but the stepper motor offers much finer control.

Simple PWM DC motor control using MOSFET H-Bridge with AVR ATmega8


i am also in problem with KST TX01 & KST RX806.can you help me?

Probably, they appear to be just 433MHz RF TX & RX pairs.

Example of interfacing KSTs to a PIC Microcontrollers:

Wireless data transmission between two PIC microcontrollers using low-cost RF modules


BigDog
 
your comments are very helpful.stepper is better for speed control.by sequence i changed the problem topic.now i want your help on KST TX01 & KST RX806


I have tried to make communication between two uc by KST TX01 & KST RX806 according to your connection but with atmega8.I did not find any output.Instead of KST TX01 & KST RX806 when i connect two uc by a wire then my program works but when i place KST TX01 & KST RX806 i did not find any output.where could be the problem. my code in mikroC is following
TX:

char uart_rd;

void main()
{

UART1_Init(960); // Initialize UART module at 9600 bps
Delay_ms(1000); // Wait for UART module to stabilize
while (1)
{
UART1_Write_Text(“a”);
Delay_ms(1000);
}
}

AND RX:

char uart_rd;

void main()
{

DDRB=0xFF;
PORTB=0×00;
UART1_Init(960); // Initialize UART module at 9600 bps
Delay_ms(1000); // Wait for UART module to stabilize
while (1) { // Endless loop
if (UART1_Data_Ready()) { // If data is received,
uart_rd = UART1_Read(); // read the received data,
if(uart_rd==’a')
{
PORTB0_bit=~PORTB0_bit;
}
}
else
PORTB4_bit=~PORTB4_bit;
}
}
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top