Ik zoek een vergelijking om de tijd te vinden die nodig is voor een positieverplaatsing plaatsvindt, gegeven bekende $ V_ {max} $, een (bekende) constante versnelling, vertraging, schok en verplaatsing … en een beginsnelheid van 0.

Ik probeer te schatten / bereken de tijd die een servomotor-as nodig heeft om een bepaalde afstand af te leggen. Zodra ik de geschatte tijd van die beweging weet, kan ik de schok voor de andere as oplossen. Op die manier kies ik een optimaal lage snelheid voor as heeft een kortere verplaatsingsafstand om het maximale uit mijn tijd te halen.

Ter info, dit is een pick-and-place XY-robotportaal.

Opmerkingen

  • Aannemende dat $ \ Delta x = (a / 2) * t ^ 2 + (j / 6) * t ^ 3 $, het vinden van t hetzelfde is als het oplossen van een kubieke vergelijking
  • Bedankt, ik ' zal daarmee beginnen en kijken wat ik bedenk met th.
  • Als je het eens bent met de vergelijking die ik hierboven geef, en als je problemen hebt, zal ik proberen je een volledig antwoord te geven.
  • Cool. Bedankt. Dus … ik doe een zet met parameters:
  • Oeps. Repost: ik doe een zet met parameters: Vmax = 1000 mm / s, versnelling = 1000 mm / s ^ 2, vertraging = 1000 mm / s ^ 2, schok = 1000 mm / s ^ 3, en de verplaatsing is 2000 mm. Ik heb deze beweging getimed op ongeveer 4,0 seconden, dus dat zou het antwoord moeten zijn, maar ik moet de vergelijking krijgen die hierin resulteert voor verschillende invoervariabelen. (merk op dat versnelling en vertraging niet noodzakelijk hetzelfde zijn). Bedankt dat je ernaar hebt gekeken, ik ben een beetje buiten mijn klasse op het gebied van wiskunde.

Antwoord

I geef je het resultaat van mijn calculus zonder de details:

Het resultaat is:

$$ \ 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}) $$

waarbij:

$ \ Delta t $ de totale tijd is.

$ \ Delta x $ is de totale verplaatsing.

$ a $ is de maximale versnelling.

$ d $ is de maximale versnelling.

$ j $ is de eikel.

$ V_ {max} $ is de maximale snelheid.

Als test, met uw waarden:

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

$$ \ 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 $$

wat het juiste resultaat is.

Dus ik heb er alle vertrouwen in de formule.

[EDIT] De formule om eikel te verkrijgen is:

$$ 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]

Het gebruikte model is:

Fase 1: constante ( positief) ruk $ j $

Fase 2: constante versnelling $ a $

Fase 3: constante (negatieve) ruk ($ – j $)

Fase 4: constante snelheid $ V_ {Max} $

Fase 5: constante (negatieve) schok ($ – j $)

Fase 6: constante vertraging ($ d $)

Fase 7: constante (positieve) schok ($ j $)


In de bovenstaande formules zijn er beperkingen, meer bepaald de duur van de fasen 2, 4, 6 moet wees positief:

$$ \ 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 $$

Als niet aan een van deze beperkingen wordt voldaan, betekent dit dat de hypothese die voor het model is genomen, niet klopt nt, dus we hebben een ander model nodig.

Reacties

  • BEDANKT! Ik waardeer de tijd die je hebt besteed om me te helpen. Ik ' verplaats dat naar de PLC en kijk hoe het gaat. Ik moet nog steeds een oplossing vinden voor j als delta T bekend is, maar dat kan ik waarschijnlijk wel redden. Ga zo door met het goede werk.
  • Hier is de PLC-berekening voor de tijd zoals u hierboven vermeldde: 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) );
  • NEE, uw eerste formule voor eikel is niet correct. Ik heb een wijziging aangebracht in het antwoord voor de juiste formule. Uw laatste formule (voor tijd) lijkt correct. Wat is trouwens PLC?
  • Ja, je hebt gelijk. Ik heb die opmerking verwijderd. De juiste PLC-code om Jerk te vinden moet zijn: fJerkCalc := (fAccel_M + fDecel_M) / ( ( 2 * (fMoveTime_S - (fDeltaPos_M / fVMax_M))) - (fVMax_M * ((1/fAccel_M)+(1/fDecel_M)) ) );
  • PLC is een ' programmeerbare logische controller ', in feite een microcontroller of real-time computer voor industrieel gebruik. Ik ' m gebruik het om een 4-assige pick-and-place-robot te coördineren en te besturen. Ik ' heb bijna gelijk, maar er klopt nog iets ergens een beetje .. De formules lijken echter goed.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *