Shop OBEX P1 Docs P2 Docs Learn Events
Help needed about DC Servo Control — Parallax Forums

Help needed about DC Servo Control

Ahmad BilalAhmad Bilal Posts: 15
edited 2014-12-07 10:09 in General Discussion
Hi every one!
I am new to servo control. I have many questions relating to the control side.
Please some one help me!

Comments

  • Heater.Heater. Posts: 21,230
    edited 2014-12-03 04:42
    Ahmad,

    You will have to help us to help you. Getting help requires a bit of work on your part.

    What servos are you wanting to use? Do you even know that yet? I'm guessing this is for your delta robot project.

    What driver electronics do you have there?

    What positional feedback sensors will you have? What electronics is listening to that?

    Do you have anything at all or are you starting from nothing?

    And so on and so on.

    It's not often that forum members want to do home work projects for people. But if you demonstrate you are putting in the effort helpful advice may well be forthcoming.
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-03 06:20
    Basically i want servos for my Delta Robot Project. Its my final year project as a part of my Mechatronics Engineering and i am very much serious about it.

    I have completed the mechanical model on Solid Edge and contacted an associate for mechanical parts and construction.

    I have read some tutorials on basics of Prop SPIN (LED Glow etc.). I also have studied the forward and inverse kinematics for motion control and currently studying path planning.

    I do not have experience with servo motors. Although I have studied about basic servo control (standard servo control of 20ms pulse with min of 1ms pulse length/width).
    After studying both analog and digital servos, I have selected digital ones (there is no need of external potentiometer) with self calibration.

    I have searched servo control libraries from OBEX.

    But I don't know which servo is best fr my application. Torque requirements are minimum of 10 Kgcm and angle upto 270 degrees (depending upon work envelop of robot).

    There are Standard servos, 180 degree control servos , RC servos, Continuous rotation servos in the market. But I do not know which one should I choose. And whats the difference between these servos and their control. And how to control position of a servo to a desired angle?

    By the thanks Heater :)
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-03 06:30
    I would also like to mention that I am about to complete the PCB design of custom Propeller Board.

    The problem I am facing is that whether I should use opto-isolators for driving signal from propeller to servo (Both circuits are electrically isolated, from protection scenario) or the 3.3v to 5V level shifters (bus drivers) for driving the servos as most of the servos need 5V control signal (I don not know whether 3.3V signal can drive a servo). As soon as I would have sorted this out my PCB design will be complete and I will make a PCB Board of Propeller Controller.
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-03 08:54
    I have found two servo motors that fulfill requirements:

    1. HDKJ S3150D Metal Gear High Torque Wide-angle Digital Wingless Robot Servo

    Link: http://www.ebay.com/itm/HDKJ-S3150D-Metal-Gear-High-Torque-Wide-angle-Digital-Wingless-Robot-Servo-New-/301421217813?pt=Radio_Control_Parts_Accessories&hash=item462e1ac815


    2. Turnigy TGY-S518D 300° Digital Metal Gear Intelligent Robot Servo

    Link: http://www.amazon.co.uk/Turnigy-TGY-S518D-Digital-Intelligent-16-5kg/dp/B00P2R3IZ0


    Please guide me to select one or recommend other.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-12-03 10:21
    (I don not know whether 3.3V signal can drive a servo).

    While level shifters may be a good idea anyway, I've never found a servo I couldn't control with 3.3V logic. I have had trouble using 3.3V logic if there's a resistor on the signal line.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-12-03 10:31
    I have found two servo motors that fulfill requirements:

    1. HDKJ S3150D Metal Gear High Torque Wide-angle Digital Wingless Robot Servo

    This servo likely uses the normal 1ms to 2ms pulse for position control. The second pivot point on the back makes it easier to incorporate into robots.
    2. Turnigy TGY-S518D 300° Digital Metal Gear Intelligent Robot Servo.

    This looks like a well done copy of a Dynamixel servo. The communication protocol for this servo is much different than the protocol used with other hobby servos.

    I see four pins on the connector which means it probably uses a balanced serial connection like RS-485 (I'm not sure the exact protocol). This servo will not be able to be controlled directly with 3.3V logic. You'll need a special protocol chip to generate the balanced signal.

    IMO, the second servo will have better capabilities but be harder to learn to use. I plan to purchase one of the second servos myself to try it out.
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-03 12:24
    I am thinking that I should select HDKJ S3150D Metal Gear High Torque Wide-angle Digital Wingless Robot Servo. Its range is 0~300 degree.
    The only thing that is confusing me that whether yhe control of 1 degree is possible (i.e, can it be controlled to desired angle). And what is pulse frequency, 20Hz or 30Hz? It is not mentioned in the specifications. I also have searched the internet but can not find manufacturers website or datasheet for complete specs.
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-03 12:28
    Daune,
    You mean servo can be controlled with 3.3V pulse while there is no resister in the line?
    But also I need isolation between controller and servo. What would be most suitable for me?
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-12-03 13:06
    I am thinking that I should select HDKJ S3150D Metal Gear High Torque Wide-angle Digital Wingless Robot Servo. Its range is 0~300 degree.

    It's unusual for a servo to have this much range. Very nice. The other servo you listed also has a 300 degree range which it normal for Dynamixel servos.
    The only thing that is confusing me that whether yhe control of 1 degree is possible (i.e, can it be controlled to desired angle).

    It's hard to be sure without testing but I'd be surprised if you can't get 1 degree precision from the servo. I imagine with a 300 degree range, the pulse range is probably larger than the usual 1000us. If the range is 1200us then the "Dead zone" of 4us should be one degree.
    And what is pulse frequency, 20Hz or 30Hz? It is not mentioned in the specifications. I also have searched the internet but can not find manufacturers website or datasheet for complete specs.

    I think it's safe to assume the servos use the normal 50Hz signal.
    You mean servo can be controlled with 3.3V pulse while there is no resister in the line?

    This has been my experience.
    But also I need isolation between controller and servo. What would be most suitable for me?

    I don't have enough experience with isolating systems to give you a good answer. Maybe someone else will have a suggestion.
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-04 05:56
    Thanks Dane :)
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-05 07:55
    Due to shipping problem I am thinking to select the following servo motor:

    MakeBlock MEDS15 Digital Servo:

    Link: https://www.fabtolab.com/makeblock-servo-meds15?search=servo

    Should it do work for the Delta robot??? Plz help!
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-12-05 08:29
    Due to shipping problem I am thinking to select the following servo motor:

    MakeBlock MEDS15 Digital Servo:

    Link: https://www.fabtolab.com/makeblock-servo-meds15?search=servo

    Should it do work for the Delta robot??? Plz help!

    It looks like that servo has less range of motion but it still looks like a good servo.

    Unfortunately the only way to be really sure if a servo will work in an application is to try it. I don't see any problems with that one myself.

    Can you order things from HobbyKing?

    I like the servo you listed earlier (I will likely try some in the furture) and I use these HXT-12K servos in a lot of projects and think they're a good servo for the price.

    HobbyKing also sells a bunch of other servos listed as "robot servos". These generally include a pivot on the back side of the servo.

    The main problem with purchasing from HobbyKing is the shipping time/price. Shipping is either slow (three weeks) or expensive (less than a week). This is my experience in the USA.
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-05 08:58
    Duane Degn wrote: »
    HobbyKing also sells a bunch of other servos listed as "robot servos". These generally include a pivot on the back side of the servo.

    The main problem with purchasing from HobbyKing is the shipping time/price. Shipping is either slow (three weeks) or expensive (less than a week). This is my experience in the USA.

    I live in Pakistan, I have contacted the HobbyKing guy. The shipping to Pakistan will cost too much and it would take very long time. So its not an option for me :(
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-07 05:50
    I am thinking to buy this servo:

    http://www.makeblock.cc/meds15-servo-motor/

    It has limit angle of 210 degrees and dead band of 5usec.

    So for 1500 - 2000 usec, Control will be as follows:

    (2000-1500)/5 = 100usec

    (210/2)/100 = 1.05 degrees

    so basically I will get control of 1.05 degree based on dead band of 5usec!

    Am I right?
  • Ahmad BilalAhmad Bilal Posts: 15
    edited 2014-12-07 05:56
    For Propeller, I am buying this one (as I could only get this board near to my location :v)

    P8X32A Propeller QuickStart Board:

    https://www.fabtolab.com/boards/parallax/parallax-propeller/propellor-quickstart-board-p8x32a

    I hope it well get me what I want to do, i.e control delta robot :)
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-12-07 10:09
    I am thinking to buy this servo:

    http://www.makeblock.cc/meds15-servo-motor/

    It has limit angle of 210 degrees and dead band of 5usec.

    So for 1500 - 2000 usec, Control will be as follows:

    (2000-1500)/5 = 100usec

    (210/2)/100 = 1.05 degrees

    so basically I will get control of 1.05 degree based on dead band of 5usec!

    Am I right?

    I'm not sure if a limit angle of 210 degrees means you can control the position over the full 210 degrees or not.

    But going with their claim:
    Running degree 180 +/-3(whe 1000-2000usec)

    It would appear you'll get about 180 degrees of motion from a change in pulse length of 1000us.

    So 1000us/180 = 5.55us per degree.

    I'm not sure what sort of precision this will allow with the 5us dead band. While it suggests better than 1 degree precision, it's possible the precision can be lower. I think the only way to know for sure is to purchase a couple and test them.
    For Propeller, I am buying this one (as I could only get this board near to my location :v)

    P8X32A Propeller QuickStart Board:

    https://www.fabtolab.com/boards/parallax/parallax-propeller/propellor-quickstart-board-p8x32a

    I hope it well get me what I want to do, i.e control delta robot :)

    QuickStart boards are great. I'm using one to control my large hexapod.

    I used a QuickStart to control 32 servos.

    [video=youtube_share;UfZL6YS05Ho]

    You can also use the QuickStart as a servo tester.

    I've listed some QuickStart demos and projects in this thread.

    The Propeller chip can control the servos with 1us precision so I don't think it will have a problem controlling whatever servos you use.

    While I have done lots of projects with servos, none of my projects have required very precise movement. I haven't figured out what sort of precision my servos have. I do know it's very hard to see a 5us difference in position.

    I have a theory one may be able to get better precision from servos by sending pulse length which would move the servo just beyond the actual target and then send the pulses to exactly match the target. This technique may only apply to analog servos since analog servo produce a force proportional to the difference in target position and actual position. I think I've read, digital servos apply full force as long as the target and actual position are outside of the dead band.

    Something else to keep in mind is the potentiometers in these servos will eventually wear out with lots of use. Don't leave your robot cycling positions all night long unless you're prepared to replace the servo or potentiometer.

    I notice many of the links at the "Fab.to.Lab" site are broken. I try to keep the links in post #3 of my index up to date. There are lots of links to Propeller tutorials there.
Sign In or Register to comment.