element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
3D Printing
  • Technologies
  • More
3D Printing
3D Printing Forum Closed-loop control for low-cost 3D printers
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join 3D Printing to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 48 replies
  • Subscribers 337 subscribers
  • Views 8963 views
  • Users 0 members are here
  • closed-loop
  • servo-control
  • 3d-printer
Related

Closed-loop control for low-cost 3D printers

morgaine
morgaine over 11 years ago

A challenge given to Ben Heck in March of last year was "Challenge - cheap 3D printer" (design a 3D printer more cheaply), and that thread continues to receive replies to this date.  Unfortunately nobody in that thread actually addressed the matter as a design issue.  Instead, most of the replies (including from Ben) seem to have addressed an entirely different question, how to build the same kind of 3D printer as you can buy today, but for less money.

 

Those are two completely different questions.  It was pointed out by Ben that because of the race to the bottom by a huge number of manufacturers, the current designs can't be made a lot cheaper while still retaining the same speed and accuracy.  That's probably correct with respect to current standard designs, but it says nothing at all about different designs.

 

So, this thread suggests a different design approach that may offer a solution, and it's a pretty natural step to take.

 

A useful observation with which to start is that the accuracy and precision obtainable with today's RepRap-style models stems from the design of their stepper motors and the limitations inherent in screw drives and belts and pulleys and the rigidity of their physical construction.  Because of this, if you retain the existing design model but in the quest for lower cost you compromise on one of these areas, you are very likely to lose the necessary degree of printing accuracy even if you are performing steps at very high resolution, so that's not likely to be a good way forward.  Printing with high precision in the wrong place is not helpful.

 

That observation about accuracy and precision leads us directly to a solution though.  Engineers know full well how to gain high and definable accuracy without each of the components being manufactured to extreme tolerances, and that's by using closed-loop control with negative feedback, the basis of servo-systems.  In a closed-loop system, the only thing that needs to be highly accurate and with known precision is determination of current position, and the heart of that need be nothing more costly than a very accurately printed graticule which can be produced for pennies.  Given the ability to know where the operating head is located very accurately in each relevant axis (not necessarily Cartesian), the only other requirement for maintaining that limit of accuracy is rigidity of coupling between sensors and operating head, ie. the hot end in a 3D printer.  Very importantly, there is no need for rigidity in the motor assemblies --- as long as they're moving the head in the right direction, that's good enough.

 

So, I'll recast the original question differently and tie it to this specific way forward:

 

"How can we design a 3D printer based on closed-loop control to gain high accuracy and overcome low cost construction through use of negative feedback?"

 

It's mostly a matter of examining alternative physical arrangements to find one with good rigidity while also having low suspended mass and being amenable to construction with today's open-loop 3D printers as a stepping stone.  It's worth pointing out that virtually all 2D inkjet printers already use closed-loop control --- if you take one apart you'll find a positional sensor and fine graticule in there somewhere to provide very high accuracy in one dimension at the lowest cost.

 

Once we start thinking about closed-loop control for 3D printers, many possible advantages start to appear:

 

  • As already mentioned, it compensates for low-quality parts, so prices could fall much lower.
  • Closed loop operation compensates for latitude at assembly time as well, also leading to lower costs.
  • Very much higher accuracy than we have today is possible, and that cannot be done open loop.
  • Motors of many different kinds can be used, AC, DC, brushed, brushless, linear, and also steppers.
  • If steppers are used in a closed-loop system, you can overdrive them without worrying about "lost steps" because the steps aren't used for position control anyway, yet you still retain the advantage of high holding torque.
  • Much higher speeds are possible than we have today because of the two-fold advantage of wider motor choice and arbitrarily high acceleration while the control loop seeks to its desired position.
  • Accuracy and precision are more independently controllable in closed-loop systems.  This provides more opportunities for cost reduction through tradeoffs, as well as dynamic optimization in favour of speed, for example on in-fill.  In open-loop printers with stepper motors, the step size places a limit on precision of positional control, but this is very rarely reflected in the accuracy of actual positioning which is primarily determined by physical construction.

 

I'm sure there are many other benefits.

 

The main disadvantage is that this direction requires new thinking, new solutions.  And there's the challenge! image

 

Morgaine.

  • Sign in to reply
  • Cancel

Top Replies

  • morgaine
    morgaine over 11 years ago +3
    The topic above is deliberately open-ended and proposes nothing more than closed-loop control, hopefully to encourage people to think laterally and very widely instead of being shackled by a specific construction…
  • morgaine
    morgaine over 11 years ago in reply to Former Member +2
    I'm talking about making the work head's position be determinable to high levels of accuracy --- the distinction between accuracy and precision is important in this context, because we need to know the…
  • vsluiter
    vsluiter over 11 years ago in reply to morgaine +2
    Hi Morgaine, It's what Nanotec is already selling for industrial use: stepper motors driven as 2-phase brushless DC motors. Very nice features as high torque, high accuracy, low noise....
  • michaelkellett
    michaelkellett over 11 years ago in reply to morgaine

    By ignoring the accumulated experience of machine tool design you are doomed to repeat all the mistakes of the past. 3D toothpaste style printers have to control speed and precise position of the print head in order to manage the 'thread' of semi molten plastic that they are depositing. They absolutely must cope with direction changes while maintaining positional accuracy and they must control speed because it isn't possible to change the extrusion temperature rapidly.. They don't have to move fast but extrusion type 3D printers are already very slow.

    Adding an accelerometer won't help unless you have an actuator which can operate in the backlash zone. If you consider biological systems they use multiple sensors and multiple actuators, very complex control systems (brains) and require a vast (multi million cycles) amounts of training. So far we have had very little success in copying such systems but done quite well in finding alternative methods. For example replacing panel beating with press tools.

     

    Back to the 3D printer - you can't always add a better control system at an existing mechanism and get the performance you want - it is almost always necessary to design the mechanics, sensors and controls as a complete system with due reference to the spec.

     

    With that in mind, what is your performance target for your improved 3D printer ?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to michaelkellett

    Michael Kellett wrote:

     

    With that in mind, what is your performance target for your improved 3D printer ?

    Nanometer resolution at terahertz deposition rates, what else? image  The only limits are those we impose on ourselves, or try to impose on others.

     

    Admittedly we're not in that operating area yet, but of one thing I am certain:  saying that we can't do it because 300 years of experience tells us that we can't is totally doomed to failure.  Future 3D printers won't look anything like current ones nor like CNC tools of the past, so quoting past experience is not particularly useful.  In contrast, control theory is extremely robust and applies at all scales, so closed-loop systems is a very good place at which to start.

     

    Michael Kellett writes:

     

    Back to the 3D printer - you can't always add a better control system at an existing mechanism and get the performance you want - it is almost always necessary to design the mechanics, sensors and controls as a complete system with due reference to the spec.

     

    That goes without saying, which is why the starting point here is closed loop control, and everything else is up for grabs.  I expect that there will be some desire to retain some of the components of past designs, but my inclination towards direct drive certainly doesn't fall into that category.  I'm fascinated to see what emerges, but it's going to need some lateral thinking.

     

    Morgaine.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 11 years ago in reply to morgaine

    Your wilfull misunderstanding of my earlier comments does you no credit.

     

    As you are well aware, I have not, at any time, suggested that improvements are not possible.

     

    "The only limits are those we impose on ourselves, or try to impose on others" - this isn't engineering but nonsense - and as an excuse for ignoring the work of countless other engineers it's arrogant as well.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to michaelkellett

    Michael Kellett wrote:

     

    "The only limits are those we impose on ourselves, or try to impose on others" - this isn't engineering but nonsense - and as an excuse for ignoring the work of countless other engineers it's arrogant as well.

     

    That's false as a fact and ridiculous as an accusation.  And your personalizing of the discussion is uncalled for as well.

     

    It's by ignoring past assumed limits that we've put people on the moon instead of still lying huddled and shivering in caves.  The "valued experience" of experts assured us that the earth was flat, and later that it was the centre of the universe --- see how far that got us.  Minds as bright as Einstein's weren't sufficient to bring us quantum mechanics, so other people had to add that to our state of knowledge.  And in the fields of engineering, materials and methods and understanding improve continually.  Everything changes, and limits derived from partial understanding fall away as our understanding improves.  They are entirely self-imposed limits, and to consider them absolute is to not understand how science works.

     

    Arrogance was a pretty negative and irrelevant thing for you to bring up here, but if you're looking for arrogance, consider your own belief that nothing will supersede the experience of the last 300 years or your own knowledge of lessons from CNC --- that's arrogance to the point of comedy.  It's also arrogance to view engineers as high priests preaching unquestionable gospel and wisdom.  There is no such thing --- everything that we know evolves in relevance, and we have so many ad hoc rules of thumb in engineering that treating them as conditional is always advised.

     

    A better approach if one is interested in the future is to embrace the key principle held by scientists and a core M.O. of engineers who don't have have a closed mind --- the scientific method, which in an engineering context equates to "nothing is sacrosanct".  Best engineering practices and the most cherished theories are only as good as the next development that improves upon them.  This is as true in machine tool operation as it is in everything else.  It is expected and unavoidable in domestic 3D printing because we're barely on the first rung of that ladder.

     

    To answer your last point specifically, it's important to take into account existing experience and best practices where relevant, but only where relevant.  Indeed, the whole point of past experience is to identify the conditions that make known difficulties relevant, so that we can bypass them.  If a known limitation is likely to bite us if we head down a certain road, then the answer is not to head down that road.  And that's exactly what this thread is about, since as Ben Heck said (and I agree), there is not much mileage available in the current open-loop designs for making 3D printers significantly cheaper.

     

    I'm not sure why you're trying to naysay future development starting from closed loop design.  You've certainly not presented any argument for why it's not a good way forward, and you haven't bothered to answer previous posts that addressed yours either, so it looks like you're simply begging for a fight as always.

     

    Future development is done in the context of past experience.  Past experience should never be employed as a shackle.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago

    Just to whet our appetites for head position sensing a little, here's the Performance page for Renishaw's RESOLUTETm range of absolute optical encoders,  claiming "1 nm resolution, 100 m/s maximum speed, accuracy to ±1 µm" for the linear versions.

     

    It's fair to say that 1 µm accuracy is excessive for our current needs and industrial pricing is probably excessive for our pockets, but the much simpler encoder strips and sensors in inkjet printers are available as spares at very reasonable prices (or indeed for nothing as salvage from dead machines) and are likely to do the job perfectly well.  Experimenting with these in a 3D printer setting would be interesting.

     

    Morgaine.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • vsluiter
    vsluiter over 11 years ago in reply to morgaine

    ... Just keep in mind where you're measuring...  As you pointed out to me before, measuring at the motor shaft is not 'closed loop' enough for you. Would measuring the movement at the spindle be? Or would you need the movement of the printer head? That's going to pose a nice mechanical challenge aswell (mounting the sensors). The stiffness of the construction would have to be enormous to get a good measurement and control. Not to mention the speed of the control loop.

     

    Not to say that it's not possible, but this looks a bit as an 'academic' way of building measurement on measurement while loosing track of what you tried to accomplish. I'd put my money on a feed-forward model-based controller for short-term improved resolution printer. 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to vsluiter

    An error signal measured at each spindle does not contain error components from anything except that single axis of the transport, so such feedback cannot correct for anything else.  Even worse, if the encoder is on the actual motor shaft (rather than further along the transmission) then it contains no error signal at all relative to the motor assembly since the shaft is an almost rigid part of it compared to the rest of the transport which has many flexure modes.  That wouldn't be useful feedback in our context.

     

    I'm reminded of the Schneier term "security theater" as a verbal analogy.  If a system that is described as "closed loop" isn't taking feedback from its output then it's just engaging in "feedback theater", aiming for bullet points without actually correcting for the major output errors in the system.  Needless to say, feedback theater is not the goal for us.

     

    It's certainly an interesting mechanical challenge, but some candidate solutions are pretty obvious and simple.

     

    For example, camera-based solutions provide no mechanical drag at all and have a very simple structure.  The back-of-envelope numbers I gave in post #18 of this thread suggest that it's numerically viable for very small workspaces, and can be extended to cater for larger ones (but not yet ideal).

     

    Another approach which is quite appealing has a tiny camera mounted on the work head and pointing straight up through a macro lens focused on a 2D printed pattern which covers the entire top inner surface of the printer.  Again this imposes no mechanical stresses nor alignment difficulties, so it seems very experimenter-friendly.  Finding a good 2D tracking pattern would be an interesting project, and it might well be possible for absolute coordinates to be encoded within it.

     

    Mechanical position sensing is more problematic as you mentioned, but everything is hard until the moment that it's easy. image  I'd probably examine optical solutions in the first instance though, at least until a good mechanical design emerges.

     

    Morgaine.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • vsluiter
    vsluiter over 11 years ago in reply to morgaine



    Mechanical position sensing is more problematic as you mentioned, but everything is hard until the moment that it's easy.

    Have you ever considered a career in marketing image? I know another good one: 'where do you want to go today?' image

    I'd probably examine optical solutions in the first instance though, at least until a good mechanical design emerges.

     

    Looking forward to your prototype / proof of concept!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 11 years ago in reply to morgaine

    Morgaine Dinova wrote:

    As camera resolution gets better and better fueled by consumerism, the same sensors give us new capabilities at low cost for machine control as well.  The 1920 horizontal pixels of 1080p is almost 11 bits of resolution horizontally, and with some creativity one could use the 2200 or so diagonal pixels to get a little bit more, but on the whole it's still low resolution if one is thinking of 2D camera sensors as a cheap means of providing position feedback for 2 axes of a 3D printer by observing it from the top.

     

    (Battling with failed DSL connection today! and VF decided to change the 3G APN settings on their most recent SIMs, which left me confused for hours..).

    I'm no expert on mechanics (although I have used manual milling machines and lathes) nor 3D printers : (

    I was thinking of moire patterns (with clear sheets with lines on them), that I remember would produce large changes in bands of light and dark areas for a small angular movement for example. But I couldn't figure out if this would work for a large area.

    Then I thought it doesn't need that, if there was (say) a rule with (say) markings every 0.1mm, and numbers printed every cm just like a normal rule (or some barcode type pattern instead of a number), and if it was parallel to a linear rail and close to the travelling block, then a camera on the block with 1000x1000 resolution that was focussed on a (say) 2x2cm area could easily precisely measure where it was, and use OCR to know the exact position because at least one number would always be fully visible. This method would need cameras for each axis however, and good focus on a small area. So, maybe too complicated. Maybe a method where only one point is well referenced somehow, and the head always goes to that point and then moves only in one direction from there (and always travels back to the reference point and then moves only in one direction again) may be an alternative way.

    Hard to know without someone with the tools/skills to try it and measure it : (

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to shabaz

    shabaz wrote:

     

    if there was (say) a rule with (say) markings every 0.1mm, and numbers printed every cm just like a normal rule (or some barcode type pattern instead of a number), and if it was parallel to a linear rail and close to the travelling block, then a camera on the block with 1000x1000 resolution that was focussed on a (say) 2x2cm area could easily precisely measure where it was, and use OCR to know the exact position because at least one number would always be fully visible.

     

    Yep, that sounds entirely viable, and I think it can be done in two different ways.  One way (1a) is to make the absolute position markers for OCR occupy a defined box size and have a known positional relationship to the grid pattern between them and OCR being performed continually during movement, and another way (1b) is to scan for an area within the field of view containing self-syncing blocks of reference pattern (no OCR) and use those for the relative speed and direction reference --- OCR areas can then be ignored during traversal but used for calibration and periodic confirmation, which is less intensive.  I like both ideas.  (There is a downside though, namely low precision since the camera senses a relatively wide field of view.)

     

    Another approach (2a) that I was considering uses spaces in a regular reference grid of dots to carry metadata about absolute position of the reference grid.  This would allow for very high magnification (tiny FoV) so that only a very small area of the pattern needs to be examined at any time during traversal (3x3 dots should be enough), which would result in very high sensitivity and precision and very low processing overhead at the same time.  If any one of the 9 dots is missing it is simply ignored for speed/direction feedback, yet a pattern of such "holes" can be used to carry metadata which builds up during traversal, so no OCR is needed.  I like this idea not only because of its high precision and sensitivity but because the speed and direction processing will be so fast that the feedback will have very low latency and hence will cope with faster movement of the head.

     

    And since the cheap cameras that one would be using would inevitably have colour sensors, there's another very obvious variation to this theme:  use the 3x3 dot array for fast speed and direction processing, but use the colours of the dots to encode absolute position labelling (2b).  This would even increase the already high speed advantages of 2a, since there would be no exception cases of missing dots for it to consider.  But colour can be used for a lot more than that --- imagine encoding two orthogonal graticules using different colours (2c), or using multiple colours to encode reference grids with different resolutions simultaneously (2d).  There's an awful lot of new flexibility obtained once colour is added to the solution space.

     

    I've labelled these approaches in case we want to reference them, but I'm sure there are countless others.  This is a really fun area where the mind can be given free reign to seek alternatives.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube