{"id":109,"date":"2019-01-25T22:58:46","date_gmt":"2019-01-25T22:58:46","guid":{"rendered":"https:\/\/www.codemakeshare.com\/?p=109"},"modified":"2019-04-19T09:25:43","modified_gmt":"2019-04-19T09:25:43","slug":"optimill-mb4-cnc-conversion-part-2","status":"publish","type":"post","link":"https:\/\/www.codemakeshare.com\/?p=109","title":{"rendered":"OptiMill MB4 CNC conversion (part 2)"},"content":{"rendered":"\n<p>(continued from <a href=\"https:\/\/www.codemakeshare.com\/?p=54\">part 1<\/a>)<br>Time to make some drawings! I took some rough measurements and built a CAD model, to be able to plan out the parts for the conversion:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"729\" height=\"747\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_whole-1.png\" alt=\"\" class=\"wp-image-111\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_whole-1.png 729w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_whole-1-293x300.png 293w\" sizes=\"auto, (max-width: 729px) 100vw, 729px\" \/><figcaption>Optimum MB4 CAD model<\/figcaption><\/figure>\n\n\n\n<!--more-->\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/Opti_MB4_CAD.zip\">Cad files: Opti_MB4_CAD<\/a><a href=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/Opti_MB4_CAD.zip\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<p>(Warning: The CAD model is only an approximation, and I did have to do some manual tweaks to my parts to make them fit properly. Use at your own risk &#8211; it&#8217;s only meant as an inspiration and starting point.)<\/p>\n\n\n\n<p>Based on the CAD, I decided to use 25mm ballscrews with double nut on X and Y, and with a single nut on Z. My thought was that the Z axis is under unidirectional load anyway (head pushing down with 80 kg), so backlash will not be a concern here. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ordering the parts<\/h2>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/bom.xlsx\">bom<\/a><a href=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/bom.xlsx\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<p>For the motors, I decided to go with closed-loop servo drives, in NEMA32 size. They are not that expensive any more (at least the chinese versions), and the work well. Much faster than equivalent steppers, and more reliable. They will not loose steps, and even if they get jammed (e.g. when running into a fixture), there is an overload output signal that can feed into the E-stop of the controller, safely halting the machine. <\/p>\n\n\n\n<p>I picked two 8 Nm motors for X and Y, and a 12 Nm motor for the Z axis, as it has to hold a lot of weight. The head of the MB4 weighs around 80 kg. The motors cost around $200 each, including the matched servo controller (2HSS86H). See the BOM above for details.<\/p>\n\n\n\n<p>I ordered the ballscrews from Noulei (via AliExpress), and had them custom-machined to my specifications. The sellers usually do this happily for a very small fee. Here is the drawing:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/ballscrews.pdf\">ballscrews<\/a><a href=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/ballscrews.pdf\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">The custom parts<\/h2>\n\n\n\n<p>Finally the hard part: making it all fit together, or rather, making the connecting pieces that will make it all fit. I tried to avoid modifying the machine as much as possible. It didn&#8217;t end up a complete bolt-on kit, but the modifications were fairly minimal. It does require machines to make the parts though &#8211; luckily I already had my X2 mini mill (CNC converted) to do that. It struggled a bit, and I thought it would have been a lot nicer to do that on the new OptiMB4, but it wasn&#8217;t CNC yet&#8230;<\/p>\n\n\n\n<p>I designed four pieces: The X-Axis ball nut block, the Y-Axis ball nut block, the Z-axis top bearing assembly, and a motor mount for the NEMA34 servos. The cad files are in the zip archive linked above.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"241\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_x_axis_holder-300x241.png\" alt=\"X-axis ball nut block\" class=\"wp-image-114\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_x_axis_holder-300x241.png 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_x_axis_holder-768x616.png 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_x_axis_holder-1024x822.png 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_x_axis_holder.png 1632w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption>Opti MB4 X-axis ball nut block<\/figcaption><\/figure><\/div>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_y_axis_holder-300x256.png\" alt=\"\" class=\"wp-image-116\" width=\"278\" height=\"237\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_y_axis_holder-300x256.png 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_y_axis_holder-768x656.png 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_y_axis_holder-1024x875.png 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_y_axis_holder.png 1644w\" sizes=\"auto, (max-width: 278px) 100vw, 278px\" \/><figcaption>y-axis ball nut block<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_z_axis_holder-1024x814.png\" alt=\"\" class=\"wp-image-117\" width=\"290\" height=\"230\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_z_axis_holder-1024x814.png 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_z_axis_holder-300x238.png 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_z_axis_holder-768x610.png 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_z_axis_holder.png 1684w\" sizes=\"auto, (max-width: 290px) 100vw, 290px\" \/><figcaption>z-axis bearing assembly<\/figcaption><\/figure><\/div>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_motor_holder-1-1024x823.png\" alt=\"\" class=\"wp-image-119\" width=\"292\" height=\"234\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_motor_holder-1-1024x823.png 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_motor_holder-1-300x241.png 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_motor_holder-1-768x617.png 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/MB4_motor_holder-1.png 1396w\" sizes=\"auto, (max-width: 292px) 100vw, 292px\" \/><figcaption>motor mount<\/figcaption><\/figure>\n\n\n\n<p>Note that my initial design of the ball nut blocks didn&#8217;t quite fit. I had to trim them down a bit to fit into the available space under the X-axis bed, and into the channel in the base. The cast iron pieces had some tapers that I didn&#8217;t quite capture precisely in the CAD. I updated the CAD slightly to reflect this, but I can&#8217;t guarantee that these will fit perfectly.<\/p>\n\n\n\n<p>I machined the first three pieces from aluminium. The motor mount is far too big for my little X2 mill, so I 3D-printed it. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_190738-1024x768.jpg\" alt=\"\" class=\"wp-image-120\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_190738-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_190738-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_190738-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_190738.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>Ball nut blocks, machined on my X2 mini mill. Note that this is the original version which didn&#8217;t quite fit. I made them fit by milling away manually&#8230;<\/figcaption><\/figure>\n\n\n\n<p>When test fitting the ballscrews, I noticed that the channel in the base was a bit too narrow in some spots for the ball nut to fit. It didn&#8217;t take much, so I decided to carefully grind off the flange a little until it fit. Similarly, I had to do the same for the X-axis ball nut. This probably could have been avoided by going with 20mm ballscrews, but I think a bit of grinding is fine to get the larger ones (and also, I had already bought them at this point, of course&#8230;). <\/p>\n\n\n\n<p>I also had to flip the ball nut on the y axis scew. For this, I made a transfer sleeve on the lathe. Don&#8217;t ever pull a ball nut off the screw without it, and make sure it&#8217;s a tight fit! I have already botched this one once, on a very nice precision ground screw, and trying to get all the balls back in was not much fun&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_204430-1024x768.jpg\" alt=\"\" class=\"wp-image-121\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_204430-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_204430-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_204430-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_204430.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>taking the ball nut of the screw onto a transfer sleeve. The cable ties make sure it won&#8217;t slide off.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"blob:https:\/\/www.codemakeshare.com\/3b3a8c93-ec91-49be-96d2-3e9cdb01f184\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_211845-1024x768.jpg\" alt=\"\" class=\"wp-image-123\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_211845-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_211845-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_211845-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_211845.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>Y-axis ball screw after grinding on the belt sander. It&#8217;s probably a good idea to put some tape around the gaps to avoid grinding dust getting in, and to clean everything thoroughly after grinding. Also, I took it slowly to avoid it getting too hot. It&#8217;s just the flange, so the actual ball nut shouldn&#8217;t be affected much.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_214851-1024x768.jpg\" alt=\"\" class=\"wp-image-124\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_214851-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_214851-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_214851-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170827_214851.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>Ball nut installed on the Y axis (view from the back).<\/figcaption><\/figure>\n\n\n\n<p>Now the same for the X axis:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170901_183607-1024x768.jpg\" alt=\"\" class=\"wp-image-125\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170901_183607-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170901_183607-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170901_183607-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170901_183607.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>Grinding of the X axis ball nut. As I didn&#8217;t want to take if off the screw, I wrapped it in plastic and tape to prevent any grinding dust to get onto the running surfaces. Don&#8217;t tell the machinists&#8230; I&#8217;m mostly a computer guy, and otherwise pragmatic. This is probably not the approved way to do this&#8230;<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124018-1024x768.jpg\" alt=\"\" class=\"wp-image-126\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124018-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124018-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124018-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124018.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>X axis ball screw installed in the mill. At this point I tested sliding the X table back and forth to check if it catches anywhere. I had to try a few times and keep grinding until it moved freely. I also ended up milling a little slot into the y-axis to allow the ball nut to sit flush. This was probably the biggest change I needed to do to the original machine, but it&#8217;s quite minor. <\/figcaption><\/figure>\n\n\n\n<p>So now the two ballscrews are mounted, and a lot of the hard part is done. As the ballscrews didn&#8217;t quite end up on the same height as the lead screws, I had to modify the original bearing blocks a little bit, to be able to slide them up and down to get proper alignment. I simply turned the screw holes into slots. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124403-1024x768.jpg\" alt=\"\" class=\"wp-image-127\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124403-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124403-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124403-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170904_124403.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Next I made a new top cover plate for the Z axis. The MB4 has a geared crank on the side of the column, which turns the z lead screw. The top cover has a sleeve bearing to hold the lead screw, but it is closed. I had decided to put the Z motor on top of the column, so I needed a new cover with a hole, and a support bearing. I started by turning a new cover plate:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_164534-1-1024x768.jpg\" alt=\"\" class=\"wp-image-129\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_164534-1-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_164534-1-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_164534-1-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_164534-1.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>While I had it in the lathe, I already marked out the radius for the bolt holes, by just touching it with a lathe tool and turning the chuck one revolution to make a small scratch. I then marked out the hole positions on that line.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_165503-1024x768.jpg\" alt=\"\" class=\"wp-image-130\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_165503-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_165503-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_165503-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_165503.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>Drilling the mounting holes through the top plate into the bearing sleeve. I used the same diameter drill as the top holes to mark the hole, and then changed to a smaller drill to pre-drill the holes for tapping. <\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175335-1024x768.jpg\" alt=\"\" class=\"wp-image-131\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175335-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175335-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175335-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175335.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>The top cover with bearing sleeve attached, and with the three mounting holes that fit into the existing holes of the Z column. <\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Installing the Z axis ball screw<\/h2>\n\n\n\n<p>The difficulty in replacing the Z axis lead screw is that it holds up the heavy head. By locking the gibs, it is however possible to hold the head in place while taking the load off the screw to be able to remove it. I also made a wooden support structure to support the head in the low position, which is not really needed for this part, but comes in handy when removing the head from the Z axis. You can simply lower the head on the support block that rests on the table, then unscrew it from the column and use the Y axis to slowly move it forward. <\/p>\n\n\n\n<p>The Z ballscrew was designed to fit in place of the old lead screw, using the existing bearings and mounts. The block that connects the screw to the head assembly slides out easily (it is just loosely pushed in). I removed it, drilled and tapped holes to bolt the ball nut onto it from underneath. Unfortunately I didn&#8217;t take photos of this part. <br>Once the ballscrew is in place, the top cover can be installed.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_175459-1024x768.jpg\" alt=\"\" class=\"wp-image-132\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_175459-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_175459-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_175459-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_175459.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>Installing the top cover. You can see the ball bearing already on the ball screw, and a spider coupling.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175856-1024x768.jpg\" alt=\"\" class=\"wp-image-133\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175856-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175856-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175856-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170927_175856.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>Top cover installed. I then drilled four mounting holes to attach the NEMA34 servo motor.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_180030-1024x768.jpg\" alt=\"\" class=\"wp-image-134\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_180030-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_180030-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_180030-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170929_180030.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption>Top cover with motor. It is a very simple solution to fit the motor: four aluminium tubes as stand-offs, with long screws going into four tapped holes in the cover plate. Simple but effective<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Motor mounts for X and Y<\/h2>\n\n\n\n<p>The motor mounts for the X and Y axis were quite big, and too much of a job to do on a tiny X2 mini mill. I decided to 3D print them, but was worried about strength. I had an idea to cut on printing time, and get better strength: <\/p>\n\n\n\n<p>I printed the part with zero infill, on a low-cost FDM printer (i3 clone), with a 0.8mm nozzle. Printing with large nozzles dramatically increases the print speed, and I find that the layer adhesion is often better &#8211; probably because the larger amount of plastic has more residual heat, which makes it stick better. The part is then of course hollow and not very strong. <\/p>\n\n\n\n<p>As a second step, i drilled some holes into the top, mixed a 2-part polyurethane resin with chopped carbon fibre strands (2mm), and filled the entire part with this resin. After curing, it was really strong, as the infill is all one solid cured block with fibre reinforcing. <\/p>\n\n\n\n<p>The motor mounts are simply clamped onto the existing thrust bearing blocks that came with the machine. So far it has not let me down.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170907_163755-1024x768.jpg\" alt=\"\" class=\"wp-image-135\" srcset=\"https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170907_163755-1024x768.jpg 1024w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170907_163755-300x225.jpg 300w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170907_163755-768x576.jpg 768w, https:\/\/www.codemakeshare.com\/wp-content\/uploads\/2019\/01\/20170907_163755.jpg 1600w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>So this is more or less it for the mechanical parts. Next: Wiring it up.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>(continued from part 1)Time to make some drawings! I took some rough measurements and built a CAD model, to be able to plan out the parts for the conversion:<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,6,4],"tags":[18,17,19,16],"class_list":["post-109","post","type-post","status-publish","format-standard","hentry","category-cnc","category-hardware","category-machines","tag-cnc","tag-mb4","tag-mill","tag-optimill"],"_links":{"self":[{"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=\/wp\/v2\/posts\/109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=109"}],"version-history":[{"count":7,"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=\/wp\/v2\/posts\/109\/revisions"}],"predecessor-version":[{"id":162,"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=\/wp\/v2\/posts\/109\/revisions\/162"}],"wp:attachment":[{"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemakeshare.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}