sheen.bot-logo

Insigte

Waarom jou tweewielrobot nie reguit ry nie

20 Aug. 2026·Sheen Robotics
Waarom jou tweewielrobot nie reguit ry nie

Identiese motors draai nie teen identiese spoede nie. Hier is waarom hardgekodeerde kraginstellings misluk en hoe om wielenkodeerders vir werklike reguitlynvolging te gebruik.

Wanneer jy 'n 100%-dienssiklussein na twee identiese GS-motors op 'n differensiaalaandrywingsrobot stuur, swenk die robot byna altyd na links of regs. Dit gebeur omdat twee massavervaardigde GS-motors nooit elektries of meganies identies is nie, en klein verskille in interne wrywing, magneetsterkte en wielgreep lewer verskillende rotasiespoede vir presies dieselfde elektriese inset.

In 'n klaskamer of kompetisiewerkswinkel is hierdie afdrywing een van die eerste frustrerende hindernisse wat leerders teëkom. Om te verstaan waarom dit gebeur — en waarom vinnige sagtewarekulle dit nie oplos nie — is die brug tussen speelgoedrobotika en werklike ingenieurswese.

Die anatomie van motorvariasie

Klein gelykstroom- (GS-) ratmotors, veral die geel hobbymotors wat algemeen in opvoedkundige stelle voorkom, word teen los vervaardigingstoleransies gebou. Verskeie mikroskopiese verskille waarborg dat Motor A anders as Motor B sal optree:

  • Spoelwikkeling en interne weerstand: Die koperdraad wat om die anker gewikkel is, wissel effens in lengte en spanning, wat klein verskille in weerstand en teen-EMK (elektromotoriese krag) skep.
  • Permanente magneetsterkte: Gesinterde ferrietmagnete het klein variasies in magnetiese vloeddigtheid, wat die wringkraguitset verander.
  • Borselkontakwrywing: Meganiese borsels druk teen die kommutator met wisselende veerspanning, wat ongelyke sleur byvoeg.
  • Ratkastoleransies: Die veelstadium-reguitratkaste wat aan hierdie motors gekoppel is, ervaar wisselende vlakke van wrywing na gelang van tandprofielkonsekwentheid, asbelyning en interne smeermiddelverspreiding.

Selfs buite die motor self vererger meganiese faktore die probleem. As een rubberband 0,5 mm verder op 'n velling sit, verander die effektiewe rolradius daarvan. As die robot se batteryhouer 10 mm links van die middellyn sit, ervaar die linkerwiel groter normaalkrag en groter rolweerstand. Die gevolg is 'n asimmetriese aandrywingsbasis.

Waarom hardgekodeerde 'trims' altyd misluk

Die intuïtiewe reaksie van 'n leerder is om die motors met die hand in kode te balanseer:

// The standard beginner workaround
motorLeft.setSpeed(255);
motorRight.setSpeed(238); // trim down the faster motor

Dit staan bekend as ooplusbeheer: jy stuur 'n opdrag en aanvaar dat die werklike uitset by die versoek pas sonder om die resultaat na te gaan. 'n Handmatige trim mag dalk die robot drie meter reguit laat ry op 'n gladde linoleumvloer met 'n vars stel batterye, maar dit val betroubaar uitmekaar onder werklike toestande:

  • Battery-ontladingskrommes: Namate die batteryspanning oor 'n les van 45 minute daal, skaal GS-motors nie hul spoedverliese lineêr nie. 'n Trim wat teen 8,2 V gekalibreer is, sal na een kant trek sodra die pak tot 7,4 V daal.
  • Veranderings in oppervlakwrywing: Om van gladde laboratoriumteëls na kommersiële kortpooltapyt te beweeg, verander die rolweerstand ongelyk oor albei bande.
  • Termiese veranderings: Namate ratkaste en motorwikkelinge tydens deurlopende gebruik warm word, daal die interne wrywing, wat die spoedverhouding tussen die twee kante verskuif.

Die oplossing: geslotelusterugvoer met enkodeerders

Om 'n robot in 'n reguit lyn te laat ry ongeag batteryspanning of oppervlaktekstuur, moet die mikrobeheerder in reële tyd meet wat die wiele werklik doen. Dit verg geslotelusbeheer.

Die eenvoudigste manier om dit te bereik, is met roterende wielenkodeerders. 'n Enkodeerder bestaan uit 'n sensor (gewoonlik 'n optiese onderbreker of 'n Hall-effek-magneetsensor) en 'n roterende element wat aan die motoras of wiel gekoppel is ('n gegleufde skyf of 'n veelpolige magneetring). Elke keer as die wiel draai, gee die sensor 'n puls.

BeheerbenaderingMeganismeGedrag met 'n lae batteryGedrag op 'n nuwe oppervlak
Ooplus (vaste PWM)Aanvaar identiese motorsDryf onvoorspelbaar afDryf onvoorspelbaar af
Ooplus (hardgekodeerde trim)Verskuif een motor met die handVerloor kalibrasieVerloor kalibrasie
Geslotelus (enkodeerderterugvoer)Verstel krag dinamies op grond van gemete wieltikkeBehou 'n reguit koersBehou 'n reguit koers

Die implementering van proporsionele spoedbeheer

Jy het nie 'n gevorderde agtergrond in calculus nodig om 'n werkende geslotelusbeheerder te implementeer nie. 'n Basiese proporsionele (P) beheerlus wat elke 50 tot 100 millisekondes loop, is genoeg vir klaskamerrobotika.

In plaas daarvan om rou motorkrag te beveel, meet jou program wielomwentelinge oor 'n vaste tydgreep en verstel die krag om die verskil uit te skakel:

  1. Tel die enkodeerderpulse op albei wiele oor 'n vaste venster (byvoorbeeld elke 50 ms).
  2. Bereken die fout: error = leftTicks - rightTicks.
  3. As error > 0, draai die linkerwiel vinniger as die regterwiel. Verlaag die linkermotor se PWM effens, verhoog die regtermotor se PWM effens, of pas 'n regstellingsfaktor toe wat proporsioneel is aan die grootte van die fout: correction = error * Kp (waar Kp 'n gestemde aanwinskonstante is).
  4. Stel die tiktellers terug en herhaal.

As jy jou eie klaskamerkurrikulum bou of hardewareplatforms aanskaf, spaar dit dosyne ure se leerderfrustrasie om stelle te kies wat mikrobeheerders met hardeware-onderbrekingsvermoë en geïntegreerde magneetenkodeerders insluit — soos die modulêre ekosisteme wat op platforms soos Sheen Canvas of die robotikaplatforms onder Infinity ondersteun word. Dit skuif die leerfokus weg van 'n stryd teen meganiese gebreke na die bemeestering van sensorterugvoer en beheerteorie.

Die kernboodskap

Meganiese onvolmaakthede is nie gebreke wat met tydelike sagtewarelappies weggesteek moet word nie; hulle is die fundamentele werklikheid van fisiese rekenaarwerk. Om leerders te leer om werklike motoruitset met enkodeerders en geslotelusalgoritmes te meet, verander 'n algemene bron van werkswinkelfrustrasie in 'n toeganklike, praktiese les in werklike beheerstelsels.

#robotika#motors#PID-beheer#STEM-onderwys#elektronika

Meer Insigte