Tutorial · Gevorderd · 35 min

Hoe kies je een DC-reductiemotor: koppel, RPM en vastlopen

Dimensioneer de aandrijfmotoren op massa en wielen: krachtenbudget, koppel-snellijn en waarom een kwart van het vastloopkoppel het getal is om op te mikken.

Inleiding

Een motordatasheet vertelt je wat de motor doet. Hij kan je niet vertellen wat jouw robot nodig heeft, en dat zijn verschillende vragen die in verschillende eenheden worden beantwoord — de ene in kgf·cm en RPM, de andere in kilogram en meter per seconde.

De meeste eerste robots slaan de brug tussen beide over. Je koopt de motor die in de kit zat, en op het tapijt ontdek je of het de juiste was. Dat werkt vaak genoeg om als methode te voelen, en het faalt stilzwijgend op het moment dat de robot zwaarder wordt, de wielen groter worden, of de vloer geen bureau meer is.

De rekenkunde die de twee verbindt kost ongeveer tien minuten. Deze pagina loopt haar van begin tot eind door op één concrete robot, en laat daarna zien waar op de koppel-toetsnellijn van de datasheet dat antwoord belandt — en waarom de plek waar je wilt belanden nergens in de buurt van het midden ligt.

Begin bij kracht, niet bij koppel

Een motor wordt gespecificeerd in koppel. Een robot is een massa op wielen. Kracht is de grootheid die de twee verbindt, dus reken eerst de kracht uit en converteer één keer, aan het einde.

Je moet drie krachten overwinnen, en je telt ze op omdat het worst case alle drie tegelijk is:

Rolweerstand — de wielen, lagers en de vloerstructuur die je de hele tijd tegenhouden.

F_roll = C_rr · m · g

Helling — een drempelstrip, een oprit, een deurdrempel. Uitgedrukt als hellingspercentage:

F_grade = m · g · sin(atan(grade))

Acceleratie — op snelheid komen, de kracht die mensen vergeten en zich daarna afvragen waarom de robot bij constante snelheid prima is en bij het vertrek traag.

F_accel = m · a

Neem een typische 2WD-hobbyrobot: 0,8 kg totaal (acrylaat onderstel, Arduino, driverbord, vier AA-cellen, sensoren), 65 mm wielen, gewenste topsnelheid 0,5 m/s, acceleratie 0,5 m/s², op een helling van 10%, met een rolweerstandscoëfficiënt van 0,05.

Kracht Berekening Resultaat
Rol 0,05 × 0,8 × 9,81 0,392 N
Helling (10% ≈ 5,71°) 0,8 × 9,81 × sin 5,71° 0,781 N
Acceleratie 0,8 × 0,5 0,400 N
Totaal 1,573 N

C_rr is het zachte getal daarin. Hard rubber op een gladde vloer zit dichter bij 0,02; schuimwielen op tapijt kunnen 0,10 halen. Komt het antwoord uit in de buurt van de limiet van een motor, twist dan niet over de coëfficiënt — hang een veerschaal aan het onderstel en trek er bij wandelsnelheid aan. De aflezing is F_roll, en het kost twee minuten.

Kracht wordt koppel bij de wielstraal

T_total = F · r

Met r = 32,5 mm is dat 1,573 × 0,0325 = 0,0511 N·m voor alle aangedreven wielen samen. Twee aangedreven wielen delen dat, dus 0,0256 N·m elk. Deel vervolgens door het overbrengingsrendement — noem het 0,70 voor een kunststof tandwieloverbrenging, 0,85 voor een metalen:

T_per_motor = 0.0256 / 0.70 = 0.0365 N·m

Hobbydatasheets staan vrijwel nooit in N·m, dus reken om naar de eenheid die je straks echt leest:

Eenheid Vermenigvuldig N·m met Onze 0,0365 N·m
kgf·cm 10,197 0,372 kgf·cm
gf·cm 10197 3720 gf·cm
N·mm 1000 36,5 N·mm
oz·in 141,6 5,17 oz·in

Er komen meer dimensioneringsfouten uit deze tabel dan uit enige natuurkunde. Een advertentie die “1,5 kg·cm” zegt en een die “1,5 N·m” zegt verschillen met een factor 68, en beide staan op dezelfde verkooppagina.

De snelheidshelft is makkelijker

Snelheid is één deling. De wielomtrek is π × 65 mm = 204,2 mm per omwenteling, dus:

RPM = v / circumference × 60 = 0.5 / 0.2042 × 60 = 147 RPM

Draai dat nu om, want dat is de controle die de meest voorkomende verkeerde aankoop opvangt. Een reductiemotor met 1000 RPM — een getal dat op een productpagina als “krachtig” leest — zet diezelfde wielen op 3,40 m/s, oftewel 12,3 km/u. Niets in een lijnvolger wil dat. Erger: het bruikbare deel van je PWM-bereik klapt in tot het onderste tiende van de schaal, dus elke stap die je regelaar kan geven is een grote sprong in snelheid en fijne correctie wordt onmogelijk.

Voor een robot die een lijn of een muur volgt, is te snel een lastiger probleem dan te langzaam.

Waar dat belandt op de koppel-toetsnellijn

Een gelijkstroommotor met borstels ruilt bij een vaste spanning koppel tegen snelheid langs een rechte lijn: volle snelheid bij nul koppel, nul snelheid bij vastloopkoppel. Twee getallen uit de datasheet — het toerental onbelast en het vastloopkoppel — bepalen de hele zaak.

Twee grafieken boven elkaar met koppel in kilogramkrachtcentimeter op de horizontale as. De bovenste grafiek toont het toerental van de uitgaande as in een rechte lijn dalen van 200 RPM bij nul koppel naar nul RPM bij 1,5 kilogramkrachtcentimeter vastloopkoppel, met een bedrijfspunt gemarkeerd op 0,37 kilogramkrachtcentimeter en 150 RPM binnen een gearceerde band. De onderste grafiek toont het rendement als een kromme die piekt bij 28 procent van het vastloopkoppel binnen dezelfde gearceerde band, en het nuttig vermogen als een stippellijn die veel later piekt, bij 50 procent van het vastloopkoppel.
Een reductiemotor van 200 RPM en 1,5 kgf·cm. Onze robot heeft 0,372 kgf·cm nodig, dat is 24,8% van het vastloopkoppel en zet hem op 150 RPM — ruim boven de 147 RPM die het snelheidsdoel vroeg, en vrijwel precies op het rendementsmaximum. SVG downloaden

Daarmee sluit het hele selectieproces zich: een alledaagse gele TT-reductiemotor is het juiste onderdeel voor deze robot, en nu weet je waarom in plaats van dat het in de doos zat.

Waarom een kwart van het vastloopkoppel, en niet de helft

Het advies dat je tegenkomt is “dimensioneer op ongeveer een kwart van het vastloopkoppel”. Het wordt meestal geformuleerd als vuistregel. Dat is het niet — dat is waar het rendementsmaximum zit, en dat kun je afleiden.

De stroom stijgt lineair met het koppel, van de nullaststroom I₀ naar de vastloopstroom I_s, terwijl de snelheid lineair naar nul daalt. Het nuttig vermogen is koppel × snelheid en het opgenomen vermogen is spanning × stroom, dus met x = T / T_stall en k = I₀ / (I_s − I₀):

η  ∝  x(1 − x) / (x + k)

Differentiëren, op nul stellen, en het maximum ligt bij:

x* = −k + √(k² + k)
Nullaststroom als fractie van de vastloopstroom Rendement piekt bij
0,10 24,0% van het vastloopkoppel
0,15 27,9% van het vastloopkoppel
0,20 30,9% van het vastloopkoppel

Hobbyreductiemotoren zitten in dat bereik, dus “een kwart tot een derde van het vastloopkoppel” is het antwoord voor vrijwel allemaal. Het maximale vermogen zit daarentegen altijd exact bij 50% van het vastloopkoppel — en dat is een slechte plek om te draaien. Bij de helft van het vastloopkoppel trek je continu ongeveer de helft van de vastloopstroom, het meeste extra is I²R-verhitting in de wikkelingen, en een kleine motor heeft nergens heen te gaan. Motoren die op maximaal vermogen zijn gedimensioneerd worden warm en blijven warm.

De andere helft van het argument is reserve. Op 25% van het vastloopkoppel houd je een factor vier in reserve, en dat is wat de robot over de drempelstrip, uit de hoek waarin hij zichzelf heeft vastgezet, en de oprit op krijgt waar je niet voor hebt ontworpen. Bij een kleine robot is die reserve vaak sowieso onbereikbaar — wrijving raakt op lang voordat de motoren dat doen, dus de kracht die je werkelijk kunt leveren is µ keer het gewicht op de aangedreven wielen en niet iets uit de datasheet.

De overbrengingsverhouding beweegt beide getallen tegelijk

Dit is de knop, en het is een wip, geen draaiknop:

output torque  =  motor torque × ratio × efficiency
output speed   =  motor speed  ÷ ratio

Halveer de verhouding en je verdubbelt de snelheid en halveert het koppel. Er is geen stand die je meer van beide geeft, en geen accuupgrade dat daar een alternatief voor is — een hogere spanning verhoogt zowel het toerental onbelast als het vastloopkoppel, maar verhoogt stroom en warmte mee, en verandert de vorm van de afweging niet.

Op 65 mm-wielen, aangedreven op 6 V:

Reductiemotor Uitgang onbelast Topsnelheid Past bij
TT 1:48 ~200 RPM 0,68 m/s algemene 2WD, lijnvolgers
N20 1:100 ~200 RPM 0,68 m/s dezelfde snelheid, veel minder speling
N20 1:298 ~65 RPM 0,22 m/s voorzichtige, zware of klimmende robots
N20 1:30 ~600 RPM 2,04 m/s alleen lichte raceonderstellen

Geeft de rekenkunde je een snelheid die je wilt en een koppel dat je niet kunt halen, dan is de oplossing een hogere verhouding en een kleiner wiel — beide vermenigvuldigen het koppel bij de grond.

De stroom die je driver moet overleven

Koppel dimensioneren is niet het einde van het werk, want het getal dat de driver moet overleven is niet de bedrijfsstroom. Het is de vastloopstroom, en die haal je elke keer dat de robot vanuit stilstand start, plus elke keer dat een wiel tegen een muur vastloopt.

Een TT-reductiemotor op 6 V trekt bij belasting ongeveer 200 mA en rond 1 A bij vastlopen. Twee ervan zijn 2 A in het worst case, boven op wat de regelaar en de sensoren opnemen.

  • Een L298N verwerkt 2 A per kanaal, wat het dekt — maar hij verbrandt ongeveer 2 V over zijn uitgangstrap als warmte, dus een 6 V-pakket levert ongeveer 4 V aan de motor en elk getal op de datasheet schaalt daarmee mee omlaag.
  • Een TB6612FNG doet dezelfde taak met MOSFETs op 1,2 A continu en 3,2 A piek per kanaal, en houdt de volts die een klein pakket niet kan missen.

Dimensioneer het accupakket ook op het vastloopgeval. Een pakket dat inzakt onder 2 A laat de microcontroller midden in de beweging brown-outten, en het symptoom lijkt precies op een softwarecrash.

Controleer dit voor je koopt

  • Bij welke spanning staat de datasheet? Dezelfde motor heeft op 3 V en op 6 V twee volstrekt verschillende lijnen. Koppel het getal aan je werkelijke pakket onder belasting, niet aan het label.
  • Is dat toerental vóór of voorbij de overbrenging? Het toerental op de uitgaande as is wat je wilt. Het toerental op de motoras gedeeld door de verhouding is wat je krijgt.
  • Past de as bij je wielen? Een 3 mm D-as en een 4 mm zeskant zijn niet uitwisselbaar, en adapters voegen speling toe.
  • Hoe monteer je hem? Beschikbaarheid van beugels bepaalt meer hobbybouws dan het koppel.
  • Moet je weten hoe ver hij gedraaid is? Koop dan nu de versie met encoder. Achteraf inbouwen is lastiger dan het klinkt.

Het gaat mis

Symptoom Meestal
Robot beweegt op de werkbank, loopt vast op tapijt rolweerstand onderschat; meet C_rr met een veerschaal
Prima op snelheid, traag vanaf stilstand acceleratiekracht weggelaten uit het budget
Motoren worden warm na een paar minuten draaien rond het maximale vermogen (~50% van het vastloopkoppel) in plaats van rond het maximale rendement
Eén motor veel langzamer dan de andere niet de motor — spanningsval in de driver, of een wiel dat op zijn montage vastloopt
Robot is onhoudbaar snel bij 20% PWM overbrengingsverhouding te laag voor de wielmaat; al je resolutie zit onderaan
Bord reset telkens als de robot gaat rijden vastloopstroom laat een gedeelde voeding inzakken; scheid de motorrail
Koppelgetal lijkt 68× te mooi kgf·cm gelezen als N·m

Het punt van dit op papier uitrekenen is dat alle zeven van die rijen goedkoper te vermijden dan te diagnosticeren zijn. Zodra de motor gekozen is, is de volgende vraag hoe je hem aanstuurt zonder een sprong te vragen die hij niet kan leveren — dat is bewegingsprofilering — en hoeveel van de beweging die je commando’s gaf daadwerkelijk het wiel bereikt, en dat is speling in de overbrenging.

Verken de graaf

Onderdeel van deze bouwprojecten

Projecten en leerroutes waarin deze tutorial voorkomt.

Verder lezen

Bronnen