Gelijkstroommotoren met borstels worden steeds vaker vervangen door hun borstelloze (BLDC) en stappenmotor varianten. Het gebruik ervan is echter nog steeds zinvol, omdat snelheidsregeling aanzienlijk eenvoudiger is. Dit artikel laat zien hoe men de snelheid van een DC-motor met borstels constant kan houden, ongeacht het koppel – en zonder tachogenerator.

In het eenvoudigste geval is een gelijkstroommotor aangesloten op een variabele spanningsbron, zoals getoond in Figuur 1. De snelheid is (theoretisch) evenredig met de voedingsspanning VM, maar alleen zolang het koppel constant is.

Speed prop to motor volt - Brushed DC Motor Speed Control article
Figuur 1: In een ideale wereld is de snelheid evenredig met de motorspanning.

Helaas ziet het equivalente schema van de gelijkstroommotor eruit als in Figuur 2. De motorwikkeling heeft niet alleen een inductie LM, maar ook een ohmse weerstand, die wordt aangeduid met RM. Hoe hoger het koppel, hoe meer spanning er over RM valt, tot er uiteindelijk geen spanning meer over de inductie LM staat en de motor stopt (Figuur 3).

ohmic resistance of the motor winding - Brushed DC Motor Speed Control article
Figuur 2: In de praktijk is de ohmse weerstand van de
motorwikkeling evenredig met zijn inductie.
The higher the torque, the slower the motor turns.
Figuur 3: Hoe hoger het koppel, hoe langzamer de motor draait.

Regeling met Tachogenerator of EMF-meting

Om deze koppelafhankelijke snelheidsschommelingen te compenseren, werd de motor vroeger meestal gekoppeld aan een tachogenerator, die op zijn beurt een spanning leverde die evenredig was met de snelheid (Figuur 4). Een motor-tachogenerator-combinatie is echter groter en duurder dan een motor zonder tachogenerator.

motor control system with tachogenerator
Figuur 4: Blokschema van een motorbesturingssysteem met tachogenerator.

Als de motor echter met een gepulseerde spanning (PWM) werkt, is de snelheid evenredig met de duty cycle. Tegelijkertijd werkt de motor als een generator in de uit-fase van het PWM-signaal, zodat de snelheid in deze fase kan worden gemeten. In het verleden, in het analoge tijdperk, was een elektronische schakeling voor een dergelijke regeling niet onaanzienlijk, zoals te zien is in het schema in Figuur 5.

motor control with EMF measurement
Figuur 5: Blokschema van een motorbesturing met EMF-meting.

Een blokgolfgenerator, een spanningsgestuurde pulsbreedtemodulator, een sample-and-holdschakeling om de snelheid te meten en een PI-regelaar waren nodig. In de digitale wereld blijft het principe hetzelfde, maar het benodigde aantal onderdelen is veel geringer dankzij het gebruik van een microcontroller.

Praktische implementatie van een EMF-regeling

Zoals het volledige schema in Figuur 6 laat zien, wordt een ATtiny45 microcontroller van Microchip met 4 kB flashgeheugen gebruikt voor de besturing. De controller heeft slechts acht pinnen, maar is perfect geschikt voor deze toepassing. Hij kan "in-system" via SV2 worden geprogrammeerd met behulp van een ISP-programmeerapparaat.

Circuit EMF motor control - Brushed DC Motor Speed Control article
Figuur 6: Praktische schakeling van de EMF-motorregeling.

De microcontroller wordt gevoed met 5 V door de spanningsregelaar IC2; daarom mag de ingangsspanning (en dus de motorspanning) niet hoger zijn dan 24 V. Q1 en Q2 sturen de motor aan. Q2 is een PMOSFET van het type IRF4905, die theoretisch een motorstroom van 74 A aankan, maar alleen met een voldoende gedimensioneerd koellichaam.

Speed measured
Figuur 7: De snelheid wordt gemeten in de
uitschakelfase na demagnetisatie.

Figuur 7 laat zien wat er gebeurt op de motorklemmen tijdens de verschillende fasen van het PWM-signaal: Na de AAN-fase van het PWM-signaal volgt een demagnetisatieperiode in de UIT-fase; daarna genereert de motor een EMF-spanning die evenredig is met de snelheid. Deze spanning wordt via spanningsdeler R4/R5 toegevoerd aan de ADC2 A-to-D converter van de microcontroller. R5 moet zo worden gedimensioneerd dat de spanning op ADC2 niet hoger kan worden dan 5 V.

brushed table1.png

De gewenste snelheid wordt ingesteld door een potentiometer of een externe spanning van 0...5 V op X3, en wordt naar ADC1 van de microcontroller gestuurd. Diode D1 is absoluut noodzakelijk omdat wanneer de stuurspanning wordt uitgeschakeld, de inductie van de motor ontlaadt, wat resulteert in een negatieve spanningspiek die D1 begrenst tot ongeveer 0,7 V. Figuur 8 toont de lay-out van de print voor de motorbesturing met EMF-meting; de benodigde componenten staan vermeld in de Componentenlijst.

brushed fig8.png
Figuur 8: Voorstel voor een print lay-out voor de EMF-regeling.

Software I

De software voor de ATtiny45 is geschreven in BASCOM. De controller werkt intern op 8 MHz. Timer0 werkt als een PWM-timer in de modus Phase Correct PWM Timer. Met een prescaler van N = 64 is de PWM-frequentie:

brushed eq1.png

Bij 8 MHz resulteert dit in een frequentie van 245 Hz. De pulsbreedte wordt via register PWM0A ingesteld tussen 0 en 255.

Afhankelijk van het motortype kan het nodig zijn de prescaler in te stellen op 256, bijvoorbeeld als de inductiefase langer is dan of even lang is als de uitschakelfase. Dit resulteert in een PWM-frequentie van ongeveer 60 Hz.

In de hoofdprogrammalus wordt de spanning voor het gewenste toerental ingelezen bij ADC1. De werkelijke waarde voor het toerental wordt ingelezen bij ADC2 tijdens de uit-fase (Pwm_Pin=0). Deze worden bij elkaar opgeteld. Wanneer de motor weer wordt ingeschakeld, wordt het gemiddelde van de werkelijke waarde berekend.

Om de PI-regelaar te implementeren, is er de constante Ti (integratietijd), samen met de tijdconstante van Timer1 en Kp (proportionele versterking), die moeten worden aangepast aan de gebruikte motor. De interrupttijd van Timer1 wordt ingesteld met het register TCCR1:

brushed table2.png

Als Ti is verstreken (Timer1-Interrupt × Ti), wordt de snelheidsafwijking berekend, opgeteld bij de vorige waarde (rekening houdend met het teken) en vermenigvuldigd met Kp. Het resultaat wordt direct uitgevoerd als de nieuwe inschakelduur.

Regeling met RI-compensatie

Een andere praktische oplossing kan de zogenaamde RI-compensatie zijn. Zoals aan het begin vermeld, wordt de snelheidsschommeling van een gelijkstroommotor veroorzaakt door de ohmse weerstand van de wikkeling. Als de stroom door de motor wordt gemeten, kan deze weerstand worden gecompenseerd. Hiervoor hoeft alleen de spoelweerstand van de motor bekend te zijn, die eenvoudig kan worden gemeten.

The motor control with RI compensation
Figuur 9: De motorregeling met RI-compensatie verschilt slechts in één detail.

De schakeling in Figuur 9 is hetzelfde als die in Figuur 6, behalve dat de motorstroom wordt gemeten als spanningsval over R5. R5 moet zo gedimensioneerd worden dat er maximaal 0,5 V over R5 staat bij maximale motorstroom. De vermogensdissipatie in Watt moet gelijk zijn aan R5 × motorstroom in het kwadraat. Figuur 10 toont de lay-out voor de motorbesturing met RI-compensatie.

PCB for the control with RI compensation.
Figuur 10: Voorgestelde print lay-out voor de regeling
met RI-compensatie.

Software II

De software voor de RI-compensatie is ook geschreven in BASCOM. Timer0 is geconfigureerd als een PWM-timer met een frequentie van 245 Hz. In tegenstelling tot de EMF-regeling is de regeling hier ontworpen als een pure P-regelaar. Hiervoor moeten de spoelweerstand van de motor en de voedingsspanning bekend zijn en als constanten RM en U0 in het programma worden gespecificeerd.

De motorstroom wordt nu gemeten tijdens de inschakelfase van het PWM-signaal. De effectieve waarde van de stroom wordt berekend uit de inschakelduur:

brushed eq2.png

De dutycycle wordt dan verhoogd met de overeenkomstige waarde.

Twee opties

Er zijn verschillende manieren om een gelijkstroommotor aan te sturen zonder tachogenerator. Elk van deze opties heeft verschillende voor- en nadelen:

  • Voor de EMF-regeling is een PI-regelaar nodig, waarvan de parameters moeten worden aangepast aan de gebruikte motor om de over- en onderschrijding te optimaliseren. Hiervoor worden spanningsfluctuaties in de voedingsspanning gecompenseerd.
  • Met RI-compensatie zijn er geen overshoots of undershoots, maar spanningsschommelingen in de voedingsspanning worden niet gecompenseerd.

De schema's, lay-outs en software voor beide controllers kunnen worden gedownload van de Elektor Labs projectpagina op .

Brushed DC motor article - components

Vragen of opmerkingen?

Heeft u vragen of opmerkingen over dit artikel? Stuur een e-mail naar Elektor via redactie@elektor.com.


Dit artikel ( 200486-03) is verschenen in de Elektor Jan/Feb 2025 Bonus Edition.


Inschrijven
Schrijf u in voor tag alert e-mails over DC motor!