Close

New cameras

A project log for Hot Hot (Yushengtech) SMT50 OpenPnP conversion

Refactoring the SMT50 to work with OpenPnP

darryldar.ryl 06/14/2017 at 18:540 Comments

The new cameras and lens kit arrived yesterday and I got a chance to evaluate. The ELP camera came with a 3.6mm lens. I replaced it with an 8mm from the lens kit. Works great, without any additional light other than room fluorescent. However, I did notice some distortion, so I will try applying lens correction in OpenPnP to see if that helps.

Also had a play with the endoscope. Image quality was fuzzy and distorted. The built-in LEDs have no diffuser so they show up as a small circle of white dots on the PCB surface. Doesn't seem usable for precise SMT placement, but it's fine for basic inspection, so I'm going to throw it in my gadgets bin.

Haven't yet looked at the Logitech C270, need to print the M12 lens adapter for it. As long as the image quality is good, and the right working distance can be set, I think it might be preferable because the PCB is thin and small enough to be mounted on the underside of the head assembly. Also hoping the existing LED ring can be remounted to line up with the lens.

I configured OpenPnP for the endoscope as the top camera and the ELP as the bottom camera, using 640x480 and 5 fps. With "view all" cameras enabled, Activity Monitor showed around 37% CPU for the OpenPnP process, and each core was loaded to about 20%, so good balancing between cores. With the camera view disabled, OpenPnP was still burning up 25% CPU, I guess that's the best a bloated Java8 app can do, although it should be completely idle except for the UI events - empty job loaded and machine is not even started. However, since the Smoothieboard will handle all the real-time motion control, I think it will be sufficient for the UI and image processing pipeline.

Discussions