Servomotor trillen en zoemen: oorzaken en oplossingen
By Kunkune | Published: 2026-10-16
Category: Handleidingen
Schokkerig gedrag en zoemgeluiden van een servo worden meestal veroorzaakt door problemen met de stroomvoorziening, bedrading of het signaal. Zo diagnosticeert u elk symptoom en verhelpt u het zonder te raden.
Snel antwoord
De meeste servo-jitter en gezoem komen door stroomproblemen, niet door de servo zelf. Voed de servo vanuit een aparte 5-6V-voeding met een vermogen van minimaal 1A per kleine servo, deel de ground met de Arduino en houd de signaaldraden kort. Als het trillen aanhoudt, is de servo mogelijk beschadigd of is de belasting te zwaar voor het koppelvermogen.
Waarom servo's trillen: de drie echte oorzaken
Een servo is een motor met gesloten lus: hij vergelijkt het PWM-signaal met zijn interne potentiometer en drijft de motor aan totdat beide overeenkomen. Jitter en gezoem ontstaan wanneer die lus wordt verstoord. Er zijn slechts drie praktische oorzaken: instabiele stroom, ruisend signaal of mechanische overbelasting. Stroom is veruit de meest voorkomende. De ingebouwde 5V-regelaar van de Arduino levert doorgaans slechts 500mA, en een kleine servo kan 700mA of meer trekken op het moment dat hij begint te bewegen. Die spanningsval reset de interne logica van de servo en veroorzaakt snel trillen. Signaalproblemen komen op de tweede plaats: lange draden, slechte grounds of PWM van een pin die ook een LED of zoemer aanstuurt. Mechanische overbelasting staat op de laatste plaats: als de arm tegen een zware belasting of een vastzittende koppeling vecht, zoekt de servo continu en zoemt hij bij de blokkeerstroom.
Voedingsruis: de meest voorkomende oplossing
Koppel de voedingsdraad van de servo los van de Arduino en voed hem vanuit een aparte 5-6V-voeding. Een 4xAA-batterijpak of een labvoeding werkt voor het testen. Verbind de ground van de servo met zowel de ground van de voeding als de ground van de Arduino. Deze ene wijziging verhelpt de meeste jitter, omdat de regelaar van de Arduino niet langer doorslaat. Als je al een aparte voeding gebruikt en nog steeds gezoem hoort, plaats dan een 470uF tot 1000uF elektrolytische condensator over de stroom- en groundpinnen van de servo, dicht bij de servo. De condensator absorbeert de stroompieken die elke keer optreden wanneer de motor start. Voor DC-motorprojecten waar je ook snelheidsregeling nodig hebt, kan een PWM-motorregelaar zoals de 1203BK motorruis isoleren van de logische voeding, hoewel het zelf geen servodriver is. Houd motor- en logische voedingsdraden gescheiden en twijn het stroompaar om uitgestraalde ruis te verminderen.
Signaal- en bedradingscontroles voor Arduino-servogezoem
Als de stroom schoon is en de servo nog steeds trilt, kijk dan naar het signaalpad. Gebruik een kort jumperdraadje, korter dan 20cm, tussen de Arduino-pin en de signaaldraad van de servo. Lange signaaldraden vangen ruis op van motoren en schakelende voedingen. Vermijd pinnen 0 en 1 op een Uno als je seriële communicatie gebruikt; de Servo-bibliotheek schakelt PWM op pinnen 9 en 10 op sommige boards uit, dus raadpleeg de documentatie van je board. Zorg in de code dat je de servopositie niet sneller bijwerkt dan de servo kan bewegen. Een veelgemaakte fout is om elke loop-iteratie een nieuwe positie te schrijven met een waarde die licht verandert door sensorruis. Voeg een dode zone toe: roep alleen servo.write() aan wanneer het doel met meer dan 2 graden verandert. Als je een externe sensor gebruikt om de servo aan te sturen, filter dan de sensorwaarde. Een RTC-module zoals de DS1302 is bijvoorbeeld geen sensor, maar als je project een servo op basis van tijd beweegt, lees de tijd dan één keer per seconde, niet elke loop.
Mechanische oorzaken: wanneer de servo tegen zichzelf vecht
Koppel de servoarm los en laat de servo zonder belasting draaien. Als het gezoem verdwijnt, is het probleem mechanisch. Controleer op vastzittende koppelingen, een arm die te ver op de spline is gedrukt, of een belasting die het koppel van de servo overschrijdt. Kleine servo's zoals de SG90 hebben een blokkeerkoppel van ongeveer 1.8 kg-cm bij 4.8V; als je ze daarboven duwt, veroorzaakt dat constant zoeken en hitte. Controleer ook of de servo stevig is gemonteerd. Een losse montage laat de servo trillen, wat de interne potentiometer als positiefout leest, waardoor een feedbacklus ontstaat. Als de servo zelfs zonder belasting en met een schone voeding zoemt, zijn de interne potentiometer of tandwielen mogelijk versleten. In dat geval is vervanging de praktische oplossing.
Wanneer stoppen met probleemoplossing en de servo vervangen
Als je een aparte voeding, een condensator, korte signaaldraden en een test zonder belasting hebt geprobeerd en de servo nog steeds trilt of zoemt, is de servo zelf waarschijnlijk beschadigd. Slijtage van de interne potentiometer komt veel voor bij goedkope servo's na langdurig gebruik. Controleer vóór vervanging het signaal met een servotester of een bekend-goede Arduino-pin. Als een nieuwe servo in dezelfde opstelling werkt, is de oude het probleem. Als een nieuwe servo ook trilt, zit het probleem in je stroom- of signaalpad, niet in de servo. Blijf een zoemende servo niet onder belasting gebruiken; de blokkeerstroom kan de motor oververhitten en de driver of voeding beschadigen.
Diagnosetabel voor servo-jitter
- Gezoem of trillen wanneer de servo begint te bewegen: De 5V-regelaar van de Arduino zakt door onder de inschakelstroom van de servo. Voed de servo vanuit een aparte 5-6V-voeding met een vermogen van minimaal 1A per kleine servo en verbind de grounds met elkaar. Als de jitter stopt, is de oplossing een speciale servovoeding.
- Continu laag gezoem zonder bewegingscommando: De servo ontvangt een ruisend signaal of is mechanisch belast. Controleer op lange signaaldraden, een gedeelde ground of een vastzittende koppeling. Voeg een dode zone in de code toe, zodat kleine sensorveranderingen de servo niet bijwerken. Als het gezoem stopt wanneer je de arm loskoppelt, is het probleem mechanisch.
- Jitter die aanhoudt met een schone voeding en zonder belasting: De interne potentiometer of tandwielen van de servo zijn waarschijnlijk versleten. Test met een bekend-goede servo. Als de nieuwe servo werkt, vervang dan de oude. Stop met probleemoplossing en vervang de servo als een nieuw exemplaar zich correct gedraagt in dezelfde opstelling.
Onderdelen die helpen bij servovoeding en -signaal
- PWM-motorregelaar DC 6V-28V 3A 1203BK – Instelbare potentiometer: PWM-motorregelaar DC 6V-28V 3A 1203BK met instelbare potentiometer, 80W-vermogen en compact 50×32×15mm-ontwerp. Handig voor DC-motorprojecten waar je motorruis van je logische voeding wilt isoleren; het is geen servodriver, maar het kan je helpen testen of motorruis jitter veroorzaakt.
- Real Time Clock-module -DS1302: DS1302 Real Time Clock-module biedt seconden, minuten, uren, dag, datum, maand en jaar tijdwaarneming met een ingebouwde kristal en CR2032 back-up, communicerend via een 3-draads seriële interface. Als je servoproject op tijd is gebaseerd, vermindert het één keer per seconde lezen van de tijd in plaats van elke loop onnodige servoupdates die trillen kunnen veroorzaken.

