{"id":2301,"date":"2016-07-22T17:28:19","date_gmt":"2016-07-22T17:28:19","guid":{"rendered":"http:\/\/www.3dprinterbank.com\/?p=2301"},"modified":"2016-07-22T17:28:19","modified_gmt":"2016-07-22T17:28:19","slug":"linear-magnetic-encoder-modules-print-error-correction","status":"publish","type":"post","link":"http:\/\/www.3dprinterbank.com\/?p=2301","title":{"rendered":"Linear Magnetic Encoder Modules &#8211; Print Error Correction"},"content":{"rendered":"<div><img src='http:\/\/ifttt.com\/images\/no_image_card.png' style='max-width:600px;' \/><\/p>\n<div>Hi everyone!Earlier this year I posted a video of an error-correction system I was working on, and there seemed to be some interest in this sort of thing.I&#8217;ve spent my time since then working on the encoder modules I was using, and getting them &#8211; and a fork of Marlin with the error-correction functionality &#8211; ready to go.It&#8217;s taken a bit longer than I expected &#8211; some of the parts I was using were discontinued, and I had to revise the design a tad &#8211; but I&#8217;ve now got a batch of these encoder modules ready to go for anyone interested in playing with them.I&#8217;ve written up a post on the Aus3D blog with a bunch more information &#8211; there are some photos \/ a video there, and they probably work better than me writing stuff does.As a quick summary, these modules are basically magnetic linear encoders that communicate over an I2C bus. They do all the heavy lifting of tracking their own position, so they don&#8217;t bog down the main control board constantly polling or generating interrupts as a raw encoder would. They&#8217;re compatible with most any control board &#8211; RAMPS is plug-and-play &#8211; and give the printer&#8217;s firmware the ability to know the exact position of the axis at any given time.The control board can use that data to do a lot of stuff. Most importantly, it lets the printer check that the axis is where it&#8217;s supposed to be, and fix things if it isn&#8217;t &#8211; so this means that skipped steps &#8216;heal&#8217; pretty much straight away, instead of resulting in permanent layer-shifting.Here (Imgur) are two sample prints I did earlier, with the X-axis stepper-driver massively overheating. The one on the left has the error-correction system enabled, right has it disabled &#8211; everything else is otherwise unchanged. Obviously you wouldn&#8217;t normally run a printer with a stepper driver that far out of whack, but it shows what the system can do to turn a completely failed print into one that&#8217;s not too bad.This data can also be used to automatically calibrate steps \/ mm settings for the axis &#8211; this is set up in my fork of Marlin, and I&#8217;ve been seeing some really great results. The limit of what can be done really rests with the printer&#8217;s firmware, and I&#8217;m hopeful that people are keen to play around and try new ideas with these modules.At this point, these modules are pretty much plug-and-play electronically and firmware-wise &#8211; though on the printer firmware front I plan to keep making improvements, and I hope anyone else interested joins in. The hardest part right now is in mounting the encoder and the magnetic strip &#8211; you&#8217;d want to be comfortable designing parts for your printer to make things work, but I&#8217;m hopeful most in this subreddit can figure something out there.I&#8217;m interested in hearing people&#8217;s thoughts and feedback, and I&#8217;ll gladly answer any questions I get!I&#8217;d also like to apologise for the massive wall of text &#8211; I&#8217;m so sorry!Relevant links:Blog postDocumentationStore Page http:\/\/ift.tt\/29Zr2GT<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hi everyone!Earlier this year I posted a video of an error-correction system I was working on, and there seemed to be some interest in this sort of thing.I&#8217;ve spent my time since then working on the encoder modules I was using, and getting them &#8211; and a fork of Marlin with the error-correction functionality &#8211; &hellip; <a href=\"http:\/\/www.3dprinterbank.com\/?p=2301\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Linear Magnetic Encoder Modules &#8211; Print Error Correction&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[7,8,9],"class_list":["post-2301","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-3dprinters","tag-3dprinting","tag-discussion"],"_links":{"self":[{"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=\/wp\/v2\/posts\/2301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2301"}],"version-history":[{"count":1,"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=\/wp\/v2\/posts\/2301\/revisions"}],"predecessor-version":[{"id":2302,"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=\/wp\/v2\/posts\/2301\/revisions\/2302"}],"wp:attachment":[{"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2301"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.3dprinterbank.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}