Jeg ser etter en ligning for å finne tiden det tar for en posisjonsforskyvning skal skje, gitt kjent $ V_ {max} $, en (kjent) konstant akselerasjon, retardasjon, rykk og forskyvning … og en innledende hastighet på 0.

Jeg prøver å estimere / beregne tiden det tar for en servomotorakse å bevege seg en viss avstand. Når jeg vet beregnet tid for det trekket, kan jeg løse for rykk for den andre aksen. På den måten velger jeg en optimal «langsom» hastighet for hvilken aksen har kortere bevegelsesavstand for å utnytte tiden min maksimalt.

FYI, dette er en XY robotportal.

Kommentarer

  • Forutsatt at $ \ Delta x = (a / 2) * t ^ 2 + (j / 6) * t ^ 3 $, er det å finne t det samme som å løse en kubisk ligning
  • Takk, jeg ' Jeg begynner med det og ser hva jeg kommer opp med th.
  • Hvis du er enig i ligningen jeg gir ovenfor, og hvis du har problemer, vil jeg prøve å gi deg et fullstendig svar.
  • Kult. Takk. Så … jeg gjør et trekk med parametere:
  • Ups. Repost: Jeg gjør et trekk med parametere: Vmax = 1000 mm / s, accel = 1000mm / s ^ 2, decel = 1000mm / s ^ 2, Jerk = 1000 mm / s ^ 3, og forskyvningen er 2000mm. Jeg har tidsbestemt dette trekket på rundt 4,0 sekunder, så det burde være svaret, men jeg må få ligningen som resulterer i dette for forskjellige inngangsvariabler. (merk accel og decel er ikke nødvendigvis det samme). Takk for at du så på det, jeg er litt utenfor ligaen min på matematikken.

Svar

Jeg gi deg resultatet av beregningen min uten detaljene:

Resultatet er:

$$ \ Delta t = \ frac {\ Delta x} {V_ {Max}} + \ frac {1} {2} (\ frac {V_ {Max}} {a} + \ frac {a} {j}) + + \ frac {1} {2} (\ frac {V_ {Max}} {d } + \ frac {d} {j}) $$

hvor:

$ \ Delta t $ er den totale tiden.

$ \ Delta x $ er den totale forskyvningen.

$ a $ er maksimal akselerasjon.

$ d $ er maksimal dekelerasjon.

$ j $ er rykk.

$ V_ {max} $ er maksimal hastighet.

Som en test, med verdiene dine:

$ \ Delta x = 2 m, a = 1m / s ^ 2, d = 1m / s ^ 2, j = 1 m / s ^ 3, V_ {max} = 1m / s $, finner jeg:

$$ \ Delta t = \ frac {2} {1} + \ frac {1} {2} (\ frac {1} {1} + \ frac {1} {1}) + + \ frac {1} {2} (\ frac {1 } {1} + \ frac {1} {1}) = 2 + 1 + 1 = 4 $$

som er riktig resultat.

Så jeg er ganske trygg på formelen.

[EDIT] Formelen for å få rykk er:

$$ j = \ frac {a + d} {2 (\ Delta t – \ large \ frac {\ Delta x} {\ large V_ {max}}) – V_ {max} (\ large \ frac {1} {a} + \ large \ frac {1} {d})} $$

[EDIT 2]

Den brukte modellen er:

Fase 1: konstant ( positiv) rykk $ j $

Fase 2: konstant akselerasjon $ a $

Fase 3: konstant (negativ) rykk ($ – j $)

Fase 4: konstant hastighet $ V_ {Maks} $

Fase 5: konstant (negativ) rykk ($ – j $)

Fase 6: konstant decelerasjon ($ d $)

Fase 7: konstant (positiv) rykk ($ j $)


I formlene ovenfor er det begrensninger, nærmere bestemt varigheten av fasene 2, 4, 6 må vær positiv:

$$ \ Delta t_2 = \ frac {V_ {Max}} {a} – \ frac {a} {j} \ ge 0 $$
$$ \ Delta t_4 = \ frac {\ Delta x} {V_ {Max}} – \ frac {1} {2} (\ frac {V_ {Max}} {a} + \ frac {a} {j}) – \ frac {1} {2} (\ frac {V_ {Max}} {d} + \ frac {d} {j}) \ ge 0 $$
$$ \ Delta t_6 = \ frac {V_ {Max}} {d} – \ frac {d} {j} \ ge 0 $$

Hvis en av disse begrensningene ikke er oppfylt, betyr dette at hypotesen som er tatt for modellen ikke er i nt, så vi trenger en annen modell.

Kommentarer

  • TAKK! Jeg setter pris på tiden du brukte på å hjelpe meg. Jeg ' Flytter det til PLS og ser hvordan det går. Jeg må fremdeles finne ut av å løse j når delta T er kjent, men jeg kan nok klare det. Fortsett det gode arbeidet.
  • Her er PLC-beregningen for tiden som du nevnte ovenfor: fMoveTime_s := (fDeltaPos_M / fVMax_M) + (0.5)*( (fVMax_M / fAccel_M) + (fAccel_M / fJerk_M) )+ (0.5)*( (fVMax_M / fDecel_M) + (fDecel_M / fJerk_M) );
  • NO, din første formel for rykk er ikke riktig. Jeg redigerte svaret for riktig formel. Den siste formelen din (for tiden) virker riktig. Hva er forresten PLC?
  • Ja, du har rett. Jeg fjernet den kommentaren. Riktig PLC-kode for å finne Jerk bør være: fJerkCalc := (fAccel_M + fDecel_M) / ( ( 2 * (fMoveTime_S - (fDeltaPos_M / fVMax_M))) - (fVMax_M * ((1/fAccel_M)+(1/fDecel_M)) ) );
  • PLC er en ' programmerbar logikkontroller ', i utgangspunktet en mikrokontroller eller sanntidscomputer for industriell bruk. Jeg ' bruker den til å koordinere og kontrollere en 4-akset plukke og plassere robot. Jeg ' er veldig nær å ha det riktig, men noe er fremdeles av bare et eller annet sted .. Formlene virker imidlertid bra.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *