jkuusama / LitePlacer-retired-experiment

3 stars 15 forks source link

Home X crashes machine when position is already close to limit switch #9

Open mrandt opened 9 years ago

mrandt commented 9 years ago

If the machine is already positioned far left when executing "Home X" from "Basic Setup", the machine will crash into the leftmost barrier. It attempts to go beyond and will not stop unless TinyG is reset, although it is tripping the limit switch.

To reproduce:

  1. Go to "Basic Setup" tab
  2. Click "Home X" button
  3. Wait for X axis to be homed
  4. Now click "Home X" again

-> Machine tries to move left and crashes into frame repeatedly until TinyG is reset

I noticed that X-axis always moves to the left slightly before the homing cycle begins - only happens on X-axis, not on Y.

The other axis do not have this issue.

mrandt commented 9 years ago

I think this might be a TinyG problem - it already happened with Juha's original version.

mrandt commented 9 years ago

I double checked - it is definetely not the micro switch as @jkuusama suggested.

But probably TinyG is the problem here. LitePlacer software sends the following command: {"gc":"G28.2 Z0"}

My TinyG then moves gantry about 5mm to the left first before it starts normal homing. If machine is already close to the left boundary, it will crash into the wall.

I will investigate TinyG firmware.

jkuusama commented 9 years ago

My TinyG then moves gantry about 5mm to the left first before it starts normal homing.

Mine doesn't. ??

mrandt notifications@github.com kirjoitti 13.7.2015 kello 12.26:

I double checked - it is definetely not the micro switch as @jkuusama suggested.

But probably TinyG is the problem here. LitePlacer software sends the following command: {"gc":"G28.2 Z0"}

My TinyG then moves gantry about 5mm to the left first before it starts normal homing. If machine is already close to the left boundary, it will crash into the wall.

I will investigate TinyG firmware.

— Reply to this email directly or view it on GitHub.

mrandt commented 9 years ago

Weird. Below are the raw comm messages while homing.

First the working cycle:

Homing X
> {"gc":"G28.2 X0"}
{"r":{},"f":[1,0,18,77]}
{"sr":{"coor":0,"dist":1,"stat":9}}
{"qr":32,"qi":1,"qo":1}
{"qr":31,"qi":1,"qo":0}
{"sr":{"posx":96.228,"feed":2000.00,"vel":2000.00}}
{"sr":{"posx":91.995,"vel":18.59}}
{"sr":{"posx":91.994,"vel":0.00}}
{"qr":32,"qi":0,"qo":1}
{"qr":31,"qi":1,"qo":0}
{"sr":{"posx":87.327,"vel":2000.00}}
{"sr":{"posx":80.827}}
{"sr":{"posx":74.328}}
{"sr":{"posx":67.828}}
{"sr":{"posx":61.328}}
{"sr":{"posx":54.828}}
{"sr":{"posx":48.328}}
{"sr":{"posx":41.828}}
{"sr":{"posx":35.327}}
{"sr":{"posx":28.827}}
{"sr":{"posx":22.161}}
{"sr":{"posx":15.661}}
{"sr":{"posx":9.161}}
{"sr":{"posx":2.661}}
{"sr":{"posx":-3.839}}
{"sr":{"posx":-8.339,"vel":0.16}}
{"qr":31,"qi":1,"qo":0}
{"sr":{"posx":-8.025,"feed":100.00,"vel":100.00}}
{"sr":{"posx":-7.700}}
{"sr":{"posx":-7.367}}
{"sr":{"posx":-7.042}}
{"sr":{"posx":-6.717}}
{"sr":{"posx":-6.392}}
{"sr":{"posx":-6.059}}
{"sr":{"posx":-5.734}}
{"sr":{"posx":-5.409}}
{"sr":{"posx":-5.076}}
{"sr":{"posx":-4.751}}
{"sr":{"posx":-4.427}}
{"sr":{"posx":-4.108,"vel":34.66}}
{"sr":{"posx":-4.104,"vel":0.51}}
{"qr":31,"qi":1,"qo":0}
{"sr":{"posx":-506.006,"feed":2000.00,"vel":0.00}}
{"qr":32,"qi":0,"qo":1}
{"sr":{"posx":0.000,"feed":150.00,"coor":1,"dist":0,"stat":3}}
{"qr":32,"qi":1,"qo":1}
Homing X done.

And here is the same output of a home cycle during which the machine "hit the wall":

Homing X
> {"gc":"G28.2 X0"}
{"r":{},"f":[1,0,18,77]}
{"sr":{"coor":0,"dist":1,"stat":9}}
{"qr":32,"qi":1,"qo":1}
{"qr":31,"qi":1,"qo":0}
{"sr":{"posx":-3.592,"feed":2000.00,"vel":2000.00}}
{"sr":{"posx":-7.983,"vel":0.21}}
{"qr":31,"qi":1,"qo":0}
{"sr":{"posx":-11.983,"vel":2000.00}}
{"sr":{"posx":-18.483}}
{"sr":{"posx":-24.983}}
{"sr":{"posx":-31.483}}
{"sr":{"posx":-37.983}}
{"sr":{"posx":-44.483}}
{"sr":{"posx":-50.983}}
{"sr":{"posx":-57.483}}
{"sr":{"posx":-63.983}}

It suddenly stops because I hit emergency shutdown which cuts power to TinyG. Before, motor skipped many steps while banging into the frame.

What firmware version do you have on TinyG?

Mine shows as: ==> $sys [fb] firmware build 438.02 [fv] firmware version 0.97 [hp] hardware platform 1.00 [hv] hardware version 8.00 [id] TinyG ID 3X3566-SXB

jkuusama commented 9 years ago

Fyi, I'm on vacation right now. I'll investigate this when I get back to my office, two weeks from now. I need to compare to my machine which does not do this. Straight away, I don't see an explanation to the behavior.

-Juha

mrandt notifications@github.com kirjoitti 13.7.2015 kello 16.07:

Weird. Below are the raw comm messages while homing.

First the working cycle: `Homing X

{"gc":"G28.2 X0"} {"r":{},"f":[1,0,18,77]} {"sr":{"coor":0,"dist":1,"stat":9}} {"qr":32,"qi":1,"qo":1} {"qr":31,"qi":1,"qo":0} {"sr":{"posx":96.228,"feed":2000.00,"vel":2000.00}} {"sr":{"posx":91.995,"vel":18.59}} {"sr":{"posx":91.994,"vel":0.00}} {"qr":32,"qi":0,"qo":1} {"qr":31,"qi":1,"qo":0} {"sr":{"posx":87.327,"vel":2000.00}} {"sr":{"posx":80.827}} {"sr":{"posx":74.328}} {"sr":{"posx":67.828}} {"sr":{"posx":61.328}} {"sr":{"posx":54.828}} {"sr":{"posx":48.328}} {"sr":{"posx":41.828}} {"sr":{"posx":35.327}} {"sr":{"posx":28.827}} {"sr":{"posx":22.161}} {"sr":{"posx":15.661}} {"sr":{"posx":9.161}} {"sr":{"posx":2.661}} {"sr":{"posx":-3.839}} {"sr":{"posx":-8.339,"vel":0.16}} {"qr":31,"qi":1,"qo":0} {"sr":{"posx":-8.025,"feed":100.00,"vel":100.00}} {"sr":{"posx":-7.700}} {"sr":{"posx":-7.367}} {"sr":{"posx":-7.042}} {"sr":{"posx":-6.717}} {"sr":{"posx":-6.392}} {"sr":{"posx":-6.059}} {"sr":{"posx":-5.734}} {"sr":{"posx":-5.409}} {"sr":{"posx":-5.076}} {"sr":{"posx":-4.751}} {"sr":{"posx":-4.427}} {"sr":{"posx":-4.108,"vel":34.66}} {"sr":{"posx":-4.104,"vel":0.51}} {"qr":31,"qi":1,"qo":0} {"sr":{"posx":-506.006,"feed":2000.00,"vel":0.00}} {"qr":32,"qi":0,"qo":1} {"sr":{"posx":0.000,"feed":150.00,"coor":1,"dist":0,"stat":3}} {"qr":32,"qi":1,"qo":1} Homing X done.`

And here is the same output of a home cycle during which the machine "hit the wall": `Homing X

{"gc":"G28.2 X0"} {"r":{},"f":[1,0,18,77]} {"sr":{"coor":0,"dist":1,"stat":9}} {"qr":32,"qi":1,"qo":1} {"qr":31,"qi":1,"qo":0} {"sr":{"posx":-3.592,"feed":2000.00,"vel":2000.00}} {"sr":{"posx":-7.983,"vel":0.21}} {"qr":31,"qi":1,"qo":0} {"sr":{"posx":-11.983,"vel":2000.00}} {"sr":{"posx":-18.483}} {"sr":{"posx":-24.983}} {"sr":{"posx":-31.483}} {"sr":{"posx":-37.983}} {"sr":{"posx":-44.483}} {"sr":{"posx":-50.983}} {"sr":{"posx":-57.483}} {"sr":{"posx":-63.983}}`

It suddenly stops because I hit emergency shutdown which cuts power to TinyG. Before, motor skipped many steps while banging into the frame.

What firmware version do you have on TinyG?

Mine shows as: ==> $sys [fb] firmware build 438.02 [fv] firmware version 0.97 [hp] hardware platform 1.00 [hv] hardware version 8.00 [id] TinyG ID 3X3566-SXB

— Reply to this email directly or view it on GitHub.

mrandt commented 9 years ago

It is not a serious issue, just a bit annoying.

Enjoy your vacation!

jrcandy commented 3 years ago

Hi, I know it´s been a while but.. were there any further investigations on this issue?

It seems like a tinyg issue, I can't find much help but read that could be due to acceleration, ramping up to speed to hit the switch, as opposed to hitting the switch at 'max seek speed', but it´s very strange behaviour

As per OP, when I try to home "twice", the second one it crashes, when both are really starting from the same point, right next to the switch

Double homing seems to work ok when it´s further away from the switch (so that it can reach seek speed)

But i'm not sure that's the only issue because another unexpected behaviour for me is: G28.2 z0 - homes z ok I can repeat that command a few times and it rehomes Z consistently. Always to and from the same position, very close to the switch Then I send a G28.2 x0 to home X, it homes it ok Then I send a G28.2 Z0 again, and it crashes it against the switch!! why???

hope it gives some clues, but i'm also clueless!! thanks

jkuusama commented 3 years ago

Hi,

This can’t be really fixed, but it can be worked around, kind of. The reason seems to be that TinyG firmware starts to look at the switch only when it is up to speed. And for sure, it starts to decelerate according to the homing speed and acceleration settings. Increase homing acceleration and decrease homing speed. There are combinations that work smoothly. Also, you can increase the backoffs: “xlb” is X latch backoff: How much the machine can move to clear the switch. Big values don’t hurt, the homing stops after the switch is cleared. “xzb” is X zero backoff; how much more the machine backs off after switch is cleared. To read, send text $x. To change, send is $xlb=20 (for example). You can figure out the Y and Z axis. :-)

My current values are xlb=50 (much more than needed, but doesn’t hurt); xzb=2; X homing acc=4000; X homing speed=3000.

From: jrcandy @.> Sent: Tuesday, June 15, 2021 11:52 AM To: jkuusama/LitePlacer-ver2 @.> Cc: Juha Kuusama, LitePlacer Inc @.>; Mention @.> Subject: Re: [jkuusama/LitePlacer-ver2] Home X crashes machine when position is already close to limit switch (#9)

Hi, I know it´s been a while but.. were there any further investigations on this issue?

It seems like a tinyg issue, I can't find much help but read that could be due to acceleration, ramping up to speed to hit the switch, as opposed to hitting the switch at 'max seek speed', but it´s very strange behaviour

As per OP, when I try to home "twice", the second one it crashes, when both are really starting from the same point, right next to the switch

Double homing seems to work ok when it´s further away from the switch (so that it can reach seek speed)

hope it gives a clue, but i'm also clueless!! thanks

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/jkuusama/LitePlacer-ver2/issues/9#issuecomment-861314309, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABDYRZT6JCTYCQC6ZV5RJRDTS4IBNANCNFSM4BK2XQPA.

jrcandy commented 3 years ago

A message from @jkuusama on another forum sheds some light:

That is a firmware bug: TinyG starts to monitor the switches only after the homing sequence is fully started. If the switch triggers while the machine is still accelerating, it is ignored. Increasing homing acceleration and maybe latch backoff and/or homing zero backoff parameter cures it.

To read the latch backoff and/or homing zero backoff parameters, send $_lb or $zb, where is x, y or z. To change, send $xzb=8 (as an example)

While that would help it doesn't fully explain the behaviour I was experiencing (homing Z, ok > homing Z, ok > homing Z ok > Homing X, ok > Homing Z, crash!)

will keep digging, thanks past JuKu!

jkuusama commented 3 years ago

homing Z, ok > homing Z, ok > homing Z ok > Homing X, ok > Homing Z, crash! This is odd, something I’ve not seen before. The previous advice about the parameters holds, but I’d like to see the log of the above.

From: jrcandy @.> Sent: Tuesday, June 15, 2021 12:31 PM To: jkuusama/LitePlacer-ver2 @.> Cc: Juha Kuusama, LitePlacer Inc @.>; Mention @.> Subject: Re: [jkuusama/LitePlacer-ver2] Home X crashes machine when position is already close to limit switch (#9)

A message from @jkuusamahttps://github.com/jkuusama on another forumhttps://www.liteplacer.com/phpBB/viewtopic.php?f=3&t=5959 sheds some light:

That is a firmware bug: TinyG starts to monitor the switches only after the homing sequence is fully started. If the switch triggers while the machine is still accelerating, it is ignored. Increasing homing acceleration and maybe latch backoff and/or homing zero backoff parameter cures it.

To read the latch backoff and/or homing zero backoff parameters, send $_lb or $zb, where is x, y or z. To change, send $xzb=8 (as an example)

While that would help it doesn't fully explain the behaviour I was experiencing (homing Z, ok > homing Z, ok > homing Z ok > Homing X, ok > Homing Z, crash!)

will keep digging, thanks past JuKu!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/jkuusama/LitePlacer-ver2/issues/9#issuecomment-861344316, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABDYRZSK3CA3XM4RODHBHTTTS4MVXANCNFSM4BK2XQPA.

jrcandy commented 3 years ago

Hey Ju, thanks a lot for your reply

My settings are (which by the way I don´t know how to send $$ via Universal Gcode Sender, had to send it via Chilipeppr):

 $$
 {"ej":""}
[fb]  firmware build            440.20
[fv]  firmware version            0.97
[hp]  hardware platform           1.00
[hv]  hardware version            8.00
[id]  TinyG ID                    9U6538-TWK
[ja]  junction acceleration  100000 mm
[ct]  chordal tolerance           0.0100 mm
[sl]  soft limit enable           0
[st]  switch type                 1 [0=NO,1=NC]
[mt]  motor idle timeout          2.00 Sec
[ej]  enable json mode            0 [0=text,1=JSON]
[jv]  json verbosity              4 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
[js]  json serialize style        1 [0=relaxed,1=strict]
[tv]  text verbosity              1 [0=silent,1=verbose]
[qv]  queue report verbosity      1 [0=off,1=single,2=triple]
[sv]  status report verbosity     1 [0=off,1=filtered,2=verbose]
[si]  status interval           250 ms
[ec]  expand LF to CRLF on TX     0 [0=off,1=on]
[ee]  enable echo                 0 [0=off,1=on]
[ex]  enable flow control         1 [0=off,1=XON/XOFF, 2=RTS/CTS]
[baud] USB baud rate              5 [1=9600,2=19200,3=38400,4=57600,5=115200,6=230400]
[net] network mode                0 [0=master]
[gpl] default gcode plane         0 [0=G17,1=G18,2=G19]
[gun] default gcode units mode    1 [0=G20,1=G21]
[gco] default gcode coord system  1 [1-6 (G54-G59)]
[gpa] default gcode path control  2 [0=G61,1=G61.1,2=G64]
[gdi] default gcode distance mode 0 [0=G90,1=G91]
[1ma] m1 map to axis              0 [0=X,1=Y,2=Z...]
[1sa] m1 step angle               1.800 deg
[1tr] m1 travel per revolution    8.0000 mm
[1mi] m1 microsteps               8 [1,2,4,8]
[1po] m1 polarity                 0 [0=normal,1=reverse]
[1pm] m1 power management         2 [0=disabled,1=always on,2=in cycle,3=when moving]
[2ma] m2 map to axis              1 [0=X,1=Y,2=Z...]
[2sa] m2 step angle               1.800 deg
[2tr] m2 travel per revolution    8.0000 mm
[2mi] m2 microsteps               8 [1,2,4,8]
[2po] m2 polarity                 0 [0=normal,1=reverse]
[2pm] m2 power management         2 [0=disabled,1=always on,2=in cycle,3=when moving]
[3ma] m3 map to axis              2 [0=X,1=Y,2=Z...]
[3sa] m3 step angle               1.800 deg
[3tr] m3 travel per revolution    8.0000 mm
[3mi] m3 microsteps               8 [1,2,4,8]
[3po] m3 polarity                 0 [0=normal,1=reverse]
[3pm] m3 power management         2 [0=disabled,1=always on,2=in cycle,3=when moving]
[4ma] m4 map to axis              3 [0=X,1=Y,2=Z...]
[4sa] m4 step angle               1.800 deg
[4tr] m4 travel per revolution  360.0000 mm
[4mi] m4 microsteps               8 [1,2,4,8]
[4po] m4 polarity                 0 [0=normal,1=reverse]
[4pm] m4 power management         2 [0=disabled,1=always on,2=in cycle,3=when moving]
[xam] x axis mode                 1 [standard]
[xvm] x velocity maximum        800 mm/min
[xfr] x feedrate maximum        800 mm/min
[xtn] x travel minimum            -75.000 mm
[xtm] x travel maximum          75.000 mm
[xjm] x jerk maximum             20 mm/min^3 * 1 million
[xjh] x jerk homing             100 mm/min^3 * 1 million
[xjd] x junction deviation        0.0500 mm (larger is faster)
[xsn] x switch min                0 [0=off,1=homing,2=limit,3=limit+homing]
[xsx] x switch max                1 [0=off,1=homing,2=limit,3=limit+homing]
[xsv] x search velocity         500 mm/min
[xlv] x latch velocity          100 mm/min
[xlb] x latch backoff             50.000 mm (just changed these 2 as per your suggestion)
[xzb] x zero backoff              10.000 mm
[yam] y axis mode                 1 [standard]
[yvm] y velocity maximum       2000 mm/min
[yfr] y feedrate maximum        800 mm/min
[ytn] y travel minimum            0.000 mm
[ytm] y travel maximum          260.000 mm
[yjm] y jerk maximum             20 mm/min^3 * 1 million
[yjh] y jerk homing              40 mm/min^3 * 1 million
[yjd] y junction deviation        0.0500 mm (larger is faster)
[ysn] y switch min                0 [0=off,1=homing,2=limit,3=limit+homing]
[ysx] y switch max                1 [0=off,1=homing,2=limit,3=limit+homing]
[ysv] y search velocity         400 mm/min
[ylv] y latch velocity          100 mm/min
[ylb] y latch backoff             5.000 mm
[yzb] y zero backoff              0.000 mm
[zam] z axis mode                 1 [standard]
[zvm] z velocity maximum        800 mm/min
[zfr] z feedrate maximum        800 mm/min
[ztn] z travel minimum            0.000 mm
[ztm] z travel maximum           75.000 mm
[zjm] z jerk maximum             20 mm/min^3 * 1 million
[zjh] z jerk homing              40 mm/min^3 * 1 million
[zjd] z junction deviation        0.0500 mm (larger is faster)
[zsn] z switch min                0 [0=off,1=homing,2=limit,3=limit+homing]
[zsx] z switch max                1 [0=off,1=homing,2=limit,3=limit+homing]
[zsv] z search velocity         200 mm/min
[zlv] z latch velocity          100 mm/min
[zlb] z latch backoff             5.000 mm
[zzb] z zero backoff              0.000 mm
[aam] a axis mode                 3 [radius]
[avm] a velocity maximum     230400 deg/min
[afr] a feedrate maximum     230400 deg/min
[atn] a travel minimum           -1.000 deg
[atm] a travel maximum           -1.000 deg
[ajm] a jerk maximum           5760 deg/min^3 * 1 million
[ajh] a jerk homing           11520 deg/min^3 * 1 million
[ajd] a junction deviation        0.0500 deg (larger is faster)
[ara] a radius value              0.1989 deg
[asn] a switch min                1 [0=off,1=homing,2=limit,3=limit+homing]
[asx] a switch max                0 [0=off,1=homing,2=limit,3=limit+homing]
[asv] a search velocity         600 deg/min
[alv] a latch velocity          100 deg/min
[alb] a latch backoff             5.000 deg
[azb] a zero backoff              2.000 deg
[bam] b axis mode                 0 [disabled]
[bvm] b velocity maximum       3600 deg/min
[bfr] b feedrate maximum       3600 deg/min
[btn] b travel minimum           -1.000 deg
[btm] b travel maximum           -1.000 deg
[bjm] b jerk maximum             20 deg/min^3 * 1 million
[bjd] b junction deviation        0.0500 deg (larger is faster)
[bra] b radius value              1.0000 deg
[cam] c axis mode                 0 [disabled]
[cvm] c velocity maximum       3600 deg/min
[cfr] c feedrate maximum       3600 deg/min
[ctn] c travel minimum           -1.000 deg
[ctm] c travel maximum           -1.000 deg
[cjm] c jerk maximum             20 deg/min^3 * 1 million
[cjd] c junction deviation        0.0500 deg (larger is faster)
[cra] c radius value              1.0000 deg
[p1frq] pwm frequency               100 Hz
[p1csl] pwm cw speed lo            1000 RPM
[p1csh] pwm cw speed hi            2000 RPM
[p1cpl] pwm cw phase lo           0.125 [0..1]
[p1cph] pwm cw phase hi           0.200 [0..1]
[p1wsl] pwm ccw speed lo           1000 RPM
[p1wsh] pwm ccw speed hi           2000 RPM
[p1wpl] pwm ccw phase lo          0.125 [0..1]
[p1wph] pwm ccw phase hi          0.200 [0..1]
[p1pof] pwm phase off             0.100 [0..1]
[g54x] g54 x offset              -0.000 mm
[g54y] g54 y offset               0.000 mm
[g54z] g54 z offset               0.000 mm
[g54a] g54 a offset               0.000 deg
[g54b] g54 b offset               0.000 deg
[g54c] g54 c offset               0.000 deg
[g55x] g55 x offset              75.000 mm
[g55y] g55 y offset              75.000 mm
[g55z] g55 z offset               0.000 mm
[g55a] g55 a offset               0.000 deg
[g55b] g55 b offset               0.000 deg
[g55c] g55 c offset               0.000 deg
[g56x] g56 x offset               0.000 mm
[g56y] g56 y offset               0.000 mm
[g56z] g56 z offset               0.000 mm
[g56a] g56 a offset               0.000 deg
[g56b] g56 b offset               0.000 deg
[g56c] g56 c offset               0.000 deg
[g57x] g57 x offset               0.000 mm
[g57y] g57 y offset               0.000 mm
[g57z] g57 z offset               0.000 mm
[g57a] g57 a offset               0.000 deg
[g57b] g57 b offset               0.000 deg
[g57c] g57 c offset               0.000 deg
[g58x] g58 x offset               0.000 mm
[g58y] g58 y offset               0.000 mm
[g58z] g58 z offset               0.000 mm
[g58a] g58 a offset               0.000 deg
[g58b] g58 b offset               0.000 deg
[g58c] g58 c offset               0.000 deg
[g59x] g59 x offset               0.000 mm
[g59y] g59 y offset               0.000 mm
[g59z] g59 z offset               0.000 mm
[g59a] g59 a offset               0.000 deg
[g59b] g59 b offset               0.000 deg
[g59c] g59 c offset               0.000 deg
[g92x] g92 x offset               0.000 mm
[g92y] g92 y offset               0.000 mm
[g92z] g92 z offset               0.000 mm
[g92a] g92 a offset               0.000 deg
[g92b] g92 b offset               0.000 deg
[g92c] g92 c offset               0.000 deg
[g28x] g28 x position             0.000 mm
[g28y] g28 y position             0.000 mm
[g28z] g28 z position             0.000 mm
[g28a] g28 a position             0.000 deg
[g28b] g28 b position             0.000 deg
[g28c] g28 c position             0.000 deg
[g30x] g30 x position             0.000 mm
[g30y] g30 y position             0.000 mm
[g30z] g30 z position             0.000 mm
[g30a] g30 a position             0.000 deg
[g30b] g30 b position             0.000 deg
[g30c] g30 c position             0.000 deg
tinyg [mm] ok> 
{"Lbs":0}
{"r":{"ej":1},"f":[1,0,10,7782]}

Starting from the leftmost position (in my setup x is positive to left, negative to right), and pressing the limit switch, I send G28.2 x0 via UGS and I get:

>>> g28.2 x0
{"r":{},"f":[1,0,9,4402]}
{"sr":{"stat":9,"dist":1,"coor":0}}
{"sr":{"posx":-0.187,"mpox":-0.200,"vel":162.33}}
{"sr":{"posx":-1.555,"mpox":-1.555,"vel":472.61}}
{"sr":{"posx":-3.542,"mpox":-3.583,"vel":500.00}}
{"sr":{"posx":-5.580,"mpox":-5.580,"vel":491.20}}
{"sr":{"posx":-7.104,"mpox":-7.122,"vel":214.98}}
{"sr":{"posx":-7.417,"mpox":-7.417,"vel":1.11}}
{"sr":{"posx":-7.417,"mpox":-7.417,"vel":0.00}}
{"sr":{"posx":-6.505,"mpox":-6.505,"vel":495.49}}
{"sr":{"posx":-4.465,"mpox":-4.465,"vel":500.00}}
{"sr":{"posx":-2.701,"mpox":-2.701,"vel":189.91}}
{"sr":{"posx":-2.598,"mpox":-2.598,"vel":0.00}}
{"sr":{"posx":-2.898,"mpox":-2.898,"vel":100.00}}
{"sr":{"posx":-3.306,"mpox":-3.306}}
{"sr":{"posx":-3.714,"mpox":-3.714}}
{"sr":{"posx":-4.114,"mpox":-4.114}}
{"sr":{"posx":-4.522,"mpox":-4.522}}
{"sr":{"posx":-4.747,"mpox":-4.747,"vel":0.01}}
{"sr":{"posx":-5.700,"mpox":-5.700,"vel":497.46}}
{"sr":{"posx":-7.734,"mpox":-7.734,"vel":500.00}}
{"sr":{"posx":-9.726,"mpox":-9.726}}
{"sr":{"posx":-11.761,"mpox":-11.761}}
{"sr":{"posx":-13.795,"mpox":-13.795,"vel":498.77}}
{"sr":{"posx":-14.747,"mpox":-14.747,"vel":0.10}}
{"sr":{"posx":150.000,"mpox":150.000,"vel":0.00}}
{"sr":{"posx":0.000,"mpox":0.000,"stat":3,"dist":0,"coor":1}}

which homed it all right. Note it started with the switch pressed so it does back off to the right until it's not pressed anymore, up to x -7.417. Note it reached seek speed of 500. Then it moves to the left, at speed 500, to press the switch, which it does at about X-2.5. Then it keeps moving to the right at speed 100 for the latch backoff distance, seems the switch opens again at x":-4.747. Then it moves more for the zero backoff of 10, at speed 500, until it reaches x":-14.747. SO FAR SO GOOD

Now let's send the same command again..

>>> g28.2 x0
{"r":{},"f":[1,0,9,4402]}
{"sr":{"stat":9,"dist":1,"coor":0}}
{"sr":{"posx":0.200,"mpox":0.200,"vel":162.33}}
{"sr":{"posx":1.555,"mpox":1.555,"vel":472.61}}
{"sr":{"posx":3.583,"mpox":3.583,"vel":500.00}}
{"sr":{"posx":5.583,"mpox":5.583}}
{"sr":{"posx":7.625,"mpox":7.625}}
{"sr":{"posx":9.625,"mpox":9.625}}
{"sr":{"posx":11.664,"mpox":11.664,"vel":492.70}}
{"sr":{"posx":13.211,"mpox":13.211,"vel":230.49}}
{"sr":{"posx":13.541,"mpox":13.541,"vel":1.60}}
{"sr":{"posx":13.542,"mpox":13.542,"vel":0.00}}
{"sr":{"posx":14.494,"mpox":14.494,"vel":497.46}}

Remember we were 10 mm away from the switch. It starts moving left (x positive direction) again, in 3.5 mm it looks it reached max seek velocity of 500. Around x10 it hits the switch as expected and starts decelerating until it stops momentarily at x13.542. The issue comes here, when it sets the speed to 500, when it should be 100, but worst of all it goes left again instead of right, colliding with the switch

very strange!

Thanks for your input

jrcandy commented 3 years ago

That is telling me that is not really an issue with the acceleration/deceleration since it was seeking at full speed when it hit the switch the second time. And also starting from a position where the switch is closed isn´t a problem either because it backs off first of all so it's not the mentioned firmware bug ("TinyG starts to monitor the switches only after the homing sequence is fully started") ?

jrcandy commented 3 years ago

it's not axis dependant, i've had strange things happenning to all of them. For example another attempt I send G28.2 z0 x0 y0. It homes z first ok, x ok, then y crashes. Have to soft reset the board. Then send g28.2 y0 and y homes ok log of that below

g28.2 z0 x0 y0
{"r":{},"f":[1,0,15,74]}
{"sr":{"stat":9,"dist":1,"coor":0}}
{"sr":{"posz":0.381,"mpoz":0.381,"vel":198.98}}
{"sr":{"posz":0.877,"mpoz":0.877,"vel":6.07}}
{"sr":{"posz":0.878,"mpoz":0.878,"vel":0.00}}
{"sr":{"posz":0.620,"mpoz":0.620,"vel":100.00}}
{"sr":{"posz":0.221,"mpoz":0.221}}
{"sr":{"posz":0.004,"mpoz":0.004,"vel":0.00}}
{"sr":{"posx":0.953,"posz":0.000,"mpox":0.953,"mpoz":0.000,"vel":497.46}}
{"sr":{"posx":2.993,"mpox":2.993,"vel":500.00}}
{"sr":{"posx":5.034,"mpox":5.034}}
{"sr":{"posx":7.034,"mpox":7.034}}
{"sr":{"posx":9.076,"mpox":9.076}}
{"sr":{"posx":11.116,"mpox":11.116,"vel":499.54}}
{"sr":{"posx":12.110,"mpox":12.110,"vel":0.46}}
{"sr":{"vel":0.00}}
{"sr":{"posx":11.793,"mpox":11.793,"vel":100.00}}
{"sr":{"posx":11.385,"mpox":11.385}}
{"sr":{"posx":10.985,"mpox":10.985}}
{"sr":{"posx":10.577,"mpox":10.577}}
{"sr":{"posx":10.169,"mpox":10.169}}
{"sr":{"posx":9.935,"mpox":9.935,"vel":0.01}}
{"sr":{"posx":9.024,"mpox":9.024,"vel":495.49}}
{"sr":{"posx":6.990,"mpox":6.990,"vel":500.00}}
{"sr":{"posx":4.956,"mpox":4.956}}
{"sr":{"posx":2.963,"mpox":2.963}}
{"sr":{"posx":0.929,"mpox":0.929,"vel":499.54}}
{"sr":{"posx":-0.065,"mpox":-0.065,"vel":0.46}}
{"sr":{"posx":200.000,"mpox":200.000,"vel":0.00}}
{"sr":{"posx":0.000,"posy":0.190,"mpox":0.000,"mpoy":0.190,"vel":155.30}}
{"sr":{"posy":1.425,"mpoy":1.425,"vel":395.91}}
{"sr":{"posy":3.046,"mpoy":3.046,"vel":399.20}}
{"sr":{"posy":4.356,"mpoy":4.356,"vel":189.59}}
{"sr":{"posy":4.603,"mpoy":4.603,"vel":0.13}}
{"sr":{"vel":0.00}}
{"sr":{"posy":5.032,"mpoy":5.032,"vel":298.47}}
{"sr":{"posy":6.601,"mpoy":6.601,"vel":400.00}}
{"sr":{"posy":8.234,"mpoy":8.234}}
{"sr":{"posy":9.868,"mpoy":9.868}}
{"sr":{"posy":11.467,"mpoy":11.467}}
[ready] {"r":{"fv":0.970,"fb":440.20,"hp":1,"hv":8,"id":"9U6538-TWK","msg":"SYSTEM READY"},"f":[1,0,0,6087]}
>>> {ej:1}
{"r":{"ej":1},"f":[1,0,7,2003]}
>>> {sr:{posx:t, posy:t, posz:t, mpox:t, mpoy:t, mpoz:t, plan:t, vel:t, unit:t, stat:t, dist:t, frmo:t, coor:t}}
{"sr":{"posx":0.000,"posy":0.000,"posz":0.000,"posa":0.000,"feed":0.00,"vel":0.00,"unit":1,"coor":1,"dist":0,"frmo":1,"stat":1}}
{"r":{"sr":{"posx":0.000,"posy":0.000,"posz":0.000,"mpox":0.000,"mpoy":0.000,"mpoz":0.000,"plan":0,"vel":0.00,"unit":1,"stat":1,"dist":0,"frmo":1,"coor":1}},"f":[1,0,109,1782]}
>>> {jv:4}
{"sr":{"plan":0,"vel":0.00,"unit":1,"dist":0,"frmo":1,"coor":1}}
{"r":{"jv":4},"f":[1,0,7,7333]}
>>> {qv:0}
{"r":{"qv":0},"f":[1,0,7,8353]}
>>> {sv:1}
{"r":{"sv":1},"f":[1,0,7,9250]}
>>> {sr:n}
{"r":{"sr":{"posx":0.000,"posy":0.000,"posz":0.000,"mpox":0.000,"mpoy":0.000,"mpoz":0.000,"plan":0,"vel":0.00,"unit":1,"stat":1,"dist":0,"frmo":1,"coor":1}},"f":[1,0,7,3096]}
>>> g28.2 y0
{"r":{},"f":[1,0,9,4402]}
{"sr":{"stat":9,"dist":1,"coor":0}}
{"sr":{"posy":-0.218,"mpoy":-0.218,"vel":168.89}}
{"sr":{"posy":-1.444,"mpoy":-1.444,"vel":340.71}}
{"sr":{"posy":-2.336,"mpoy":-2.336,"vel":77.45}}
{"sr":{"posy":-2.396,"mpoy":-2.396,"vel":0.00}}
{"sr":{"posy":-1.967,"mpoy":-1.967,"vel":298.47}}
{"sr":{"posy":-0.398,"mpoy":-0.398,"vel":400.00}}
{"sr":{"posy":1.121,"mpoy":1.121,"vel":262.90}}
{"sr":{"posy":1.434,"mpoy":1.434,"vel":0.00}}
{"sr":{"posy":1.184,"mpoy":1.184,"vel":100.00}}
{"sr":{"posy":0.776,"mpoy":0.776}}
{"sr":{"posy":0.377,"mpoy":0.377}}
{"sr":{"posy":-0.031,"mpoy":-0.031}}
{"sr":{"posy":-0.438,"mpoy":-0.438}}
{"sr":{"posy":-0.745,"mpoy":-0.745,"vel":5.59}}
{"sr":{"posy":-0.746,"mpoy":-0.746,"vel":0.00}}
{"sr":{"posy":0.000,"mpoy":0.000,"vel":0.00,"stat":3,"dist":0,"coor":1}}
jkuusama commented 3 years ago

The difference between first and second test was that a) you started test 1 with switch closed and b) on test 2, coordinates were positive. Maybe you can pinpoint the issue to have on variable? (I assume that your switch polarity is correct.)

I don’t know what is going on, and I feel t m understanding of TinyG is not enough. TinyG official support forum is here: https://synthetos.com/forums/tinyg

jrcandy @.***> kirjoitti 15.6.2021 kello 15.12:

 Hey Ju, thanks a lot for your reply

My settings are (which by the way I don´t know how to send $$ via Universal Gcode Sender, had to send it via Chilipeppr):

$$ {"ej":""} [fb] firmware build 440.20 [fv] firmware version 0.97 [hp] hardware platform 1.00 [hv] hardware version 8.00 [id] TinyG ID 9U6538-TWK [ja] junction acceleration 100000 mm [ct] chordal tolerance 0.0100 mm [sl] soft limit enable 0 [st] switch type 1 [0=NO,1=NC] [mt] motor idle timeout 2.00 Sec [ej] enable json mode 0 [0=text,1=JSON] [jv] json verbosity 4 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose] [js] json serialize style 1 [0=relaxed,1=strict] [tv] text verbosity 1 [0=silent,1=verbose] [qv] queue report verbosity 1 [0=off,1=single,2=triple] [sv] status report verbosity 1 [0=off,1=filtered,2=verbose] [si] status interval 250 ms [ec] expand LF to CRLF on TX 0 [0=off,1=on] [ee] enable echo 0 [0=off,1=on] [ex] enable flow control 1 [0=off,1=XON/XOFF, 2=RTS/CTS] [baud] USB baud rate 5 [1=9600,2=19200,3=38400,4=57600,5=115200,6=230400] [net] network mode 0 [0=master] [gpl] default gcode plane 0 [0=G17,1=G18,2=G19] [gun] default gcode units mode 1 [0=G20,1=G21] [gco] default gcode coord system 1 [1-6 (G54-G59)] [gpa] default gcode path control 2 [0=G61,1=G61.1,2=G64] [gdi] default gcode distance mode 0 [0=G90,1=G91] [1ma] m1 map to axis 0 [0=X,1=Y,2=Z...] [1sa] m1 step angle 1.800 deg [1tr] m1 travel per revolution 8.0000 mm [1mi] m1 microsteps 8 [1,2,4,8] [1po] m1 polarity 0 [0=normal,1=reverse] [1pm] m1 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving] [2ma] m2 map to axis 1 [0=X,1=Y,2=Z...] [2sa] m2 step angle 1.800 deg [2tr] m2 travel per revolution 8.0000 mm [2mi] m2 microsteps 8 [1,2,4,8] [2po] m2 polarity 0 [0=normal,1=reverse] [2pm] m2 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving] [3ma] m3 map to axis 2 [0=X,1=Y,2=Z...] [3sa] m3 step angle 1.800 deg [3tr] m3 travel per revolution 8.0000 mm [3mi] m3 microsteps 8 [1,2,4,8] [3po] m3 polarity 0 [0=normal,1=reverse] [3pm] m3 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving] [4ma] m4 map to axis 3 [0=X,1=Y,2=Z...] [4sa] m4 step angle 1.800 deg [4tr] m4 travel per revolution 360.0000 mm [4mi] m4 microsteps 8 [1,2,4,8] [4po] m4 polarity 0 [0=normal,1=reverse] [4pm] m4 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving] [xam] x axis mode 1 [standard] [xvm] x velocity maximum 800 mm/min [xfr] x feedrate maximum 800 mm/min [xtn] x travel minimum -75.000 mm [xtm] x travel maximum 75.000 mm [xjm] x jerk maximum 20 mm/min^3 1 million [xjh] x jerk homing 100 mm/min^3 1 million [xjd] x junction deviation 0.0500 mm (larger is faster) [xsn] x switch min 0 [0=off,1=homing,2=limit,3=limit+homing] [xsx] x switch max 1 [0=off,1=homing,2=limit,3=limit+homing] [xsv] x search velocity 500 mm/min [xlv] x latch velocity 100 mm/min [xlb] x latch backoff 50.000 mm (just changed these 2 as per your suggestion) [xzb] x zero backoff 10.000 mm [yam] y axis mode 1 [standard] [yvm] y velocity maximum 2000 mm/min [yfr] y feedrate maximum 800 mm/min [ytn] y travel minimum 0.000 mm [ytm] y travel maximum 260.000 mm [yjm] y jerk maximum 20 mm/min^3 1 million [yjh] y jerk homing 40 mm/min^3 1 million [yjd] y junction deviation 0.0500 mm (larger is faster) [ysn] y switch min 0 [0=off,1=homing,2=limit,3=limit+homing] [ysx] y switch max 1 [0=off,1=homing,2=limit,3=limit+homing] [ysv] y search velocity 400 mm/min [ylv] y latch velocity 100 mm/min [ylb] y latch backoff 5.000 mm [yzb] y zero backoff 0.000 mm [zam] z axis mode 1 [standard] [zvm] z velocity maximum 800 mm/min [zfr] z feedrate maximum 800 mm/min [ztn] z travel minimum 0.000 mm [ztm] z travel maximum 75.000 mm [zjm] z jerk maximum 20 mm/min^3 1 million [zjh] z jerk homing 40 mm/min^3 1 million [zjd] z junction deviation 0.0500 mm (larger is faster) [zsn] z switch min 0 [0=off,1=homing,2=limit,3=limit+homing] [zsx] z switch max 1 [0=off,1=homing,2=limit,3=limit+homing] [zsv] z search velocity 200 mm/min [zlv] z latch velocity 100 mm/min [zlb] z latch backoff 5.000 mm [zzb] z zero backoff 0.000 mm [aam] a axis mode 3 [radius] [avm] a velocity maximum 230400 deg/min [afr] a feedrate maximum 230400 deg/min [atn] a travel minimum -1.000 deg [atm] a travel maximum -1.000 deg [ajm] a jerk maximum 5760 deg/min^3 1 million [ajh] a jerk homing 11520 deg/min^3 1 million [ajd] a junction deviation 0.0500 deg (larger is faster) [ara] a radius value 0.1989 deg [asn] a switch min 1 [0=off,1=homing,2=limit,3=limit+homing] [asx] a switch max 0 [0=off,1=homing,2=limit,3=limit+homing] [asv] a search velocity 600 deg/min [alv] a latch velocity 100 deg/min [alb] a latch backoff 5.000 deg [azb] a zero backoff 2.000 deg [bam] b axis mode 0 [disabled] [bvm] b velocity maximum 3600 deg/min [bfr] b feedrate maximum 3600 deg/min [btn] b travel minimum -1.000 deg [btm] b travel maximum -1.000 deg [bjm] b jerk maximum 20 deg/min^3 1 million [bjd] b junction deviation 0.0500 deg (larger is faster) [bra] b radius value 1.0000 deg [cam] c axis mode 0 [disabled] [cvm] c velocity maximum 3600 deg/min [cfr] c feedrate maximum 3600 deg/min [ctn] c travel minimum -1.000 deg [ctm] c travel maximum -1.000 deg [cjm] c jerk maximum 20 deg/min^3 1 million [cjd] c junction deviation 0.0500 deg (larger is faster) [cra] c radius value 1.0000 deg [p1frq] pwm frequency 100 Hz [p1csl] pwm cw speed lo 1000 RPM [p1csh] pwm cw speed hi 2000 RPM [p1cpl] pwm cw phase lo 0.125 [0..1] [p1cph] pwm cw phase hi 0.200 [0..1] [p1wsl] pwm ccw speed lo 1000 RPM [p1wsh] pwm ccw speed hi 2000 RPM [p1wpl] pwm ccw phase lo 0.125 [0..1] [p1wph] pwm ccw phase hi 0.200 [0..1] [p1pof] pwm phase off 0.100 [0..1] [g54x] g54 x offset -0.000 mm [g54y] g54 y offset 0.000 mm [g54z] g54 z offset 0.000 mm [g54a] g54 a offset 0.000 deg [g54b] g54 b offset 0.000 deg [g54c] g54 c offset 0.000 deg [g55x] g55 x offset 75.000 mm [g55y] g55 y offset 75.000 mm [g55z] g55 z offset 0.000 mm [g55a] g55 a offset 0.000 deg [g55b] g55 b offset 0.000 deg [g55c] g55 c offset 0.000 deg [g56x] g56 x offset 0.000 mm [g56y] g56 y offset 0.000 mm [g56z] g56 z offset 0.000 mm [g56a] g56 a offset 0.000 deg [g56b] g56 b offset 0.000 deg [g56c] g56 c offset 0.000 deg [g57x] g57 x offset 0.000 mm [g57y] g57 y offset 0.000 mm [g57z] g57 z offset 0.000 mm [g57a] g57 a offset 0.000 deg [g57b] g57 b offset 0.000 deg [g57c] g57 c offset 0.000 deg [g58x] g58 x offset 0.000 mm [g58y] g58 y offset 0.000 mm [g58z] g58 z offset 0.000 mm [g58a] g58 a offset 0.000 deg [g58b] g58 b offset 0.000 deg [g58c] g58 c offset 0.000 deg [g59x] g59 x offset 0.000 mm [g59y] g59 y offset 0.000 mm [g59z] g59 z offset 0.000 mm [g59a] g59 a offset 0.000 deg [g59b] g59 b offset 0.000 deg [g59c] g59 c offset 0.000 deg [g92x] g92 x offset 0.000 mm [g92y] g92 y offset 0.000 mm [g92z] g92 z offset 0.000 mm [g92a] g92 a offset 0.000 deg [g92b] g92 b offset 0.000 deg [g92c] g92 c offset 0.000 deg [g28x] g28 x position 0.000 mm [g28y] g28 y position 0.000 mm [g28z] g28 z position 0.000 mm [g28a] g28 a position 0.000 deg [g28b] g28 b position 0.000 deg [g28c] g28 c position 0.000 deg [g30x] g30 x position 0.000 mm [g30y] g30 y position 0.000 mm [g30z] g30 z position 0.000 mm [g30a] g30 a position 0.000 deg [g30b] g30 b position 0.000 deg [g30c] g30 c position 0.000 deg tinyg [mm] ok> {"Lbs":0} {"r":{"ej":1},"f":[1,0,10,7782]} Starting from the leftmost position (in my setup x is positive to left, negative to right), and pressing the limit switch, I send G28.2 x0 via UGS and I get:

g28.2 x0 {"r":{},"f":[1,0,9,4402]} {"sr":{"stat":9,"dist":1,"coor":0}} {"sr":{"posx":-0.187,"mpox":-0.200,"vel":162.33}} {"sr":{"posx":-1.555,"mpox":-1.555,"vel":472.61}} {"sr":{"posx":-3.542,"mpox":-3.583,"vel":500.00}} {"sr":{"posx":-5.580,"mpox":-5.580,"vel":491.20}} {"sr":{"posx":-7.104,"mpox":-7.122,"vel":214.98}} {"sr":{"posx":-7.417,"mpox":-7.417,"vel":1.11}} {"sr":{"posx":-7.417,"mpox":-7.417,"vel":0.00}} {"sr":{"posx":-6.505,"mpox":-6.505,"vel":495.49}} {"sr":{"posx":-4.465,"mpox":-4.465,"vel":500.00}} {"sr":{"posx":-2.701,"mpox":-2.701,"vel":189.91}} {"sr":{"posx":-2.598,"mpox":-2.598,"vel":0.00}} {"sr":{"posx":-2.898,"mpox":-2.898,"vel":100.00}} {"sr":{"posx":-3.306,"mpox":-3.306}} {"sr":{"posx":-3.714,"mpox":-3.714}} {"sr":{"posx":-4.114,"mpox":-4.114}} {"sr":{"posx":-4.522,"mpox":-4.522}} {"sr":{"posx":-4.747,"mpox":-4.747,"vel":0.01}} {"sr":{"posx":-5.700,"mpox":-5.700,"vel":497.46}} {"sr":{"posx":-7.734,"mpox":-7.734,"vel":500.00}} {"sr":{"posx":-9.726,"mpox":-9.726}} {"sr":{"posx":-11.761,"mpox":-11.761}} {"sr":{"posx":-13.795,"mpox":-13.795,"vel":498.77}} {"sr":{"posx":-14.747,"mpox":-14.747,"vel":0.10}} {"sr":{"posx":150.000,"mpox":150.000,"vel":0.00}} {"sr":{"posx":0.000,"mpox":0.000,"stat":3,"dist":0,"coor":1}} which homed it all right. Note it started with the switch pressed so it does back off to the right until it's not pressed anymore, up to x -7.417. Note it reached seek speed of 500. Then it moves to the left, at speed 500, to press the switch, which it does at about X-2.5. Then it keeps moving to the right at speed 100 for the latch backoff distance, seems the switch opens again at x":-4.747. Then it moves more for the zero backoff of 10, at speed 500, until it reaches x":-14.747. SO FAR SO GOOD

Now let's send the same command again..

g28.2 x0 {"r":{},"f":[1,0,9,4402]} {"sr":{"stat":9,"dist":1,"coor":0}} {"sr":{"posx":0.200,"mpox":0.200,"vel":162.33}} {"sr":{"posx":1.555,"mpox":1.555,"vel":472.61}} {"sr":{"posx":3.583,"mpox":3.583,"vel":500.00}} {"sr":{"posx":5.583,"mpox":5.583}} {"sr":{"posx":7.625,"mpox":7.625}} {"sr":{"posx":9.625,"mpox":9.625}} {"sr":{"posx":11.664,"mpox":11.664,"vel":492.70}} {"sr":{"posx":13.211,"mpox":13.211,"vel":230.49}} {"sr":{"posx":13.541,"mpox":13.541,"vel":1.60}} {"sr":{"posx":13.542,"mpox":13.542,"vel":0.00}} {"sr":{"posx":14.494,"mpox":14.494,"vel":497.46}} Remember we were 10 mm away from the switch. It starts moving left (x positive direction) again, in 3.5 mm it looks it reached max seek velocity of 500. Around x10 it hits the switch as expected and starts decelerating until it stops momentarily at x13.542. The issue comes here, when it sets the speed to 500, when it should be 100, but worst of all it goes left again instead of right, colliding with the switch

very strange!

Thanks for your input

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.