{"id":402,"date":"2014-12-01T23:48:01","date_gmt":"2014-12-01T21:48:01","guid":{"rendered":"http:\/\/www.henningandersen.com\/?p=402"},"modified":"2014-12-21T12:46:32","modified_gmt":"2014-12-21T10:46:32","slug":"shapeoko-2-tutorial-dominion-turntable-part-5","status":"publish","type":"post","link":"https:\/\/www.henningandersen.com\/?p=402","title":{"rendered":"ShapeOko 2 tutorial &#8211; Dominion turntable &#8211; part 5"},"content":{"rendered":"<p>If you missed part 4, please find it <a title=\"ShapeOko 2 tutorial \u2013 Dominion turntable \u2013 part 4\" href=\"http:\/\/www.henningandersen.com\/?p=387\">here<\/a>.<\/p>\n<h3>Getting ready to start milling<\/h3>\n<p>Now we&#8217;re ready to start milling! We&#8217;ve generated the g-code we need for the Dominion turntable but before we start milling I&#8217;ll write a little about my setup and show you the process I use to get ready.<\/p>\n<h3>My setup<\/h3>\n<p>I&#8217;m using an old computer running Windows XP and <a title=\"Grbl controller homepage\" href=\"http:\/\/zapmaker.org\/projects\/grbl-controller-3-0\/\" target=\"_blank\">Grbl Controller<\/a> to control the machine and to send the g-code to the Arduino and the g-shield. Here are some advise I learned the hard way:<\/p>\n<p>1) It&#8217;s important that the power management for the USB ports is turned of in Windows. Otherwise, the operating system might loose communication with the Arduino.<\/p>\n<p>2) Run the spindle and the vacuum cleaner from one power outlet and the computer and the stepper motors from another outlet. Having everything running from the same power outlet seems to disturb the Arduino and\/or the g-shield.<\/p>\n<p>3) Put a ferrite ring on the USB cable to stabilize the signal between the computer and the Arduino. This seems to help preventing the stepper motors from skipping steps when milling.<\/p>\n<figure id=\"attachment_439\" aria-describedby=\"caption-attachment-439\" style=\"width: 168px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01204-e1417468040809.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-439\" src=\"http:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01204-e1417468040809-168x300.jpg\" alt=\"Ferrite ring on the USB cable\" width=\"168\" height=\"300\" srcset=\"https:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01204-e1417468040809-168x300.jpg 168w, https:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01204-e1417468040809-575x1024.jpg 575w, https:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01204-e1417468040809-624x1111.jpg 624w\" sizes=\"auto, (max-width: 168px) 100vw, 168px\" \/><\/a><figcaption id=\"caption-attachment-439\" class=\"wp-caption-text\">Ferrite ring on the USB cable<\/figcaption><\/figure>\n<h3>Starting position<\/h3>\n<p>In this case we&#8217;re going to use almost the full movement of the ShapeOko 2, so it&#8217;s important that we find the right starting position that allows us to mill the Dominion turntable without hitting the out most positions of the ShapeOko 2.<\/p>\n<p>Here we need 274&#215;274 mm plus 10 mm in each direction for the final cutout, so all together we need about 284&#215;284 mm of workspace. The ShapeOko 2 has just short of 300&#215;300 mm of usable workspace so we need to set the starting position very close to the out most positions.<\/p>\n<p>Without power on the Arduino and the g-shield I move the spindle to about 10 mm from the out most positions in both the x- and the y-direction (I don&#8217;t care about the z-position just yet). Then power up everything so the stepper motors will hold that position.<\/p>\n<figure id=\"attachment_442\" aria-describedby=\"caption-attachment-442\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01199.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-442\" src=\"http:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01199-300x168.jpg\" alt=\"Starting point on the x-axis\" width=\"300\" height=\"168\" srcset=\"https:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01199-300x168.jpg 300w, https:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01199-1024x575.jpg 1024w, https:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01199-624x350.jpg 624w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-442\" class=\"wp-caption-text\">Starting position on the x-axis<\/figcaption><\/figure>\n<figure id=\"attachment_441\" aria-describedby=\"caption-attachment-441\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01198.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-441\" src=\"http:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01198-300x168.jpg\" alt=\"Starting position in the y-direction\" width=\"300\" height=\"168\" srcset=\"https:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01198-300x168.jpg 300w, https:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01198-1024x575.jpg 1024w, https:\/\/www.henningandersen.com\/wp-content\/uploads\/2014\/12\/DSC01198-624x350.jpg 624w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-441\" class=\"wp-caption-text\">Starting position on the y-axis<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<h3>\u00a0Sanity check<\/h3>\n<p>With the starting point set I do a sanity check with some g-code that defines the maximum movement that the CNC machine is going to do in order to get the job done. In this case I use the following g-code:<\/p>\n<pre>(Generated by PartKam Version 0.05)\r\n\r\nG21 G90 G40\r\n\r\n(profile 1)\r\nG0 Z15\r\nT0 M6\r\nG17\r\nM3\r\nG0 X-277.4 Y-277.4\r\nG1 Z15 F1000\r\nG1 X3.401015228426396 Y-277.4010152284264 F1000\r\nG1 X3.401015228426396 Y3.401015228426396\r\nG1 X-277.4010152284264 Y3.401015228426396\r\nG1 X-277.4010152284264 Y-277.4010152284264\r\nG0 Z15\r\nM5\r\nM30<\/pre>\n<p>This g-code will move the spindle to the corner furthest away from the starting point and then do a full square of the working area we&#8217;re going to use. It looks like this:<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/115099560\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>With the sanity check done I move the spindle back to the starting point by pressing the &#8220;Go home&#8221; button i Grbl Controller.<\/p>\n<h3>Test run<\/h3>\n<p>With the sanity check done I usually do a test run with one of the files that we are going to use when milling the Dominion turntable for real. I the case below I used the Limit=-17.00 file in the x-direction. If I made a mistake when generating the g-code it will reveal itself here by trying to move the spindle out of bounds (or do something weird). Be sure to have enough free space beneath the cutter to make the test run without actually ever touching the surface. Here is my test run:<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/115099558\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>With the test run done I again move the spindle back to the starting point by pressing the &#8220;Go home&#8221; button i Grbl Controller.<\/p>\n<h3>Setting zero on the z-axis<\/h3>\n<p>With the sanity check and the test run done we&#8217;re ready to set the zero on the z-axis. I use a piece of paper to do this. I put it underneath the cutter and then move the spindle down one millimeter at the time until I get close to the surface &#8211; then move on downwards 0,1 mm at the time until I can no longer move the paper. I then move the spindle upwards 0,1 mm and press the &#8220;Zero position&#8221; button in Grbl Controller. The process looks like this:<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/115099559\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>We&#8217;re now ready to start making some noise&#8230; \ud83d\ude42<\/p>\n<p><a title=\"ShapeOko 2 tutorial \u2013 Dominion turntable \u2013 part 6\" href=\"http:\/\/www.henningandersen.com\/?p=451\">Part 6<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you missed part 4, please find it here. Getting ready to start milling Now we&#8217;re ready to start milling! We&#8217;ve generated the g-code we&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,9],"tags":[54,56,28],"class_list":["post-402","post","type-post","status-publish","format-standard","hentry","category-miscellaneous","category-shapeoko-2-2","tag-g-code","tag-grbl-controller","tag-shapeoko-2","wpcat-6-id","wpcat-9-id"],"_links":{"self":[{"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=\/wp\/v2\/posts\/402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=402"}],"version-history":[{"count":16,"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=\/wp\/v2\/posts\/402\/revisions"}],"predecessor-version":[{"id":504,"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=\/wp\/v2\/posts\/402\/revisions\/504"}],"wp:attachment":[{"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.henningandersen.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}