Thursday, January 14, 2010


RepolaRap Calibration thoughts

I've received a few ideas from others now, for how I might calibrate a RepolaRap XY axis. I may need to leverage some of these ideas eventually, but I wanted to describe my thoughts for how I might do this. The RepolaRap XY has intrinsically soft, round curves, and normally, we want it to do hard angles or straight lines. I'm still working out the math itself, but I think all the variables can be accounted for using the following procedure:


The encoders should let me accurately measure platform angle from an arbitrary home position on both platforms. The build platform angle is truely arbitrary. It's only affect is to build a rotated model, and who cares, since we can just rotate it around and viola! The radial arm home angle, however, is very important. Get it wrong, and straight lines turn into weird curves, and extrusion material volumn doesn't match print speed.

There are also two slight unknowns that should also be measured: the planer radius between the base / radial arm pivot and the extruder tip, and the limit circle diameter of the model space (I.E, the maximum radius of the largest circle you could print.)

My approach would be to manually rotate the table so the extruder was relatively near the center. This allows me to pretty accurately model the extrusion rates relative to platform rotations. Then, execute the following program to create a calibration thread that can be measured directly:

This diagram shows where the measurements need to be made:

Hopefully, I'll be able to test this out within a week or two.

I tried using H.P. inkjet printed optical encoders a few years ago with infra red sensors. It didn't work. I suspect the ink was not opaque to infra red wave lengths. Models tried were Business Inkjet 2200, 1200C and 550C printers. I recall that the laser printers worked well.

I used Postscript which could be viewed using Ghost Script. I have seen some Python code as well. I was able to generate discs of any size and pattern for measurement purposes to reasonably high degrees of accuracy. I could also imagine an absolute encoder system with little effort.
Thanks. It sounds like you were making a transmissive encoder (clear bits and opaque bits)? The encoder I plan on will be reflective; Printed right on paper; only reflectivity is important. I think it's more a function of figuring out the reflectivity of the ink for the specific wavelength for the detector, and finding paper that is opposite that.

I use Blender to create my encoder wheel print outs. Just create the disk using SPIN DUP with a non-shaded black material 'encoder rectangle', in front of a non-shaded big white square. Set camera to orthogonal, and render to a 6000x6000 pixel image. :)
you will have to translate from angle to X/Y , the step will be logarithmic and not linear , a simple calibration alone wont help , you will need a table or a complex algorithm. x = (cx+(l1*sin(a1))) + (l2*(sin(a2))), y = (cy+(l1*cos(a1))) + (l2 * cos(a2)) , where cx,cy is the center position of the bottom plate, l1 is the lenght between the center of the bottom plateau and the center of the upper plateau , a1 and a2 is the angle of the bottom and the upper plateau respectively, this should give a the position of a point a the border of the upper plate
Up till this morning i thought i was the only one with this idea :)

My built is going to be a bit different from yours but the principle is the same

I contemplated using the same plate with two cirkels but since my goal is a medium sized machine but i was afraid of balance issues.

my testbed

I'm using an arduino with an adafruit motorshield.

The gears and motors are all from HP printers

I'm now working on the gear reduction and a friendly engineer is working on the math.

As soon as i make a working prototype that can draw a square I'l make a bigger one
Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]