element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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 Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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 334 subscribers
  • Views 8085 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....
Parents
  • morgaine
    morgaine over 11 years ago

    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.  The range of possibilities is enormously varied, probably infinite.

     

    I will however express my own preferences, which are much narrower and more tightly directed.  Please don't be constrained by the following.

     

    Personally, I think closed-loop 3D printers need to head in the direction of direct drive, avoiding intermediate transmission components as much as possible.  Not only would this eliminate loss of rigidity and the severe problems of slip and play and backlash, but it would also open up the possibility of printing our own motors using pancake designs (effectively linear motors arranged in a circle).

     

    This direction is not in the slightest bit easy, but the elimination of transmission components would make this approach more viable at MEMS scales, which are on the path towards which all engineering is leading:  nanotechnology.  The machinery which builds the machinery which builds the machinery which builds the machinery ... of nanoscale systems is in our grasp right now.  It's going to be an interesting voyage.

     

    Morgaine.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 11 years ago in reply to morgaine

    so your suggesting that you use servos with encoders? thats dandy and all but its much more complex to set up being that as far as i know (which is verry little i will admit) there arent any programs as side from mach3 that will read encoder data not only that but the reason most people sue steppers today is because they are much cheaper and simpler to use in simple hobbycraft

     

    if you are talking about for the wave of commercial 3d printers? well Great! i definitely see the benefit to useing encoders to determine position it will provide more accurate movement and possibly a better print quality

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

    Hi Michael,

    Good point, thanks!

    The feedback at the motor axle could help here because the speed (or better: accleration) of the motor could be controlled much more, thus making the movement smoother, and if you know what the next G-code is, you could take care to slow down the head in time to prevent overshoots. Don't know in how far that's implemented in current 3D-printers. Dead zones might also be somewhat compensated if known... I agree that that's a very hideous EE-domain fix for a Mechanical domain problem....

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

    Michael Kellett wrote:

     

    overall feedback can't deal with backlash, dead zones or mechanical hsytereisis very well.

     

    It certainly can deal with backlash, so I'd be interested to read anything suggesting that it can't do it very well.

     

    The reality is actually the opposite:  overall feedback returns an error function that contains (as a component) the actual backlash experienced by the work head, instead of a simplified error function that encompasses only a limited set of transmission components and/or which deals with each axis separately.  The needed information is certainly there.  It's a lot harder to interpret this actual feedback of course compared to simplistic single-axis feedback obtained nearer the motors, but it's the real thing, not an approximation.

     

    In contrast, motor or feedscrew-level feedback isn't really closing the loop at all from the PoV of the work head, and so it can't compensate for unplanned interactions between axes and other structural problems, as it simply gets no data on them.  The consequence of this is that very high quality construction is still mandatory to avoid the unmonitored anomalies from appearing in the first place in such a half-open-loop system, which of course precludes its use for the subject of the topic, namely "low-cost 3D printers".

     

    Morgaine.

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

    First let's get our definitions in order, from Wiki:

     

    in mechanical engineering, backlash, sometimes called lash or play, is clearance or lost motion in a mechanism caused by gaps between the parts. One source defines it as the maximum distance through which one part of something can be moved without moving a connected part. An example, in the context of gears and gear trains, is the amount of clearance between mated gear teeth. It can be seen when the direction of movement is reversed and the slack or lost motion is taken up before the reversal of motion is complete.

     

    Note that bit about "can be moved without moving a connected part" - if the actuator is pushing the load along and needs to reverse the force (for whatever reason) the actuator must move back by the backlash distance. In any real system this takes time and no amount of feedback and no amount of cleverness of control algorithm can do anything about it (the time is set me purely physical constraints). You can try to minimse the effect of backlash by having a very fast slewing actuator but this often results in instability and increases costs. The problem is that in the backlash or dead zone the actuator is not connected to the load so in the time it takes to reconnect the load is uncontrolled.

     

    Clever strategies to try to and reduce the impact are possible (and routinely and instinctively used by manual machine tool operators.). Under some conditions it is possible to ensure that the direction of applied force never changes in a critical place but these restrictions are often inconvenient.

     

    A low cost mechanism may easily be so poor in it's mechnical performance that there is no gain in improving the control. Stepper motors are very poor at fast dynamic control so I can easily believe that there are many cases where control of the stepper motor shaft is no worse than attempting to control the load position, but at least has the advantage of cheapness and robustness (robust in control stability sense).

     

    MK

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

    Michael Kellett wrote:

     

    Note that bit about "can be moved without moving a connected part" - if the actuator is pushing the load along and needs to reverse the force (for whatever reason) the actuator must move back by the backlash distance. In any real system this takes time and no amount of feedback and no amount of cleverness of control algorithm can do anything about it (the time is set me purely physical constraints). You can try to minimse the effect of backlash by having a very fast slewing actuator but this often results in instability and increases costs. The problem is that in the backlash or dead zone the actuator is not connected to the load so in the time it takes to reconnect the load is uncontrolled.

     

    That's a very actuator-focused view (instead of being concerned mainly with the work head), and it's also a time-focused view whereas our main concern is that the work head be in the desired position (time is not the key requirement).  It's entirely normal to trade off time (speed of operation) to lower the cost of end products --- this is why low-end 2D printers are slower than higher end ones.

     

    In order to get the work head to a desired position in axis X, the only requirement on the drive train is that this position is reachable in a monotonic traversal using actuator X.  It is not a requirement that the position be reachable by tiny bidirectional increments of the actuator which would litter the workspace with dead zones --- backlash in a given axis is taken up at the start of a movement in one direction in that axis.  The control loop doesn't even need to know that backlash exists in the drive train, because all it's concerned with is reaching its seek position --- backlash just looks like some extra sluggishness in reaching the desired point.  If the backlash is severe enough that it's noticeable at the work head as bumpiness in the extruded plastic at points where there is change of direction, then the control software just needs to reduce the feed rate at the start of changes of direction.  This is no big deal, and it shouldn't be presented as a terminal stumbling block.

     

    I think we may be looking at two very different goals, one (the topic of this thread) which is creating 3D printers at very low cost by closing the loop at the work head to compensate for less than ideal components, and two, making industrial machinery with good open-loop performance, which is extremely interesting in its own right and contributes hugely to the thought process, but is not the end purpose in this thread.

     

    Morgaine.

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

    shabaz wrote:

     

    I was thinking of using a cheap micrometer end and some sort of camera measurement since they usually have their markings etched quite clearly.

     

    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.

     

    By Nyquist, a 1920x1080 array of sensors at most allows you to sample 960x540 data points (adjacent pixels 1 and 0 to detect a single period), which at the commonly sought lowest FFF feature resolution of 0.1mm provides only a 96x54mm manufacturing space, and that's assuming that everything else is perfect.  Needless to say, perfection is rarely achieved.  On the whole this approach of using a camera isn't quite there yet, as it doesn't match the product of workspace size times lowest feature resolution of the open loop approach, for now.

     

    It's a pity that those 2 millions pixel sensors aren't available in a nice long line for us. image

     

    Linear camera sensors are available as well of course, but they don't get the volume pricing benefits of 2D arrays.  It's worth keeping an eye on them though, since no-contact position sensing of the work head is a very desirable approach.

     

    Morgaine.

     

    PS.  A 2x2 array of 1080p cameras would put us more or less on a sensing par with the Size*Res of current-day open-loop FFF printers.  The Pi's camera board is just about cheap enough for it, although using 4 x Pi just for sensing would be pretty silly.

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

    It's the difference between kinetics and kinematics.

    If the dead zones are known, then you can easily add that in your control scheme. Not perfectly, but still. Otherwise, adding an accelerometer to the end of your tool head might tell you a lot about the accelerations in the head, and can at least tell you when it starts moving. That, combined in a filter with a stepper motor and a control algorithm might already give a great performance boost.

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

    Victor Sluiter wrote:

     

    Otherwise, adding an accelerometer to the end of your tool head might tell you a lot about the accelerations in the head, and can at least tell you when it starts moving.

     

    Yes!  That's an excellent additional piece of information that the printer firmware can use to do a better job, and at very little cost.  It's probably true to say that just about every kind of data acquired at the work head can be of benefit as feedback.

     

    Morgaine.

     

    PS.  As an example, low cost physical construction can result in very nasty undamped vibration modes, which can be annoying, harmful to effective resolution, and reduce lifetime.  Accelerometers with adequate bandwidth can help you detect and avoid equipment resonances.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • 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
Reply
  • 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
Children
  • 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
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