element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • 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
Arduino
  • Products
  • More
Arduino
Arduino Forum Servo Help
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 10 replies
  • Subscribers 402 subscribers
  • Views 1383 views
  • Users 0 members are here
  • servo;
  • help;
  • hardware
  • arduino;
Related

Servo Help

Former Member
Former Member over 13 years ago

Hello,

 

First off, I am new to this forum and to Arduino as well. That being said, I am having a little trouble getting my servo to work with the Example Sketch "Sweep" included in the IDE.

 

I wire everything correctly according to the diagram provided on the website(Black to Ground, Red to 5v, and Orange to PWM pin 9.

 

When I plug in the arduino with everything hooked up, the servo moves slightly(no code uploaded to it) and then the red light on the arduino starts to blink. When I try to upload the sample code to the arduino, I get this error:

 

Binary sketch size: 2,666 bytes (of a 30,720 byte maximum)

avrdude: ser_open(): can't open device "/dev/cu.usbserial-A4011UU6": Resource busy

ioctl("TIOCMGET"): Inappropriate ioctl for device

 

Everytime I press "upload" the arduino resets and the servo moves slighty but then everything stops.

 

Here are some specs for you:

 

Servo

EMax ES 08MA 4.8~6V Analog servo

 

Arduino Duemilanove

 

Any ideas?

  • Sign in to reply
  • Cancel

Top Replies

  • billabott
    billabott over 13 years ago +1
    Could be this will help: Find a proper aux. power supply for the UNO and plug it in. Gently tap the reset button on the Uno if needed.
Parents
  • billabott
    0 billabott over 13 years ago

    Could be this will help:

    Find a proper aux. power supply for the UNO and plug it in. 

    Gently tap the reset button on the Uno if needed.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • billabott
    0 billabott over 13 years ago

    Could be this will help:

    Find a proper aux. power supply for the UNO and plug it in. 

    Gently tap the reset button on the Uno if needed.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • Workshopshed
    0 Workshopshed over 13 years ago in reply to billabott

    Bill does have a point, it could be that the USB port can't provide enough power for the servo.

     

    I googled that error message and it suggests that there is an issue with the installation of your drivers for the comm port.

     

    Check that you've selected the right comm port in the IDE and check that you've selected the Arduino Duemilanove from the menu too.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 13 years ago in reply to billabott

    Alright, I will give that a try.

     

    Thank you!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 13 years ago in reply to Workshopshed

    Hey Andy,

     

    Thanks for your reply. I am new to the whole Mac environment as well, so I am trying to get that all worked out. However, I have tried this on a couple of machines that I have used the Arduino IDE on, that run Windows and it does it on them too.

     

    Let me describe the problem in a little more detail. I can program the arduino just fine and run it without any issues, until I hook up the servo. So I upload the servo code before anything is hooked up(it uploads just fine) and then wire up the servo while the arduino is unplugged. When I plug the arduino in, the servo moves slightly, then stops, the lights on the arduino flash. I let it run last night after posting this, and what happens is it will move slightly forward, stop reset, and repeat until it reaches 180deg then it moves back to 0deg in all one motion.

     

    I didn't let my arduino get to that point before out of fear of hurting it somehow. I am fairly sure that the servo's behavior is not consistent with the code. The servo is a 4.8V to 6V servo, could that mean anything?

     

    Thank you again!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • billabott
    0 billabott over 13 years ago in reply to Former Member

    I looked on a distributor's web site for mA spec on your servo and they did not provide it.

    Option: try changing all delay(15) to delay(20)

    Watch a video: http://www.youtube.com/watch?v=jVZJy6OlwcA

    Read about other's experiences at the Source.

    More fun: http://playground.arduino.cc/Learning/SingleServoExample

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Workshopshed
    0 Workshopshed over 13 years ago in reply to billabott

    This site suggests it takes 200mA

     

    http://saigon-hobby.com/products/649-servo-emax-es08ma.aspx

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • billabott
    0 billabott over 13 years ago in reply to Workshopshed

    The max. current output from one pin is about 40 mA.  If the servo is UNLOADED then it might move smoothly under control of the program and only draw about 20 mA.  That may or may not prove a useful point of data to you.


    A STANDARD HOBBY SERVO as sold by adafruit.com has these Technical Details: 

    • Power: 4.8V - 6V DC max (5V works well)
    • Average Speed:  0.2sec/60degree (@ 4.8V), 0.16sec/60degree (@ 6V)
    • Weight: 39g (1.37 oz)
    • Torque: At 5V, 5.5kg-cm / 76oz-in, and at 6V 6.5kg-cm / 90oz-in.
    • Size mm: (L x W x H) 40 x 20.0 x 38 mm
    • Size in: (L x W x H) 1.60x.79x1.50

     

    On the other hand Your Type:     EMAX ES08MA   (means Extra Sensitive 08  Metal Analog)

    Size:     32 x 11.5 x 24 mm(1.25 x .45 x .94in)

    Weight:     12g / 0.42oz

    Operating voltage:     4.8V~6.0V

    Operating current:     200mA/60º

    Operating speed:     0.12sec/60º at 4.8V; 0.10sec/60º at 6V

    Stall torque:     1.5/1.8 kg.cm 20.8/24.9 oz.in (4.8V/6v)

    Dead band:     1-2 uSec

    Gear Material:     Metal

    Connector wire length:     25 cm

    Connector type: Futaba/JR compatible

     

    So now we see that compared to a Standard Hobby Servo the EMAX ES08MA is a light weight wimpy EMO kind of servo designed for use in fly weight carbon fiber egg beaters. 

     

    Q. What signal do servos require to operate?

    A. All Hitec servos require a 3-4V peak to peak square wave pulse. Pulse duration is from 0.9ms to 2.1ms with 1.5ms as center. The pulse refreshes at 50Hz (20ms).       SOURCE

     

    All you have to do is modify your HW interface and the Arduino Sweep Example Code to generate the kind of signal your ES08MA was designed for.  That would be found in a detailed data sheet from the OEM.  Link to be provided by a reseller.  I will say this: the delay(15);  statments can be changed to delay(5); since it is extra sensitive - meaning quick to respond.  Also the new generation of servos have high impedance control inputs (think CMOS op-amp) and require next to no current (as in 0.0 mA) flowing into the device on the PWM control wire.  For starters, since the 'Duino's output square wave is 5 volts you will need to put a voltage divider (a pair of resistors in series where the desired voltage level is found at the node between R1 and R2 where R2 >= 2*R1 and R1+R2 > 500 ohms) in place to reduce that peak level down to ~3.5 volts.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 13 years ago in reply to billabott

    Wow, thank you for such a detailed answer. This helps a ton. I will do this, and get back to you guys and let you know.

     

    I would be the one who would buy weak servos. To be honest, I didn't know these were tiny servos. Oh well, I will have to buy normal sized ones!

     

    Thanks again for your help!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • billabott
    0 billabott over 13 years ago in reply to Former Member

    Sure.  You are welcome.  If you can run the HW mode with a voltage divider, we would be very interested to know if that alone resolves the issue of poor performance.  So the set up would be as follows:

    connect R1 from pin 9 to servo control wire and

    connect R2 from servo control wire to ground.

     

    FYI, Harbor Freight has a $4 digital multimeter this week in the USA.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • billabott
    0 billabott over 13 years ago in reply to Former Member

    Found a video for you that covers the 'Duino Sweep demo.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • 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