+ Post New Thread
Results 1 to 10 of 10
  1. #1
    Full Member level 1
    Points: 990, Level: 7

    Join Date
    Jul 2011
    Location
    Bangladesh
    Posts
    100
    Helped
    1 / 1
    Points
    990
    Level
    7

    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 by Ahmmed Razu; 30th December 2011 at 15:08. Reason: no body responses

    •   Alt30th December 2011, 11:14

      advertising

        
       

  2. #2
    Administrator
    Points: 61,385, Level: 60
    bigdogguru's Avatar
    Join Date
    Mar 2010
    Location
    Southwest, USA
    Posts
    7,906
    Helped
    2127 / 2127
    Points
    61,385
    Level
    60
    Blog Entries
    3

    Re: problem with Servo and Stepper motor

    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



  3. #3
    Newbie level 4
    Points: 568, Level: 5

    Join Date
    Aug 2011
    Location
    banglore
    Posts
    5
    Helped
    1 / 1
    Points
    568
    Level
    5

    Re: problem with Servo and Stepper motor

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



  4. #4
    Full Member level 1
    Points: 990, Level: 7

    Join Date
    Jul 2011
    Location
    Bangladesh
    Posts
    100
    Helped
    1 / 1
    Points
    990
    Level
    7

    Re: problem with Servo and Stepper 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.



    •   Alt30th December 2011, 18:35

      advertising

        
       

  5. #5
    Administrator
    Points: 61,385, Level: 60
    bigdogguru's Avatar
    Join Date
    Mar 2010
    Location
    Southwest, USA
    Posts
    7,906
    Helped
    2127 / 2127
    Points
    61,385
    Level
    60
    Blog Entries
    3

    Re: problem with Servo and Stepper motor

    Quote Originally Posted by Ahmmed Razu View Post
    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

    Quote Originally Posted by Ahmmed Razu View Post
    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


    1 members found this post helpful.

  6. #6
    Full Member level 1
    Points: 990, Level: 7

    Join Date
    Jul 2011
    Location
    Bangladesh
    Posts
    100
    Helped
    1 / 1
    Points
    990
    Level
    7

    Re: problem with Servo and Stepper motor

    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.



  7. #7
    Administrator
    Points: 61,385, Level: 60
    bigdogguru's Avatar
    Join Date
    Mar 2010
    Location
    Southwest, USA
    Posts
    7,906
    Helped
    2127 / 2127
    Points
    61,385
    Level
    60
    Blog Entries
    3

    Re: problem with Servo and Stepper motor

    Servos are good for applications requiring a limited range of motion, like a robotic arm or clamp.

    The first two link in my previous post contain simple but effective stepper motor controller designs.

    However here are a few more:

    Stepper motor Control with Atmega16

    Stepper Motor Control – AVR Tutorial

    BigDog



  8. #8
    Full Member level 1
    Points: 990, Level: 7

    Join Date
    Jul 2011
    Location
    Bangladesh
    Posts
    100
    Helped
    1 / 1
    Points
    990
    Level
    7

    Re: problem with Servo and Stepper motor

    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?



  9. #9
    Administrator
    Points: 61,385, Level: 60
    bigdogguru's Avatar
    Join Date
    Mar 2010
    Location
    Southwest, USA
    Posts
    7,906
    Helped
    2127 / 2127
    Points
    61,385
    Level
    60
    Blog Entries
    3

    Re: problem with Servo and Stepper motor

    Quote Originally Posted by Ahmmed Razu View Post
    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


    Quote Originally Posted by Ahmmed Razu View Post
    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


    Quote Originally Posted by Ahmmed Razu View Post
    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


    1 members found this post helpful.

  10. #10
    Full Member level 1
    Points: 990, Level: 7

    Join Date
    Jul 2011
    Location
    Bangladesh
    Posts
    100
    Helped
    1 / 1
    Points
    990
    Level
    7

    Re: problem with Servo and Stepper motor

    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;
    }
    }



+ Post New Thread
Please login