Rotation correction of components is super slow

64 views
Skip to first unread message

Philip Kristoffersen

unread,
Jul 1, 2026, 5:06:20 AM (5 days ago) Jul 1
to OpenPnP
Hi,

So my machine is starting to run very well, except for 1 thing: When the machine needs to correct rotation of a component, the X and Y feed rates get dropped super low making it take quite a while. 

Here is a snippet from the debug trace:

2026-07-01 11:01:48.197 Scripting TRACE: Scripting.on Camera.BeforeCapture
2026-07-01 11:01:48.252 Scripting TRACE: Scripting.on Camera.AfterCapture
2026-07-01 11:01:48.262 AbstractSettlingCamera TRACE: autoSettleAndCapture t=206 auto settle score: 1.176 compute time: 9
2026-07-01 11:01:48.262 AbstractSettlingCamera DEBUG: autoSettleAndCapture in 206 ms
2026-07-01 11:01:48.262 Scripting TRACE: Scripting.on Camera.AfterSettle
2026-07-01 11:01:48.360 MaskHsv TRACE: Fraction actually masked = 0.046551810013348516
2026-07-01 11:01:48.376 MaskHsv TRACE: Fraction actually masked = 0.9986960333114179
2026-07-01 11:01:48.473 ReferenceBottomVision DEBUG: Alignment result: C0603-100n/50v
2026-07-01 11:01:48.479 ReferenceBottomVision DEBUG: Bottom vision part C0603-100n/50v result rect { {948.1884155273438, 548.5204467773438} 85x42 * -68.5522632598877 }
2026-07-01 11:01:48.480 ReferenceBottomVision DEBUG: Part C0603-100n/50v size ok. Width 1.487, Length 0.736
2026-07-01 11:01:48.480 ReferenceBottomVision DEBUG: Offsets too large (0.356565, -0.020138, 0.000000, -21.276673 mm) : angle offset 21.276672529273952 > 10.0
2026-07-01 11:01:48.480 AbstractHeadMountable DEBUG: N.moveTo((937.131577, 239.024777, -38.363000, 111.105608 mm), 1.0)
2026-07-01 11:01:48.480 ReferenceNozzle TRACE: N.toHeadLocation((937.131577, 239.024777, -38.363000, 143.085837 mm), ...) rotation mode offset -31.98022873228051
2026-07-01 11:01:48.480 ReferenceNozzle TRACE: N.toHeadLocation((937.189162, 238.950621, -38.363000, 143.085837 mm), ...) runout compensation (-0.057585, 0.074156, 0.000000, 0.000000 mm)
2026-07-01 11:01:48.483 GcodeDriver DEBUG: [BiggerG:COM5] >> M201.3 X61 Y75  C7938, 20000
2026-07-01 11:01:48.507 GcodeDriver$ReaderThread TRACE: [BiggerG:COM5] << tinyg [mm] ok>
2026-07-01 11:01:48.507 GcodeDriver TRACE: [BiggerG:COM5] confirmed M201.3 X61 Y75  C7938
2026-07-01 11:01:48.508 GcodeDriver DEBUG: [BiggerG:COM5] >> G1 X1018.46 Y241.94  C143.1 F60000 ; move to target, 20000
2026-07-01 11:01:48.561 GcodeDriver$ReaderThread TRACE: [BiggerG:COM5] << tinyg [mm] ok>
2026-07-01 11:01:48.563 GcodeDriver TRACE: [BiggerG:COM5] confirmed G1 X1018.46 Y241.94  C143.1 F60000 ; move to target
2026-07-01 11:01:48.563 GcodeDriver DEBUG: [BiggerG:COM5] >> M201.3 X243939 Y250000, 20000
2026-07-01 11:01:48.588 GcodeDriver$ReaderThread TRACE: [BiggerG:COM5] << tinyg [mm] ok>
2026-07-01 11:01:48.589 GcodeDriver TRACE: [BiggerG:COM5] confirmed M201.3 X243939 Y250000
2026-07-01 11:01:48.589 GcodeDriver DEBUG: [BiggerG:COM5] >> G1 X1018.30 Y241.78   F60000 ; move to target, 20000
2026-07-01 11:01:48.636 GcodeDriver$ReaderThread TRACE: [BiggerG:COM5] << tinyg [mm] ok>
2026-07-01 11:01:48.637 GcodeDriver TRACE: [BiggerG:COM5] confirmed G1 X1018.30 Y241.78   F60000 ; move to target
2026-07-01 11:01:48.637 GcodeDriver DEBUG: [BiggerG:COM5] >> M400 ; Wait for moves to complete before returning, 20000
2026-07-01 11:01:49.940 GcodeDriver$ReaderThread TRACE: [BiggerG:COM5] << tinyg [mm] ok>

I am not sure what is causing this to happen so slow, since everything else on the machine runs at expected speeds. I am not sure what is needed to diagnose the issue, but do let me know if the debug trace isnt sufficient. 

Toby Dickenson

unread,
Jul 1, 2026, 5:23:15 AM (5 days ago) Jul 1
to ope...@googlegroups.com
Please share machine.xml
> --
> You received this message because you are subscribed to the Google Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/openpnp/0bf8afb3-7364-4842-8734-474445f2c748n%40googlegroups.com.

Philip Kristoffersen

unread,
Jul 1, 2026, 5:30:29 AM (5 days ago) Jul 1
to OpenPnP
Hi, 

Machine.xml is attached.
machine.xml

tonyl...@gmail.com

unread,
Jul 1, 2026, 3:05:21 PM (5 days ago) Jul 1
to OpenPnP
Try changing the "Switch Linear <--> Rotational" setting on your rotation axis.

Philip Kristoffersen

unread,
Jul 2, 2026, 6:31:28 AM (4 days ago) Jul 2
to OpenPnP
That solved it!

Thank you Tony :)

- Philip

Philip Kristoffersen

unread,
Jul 2, 2026, 6:41:33 AM (4 days ago) Jul 2
to OpenPnP
Just adding on a question real quick:

Does angular offsets, e.g. 10 degrees, even make sense with smaller components - like 0603?
I feel like its wasting quite a bit of time ..

- Philip

Mike Menci

unread,
Jul 2, 2026, 7:16:02 AM (4 days ago) Jul 2
to OpenPnP
Reflowing adhation should take care of a bit of missangular placement ? hopfully!?

Toby Dickenson

unread,
Jul 2, 2026, 7:39:27 AM (4 days ago) Jul 2
to ope...@googlegroups.com
Are you referring to the time taken for the nozzle to rotate to
correct an angular error detected by bottom vision?

Which version of openpnp are you using? Modern versions of openpn with
default settings should make the angular rotation at the same time as
the long moves, so it is essentially free.

If it is something else, please share a video to illustrate your slowness.
> To view this discussion visit https://groups.google.com/d/msgid/openpnp/c79bd5f8-5d34-449b-8961-c319aa00e62en%40googlegroups.com.

Philip Kristoffersen

unread,
Jul 2, 2026, 8:16:09 AM (4 days ago) Jul 2
to ope...@googlegroups.com
Hi Toby,

I was referring to when a component is outside the angular offset, the actual rotation and movement to center for a second vision check took very long and I could read the feed rate was set super low. 

However, setting the Rotation <-> Linear on the C axis as suggested by Mike solved the problem, the feed rates are now where I would expect them to be.

- Philip

You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/vJ-gHGyjriY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/openpnp/CAH35urd-cX2k8ffGNGKSEWEHC%2BGTPpOnJHQA7Vyhr2jSzwKuFQ%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages