Help! No line of sprocket holes can be recognized

47 views
Skip to first unread message

Brian Piccioni

unread,
Dec 15, 2025, 4:45:37 PM (4 days ago) Dec 15
to OpenPnP
After having to set my OpenPnP efforts aside for a few weeks I am trying to set up my first real job. I seemed to screw a few tings up because I downloaded a test branch which apparently borked some of my setup files.

After many hours of work (and replacing the test branch with the most recent one) I mostly have things working except when I try a feed I get the above error

"No line of sprocket holes can be recognized"

I get the error despite the fact that the camera does indeed go where it is supposed to when I ask it to position over the component, Hole 1, and Hole 2. I have tried various permutation of 'vision type' and it doesn't seem to matter.

I do note that when I ask to pick the top camera light goes off even though it does not when I ask the machine to position above the parts and holes.

I assume I have a setting wrong somewhere. What am I doing wrong?

The machine is a PandaPlacer CC1

Thanks.


Brian Piccioni

unread,
Dec 15, 2025, 4:49:57 PM (4 days ago) Dec 15
to OpenPnP
I should have posted this but a trace shows

2025-12-15 16:48:04.237 AbstractHeadMountable DEBUG: TopCam.moveTo((104.000000, 326.000000, -21.800000, 0.000000 mm), 1.0)
2025-12-15 16:48:04.241 AbstractPandaplacerVisionFeeder DEBUG: calibrating sprocket holes pass 0 midPoint is (12.100000, 296.600000, -21.800000, 0.000000 mm)
2025-12-15 16:48:04.241 ReferenceHead DEBUG: H1.moveToSafeZ(1.0)
2025-12-15 16:48:04.242 AbstractHeadMountable DEBUG: N1.moveToSafeZ(1.0)
2025-12-15 16:48:04.243 AbstractHeadMountable DEBUG: TopCam.moveToSafeZ(1.0)
2025-12-15 16:48:04.243 AbstractHeadMountable DEBUG: TopCam.moveTo((104.000000, 326.000000, 0.000000, 0.000000 mm), 1.0)
2025-12-15 16:48:04.244 AbstractHeadMountable DEBUG: TopCam.moveTo((12.100000, 296.600000, 0.000000, 0.000000 mm), 1.0)
2025-12-15 16:48:04.247 GcodeDriver DEBUG: [PPMC_V3:COM6] >> M204 S8399, 15000
2025-12-15 16:48:04.250 GcodeDriver DEBUG: [PPMC_V3:COM6] >> G1 X12.100 Y296.600   F50396 ; move to target, 15000
2025-12-15 16:48:04.251 GcodeDriver DEBUG: [PPMC_V3:COM6] >> M400 ; Wait for moves to complete before returning, 15000
2025-12-15 16:48:04.572 AbstractHeadMountable DEBUG: TopCam.moveTo((12.100000, 296.600000, -21.800000, 0.000000 mm), 1.0)
2025-12-15 16:48:04.788 AbstractSettlingCamera DEBUG: autoSettleAndCapture in 213 ms
2025-12-15 16:48:04.791 ReferenceActuator DEBUG: TopCamLight.actuate(false)
2025-12-15 16:48:04.792 GcodeDriver DEBUG: [PPMC_V3:COM6] >> M42 I P22 S0, 15000
2025-12-15 16:48:04.794 GcodeDriver DEBUG: [PPMC_V3:COM6] >> M400 ; Wait for moves to complete before returning, 15000
2025-12-15 16:48:04.795 GcodeAsyncDriver DEBUG: [PPBFC-V3:COM7] commandQueue offer >> M400 ; Wait for moves to complete before returning
2025-12-15 16:48:04.903 FeederVisionHelper DEBUG: Ransac algorithm has not found any lines of sprocket holes with 4.0mm pitch, allowed pitch and line tolerance is ±0.6mm
2025-12-15 16:48:04.908 MessageBoxes DEBUG: Error: java.lang.Exception: No line of sprocket holes can be recognized

Which seems to show the light is indeed being shut off after the move

Brian Piccioni

unread,
Dec 16, 2025, 11:56:54 AM (3 days ago) Dec 16
to OpenPnP
I didn't get any replies, but for historical reasons for when others have this problem I seem to have accidentally solved my problem.

For whatever reason, before auto-calibrating it seems you have to perform a part feed. I had not done that through the feeder menu because I knew the feeder was working properly as I had tested it through the actuator menu.

Once I did a feed of the part through the feeder menu, I was able calibrate the feeder and it found the sprocket holes.

I think this is a bug, or at least there should be a warning to the effect of 'Please perform a feed prior to calibrating'

Brian Piccioni

unread,
Dec 18, 2025, 9:22:41 AM (yesterday) Dec 18
to OpenPnP
Update/Correction

Just in case somebody runs into this issue in the future (and since I got no help)

1) The problem with sprocket recognition was that the BambooFeeder was advancing the tape such that the left most hole was touching the clamp rather than being isolated (ie. |0   0 instead of | 0   0). I trimmed the feeder to ensure there was distance. I basically cut a 45 degree notch where the hole would touch. It doesn't take much.

2) Clear tape results in the same error but setting Feeder->Vision->Calibration Trigger to none allows me to at least pick the part.

3) There are bugs in the feeder set up panel. Certain actions such as capturing the camera location, Auto Set-up, and others do not 'dirty' the setting meaning you have to edit another parameter (I touch the Part Rotation field but most numeric fields will do). This causes the 'Apply' button to be enabled. 

Other than the sprocket hole overlap, my issue was that I thought the warning that Auto-Setup would overwrite settings meant that auto-setup would overwrite settings. It does not.

Once feeder set up is complete you have to make sure you 'Apply' the settings by somehow forcing the Apply button to become active and clicking it. Then save configuration.

bert shivaan

unread,
Dec 18, 2025, 9:58:07 AM (yesterday) Dec 18
to ope...@googlegroups.com
I am of no help, but thank you Brian :)

--
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/8dfd70cf-f81d-454c-940c-1e48565e3d4an%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages