Skip to main content

Moving a Desktop Pick and Place Machine: Which Calibrations Survive

· 8 min read
PikkoBot Team
Precision Robotics

The new bench is 30 mm lower and half a metre shorter than the old one, and I did not think that mattered. I carried the Vertex 4 across the room, set it down, homed it, put the same board back on the plate and started the job. Every part landed about 2 mm to the left of its pads, all the way across the panel, and nothing in OpenPnP raised anything I would call an error.

Two millimetres is four 0402 widths. On a 300 mm panel it is also 0.38° of rotation across the whole board, and that second number is the one that eventually told me where to look.

Two columns of calibrations: the ones measured against the machine itself, and the ones that depend on the bench, the room and the board

The machine holds two kinds of reference​

Half of what people mean by "calibrated" is distances between parts bolted to the same frame: the belt pitch behind steps per millimetre, the eccentricity of a nozzle tip against its rotation axis, the offset between the top camera and the nozzle next to it. Lift the frame as one rigid object and every one of those numbers is still true. The $1,499 Vertex 4 ships with them filled in.

The other half points outward. The XY datum comes from a dot on the datum board, the Z reference comes from the top of that board, the colour thresholds in bottom vision come from the light in the room, and the offsets a strip feeder measures for itself come from an image of the tape. Move the machine into a different room and the first half is intact while the second half may describe a room you no longer work in. The 500 × 400 mm work area and the 50 slots do not care either way.

What OpenPnP clears without asking​

Strip, push-pull and blinds feeders watch for the machine going unhomed and clear the location they measured by vision. A homing cycle switches that state off and back on, so a re-home drops the measured offsets too. The next pick re-measures, and if the light at the new bench is different that re-measurement can land somewhere worse, which shows up as a feeder that suddenly misses picks.

Nozzle tip calibration is tied to homing from the other direction. While the machine is unhomed OpenPnP refuses to start it, and the request comes back with Machine not yet homed, nozzle tip calibration request aborted. When a tip's automatic recalibration is set to run on every nozzle tip change, the runout measurement happens inside the homing cycle. It matters because the rotation axis has no home switch, so where the nozzle points when you power on is not repeatable, and the runout scan is what turns it into a known quantity again.

Everything else OpenPnP keeps, moved or not.

Uniform offset or growing offset​

The first useful question is what shape the error has. A shift that is the same in the same direction on every board belongs to the XY datum. A shift that grows with distance from the board origin belongs to the millimetre-per-pixel scale, and that is the split our FAQ uses. OpenPnP's placement accuracy page points at the same two suspects for a uniform shift: the top camera to nozzle offset, or the position of the nozzle centre in bottom vision.

The datum is a 1 mm dot, and it can fail silently​

The XY datum is the 1 mm dot in the centre of the logo on the datum board. With the homing method set to ResetToFiducialLocation, a home cycle runs on the limit switches first, then moves the top camera over the dot and resets the coordinate system to the stored fiducial location. The switches are only a starting point, since they trip at slightly different places depending on temperature and how hard the head hit them.

Our homing and fiducial page describes the failure I hit: when the detection pipeline finds nothing, the machine can park without the pause it normally takes over the dot and fall back to the switches. The coordinate system then lands wherever the switches said, a fraction of a millimetre from last week's, and every board after that carries the same offset. The exposure I tuned under the old bench's window was wrong under the new bench's ceiling light.

The cheap test is the Visual Test button, which centres the camera on the dot without touching the coordinate system. If it lands off-centre, the datum is the thing to fix, usually through exposure and the pipeline's diameter range rather than anything mechanical. If the offset instead grows across the board, that is millimetre per pixel calibration.

The bench can twist the frame​

Machines do not care about slope. If the new bench tilts the whole machine evenly, the bed, the cameras and the board all tilt together and the geometry between them is unchanged. What matters is whether the bench is flat, because a bench with a hollow in the middle puts two feet under load, twists the extrusion, and changes the angle between X and Y.

At 0.4° of skew the far end of a 300 mm board moves 2.1 mm sideways, and the far corner of the full 500 mm work area moves 3.5 mm. My 2 mm matches a frame twist of just under four tenths of a degree, so the arithmetic narrowed the field to datum, squareness and scale without picking one.

The check that separates them takes a minute. Jog a 100 × 100 mm square with the camera crosshair against a steel ruler, as the OpenPnP squaring guide suggests, and see whether the two axes still close the square. That same ruler test confirms steps per millimetre, a mechanical ratio that should not have changed. Both nozzles are worth checking for level too, since one sitting lower than the other is the fast way to drive a tip into the datum board.

Light is part of the setup​

Three more things a move changes are measured in brightness.

Camera exposure is the first, and it should be manual: with Auto on, frame brightness follows whatever is in view. White balance has the same problem and a worse one, since auto white balance drifts with the colours in frame and takes time to adapt, which leaves the colour thresholds in MaskHSV stages chasing a moving target. The target for exposure is an image with no clipped regions beyond the tiny pinprick highlights on a nozzle tip. There is more on that in why bottom camera exposure decides your placements.

Camera settling is next, the pause between the end of a move and the captured frame. The default is a fixed 250 ms, and blurred fiducial frames mean the settle time needs raising.

Last of the three is the bottom vision background calibration, which fits a cutoff brightness to the background around the nozzle so the bright contacts of a part can be told apart from it. That fit is made under the lighting you calibrated in. The bottom camera page has the Z height the bottom camera sits at on a Vertex 4 (31.5), which is the plane both cameras focus on.

The PikkoBot head module with its two JUKI-compatible nozzle holders

The order I work in now​

  1. Level both nozzles. Paper pinch on the datum board, before the first home after the move.
  2. Home, then run Visual Test on the homing fiducial. That is the datum. If it is off, fix exposure before touching anything mechanical.
  3. Jog a 100 × 100 mm square against a ruler, checking squareness and steps per millimetre together.
  4. Record the exposure values for both lighting conditions you work in.
  5. Run the nozzle tip calibration, a nozzle tip change or a homing cycle away depending on the trigger.
  6. Check the feeders. The vision offset clears itself on the re-home, so a feeder that worked under one lamp gets re-measured under another.
  7. Leave backlash alone unless you are chasing a positioning problem. This machine uses one-sided positioning to keep backlash out of the picture, and a backlash calibration needs a constant-acceleration motion profile before its result means anything.

One ordering rule is easy to get wrong. Changing the X or Y offset of a nozzle, or the view of an up-looking camera, discards every nozzle tip calibration on the machine, so head offset work comes before tip calibration. Nozzle swap and recalibration walks through which measurements go with it.

What changed on the bench​

The machine is bolted down now, which sounds excessive for a desktop machine until you watch an extrusion twist under two of its four feet. Both exposure values are written on a card taped to the bench, and the test board gets one run after any physical change, before anything real goes on the plate.

One more height matters if the new bench forces you to re-shim the staging plates. The board surface belongs level with the datum board, which sits 10 mm above the plate, so a 1.6 mm board has its underside at 8.4 mm. Every Z location captured before the move assumed that plane.