well hardware/software co-design and thus also embedded stuff is my field of expertise yeah. I `normally' also do kernel work for NetBSD So i'm quite used to programming 'C' and producing fast algorithms. Challenging for embedded stuff since memory is tight normally ...

The values are Axis positions in steps yes; the value 0 means parallel to the plane the machine is set on. If you could just feed the values to a loose stepper motor to see if it runs smooth or relatively smooth i'd be most grateful! I'm thinking of creating a interrupt routine that tries to set the pwm's correctly, but i'll have to dig into the internals of the Arduino/Sanguino a bit more...

I'm planning on working on the code this weekend in Meka2010 in Karlsruhe; so i packed my Arduino with me! Hope to have something more working on tuesday!

i don't think you need an google account, but i'm not 100% sure. It should work with just your username and the password.

As far as runing a stepper with the profile is concerned, i think this will not work, it will work with a servo, as absolut position is related to a fixed timeslice, but for steppers i think i need something like delta steps per timeslice ( which should not be a problem to get from a series of absolut position, of course). Correct me if im wrong here.

Hi there.( This is my first post here)
My name is John i have been in engineering for 15 years, i have a degree in aircraft engineering and i am currently working on my next degree in electronic engineering.
I have been looking into building a 3d printer for some time now that that could be built by the layman, and tried a couple of ideas out. But to be honest i have not been happy with any of them. From trying to source stepper motors to coming up with a very easy mechanical system.
I have how ever read your post here and i like what i am seeing.
I believe this thing has legs a mechanically simple robot that can be made with parts from your local model shop, that can use normal hobby servos, to position the heater element while the extruder driving gear can be positioned stationary above the servos, allowing the bot to be low powered and easily controlled using pwm signals. And best of all i can easily built in a couple of evenings.
Would be even better if it could be fitted with a granule extruder. But any way i go on with my self lol.
I am going to build my self on of these using some hobby servos to try out accurate and methods of control..

so, when the software for this is done, will we all have a basic tutorial to follow for assembaling the delta robot that will fit it? Could we get a how to with a list of parts? or will the software be flexable and be able to change with various designs if you input the diferent dimensions?

check out this delta robot printer! im thinking that increasing weight (while printing) might form problems if the delta robot is wimpy. look at those beefy parts! and check out the extruder lazy suzan

sorry to disappoint you, but unless you know of a way to disable the PID control in the servo's or try out digital servo's, i fear that that road is blocked for now The problem is that the PID control works fine with a counter force, but when it has a force in the direction of the movement, it starts to overshoot which results in a very resolution shattering motion.

As for the cardboard one; it moves quite fast, but how accurate is it? Won't the PID control wreak havoc there to?

Torsten, what parts are you using for your magnetic joints, and where did you order them from?

I've become disillusioned with trying to model plastic joints with metal rod hinges, and want to see what it would take to use magnetic joints instead. The cost per joint is surprisingly good and I've been wanting to play with designing a halbach magnet array anyways.

My magnetic joints were built with two ball magnets, so are a bit more tricky to calculate forward- and reverse-IK than with two cylinders and a simple steel-sphere as rotation center ... but have some nice stability issues

What angular sensors are folks considering, and what spatial resolution do those give in/near the "sweet spot" of the mechanism (area where the kinematics are reasonably well behaved?) -- Or are folks considering some other sensing approaches?

The reason I ask is that it looks to me that one needs considerable angular resolution (milliradian or sub-milliradian), to get acceptable spatial rez for a use-ably big sweet spot -- and even more outside the sweet spot, to compensate for an ill-conditioned Jacobian (mapping from incremental angular changes to incremental cartesian changes.) Encoders with (greater than) milliradian resolution get increasingly expensive. An alternative is to gear the encoders (so the encoder moves many revs per one input-axis revolution, but that leads to other problems, like backlash and gear eccentricities. Gearing is not insurmountable, I know of a commercial robot that used geared encoders, but it sure does add to complexity and cost.

What sort of link lengths (and distances between bearing on the moving platform) are people considering for delta repraps?

... i have some high resolution steppers with 50000 steps per rev. or 0.0072° resolution, so i can use them without encoders or other angular sensors with high accuracy.

They have 8.5Nm torque and max. 200kHz stepping rate, so they are strong and fast enough for a basic delta.

... on the other side i want to build a high accuracy CNC-mill and -Laser, so i'll use them better here

But then i have some 1/256-microstepping drivers with 10kHz stepping rate too, which runs a 1.8°-stepper with 51200 steps. Some Nema-34-steppers with [email protected] should arrive soon, so this is another possible way ...

as I have been doing some math and analysis around the necessary transformation and Torstens setup, I'll try to answer the questions.

As for the precision: Torstens designs worst case error rate on position will be around 0.19 mm for the combined error vector length of x+y+z and 0.032 for the `sweet spot'. This error rate is for the combined step angle of 0.1125 degrees; the error is thus approx 1.7 times the minimum combined step angle but in millimeter.

As for the positioning: its never a good idea to integrate the jacobian other than localized; its NOT a linear transformation; at best polynomial.

When the device is calibrated, either automatic by hitting switches or semi-manually by positioning the arms parallel using a jig, the stepper motor counts can be used to move from one position to another if and only if the positioning stepper motors are not skipping steps during the move.

Increasing the base of the bot won't necessarily increase the resolution; it will only create a bigger workspace since the other parameters are scaled too. If not scaled, the build area might actually decrease (its not cubical).

... i've got 4 of the 8.5Nm-motors+drivers in exchange for some of my spare parts, 3 of the 1/256-microstepping/3A/10kHz-drivers from IMS for 30 Euros each, and awaits 3 highpower-nema-34 1.8°-steppers for 25 Euros each.

This aren't parts from the shelf, but dealing and exchanging in our german CNC-forum.

I've read recently that another guys sells a bunch of motors and drivers from Berger-Lahr and Vexta for around 10 to 20 Euros each ...

Ok, before I get inundated with more stuff. I need to lay out the entraped magnet arrangment I'm kicking around.

The idea is to use a metal bearing with a low coercivity and to use a strong magnet to attach with, such as soft iron or ideally an iron nickel alloy.Ball joint using a steel ball to entrap a strong magnet between a lubercating cup
The second idea is to encapsulate a strong magnet in the lower parallel legs and encapsulate a spherical ferromagnetic material with a low coercivity, like iron, in the upper leg. This would allow the minimum amount of motion reluctance while producing an extremely simple joint. The interfacing plastics should be low friction, so the encapsulated sphere and the encapsulated cylendrical magnet should be encapsulated with nylon, teflon, or uhmwpe. Thic can be accomplished by making a plastic cup that is attached to the cylendrical magnet and rests between the iron sphere and the magnet.

Third idea is to use a Dual Axis Magnetic Sensor Breakout - Honeywell HMC1052L, such as the one from sparkfun, such that it rests behind the sphere and records the change in the magnetic field as the magent changes the angle. This would provide angle positioning, acceleration, and general coolness. Only issue is cost.

Fourth idea, is to use a halbach array to maximize magnetic confinment, as having strong magnets on a robot make me nervous. This can be achieved by putting the magnets in a matrix grid, with the non-aligning hole filled with a diamagnetic substance like bismuth. This would provide support as well as better field alignment, I believe.

fifth idea, unrelated to magnatism is to use a optical mouse optical sensor and integrated dsp processor to do acceleration, relative positioning and absolute positioning. A optical mouse chip such as Avago ADNS-2620 is able to export x/y coordinate changes by observing the relative change in position in image features taken by the low resolution, high speed integrated camera. The device can also export the image. Using a circular printed encoder, you could encode a black and white block pattern that is both optically unique and easy to pick up. This would give an extremely cheap high quality sensor option that could cost less than $10 per encoder. The challenges would be to get it integrated into the current software and to make an appropriate circular encoding that is optimized vs. the resolution of the camera.

Once I get some time I'll order some magnets and redesign my joints according to the above. I also apologize for the ms paint diagrams.

Ok, so I did some some testing and realized that the parts I wanted don't exist in a cheap commodity form or wouldn't work exactly how I thought they would. What I came up with is this demo setup. The neat thing about the setup is that the plastic cup makes motion very smooth while keeping the ball centered in the magnetic field of the magnet. Without the cup, the ball skips while overcoming static friction. Here is a picture with the separated ball joint and plastic cup.

The problem I was having was how to fix the magnet to the socket and the metal ball to the arm without separating them such that the majority of the holding power of the magnetic field was lost. I couldn't just cover both of them in plastic and assume that they would hold, because the aggregated distance and the exponential magnetic force decay would make it difficult to support a substantial end effector package. So, what i came up with is welding a stub to a ball bearing and covering the magnet with plastic which the plastic cup is a part of. I get greater than 180 degrees of rotation on the joint, as long as the ball is larger than the socket, and I can attach both metal balls together so the forces pulling on them counteract each other.

Also, by using a non magnetic steel/iron/ideally nickel/iron ball I don't have the same magnetic reluctance issues described above. Best of all, the total cost of the joint is under two dollars, and can be integrated with the plastic mechanical arm structure.

... you can try with the setup i sketched in the added immage - the red-blue should be a disk magnet and the green either a fabbed plastic-part, or a lathed plastic-tube and a cap wit a cavity for the ball ... the cavity preferrable coated or made from something with low friction ...

Thanks for the clarifying picture. I had hoped that I was communicating effectively but I'm afraid I came off as rambling.

What you have pictured is what I had hoped to describe above, but I would like to add a few points.

1. By increasing the diameter of the ball sphere, to approximately 1.75 of the diameter of the magnet+housing, you can get a greater range of motion. The trade-off is that the larger the metal sphere the more unstable the joint is. I don't know what the optimal magnet size/strength/shape to metal sphere is.

2. In the test I performed, I used a piece of ABS plastic which I then friction/spin welded supporting plastic around to form the cup. I wish I had a force spring so i could determine the coefficient of static friction, but it appears good. I would much rather use ultra high molecular weight polyethylene, because of its compatibility with HDPE which is cheap, available and its good impact resistance coupled with low friction.

3. My only concern is having strong magnets around the joints of a robot in a work environment. The two fixes for magnetic field confinement is the halbach array magnetic arrangement, or a nickel-iron alloy field routing shield. The same technique is used to isolate the strong magnets in hard drives from the rest of the system by backing the magnets with a nickel-iron alloy.

Also, does anyone know what a magnetic hinge is called in industry or the scientific literature, as I can't believe we are the first to think of using magnets as hinges.

... look at the image and the posts here - i minimized the outer magnetic field with two spehric magnets as oriented joint and two cylindric magnets in the rods as fixators (the cylinders could have an iron-cup as field-loopback too).

It's working really good with high possible angles, but the PK- and IK-calculations are a bit more complex as the joint-centre is not a point but the connecting line of the two spherical magnets, what's moving with the angle.

if you used this on a delta bot that is working as the base (opposed to working the extruder), wouldnt weight be a problem with future applications like sintering, or (for me) biological printing? I cant imagine TOO much weight on there, but with the acceleration and such added the idea seems a little sketchy compared to good ol hinges and such.