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
Arduino
  • Products
  • More
Arduino
Arduino Forum Servo Movement At Power Up Before Initialization
  • 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 15 replies
  • Subscribers 384 subscribers
  • Views 2496 views
  • Users 0 members are here
  • servo
  • arduino
Related

Servo Movement At Power Up Before Initialization

colporteur
colporteur over 1 year ago

I am experiencing a problem with the servos operations on this project that members helped me develop.

When the Mega is powered on the servo track to a position before going to the initialized position. The power on position for the servo is outside the range of motion for the animation. The movement has over extended some mechanical connections and caused breakage.

I went in search of a solution and found this post. It doesn't solve the problem but the discussion is an example of what I am experiencing. One of the suggestions is to relay control power. Only apply power to the servo after full initialization thereby avoiding the issue.

I'm curious if anyone has experienced a servo movement issue on power up and how they may have solved it.

  • Sign in to reply
  • Cancel

Top Replies

  • shabaz
    shabaz over 1 year ago +3
    Hi Sean, The power on position is really the position with no PWM applied. I can think of four potential solutions. (a) Ideally there would be a mechanical solution (i.e. as Frank mentions, to try…
  • colporteur
    colporteur over 1 year ago in reply to beacon_dave +3
    I successfully adjusted the physical connection on one servo today after determining "horn initialization position" I was fortunate since the horn works from 90 to 0. 90 being the start and the initialization…
  • genebren
    genebren over 1 year ago in reply to colporteur +3
    Hi Sean, I build a series of DMX driven decoders that come in 6 and 12 servo channels. These boards have a switchable power bus that provides up to 10 Amps of servo power. On power up, the servo power…
Parents
  • colporteur
    0 colporteur over 1 year ago

    My environment has me working with multiple servos and multiple arduino's mainly Nano and Mega. I'm not confident I have all the knowledge regarding what I am calling "Power on servo initialization position". The scenario is a servo connected to an Arduino moves to a specific position when power is applied and then moves to the coded position when under control.

    I have worked with a number of SG90, SG92 &  MG90S Micro Servo motors over the years and I have had anomalies happen that I couldn't explain. At first I thought it was something I imagined since I couldn't duplicate it. The more I work with the servos the more I can't ignore the anomalies. I would like to find out why.

    How is the power on initialization positions determined?

    What causes a servo initialization position to change?

    Will the power on initialization positions change if I change the Arduino?

    I've installed servo and had them working to having them not align later. I realign the mechanics, then to have them move again sometime back to their original position. I've immediately switched the servo thinking it is at fault. The same scenario has happened with different servos. It is frustrating to say the least.

    I'm going to grab a few servo's and a few different arduinos and run some tests to gather some data in the hope of developing a better understanding. If anyone has any insight to share, I welcome the contribution.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago in reply to colporteur

    Hi Sean,

    These servos are cheap devices, they might not accurately move to a specific position at power-up, there could well be a slight difference each time, depending on where it starts from the last power-off position. They rely on analog feedback and there's quite a lot of hysteresis, so that will cause the differences.

    The simplest way to ensure a proper start position, is to not apply power to the servo, until the control signal is up and running and set to a specific desired value, and then power up the servo (e.g. using a relay or MOSFET). 

    It's unfortunately going to be unresolvable trying to characterize the initial position very well if the control signal is not set up first, before turning on the servo power, because these problems are inherent in cheap servos. Probably high-end servos can be configured with start positions when there is no control signal, but they will easily cost 10-20 times as much or more, and may require special hardware to configure them.

    Also, worth noting, with the cheap servos, if you try to set a position (with the control signal) that the servo cannot reach due to physically stopping the shaft from turning (for instance, a limit in the mechanism attached to the servo) then the servo will smoke and be destroyed. Again this is another limitation that can't easily be resolved satisfactorily beyond either coding so that the shaft doesn't try to rotate beyond that limit, or by including some sort of fuse (e.g. polyfuse).

    Hobby servos are pretty awful all-round, they really stink, but are popular because they are cheap and easy to control if precision is not required and if the types of limitations mentioned above are considered acceptable or can be worked around.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • shabaz
    0 shabaz over 1 year ago in reply to colporteur

    Hi Sean,

    These servos are cheap devices, they might not accurately move to a specific position at power-up, there could well be a slight difference each time, depending on where it starts from the last power-off position. They rely on analog feedback and there's quite a lot of hysteresis, so that will cause the differences.

    The simplest way to ensure a proper start position, is to not apply power to the servo, until the control signal is up and running and set to a specific desired value, and then power up the servo (e.g. using a relay or MOSFET). 

    It's unfortunately going to be unresolvable trying to characterize the initial position very well if the control signal is not set up first, before turning on the servo power, because these problems are inherent in cheap servos. Probably high-end servos can be configured with start positions when there is no control signal, but they will easily cost 10-20 times as much or more, and may require special hardware to configure them.

    Also, worth noting, with the cheap servos, if you try to set a position (with the control signal) that the servo cannot reach due to physically stopping the shaft from turning (for instance, a limit in the mechanism attached to the servo) then the servo will smoke and be destroyed. Again this is another limitation that can't easily be resolved satisfactorily beyond either coding so that the shaft doesn't try to rotate beyond that limit, or by including some sort of fuse (e.g. polyfuse).

    Hobby servos are pretty awful all-round, they really stink, but are popular because they are cheap and easy to control if precision is not required and if the types of limitations mentioned above are considered acceptable or can be worked around.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • colporteur
    0 colporteur over 1 year ago in reply to shabaz

    It appears you are suggesting to find a power on initialization point for hobbyist servos is a Sisyphean task?

    I find it frustrating that these obstacles are not mentioned in servo projects. I'm lead to believe in maker posts just hook up the servo and it works. I guess the adage not all that glitter is gold has some relevance. 

    I am going to bench test the apply servo power after control signal is established to get some confidence before I implement.

    The animal farm (based on your code) is going to market this weekend, in a small model railroad show. I am unable to attend because of other commitments. I've asked for some video once the setup is in place to share. 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago in reply to colporteur

    I totally agree, it's not always easy seeing the limitations of hobby servos. I've been bitten by the stalled servo smoking scenario. Despite something working in principle, when it comes to in practice, someone or something might forcibly prevent a servo turning, perhaps it might accidentally hit another piece of mechanism unexpectedly, and then it's stalled and overheating damage can occur. 

    Maybe someone (not me, no time : ( should write a blog (or do a video) on "Why hobby servo's stink, and how to make them stink less through mechanical, electronic and software means". 

    I hope the show goes well! Looking forward to hearing how it goes.

    • Cancel
    • Vote Up +1 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