Started by spiyda, August 16, 2016, 05:16:21 PM

Previous topic - Next topic


Thought I'd better start a new topic !

I should have a calibration jig ready some time next week, but in the meantime a question re the alignment of the fid cam.

It needs someone with a properly calibrated camera to check the angular alignment of the camera.

In other words, the angle of the cross hairs when the arm is in a particular position.

If anyone has seen the calibration process, they may know the correct way to set it, otherwise a protractor at the home position might be enough to get started ?


Mine seems to be at a slightly arbitary angle - not aligned with the head, or teh bed at home position. It may be that it's fitted "however" than the actual rotation specified or measured somehow.

And as in principle you only care about the centre, does the fid cam rotation actually matter that much ?


I did wonder if the camera had to be aligned so that the auto correct moved the arm in the right direction

eg if the cam was 180 degrees out, would it move away from the correct location ?

Anyhow, I stripped the Fid Cam illuminator  (or should I call it LED cooker !) and rebuild it..

The illuminator comes out from below, so no need to disturb the camera itself.

board dimensions are 16.4mm dia by 8mm bore

changed from 8 LEDs each with its own 1k resistor to 2 chains of 4 with just one 220r resistor each chain...

quadrupled the light output and reduced the heat by a factor 4.

Certainly this evening, room lighting makes no difference to the software's ability to find the centre of the test calibration dot.

and with a massively increased threshold range..   up from 120 - 130   to 90 - 170

so that bodes well for calibration

pictures below  ( dot and the original led board )   


An update on progress (in case anyone is interested !)

the parts for the jig were delivered (in ally instead of steel, but not a big issue)
Parts assembled and test fitted to the registration points on the machine.

I then went through the calibration procedure in the factory settings.

I think I am getting the gist of most of it and it doesn't seem to be as complicated as some people have suggested in the past  ;)

There are still some unknowns, eg
the rotational alignment of the fid cam (I am assuming parallel to the front edge when the arm is at full extension (setting x y)
the height of the over-travel test block
I don't fully understand a reference to reversing the camera.
the actual set position when setting x y position ( I am assuming the arm in the central position, nearest the front)

Some parts run fine, for example the encode rotation section.

I should have more time next week to try the full calibration procedure and compare with the calibration settings of the two machines I have.

Fingers crossed !


Quote from: spiyda on August 20, 2016, 12:11:41 AM
An update on progress (in case anyone is interested !)
Pretty sure a lot of us are extremely interested!


The bit that is puzzling me at the moment, is when starting the "Grid Head" process, the dialog says "Set Camera in Reversed Position" The process then images a pattern of test marks, then  the dialog says "Set Camera in Normal Position" then re-images the test marks.  These take place with the nozzle lowered so that the mirror is vertical and out of the way.

There are a whole range of possibilities, but I'm assuming that they don't include physically moving the fid cam.

so, since this part of the process is to calibrate the head, perhaps an extra camera is mounted on the nozzle.

That would certainly be the way I would do it, if I was designing a calibration process, but cameras are smaller and cheaper now.

I can't imagine the camera under the arm being used as it wasn't there on the non-s models, and no-one would write a separate calibration routine for each model, that would also rule out swapping the on arm camera connectors.

Unless anyone has seen this part, it looks like I will have to try everything I can think of, then analyse the results in the data file.

Any thoughts ?


If the flying cam is involved I'd expect it to switch video inputs - you should hear the relays click.

Maybe the nozzle height is a red herring and reversing is referring to rotating the fid cam?. Maybe the nozzle is used as a physical reference position for positioning a jig for the first pass, then lifts it out of the way for the second as it's not needed ?
Could it be measuring the actual fid cam rotation by starting with imaging at (approx?) 180 deg then imaging at correct rotation? 

It might be useful to measure the fid cam rotation on multiple machines to see if it's consistent - may give a clue as to whether the process measures and stores the actual rotation, as opposed to wanting it to be in a consistent accurate position.

Here's one data point :
Start in the home position
Place a piece of PCB on the back edge support, overhanging left enough to be under the camera.
Place a sheet of paper or card on the PCB, and rotate clockwise until the left edge appears vertical in the fid cam.
Tape the paper to the PCB and remove to measure the angle between the rear edge of the PCB and the rear edge of the paper.
On mine it's very close to 20 degrees , i.e. a horizontal object rotated 20 deg clockwise appears horizontal in the cam.

Have you experimented with the cancel and apply fid rot buttons ?


I need to run 100 boards on the machine, but after that I will get back to it. I bagged some 28" long calipers from eBay to check the grid accuracy, but the rust needs removing before I can use them, they are sitting a soda crystal solution with 300mA running through them at the moment !

Hopefully it will become clearer when I actually generate some data files and compare them to the stock file.

Its a pity no-one who has seen or done the process is willing to discuss it, I hate re-inventing the wheel, but that is where we are.

At least the head rotation calibration procedure runs through smoothly. I don't know how it was done originally, but a disc machined out to fit in place of a nozzle, with the calibration disc stuck to it does the job perfectly !


Quote from: spiyda on August 20, 2016, 07:54:52 PM
At least the head rotation calibration procedure runs through smoothly. I don't know how it was done originally, but a disc machined out to fit in place of a nozzle, with the calibration disc stuck to it does the job perfectly !
Can you explain a bit more about that - I don't think many of us have played with many of the  cal functions - all I've ever done is tweak tool block positions slightly.
Would be good to document each of the functions as they're discovered.


I'll document it properly when we can perform an actual calibration

Its early days, but so far what we know is this  (anyone please feel free to add or comment if they have an information or insight)

The "Rgrid" calibration ring is fitted to a disc which is machined to fit the nozzle holder.

The calibration  jig (which I have made) sits on the machine table, locating on the two dowels.
The feeders need to be removed, but the upward looking camera and, with a little adjustment of the dimensions on the jig drawing, the tool block can stay.
The 0.5" grid of white dots which should be fitted to the jig can easily be imaged by the fiducial camera in a wide range of lighting, as long as the illuminator ring is in tip top shape.
We don't know the exact alignment of the grid on the jig, but that can be established by generating data and comparing it to a good calibration file

Z reset function seems to run

XY rest function runs and I'm assuming the calibration position is with the arm aligned directly forward

Grid Head function This images the dots of the calibration grid but the references to camera reversal are currently not understood  This needs the grid on the jig which is the next job

Test Head Grid  not much use until we understand the Grid Head function

Grid Fiducial   this scans the dots and images them, presumably with the fiducial camera (no camera reversal references here)

Test Fiducial Grid

Overtravel      This requires a test block for which we don't know the height, but we should be able to reverse engineer it from the data

Tool Block Height   Straightforward enough

Tool Positions   This seems straightforward

Encode Rotation   The encode rotation and test rotation function seem to work, they rotate the calibration ring above the upward looking camera and do stuff !

Test rotation  see above

Offsets  This seems pretty straightforward


If there was a camera fitted in place of the nozzle, the cryptic reverse camera message in the Grid Head function would make a lot of sense.

The function would want to ascertain the nozzle position in relation to the calibration dots.

So,  fitting a composite video camera to the nozzle, and connecting it to the input to the digitiser board
(probably by breaking into the connector on the back of the arm) would do that...
the system can image the dot and therefore work out the nozzle position

it would be very difficult to align the camera to the centre of the nozzle.

but,   and here's my thinking...   if the function took one whole set of readings, then the nozzle and camera were rotated 180 degrees and the procedure repeated....   half way between the two sets of data is the exact nozzle position...

As I mentioned earlier..  If I were trying to design a calibration routine to precisely map the nozzle to grid, , that would be probably the simplest way.

OK, so Versatronics may not have done it the simplest way, but its a place to start !

(reverse engineering !  don't you just love it !!)   ;D

ps  devils advocate welcome !   ;)


A couple of steps forward (I hope) this evening.

First, I built a better rotation grid, I had a few thou out on my printed version and although it ran perfectly, I wasn't 100% happy with it.

This one works perfectly.. and the runout is better than my ability to measure !
The process might be useful to others.... !

3mm Acrylic, matted off with 600 wet and dry, sprayed with matt black paint

extra thickness glued to the back where it needs to fit the nozzle fitting on the head  (I don't have any 6mm acrylic !)

The white dots were laser ablated, leaving the white matt of the acrylic.

the disc was laser cut  and finally, the hole chamfered to protect the "O" rings.

I could have used this method for the main head grid, it would give a cracking result, but my laser is nowhere near large enough :(

Second, I started building a rig to test my hypothesis  regarding the camera and reverse.

I started looking at fitting a composite video camera to the rotating part of the head

The gap between the camera and the test grid is quite limited, and the only useable image I got from any of the composite video cameras I have was from a pinhole board camera. It fits nicely in the gap and can be mounted using a similar mount to my rotation grid.

Its not yet mounted to the head, but connected to the digitiser through the Fiducial connection it images and finds the centers of the grid dots OK...  I picked up the power from the upward facing camera power plug as it was convenient.

It has the same number and orientation Red LEDs for illumination as the fid cam.

Work is now getting in the way and I probably won't get back to this for a few days.

ps, yes I know the camera is old fashioned !  its been in a drawer for 20 years !


Checked my printer accuracy today with my reconditioned calipers and the standard print is within 1 part in 1,000 over A3 which can be corrected to less than 1 part in 10,000 in software. That is better than the dimensional stability of the paper so its as good as it can be and I'll stick to the default print scaling.

Thinking about it, the linearity of the grid is important, but the actual accuracy less so.
My understanding is that the the grid is used in two ways.

1.  to map table positions against job pcb positions. In this case setting to the fiducials corrects for any small overall dimensional differences, using the difference between the stored fiducial positions and the imaged fidicuaials to scale the job x y co-ordinates to fit the actual pcb.   So the machine will compensate for a grid slightly out of scale.

2.  to map the fiducial camera positions relative to the head.   Again, a small scale difference would be compensated for.


I have the kit and a plan,     just waiting for time to have a play !


I managed to find a few minutes this evening to try a short test run with my camera rig attached to the nozzle stub.

I didn't remove all my feeders (as I still have more boards to run this week), just enough to get a level area back left where the grid head routine starts.

The good news is that the grid head routine moved the head around the grid, one dot at a time, imaging it correctly until I told it to stop.

I did learn a couple of things from the run

1.  with my setup, I need to tie the mirror up out of the way as the camera fouls it when retracted enough to focus

2.  It seems it doesn't matter too much what camera/lens is used as the first thing the calibrate routine does is do some scaling on the image. This scaling must just be to set the imaging window as it didn't affect the head movement steps.

3.  My current set up has a couple of issues.  First, the grid needs to be matt, as the semi glossy card stock I used at first has too many reflections. Second, The LEDs will need a diffuser, again to minimise reflections, the same type material as used on the illuminators for the fid and up cams will do, I will try a bit of matted off acrylic next time I try.

I have a feeling that the CAL05 drawing is of a camera adapter to fit a camera of the type used in the Fid cam to the head. 
I can't quite get my head round how it is supposed to fit, but since I don't have a camera of those dimensions available, I will stick with my cobbled together set up for now until I have the process working and need a more accurate and stable mount.

a brief (and not very exciting video here

The movement of the head from one dot to the next shows up nicely.

You can clearly see the reflections of the LEDs in the black toner which cause the issue, the digitiser sees them as white areas unless the threshold is spot on..   The phone camera I am using to take the video shows them much better than the human (or at least my) eye.

You can also see a pause where the initial imaging fails and the routine adjusts the threshold for a better image.


For best diffusion you ideally want something that is translucent throughout,not just on the surface. Opal acrylic is ideal,but csn be hard to find in small pieces. Polythene,or translucent hotmelt glue are also options.