Magnetic ball joint seat geometry... May the force be with you!

First I'd like to give due credits to Kees Koese who started with the idea of the magnetic ball joint and made the original design of the effector plate. Give his website a visit to have a look at his multispindle drilling machines. Technicians will like it :)

This post is a how and why about the geometry of the ball seat in the effector plate. Since the original effector plate was made with SLS printing we wanted to be able to print this with FDM printing (both being entirely different processes).

During the first test prints there was still manual rework needed. I wanted to end up having to do nothing at all regarding removing filaments, grinding etc. I think making geometry only with the printer without having to rework it is why 3D printing can be such a fantastic way to manufacture.

Before going into details I was amazed how rewarding and exciting it is to draw your thought/improvement in your favourite CAD program (mine is SolidWorks) and having it on your desk in 30 minutes... Every engineers dream.

The picture below shows the original geometry Kees drew a few (almost 6) months ago. It depicts the ball seat with the area (cylinder) where the magnet needs to fit. Because of the original being SLS printed there were virtually no limits regarding overhang or printing resolution. Notice the second (bigger and lower) sphere that ensures the ball will fit in the topmost seat.

magnetic ball bearing seat 1

When initially printing this test piece to check if the resulting dimensions were good enough to fit the cylindrical magnet (this situation needs a ∅10.5 mm diameter to result in a snug fit of the ∅10 mm magnet) I had a lot of problems printing because of 2 non-printing areas coming together in mid-air. Also the points where the 2 areas merged were sharp so the filament  kept sticking to the nozzle on it's way back. (a lot of words for saying the result was horrible...)

What to do... Make sure there were no pointy encounters so that meant closing the gap between the seat and the cylinder volume. See below:

magnetic ball bearing seat 2This was not the way to go. The wall thickness was so thin (wall thin-ness) that it could not be closed (and the ugly thin-ness needed to be drilled away manually... bah...). Because the overhang is at a 15 degree angle there is not enough previous layer to adhere to. Improving (but not really) solving) this could be done by adding wall thickness. But alas... Every solution frequently introduces it's own problem... The distance between magnet and ball was getting so big the magnet lost it's force-field on the ball... Thanks for nothing Master Yoda!

There had to be a way to ensure a minimal gap between magnet and ball without the overhang problem and without wall-thinness situation... If you have something you don't want: (re)move it... See below:

magnetic ball bearing seat 3

All that's needed is a defined sphere and a axial constraint preventing the magnet being pulled onto the face of the ball (creating friction when the ball is turning). If you add a partial ceiling coming from the side (instead of bottom or top) of the cylindrical hole then during printing you will see a very gentle alteration of the contour of the non-printing area. Then there is enough support from the previous layer to create the overhang.

Final measurement and test were done with calliper (measuring the distance over Ball and Magnet, subtracting the ball diameter and length of the magnet) and multimeter.

I measured a gap of 0.1 - 0.15 mm and when doing the beeeep testing for I got no beeeep. (measuring short circuit between ball and magnet).

This evening Master Simon helped me taking a picture of the actual force of the ball joint connection. Result: One connection can pull 1690 gram. Take that Master Yoda?

Below some pictures of the test, some prints and last but certainly not least the geometry of the connection.

Pulling water in Sigg bottles. I am holding the blue printed part.

pulling force of magnetic joint

Resulting weight being pulled:

Weight being pulled by magnetic joint

Seat of ball with magnet underneath (view from top):

Seat of magnetic ball joint (top view)Fit of magnet in area under steel ball (view from bottom):

Fit of magnet in area beneath steel ballMisprints being mentioned in this post, next to the result:

MisprintsFinally after having bored you to death the resulting geometry. First the cut-revolve of seat and magnet volume:

magnetic ball bearing geometry section view

Second the cut-extrude at ∅10.5 with a width of 8 mm. Seen from above. This prevents the magnet from getting in contact with the ball. I also added a radius of R1 at the inside of the cylinder making the sliced contour even more printer friendly.

magnetic ball bearing geometry axial stopENJOY !






Magnetic ball joints on our printer

We are proud to show some photo's of our working solution for making very simple ball joints for our printer. A few months ago Kees came up with the idea of using magnets to pull ball joints in a ball seat. We have done some dry runs before but did not print because of the lack of an extruder. Because of us both being busy with our work we did not make as fast progress as we would have liked.

The big plus about this joint is the very limited number of parts that are used for this. You need a base (carriage or effector plate) for the seat, a steel ball (ball from a bearing for example),a strong rare earth magnet and a carbon fibre rod.

Furthermore there is no play because of the magnet pulling the ball in the seat, always in the same direction. Another advantage is the big angle that can be reached.

The making:
The rods were made by drilling a hole in the balls (no accuracy needed for this) and gluing 2 balls on the ends of the carbon fibre rod. The important thing is that all the balls on the rods have the have the same center dimension. By making a simple rig for fixing the balls while the glue sets this is relatively easily done.

The effector plate and the carriages that were made for this printer are made with an SLS machine because we did not have a printer ourselves at the time. I'm positive though that this can be made with the normal FDM printing techniques. That's the next goal for us... Making another effector plate and carriages because one printer is not enough for 2 people.

Below some pictures, enjoy!

ball joint with steel ball and magnet

ball joint with steel ball and magnet


SVG to G-code... "hello world" !

Today I wanted to print more with doing less work. Making the previous program took quite some time and concentration for making some straight lines. Nothing Fancy about that.

I wanted to have a program where you can print (plot) fancy work. In a way that drawings made by my kids (when they will do so in the future) can be plotted. I searched and found an Inkscape extension (I frequently use Inkscape). It didn't work for me.

What I actually wanted was to get all the points from a line and convert them to coordinates in G-code. Basically it means instructing a machine to go to point X... Y...

Here is how I came from this:

to this:

I needed to investigate the .svg file to see if I could easily change the coordinates. I opened Inkscape and first drew a simple line consisting of a few points. I found out that (0,0) is the upper left corner of the canvas. I drew the line in millimeters but the .svg file gives coordinates in 'px' (pixels). After some calculating I decided to scale the line in Inkscape so my coordinates would be in mm. (90 dpi (pixels per inch) gives 28,222 pixels per mm so the line needed to be scaled to 28,2222 percent of the original size)

What is x and y in Inkscape translates to y and x in the .svg file... good to know.

Now the file needs to be opened in a text editor. I highly recommend Sublime Text 2 for this since it is a very powerful editor (I'll come to that later on).

Here are the coordinates:

Delete the rest of the file since we don't need it. Also in my case the first coordinate was written as 0,-1.484375e-5. I changed it to 0,0

Now here's what is so shizzle about Sublime Text... Select one space, and with a shortcut you can select ALL spaces. If you then press "backspace" and after that "enter" and type "G1 Y" you have changed all spaces in "G1 Y"!!! Timesaver!!!

Select all spaces:

Change all spaces:

The same goes for the comma, select "," and change all to " X"

Finish the textfile (add other G-code for putting the pen on paper etc) and it is ready to use for printing...


3D printer besturing

Kees en ik zijn een 3D printer aan het bouwen en hebben de mechanische delen bijna klaar (geleiding, frame, aandrijving).

Ik ben afgelopen zaterdag aan de gang gegaan met de besturing van de 3D printer. Het doel voor mij was om beweging uit één stappenmotor te krijgen. Het is zaterdag wel wat laat geworden.

  • Ik ben begonnen met connectors pakken, draadjes knippen, soldeerbout aan, een stukkie solderen... Voor mekaar!!!
  • Daarna moest de firmware worden gecompileerd (de brains van het kaartje). Dit was met wat zoeken op goed te doen...
  • Ook het uitzoeken van software die 3D modellen in plakjes hakt en vertaald naar G-codes (instructietaal zoals ook CNC draai- en freesautomaten worden aangestuurd) was best snel geregeld...
  • Voeding uit een oude adapter was in een mum van tijd gefixed...

Het lukte alleen niet om de motor in beweging te krijgen. Laat op de avond (eigenlijk heel vroeg de volgende morgen) kwam ik erachter dat de voeding die ik gebruikte niet voldoende was. Ik had iets nodig dat 12V kon leveren met een minimale stroom van 5A... Ga dan 's avonds laat nog maar eens in de zak met oude adapters en transformatoren lopen trekken.

Toen ik Pug ging uitlaten zag ik de acculader... effe kijken en.... 5 Ampére... Ajetoo!.

Zondag was het toen binnen 15 minuten geregeld. Alles werkt. en achteraf gezien viel het me 100% mee.

Volgende stap is de 3 assen aansluiten en "kijken wat ie doet..."

3D printer brains

3D printer stepper motor