About improving positioning accuracy with camera

228 views
Skip to first unread message

AE's Life

unread,
Jul 11, 2025, 6:14:32 AM7/11/25
to OpenPnP
Hello OpenPnp group,
I am thinking recently to use camera to improve the accuracy of positioning, and if I put marking in X and Y axis, then use camera to identify the position, when I fire the move command, the head move to location, then camera check the position and OpenPnP corrects it.

I think it should be possible to implement it, but just want to hear your thoughts, or maybe someone already tried it (I am aware of motor with linear encoder etc., but the price is outside my range)

BR
xpLiao @xpDIY.io

JW

unread,
Jul 11, 2025, 7:23:17 AM7/11/25
to OpenPnP
OpenPnP natively supports this already, once per homing cycle. It is called 'visual homing' where a reference marker is set on the machine, and the camera is used to center on it. All other locations such as up camera, feeders etc are then set from this.

If you're thinking of needing to do this regularly, because of loss of position accuracy/repeatability over time, you likely have other issues that need addressing with the mechanical setup of the machine.

Open loop motion systems must absolutely not loose steps, and thus be appropriate sized/acceleration and speed limited, or closed loop motion control ideally used.

AE's Life

unread,
Jul 11, 2025, 8:26:58 AM7/11/25
to OpenPnP
Thanks for replying, 
I am thinking of doing this like linear encoder feedback, the thing is I can place 0402 without problem, the placement accuracy is between 0.05 to 0.1 mm, it could be due to different factors, 
but I want to go for sub 50 microns to be more stable on smaller parts like 0201, and stepper motor with rotatory encoder is not able to cope with factor like back lash from belt, 
with linear encoder, it can get more accurate, but usually quite expensive, so I want to see if there is alternative way to achieve higher accuracy...

I assume like after move command, it can look at the marking and then check how much deviation then corrects it like it does for homing to sub 50 microns.
with dedicated camera it should be able to reach that accuracy.. 
normal stepper motor itself has 1.8 degree acc, and GT2 gear diameter is around 12 mm, around 0.4mm per step, but with 16 microstepping it should be able to adjust for smaller steps..

Br
xpLiao @xpDIY.io

Alex

unread,
Jul 11, 2025, 8:55:28 AM7/11/25
to OpenPnP
Hello.
I made a BLDC motor driver, magnetic tape encoder. Repeatability +-20 microns. But marlin with teensy gave 120 kHz, this is very little. grblhal with teensy 400 kHz.

пятница, 11 июля 2025 г. в 15:26:58 UTC+3, xp.em...@gmail.com:

AE's Life

unread,
Jul 11, 2025, 9:32:12 AM7/11/25
to ope...@googlegroups.com
20 micron is pretty good! I guess you don't have problem with 0201 having this accuracy.

A bit wondering how fast can you move with 120k?
Also with the encoder and DC motor and driver, are you able to get it within 100$?


BR
xpLiao @xpDIY.io


From: ope...@googlegroups.com <ope...@googlegroups.com> on behalf of Alex <785...@gmail.com>
Sent: Friday, July 11, 2025 2:55:28 PM
To: OpenPnP <ope...@googlegroups.com>
Subject: [OpenPnP] Re: About improving positioning accuracy with camera
 
--
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/8a45b837-0e4a-4231-a991-5173312f259en%40googlegroups.com.

JW

unread,
Jul 11, 2025, 9:54:23 AM7/11/25
to OpenPnP
>>  so I want to see if there is alternative way to achieve higher accuracy...

I can't help but thing you're trying to solve the wrong problem here, maybe I'm wrong. Look at any of the 'serious' commercial machines that place 0201 and smaller, they all use ballscrews, not belts. Whilst OpenPnP can calibrate and compensate for backlash common in belt systems, it's not infallible.

I use ballscrews with closed-loop stepper motors, can place 0201 no problem and have a positioning repeatability across the entire machine smaller than I'm able to measure with the cameras, with OpenPnP backlash comp disabled. If you need to place 0201, you're either building a serious machine, or need to buy a machine - in both cases, you have the cash for ballscrews (which actually aren't that expensive anyway).

AE's Life

unread,
Jul 11, 2025, 2:32:03 PM7/11/25
to OpenPnP
You’re probably right — ballscrews are the proven choice for serious machines placing 0201, and I respect that. 
One thing I should have mentioned is I am not aiming for a high-end production setup, 
so I still think there are other ways to approach this. 
I’ve seen promising results with linear encoders, especially when combined with belt systems, 
so I think it is worth to explore this route and see how far it can go.  


Jarosław Karwik

unread,
Jul 11, 2025, 2:38:37 PM7/11/25
to ope...@googlegroups.com
There is an easy way to get such nice precise machine. Look for old good machine - Yamaha, Philips etc. Disassembly everything except metal frame - replace old DC servos with small moder AC. Instal encoders. You will get very precise machine for low cost (assuming you found something with low hour count - mine had 2000h which is nothing for these old ). 

I have such frame in my shop - if anybody is interested let me know.


 

AE's Life

unread,
Jul 11, 2025, 4:20:46 PM7/11/25
to ope...@googlegroups.com
This is a legit option as well, thanks for sharing!

BR
xpLiao @xpDIY.io

simpl...@tuta.io

unread,
Jul 11, 2025, 5:55:58 PM7/11/25
to Openpnp, Openpnp
>> I’ve seen promising results with linear encoders, especially when combined with belt systems

this reminds me that my very first attempts with self-made PnP machines using cheap 15mm HTD3 belts ended with the use of glued-on magnetic linear encoders on the X/Y axes, each of which was connected directly to Delta A2L servo drives, which eliminated all backlash and linearity problems and finally allowed 0201 to be reliably assembled

but once you've experienced the many advantages of ballscrews, you'll never want to deal with belts on X/Y again



Alex

unread,
Jul 11, 2025, 10:43:51 PM7/11/25
to OpenPnP
Machine weight is 19 kg.
My first tests to set up the X-axis. Driver CL57C, motor 57CME13, power supply 48V, pulley GT2-2 26 teeth.
BOARD:STM32F4x1_V_01 /grblHAL/
PLUGIN:OpenPNP v0.09
Step divider 1/32.

(26*2)/(200*32) = 0.008125 (mm)
Theoretical one pulse = 0.008125 mm.

Axis X=695 mm
X-axis maximum rate 53600 mm/min
X-axis acceleration 8000 mm/sec
The cycle of movements along the X-axis 200 mm at the specified settings, the displacement readings were less than 10 microns.

суббота, 12 июля 2025 г. в 00:55:58 UTC+3, simpl...@tuta.io:

AE's Life

unread,
Jul 13, 2025, 4:49:10 AM7/13/25
to ope...@googlegroups.com
Thanks all for sharing, appreciate it!
Looks like ballscrew is the ultimate way to go, while belt has its potential, will look into it. 

xpLiao @xpDIY.io


--
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.

Alex

unread,
Jul 13, 2025, 10:14:37 AM7/13/25
to OpenPnP
New test.

X-axis=695 mm
X-axis maximum rate 93600 mm/min (Step frequency 186 KHz)
X-axis acceleration 7000 mm/sec
No compensation.
The X-axis movement cycle of 400 mm at the specified settings showed displacement readings of less than 10 microns.

I looked at the logic analyzer Logic 2.4.10 (attached file), Step frequency up to 186 KHz. The motor driver, motor and power supply can be taken with higher characteristics.

I would like to compare 57CME13 with BLDC57 60 and 100 W.

воскресенье, 13 июля 2025 г. в 11:49:10 UTC+3, xp.em...@gmail.com:
X_57CME13.sal

bert shivaan

unread,
Jul 14, 2025, 12:46:59 PM7/14/25
to ope...@googlegroups.com
Any links for high pich ball screws? I look for them from timew to time, but am always dissapointed with the search results. Mostly I get normal pitch screws.

bert shivaan

unread,
Jul 14, 2025, 3:53:12 PM7/14/25
to ope...@googlegroups.com
Did somebody send me a private email about ballscrews? No problem if you did, just trying to verify before I reply

Mike Menci

unread,
Jul 14, 2025, 4:19:42 PM7/14/25
to OpenPnP
Well I did - Depending of your location - here a supplier: https://www.tuli-shop.com/us/linear-motion
There are some reliable items on eBay from Korea as well .... 
Reply to that PM mail and I could help if needed...
Mike

bert shivaan

unread,
Jul 14, 2025, 4:24:53 PM7/14/25
to ope...@googlegroups.com

Alex

unread,
Aug 9, 2025, 3:47:37 AM8/9/25
to OpenPnP
Accuracy testing in OpenPnP.
Driver CL57C, motor 57CME13, power supply 48V ±0.036
BLDC motor 57BL75S10, power supply 24V encoder 2000 ppm ±0.026
BLDC motor 57BL75S10, power supply 24V encoder tape 360 DPI ±0.018

понедельник, 14 июля 2025 г. в 23:24:53 UTC+3, cncmachineguy:
Reply all
Reply to author
Forward
0 new messages