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 control for servo
  • 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 Verified Answer
  • Replies 6 replies
  • Answers 1 answer
  • Subscribers 404 subscribers
  • Views 629 views
  • Users 0 members are here
  • prototyping
  • arduino
Related

control for servo

Former Member
Former Member over 12 years ago

hello ,

plese help me for a program for contolling a rc servo with the help of potentiometer .

i have already viewed a example progam i.e. Knob from the arduino main site but servo does'nt work perfectly ..

  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 12 years ago in reply to Former Member +1
    Potentionmeters come in linear taper and audio taper models. That means there is an even increase of resistance as you turn the pot in linear taper, audio taper will increase the value logarithmically…
Parents
  • billabott
    0 billabott over 12 years ago

    Your program is the same as the official tutorial found at http://arduino.cc/en/Tutorial/Knob.

     

    There are two issues that may be affecting your satisfaction of the servo performance.

     

    1:   The Input is an analog value going into the ADC of the uC via A0.  It may be necessary to  ground the other analog inputs thru resistors so they are not 'floating'.

     

    2:  The Output is driving a possibly high current drain servo motor that may need its own power supply in order not to overload the (correctly spelled) duemilanove's regulated power supply.

     

    Please note that if the val (provided from the ADC when analogRead executes) is bouncing around more than +/- 5.7 (+/- 28 mV) then the 0 to 179 value is changing also and the servo will be instructed to move a 1 degree step.  If the circuit cannot achieve that level of stability then I may suggest that you use val=2*map(val,0,1023,0,89);  this will allow the random variations of ADC to swing +/- 11.4 (+/- 56 mV) before a 2 degree change in the servo position is generated.  IMO this method is superior to sampling multiple times and taking an average.  It trades granularity for stability.

     

    If you live close to a commercial facility that is generating 1000 watts or more of rf energy it may be the cause of the instability of the value of the variable 'val'.

     

    Don't forget to post complete feedback about what changes you made that improved the performance of your hardware.  

     

    Happy Trails.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
Reply
  • billabott
    0 billabott over 12 years ago

    Your program is the same as the official tutorial found at http://arduino.cc/en/Tutorial/Knob.

     

    There are two issues that may be affecting your satisfaction of the servo performance.

     

    1:   The Input is an analog value going into the ADC of the uC via A0.  It may be necessary to  ground the other analog inputs thru resistors so they are not 'floating'.

     

    2:  The Output is driving a possibly high current drain servo motor that may need its own power supply in order not to overload the (correctly spelled) duemilanove's regulated power supply.

     

    Please note that if the val (provided from the ADC when analogRead executes) is bouncing around more than +/- 5.7 (+/- 28 mV) then the 0 to 179 value is changing also and the servo will be instructed to move a 1 degree step.  If the circuit cannot achieve that level of stability then I may suggest that you use val=2*map(val,0,1023,0,89);  this will allow the random variations of ADC to swing +/- 11.4 (+/- 56 mV) before a 2 degree change in the servo position is generated.  IMO this method is superior to sampling multiple times and taking an average.  It trades granularity for stability.

     

    If you live close to a commercial facility that is generating 1000 watts or more of rf energy it may be the cause of the instability of the value of the variable 'val'.

     

    Don't forget to post complete feedback about what changes you made that improved the performance of your hardware.  

     

    Happy Trails.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
Children
  • mcb1
    0 mcb1 over 12 years ago in reply to billabott

    I seem to recall we went through this previously...

     

    Your dealy time is a little short (15mS) which is probably why you're getting strange reasons.

    You can't possibly move the pot or expect the servo to reacte that quick, so try a delay(200) instead of the delay(15) to slow it down.

     

    As you servo shifts, the motor current will have an influence on the supply (5v) and this will influence the analog reading, which influences the servo, which ....

     

    As Billabott has pointed out, any small change will influence the result.

    Your wiring can have some affect and the ground wire from the servo, and the ground wire from the pot should ideally be two seperate pieces of wire.

    This stops the motor current travelling along the pot wire and influencing the reading.

     

    You can also help by adding a 1000uF or larger across the 5v as close to the servo as possible.

    This will help with the servo motor and the relatively large current drain at startup.

     

     

    Mark

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