Why is my DC motor whining at a lower PWM frequency?

Waarom piept mijn DC-motor bij een lagere PWM-frequentie?

Nathan Bong
Nathan Bong
PA Engineer

Het leveren van PWM-signalen aan de DC-motor van een actuator is een veelgebruikte methode om de verplaatsingssnelheid aan te passen; in sommige gevallen kan dit echter leiden tot hoorbaar piepend motorgeluid. Tijdens de testfase van je project heb je misschien gemerkt dat dezelfde DC-motor bij aansluiting op verschillende snelheidsregelaars piepgeluiden met uiteenlopende luidheid kan produceren. Dit kan te maken hebben met de verschillende PWM-frequenties die in elke snelheidsregelaar of Arduino-programma zijn ingesteld. In dit artikel bespreken we de voor- en nadelen van het aanpassen van de PWM-frequentie en hoe dit het piepen van de motor beïnvloedt.

We bieden een breed assortiment elektrische lineaire actuatoren voor elke toepassing – klik om te bladeren! 

 

Algemene en veelgestelde vragen

DC-motoren

 

Hieronder vind je een overzicht van de algemene en veelgestelde vragen die we krijgen, om kort de basis van de Inschakelduur, PWM en de effecten van wijzigingen in de PWM-frequentie op DC-motoren toe te lichten.

 

  • Wat is de Inschakelduur?

Inschakelduur is de verhouding tussen aan-tijd en uit-tijd, meestal uitgedrukt als percentage. Dit betekent: als je actuator 20 seconden uitschuift en intrekt en vervolgens 40 seconden stilstaat voordat het proces zich herhaalt, wordt de “Inschakelduur” uitgedrukt als 33%. De tijd voor één “volledige cyclus” in dit voorbeeld is 60 seconden.

Inschakelduur = Aan-tijd / (Aan-tijd + Uit-tijd)

 

  • Wat betekent PWM?

Pulsbreedtemodulatie (PWM) is een techniek die vaak wordt gebruikt bij motorbesturing, waarbij elektrische signalen schakelen tussen 0% en 100% van de voedingsspanning die op de motor wordt toegepast, vergelijkbaar met aan en uit bij de Inschakelduur. Hiermee kun je de gemiddelde spanningswaarde regelen die op een motor wordt toegepast om de motorsnelheid aan te passen. Door de Inschakelduur te regelen, kun je de gemiddelde spanningswaarde sturen om de motorsnelheid te wijzigen.

Inschakelduur * Spanning van de bron = Gemiddelde spanningswaarde

 

  • Wat is de PWM-frequentie en hoe beïnvloedt deze de prestaties van DC-motoren?

De PWM-frequentie geeft aan hoe snel een PWM-cyclus door je motorbesturingsapparaat wordt voltooid. Het is niet ongebruikelijk dat DC-motoren een piepend geluid produceren wanneer de gebruikte motorcontroller op lagere PWM-frequenties is ingesteld.

 

  • Is het mogelijk om motorpiepen volledig te elimineren, of is enige mate van geluid te verwachten?

Dit kan variëren, omdat fabrikanten doorgaans toleranties hanteren die verschillende motorgeluiden en -eigenschappen veroorzaken. Bepaalde motorontwerpen kunnen rotoren hebben die altijd enig motorpiepen geven, ongeacht de gebruikte PWM-frequentie. De PWM-frequentie zo hoog als praktisch mogelijk instellen voor DC-motoren die in goede staat verkeren, helpt meestal om motorpiepen te verminderen (dit komt later uitgebreider aan bod).

 

  • Kan het aanpassen van de PWM-frequentie om motorpiepen te verminderen negatieve effecten hebben op de motor of de algehele systeemprestaties?

Een verhoging van de PWM-frequentie leidt tot meer vermogensverlies in de H-brug die met je Arduino-microcontroller wordt gebruikt en kan ervoor zorgen dat de motordriverprint oververhit raakt. Gebruikers hebben een methode nodig om hun H-brug of motordriver te koelen om te voorkomen dat componenten beschadigd raken.

Begin met programmeren met Arduino-microcontrollers en breng je volgende project tot leven!

Waardoor gaan DC-motoren piepen?

formule

 

We behandelen het akoestische motorgeluid dat hoorbaar is voor het menselijk oor en niet elektrische ruis. Het equivalente schema van een draaiende DC-motor is hierboven te zien. Door tegen-EMK (elektromotorische kracht, EMK) ontstaat een spanning in de tegengestelde richting van de stroom als gevolg van het bewegen van de motorwikkelingen ten opzichte van een magnetisch veld. In rust of bij lage snelheden heeft het equivalente schema van een geborstelde DC-motor weinig tot geen tegen-EMK en lijkt het op dat van een RL-schakeling van de eerste orde, hieronder te zien.

De formule

 

Het piepende motorgeluid dat we horen, wordt veroorzaakt door koppelrimpel die is ontstaan door rimpel in de stroom (i). We weten ook dat de bovengrens (afsnijfrequentie) voor een RL-laagdoorlaatfilter de volgende formule heeft:

Afsnijfrequentie = 1 / (2π𝜏)

 

Waar:

𝜏 = L / R

L = Inductantie (H)

R = Weerstand (Ω)

𝜏 = tijdconstante (seconden)

De theoretisch ideale PWM-frequentie hangt af van de inductantie en de weerstand van een motorschakeling, maar zal doorgaans groter dan of gelijk aan 5 keer de afsnijfrequentie zijn. Dit hogere bereik van PWM-frequenties zorgt ervoor dat de stroom door de DC-motor 99,3% (bijna 100%) van de maximale stroomwaarde kan bereiken, zodat stroomrimpel wordt vermeden en het motorpiepen afneemt.

Formule

 

Vermogensverlies van de H-brug en warmteafvoer

Een schakelovergang

 

Wanneer een schakelaar van aan naar uit schakelt, zijn spanning en stroom niet nul en wordt er vermogen in de schakelaars gedissipeerd. Een H-brug heeft zowel spanning als stroom aanwezig tijdens het schakelen, dus een hogere schakelfrequentie door een hogere PWM-frequentie betekent meer warmte en vermogensverlies. Het is aan te raden om koellichamen of ventilatoren te installeren op motordriverprints die niet al met deze koelvoorzieningen zijn uitgerust, om schade te voorkomen en een goede werking te garanderen.

MegaMoto

 

Onze LC-81 MegaMoto GT H-brug Arduino Shield heeft een ingebouwde koelventilator en koellichamen om oververhitting verder te verminderen, waardoor hij ideaal is voor hoge stroombelastingen. Voor actuatoren met lagere stroomafname-eisen bieden we ook de LC-80 MegaMoto Plus H-brug voor Arduino aan. Beide H-bruggen kunnen met Arduino microcontrollers worden gebruikt en hebben PWM-frequentiespecificaties tot 20 kHz voor gelijkspanning.

Ontdek ons assortiment kant-en-klare besturingsmodules en snelheidsregelaars!

Hoe DC-motorpiepen verminderen door de PWM-frequentie met Arduino aan te passen?

Arduino

 

De snelheid van de klok van een teller bepaalt de PWM-frequentie van het uitgangssignaal. Voor onze populairste Arduino Uno wordt de systeemklok door een prescalerwaarde gedeeld om de klok van de teller te krijgen. CS02, CS01 en CS00 zijn de drie minst significante bits van de Timer/Counter-registers die de 3-bitwaarde van de prescaler opslaan.

Stel deze drie minst significante bits in of wis ze in het relevante TCCRnB-register in het segment void setup() van je Arduino-code. Door de timer-prescalers via code aan te passen, kan de PWM-frequentie worden gewijzigd, zoals te zien is in deze referentievideo.

Arduino PWM-tutorial #1 - Zo wijzig je de PWM-frequentie:

 

De gemiddelde mens hoort doorgaans geluiden tussen 20 Hz en 20.000 Hz.

Frequentie = cyclus/tijd

1 Hz = 1 cyclus/seconde

20 Hz = 1 cyclus / (tijd)

20 Hz * (tijd) = 1 cyclus

Tijd = 1 cyclus / 20 Hz

Tijd = 0,05 seconden

Tijd = 50 ms

Bij een PWM-frequentie van 20 Hz vindt één cyclus plaats over een periode van 50 milliseconden, zoals hieronder te zien.

Frequentie

 

Bij frequenties boven 20 kHz wordt elke cyclus korter dan de reactietijd van een gemiddeld mens en zullen de meesten geen motorpiepen kunnen horen. Het PWM-frequentiebereik van 16 kHz tot 20 kHz lost doorgaans de meeste problemen met DC-motorpiepen op. Dit bereik kan als startpunt voor tests worden gebruikt voordat je geleidelijk aanpassingen maakt om de PWM-frequentie te verfijnen en te optimaliseren voor het specifieke gedrag en de eigenschappen van jouw motor.

Frequentie = cyclus/tijd

20 kHz = 1 cyclus / (tijd)

20000 Hz * (tijd) = 1 cyclus

Tijd = 1 cyclus / 20000 Hz

Tijd = 0,00005 seconden

Tijd = 50 µs

Bij een PWM-frequentie van 20 kHz vindt één cyclus plaats over een periode van 50 microseconden, zoals hieronder te zien.

 

 Inschakelduur

 

Combineer Arduino-microcontrollers met motordrivers en relais voor nog meer regelopties!

SAMENVATTING  

Het aanpassen van de PWM-frequentie kan helpen om het ongewenste piepende motorgeluid te minimaliseren; we moeten ons echter bewust zijn van de voor- en nadelen. Het is belangrijk om de geschikte PWM-frequentie te vinden die het beste evenwicht biedt tussen vermogensverlies van de motordriver, warmteafvoer en motorpiepen, en die voor jou werkt.

We hopen dat je dit net zo informatief en interessant vond als wij, vooral als je meer wilde weten over DC-motorpiepen bij lagere PWM-frequenties. Als je vragen hebt of onze producten verder wilt bespreken, neem dan gerust contact met ons op! Wij zijn experts in wat we doen en helpen je graag waar we kunnen.

 

sales@progressiveautomations.com | 1-800-676-6123