element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Enchanted Objects
  • Challenges & Projects
  • Design Challenges
  • Enchanted Objects
  • More
  • Cancel
Enchanted Objects
Blog Review 3: Digital Continuous Rotation (360°) Servo Part 1
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Jan Cumps
  • Date Created: 3 Apr 2015 9:15 PM Date Created
  • Views 3346 views
  • Likes 6 likes
  • Comments 16 comments
  • enchanted_player
  • enchanted_objects
  • servo
  • continuous_servo
  • servo_motor
  • arduino
  • servo_360
Related
Recommended

Review 3: Digital Continuous Rotation (360°) Servo Part 1

Jan Cumps
Jan Cumps
3 Apr 2015

The Enchanted Objects kit includes a TinkerKit Servo Module.

That servo motor is not your common 180° angle adjustable unit. It's something special.

 

image

 

Digital Continuous Rotation (360°) Servo

 

It's a SM-S430R continuous rotation type (http://www.farnell.com/datasheets/1581465.pdf)

The continuous servo doesn't work like the common one.

If you connect it to an Arduino and run the Servo examples, you'll be amazed (that is: if your workbench survives it - I tested it with a long iron beam attached to it and the thing started hacking into my function generator).

 

On a common servo, you can call Servo.write() with a value between 0 and 180. The servo will move to a fixed position for each value between 0 and 180 and stop.

But for a continuous servo, this value determines the speed.

 

Servo.write(0) the motor spins counterclockwise as fast as it can - and keeps running

Servo.write(90) the motor grinds to a halt

Servo.write(180) the motor spins clockwise as fast as it can - and keeps running


A safe way to test the servo is with this minimal sketch. It will start spinning the turn the motor clockwise at a low speed, and runs at that speed forever.

Pin 9 is the Arduino control pin.

 

#include <Servo.h>

Servo myservo;  // create servo object to control a servo

void setup()  {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo.write(100);
}

void loop()  {
  // this space intentionally left blank
}

 

 

I've also made a test bed that allows you to control the motor via the serial monitor. When you enter a value between 0 and 180, the motor will run with that for 5 seconds. Then it stops.

Load to your Arduino,

 

#include <Servo.h>

Servo myservo;  // create servo object to control a servo

void setup() {
  Serial.begin(9600);
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo.write(90);
  Serial.println("Enter speed (0 - 180, 0 is fast left, 180 is fast right, 90 = stop)");
}

void loop() {
  // if there's any serial available, read it:
  while (Serial.available() > 0) {
    int iSpeed = Serial.parseInt();
    iSpeed = constrain(iSpeed, 0, 180);
    myservo.write(iSpeed);
    delay(5000);
    myservo.write(90);
    Serial.println("Enter speed (0 - 180, 0 is fast left, 180 is fast right, 90 = stop)");
  }
}

 

 

I'm still thinking how I can use this motor in my project. Because of its peculiar behavior, I'll have to come up with something that matches with this servo.

 

Click here for Part 2.

  • Sign in to reply

Top Comments

  • 4ringfan
    4ringfan over 10 years ago in reply to neilk +3
    Choosing a Motor: DC, Stepper, Or Servo - Free How-to Robot Construction Article I also recall watching a sparkfun video about robotic actuators and Rob and Casey talked about the different types of motors…
  • Workshopshed
    Workshopshed over 10 years ago +2
    Perhaps the servo could be used to make a mini turntable? When attaching the horn, use the smaller screws. The long screws are used with the rubber gromits and metal collars to give an anti vibration mount…
  • Workshopshed
    Workshopshed over 10 years ago in reply to balearicdynamics +2
    I spotted that you can calibrate the servo timing when you attach the pin with two extra parameters min and max. That should work for a continuous rotation servo too. http://arduino.cc/en/Reference/Se…
Parents
  • neilk
    neilk over 10 years ago

    Jan Cumps Jan. I'm fairly new to using motors and have seen lots of references to using continuous rotation servos instead of simple DC motors in robot projects. Can you (or any one else) confirm why this might be preferred?

     

    1. Continuous rotation servo comes with it;s own motor driver - no need for an H-bridge.
    2. Continuous rotation servo is controlled with a single PWM pin, since reverse, stop and forward, as well as speed are all determined purely by duty cycle.

     

    Are there any other benefits?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 10 years ago in reply to neilk

    Neil

    I haven't used them, but there are two other features I see.

    The gearbox is enclosed, unlike many of the other options.

    The mounting is easy, and depending on the quality can include a decent bearing on the output shaft.

     

    Compared to some motor/gearbox combinations the size can be large, but they do have a reasonably low profile.

     

    Mark

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • mcb1
    mcb1 over 10 years ago in reply to neilk

    Neil

    I haven't used them, but there are two other features I see.

    The gearbox is enclosed, unlike many of the other options.

    The mounting is easy, and depending on the quality can include a decent bearing on the output shaft.

     

    Compared to some motor/gearbox combinations the size can be large, but they do have a reasonably low profile.

     

    Mark

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • neilk
    neilk over 10 years ago in reply to mcb1

    mcb1 Thanks, Mark. The points you make are just as valid - the gearboxes on my Cybot are open and the motor mountings rely on dropping in to mouldings in the chassis.

     

    So, a total 4 good points in favour of continuous rotation servos. image

     

    Neil

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 10 years ago in reply to neilk

    a total 4 good points in favour of continuous rotation servos.

     

    I tend to use the Tamiya gearbox since you have 4 options of ratio, and they allow mounting to a flat surface.

     

    The only thing about the servos is you don't get to choose the ratio ...

    You tend to have to use wheels designed for fitting to a servo, rather than an axle ... but it depends on the type of bot you want to build.

     

    Have a look at these two for an idea of what I mean.

    http://www.element14.com/community/message/146115/l/re-arduino-object-avoidance-robot#146115

     

    Mark

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube