Linear Motor Based 3D Printer 2

Now that the printer works, some clean up is in order. First, lets look at the communication between the DuetWifi and the IONICube:

To clean that up I made a board in Kicad and sent it out to OSHPark. All the pins on the IDC cables are brought out to headers to allow for more easily possible changes and additions.

Next is the cleanup of the connections to the print head.

The ethernet cables seem work well as a means to drive the motor and encoder signals. I will keep them. On the IONICube side the two cables need to split out to two connectors, one of which is a DB15 low density. That is best solved by a custom DB15 breakout board. The board will plug directly into the DB15 connector of the IONICube and 3 wires will go to the adjacent motor connector.

The fit turned out well:

But the DB15 connector footprint was mirror inverted compared to the one i actually used, so I had to mount it backwards:

Still this is far better than the breakout boards it replaces:

Next, I want the toolhead to be easily interchangeable (maybe laser engraver later). So that calls for an interface board of sorts very similar to the way the motor and encoder signals are connected now.

Except, more. The new breakout board needs:

- 2 ethernet cables carry the motor and encoder signals into the board. Two IDC connectors out of the board, as before.

- 4 cables for the 2 heaters into the board. These will go using the provided cables that come with the heater cartridges. Into and out of the board this will go through Molex KK 396 connectors.

- 2 PT100 temperature sensors. This can go through another ethernet cable into the board, 4 wires per sensor, as described here:

From the board, Molex KK 254 will be used.

- 2 fans. 2 leads each. One more ethernet cable into the board, and again Molex KK 254 out. That leaves 4 pins, which I am going to pull out to a header for a possible future extruder.

Special attention needs to be paid to the routing of the heating traces on the board. P= V*I, so at 24V the 40W heater cartridge will draw about 1.7A. A 12V cartridge would draw about 3.3A. Standard board copper thickness is 1oz/ft^2, and OSHPark will do 2 oz/ft^2 as well. There are a lot of ways to calculate the required trace width, but I used a calculator here:

So the worst case (assuming I were to switch to 12V power) is 62 mils of trace thickness for 1 oz board. The best case would be 13 mil trace thickness when using the current 24V and getting 2 oz board.

Here is the board:

Luckily, that worked together with the other breakout board right away.

The printbed:

The printbed I used is a Prusa MK42 clone from

It has two issues as far as I can tell. First the screw holes are not countersunk properly. Second, it is not as flat as I would like. Standard countersunk M3 screws don't fit flush:

I can work around this, but this is a good opportunity to test the customer support. So I sent an email:

"None of the countersunk M3 screws I have go flush with the heat bed. They all stick out a little. Is that normal, or could you point out which screws work?"

Very quickly I got an encouraging reply from 'jktam':

"Can you please send a photo to show us , I have CC Joseph who is making these bed for better advise . "

and then another one even more encouraging one from 'Joseph':

"i stand behind the product.. i will test one of my stock pieces and if it works i will have digitmaker send you the tested piece "

Followed by a slightly dissapointing one from 'jktam':

"I don’t think we need to send another plate as all the plates we have sold are functional , just check the taper of the holes , and let Jan how can we taper in the holes to make the screws flat with the bed"

So, his logic is that since nobody had problems or complained about other plates, this one can't be defect? Anyway, checking the taper is a legitimate thing to do, and I did get another email from 'Joseph':

"i use a machining drill bit to countersunk the holes, i will send more info and a picture when i get home "

So I sent two emails as reply. First:

"Thank you for your reply. Please see the attached picture. At what angle and depth do you do the countersink in production?"

and second:

"I have some more information. There seem to be two different countersinks used on the holes. The inner with a slightly steeper angle. See the picture. There is a color change. In some holes the inner one is drilled deep enough so that it is the only one left." With the following picture:

I did get a reply from 'Joseph':

"i used the middle one to countersink the holes. If you want i can send you screws that would work with the holes if you can’t find the bits locally "

with the following picture:

Which was a nice offer. It seemed clear that he is using a countersink set for lathe centers at 60 degrees whereas M3 screws usually have a 90 degree angle. So I replied:

"Thank you for offering to send me screws. I'll gladly pay for them if they fit properly, but first I want you to run a check:

You are countersinking those holes with a centerdrill designed for lathe centers. Those have 60 degree angles, while metric screws usually have 90 degrees.

I just blued a screw to check and it looks a lot like those boards have dual taper holes, depending on how deep you went with the centerdrill.

Look at the attached picture and see how the bluing is rubbed off the screw, just in the area of the original taper in the board. It looks like the boards maybe came with a 90 degree taper and then you went in and changed it to a 60 degree for however deep the centerdrill went.

I suspect that either the screws you have are a 60 degree taper, or they have a smaller head than mine but they just touch the taper at the very top edge of the hole.

Could you check your screws for fitting? If they are a close fit to the hole, I would like to buy some. Otherwise I'll go out and buy a 90 degree spot drill or something, but I am afraid of hitting the traces.

Thanks again for taking the time. Lots of companies wouldn't help at all...."

I added a picture where I blued a screw fit to show the problem:

After which I never received another reply. It looks like they shipped all their plates with the wrong countersink angles...

I did share my fix with them:

"I want to share my results. In the attached pictures you can see the result of boring the holes out a bit with a 90 degree countersink. I can confirm that the holes were in deed countersunk at 60 degrees originally.

I have not yet received the screws, so I can't check them against the ones I have."

I never received any screws, though...

Here the fix:

I obtained 90 degree countersinks from Amazon:

and then proceeded to hand drill out the holes until the screws sat flush:

Another issue with this bed is that it is not very flat. I did some checks with a shim:

The build plate was placed on a flat surface (MIC-6 tooling plate) and then I placed a parallel on top. I can fit a 6 mil (0.152 mm) shim under the parallel.

I did place a review here:

The board comes intended for 12V operation, but I am running the system at 24V. However, the bottom of the board has an identical copy of the copper on the top of the board, and usually it is simply unused. So I connected both sides in series, doubling the resistance.

Prusa have since come out with a bed that holds a magnetic steel sheet and I wanted that. I can't get that from them, but there are other companies that sell equivalent systems. I got a BuildTak FlexPlate System 9" x 10" from Matterhackers. I wanted the heater in direct contact with the build plate, so instead of mounting the magnets on top of the heat bed, I mounted them below.

It turns out that the magnets are strong enough to pull the magnetic sheet flat to the bed. It can shift sometimes, though, so I added two clips. This works great. I may add an extra big magnet or two to the bottom of the plate in the future.

Next, I wanted to test the accuracy and repeatability of the Z axis. The X and Y have linear encoders on servo motors, but the Z has steppers on ball screws. I don't have a good way to check for the linearity of the ball screws unless I add a glass scale there, but at least I can check for lost steps and repeatability. So to do this I used the existing encoder on the stepper motor that is not used right now, and I also mounted a 0.002 mm/div dial indicator and then ran the z axis up and down a few times. You can see that the encoder is still at zero, indicating that no steps are lost. The dial indicator agrees, and additionally shows that the stop position is to within 0.002 mm of the start position.

Also, after putting into IONI the fictional values for the resistance and inductance, the printer could be retuned for much quieter operation.

Compare this:

To this:

The original setup was bowden tube based, but I decided to change it to a direct extruder setup:

Originally, I wanted to finish the Optical Table CNC Lathe before starting on this printer, but I needed a part my existing printer was too small to print. Finally, I can print the guides for the bellows: