Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Servo Stock 3D Printer Brings Closed-Loop Control To Reprap

Unknown Lamer posted about 3 months ago | from the don't-break-the-circle dept.

Hardware Hacking 56

A limitation of current (affordable) 3D printers is their use of open loop controllers and stepper motors which limits reliability (drove the motor too quickly and skipped a step? Your model is ruined) and precision (~300 steps per revolution). A new project, Servo Stock instead uses cheap RC Servomotors combined with Hall Effect sensors, using a closed-loop controller to precisely position the extruder. The Servo Stock is derived from the delta robot Reprap Rostock (which is pretty cool even with stepper motors). The sensors give a resolution of 4096 ticks per rotation, and the controller can currently position the motors to within +/-2 ticks. They've also simplified the printer electronics by driving as much as possible from the controlling computer using Bowler, a new communication protocol for machine control. The Servo Stock also includes sensors for the hot end, presumably to be used to control the filament feed rate and temperature. The hardware models are fully parametric, allowing reasonably straightforward scaling of the design. Source for the hardware, firmware, and software is available.

A note on the video: the extruder platform is tilted in the video, but a project update indicates it was fixed by making the support arms more rigid.

cancel ×

56 comments

Sorry! There are no comments related to the filter you selected.

this is cool (2)

gl4ss (559668) | about 3 months ago | (#47098449)

but bigger servos tend to cost more than steppers for same performance.

if the encoders could be used with freely chosen dc motors - and the encoders be cheap when used that way - then it would be pretty nice.

Re:this is cool (2)

plover (150551) | about 3 months ago | (#47098527)

Don't think of it as "more expensive", think of it as "the price of precision." If you pay less today for the components, you'll pay more tomorrow in making scrap parts. Make your own tradeoff - would you rather get into cheap printing, and pay in terms of delays and waste, or would you rather produce more usable parts?

At least if you pay up front, you've theoretically reduced the long term expense. The downside to that theory is: will today's 3D printer be the technology you want in 2018? If you think these machines will improve a lot in other ways in the next four years, adding extra costs today won't save you much if you're just going to replace it anyway.

Re:this is cool (1)

rmdingler (1955220) | about 3 months ago | (#47098707)

Yes. If it's worth it for you to own one, it's worth having it work properly.

And hopefully you don't find yourself holding the Betamax version a few years in.

Re:this is cool (1)

mrchaotica (681592) | about 3 months ago | (#47098713)

At least if you pay up front, you've theoretically reduced the long term expense. The downside to that theory is: will today's 3D printer be the technology you want in 2018? If you think these machines will improve a lot in other ways in the next four years, adding extra costs today won't save you much if you're just going to replace it anyway.

Assuming you can't re-use the motors in whatever improved design you have in 2018, anyway...

Re:this is cool (0)

Anonymous Coward | about 3 months ago | (#47098739)

Except servos are not that precise, it's just that open-loop control sucks. You can do closed-loop control with steppers, in fact you can detect a stall from the magnetics without adding any encoders at all. It's just "hard" for an OSS project to do (by which I mean easy).

Re:this is cool (4, Informative)

ShanghaiBill (739463) | about 3 months ago | (#47099033)

Don't think of it as "more expensive", think of it as "the price of precision."

It is not as simple as that. Stepper motors can use microstepping [wikipedia.org] to improve their precision and stability. All you need is a controller with multiple PWMs (one for each phase). A $25 Arduino will work to microstep up to three two-phase steppers. "MIssing steps" is not a problem if you don't push the motor outside its performance envelope. The head on a 3D printer is not moving against variable resistance, so that should not be a problem. You could even slap an encoder onto a stepper, so you can detect and recover from missed steps. A servo motor has its own issues, such as gear backlash, that can make it less precise than a stepper in many applications. Servo motors vs steppers may be more for marketing than for real precision.

Re:this is cool (1)

ArcadeMan (2766669) | about 3 months ago | (#47099771)

It's nice to read a comment from someone who knows what he's talking about, for a change.

Re:this is cool (1)

marcosdumay (620877) | about 3 months ago | (#47100099)

Besides, the extruder is the one motor where if you lose a couple of steps, your project won't be ruined.

Wake me up when they get closed loop positioning for the other axys.

Re:this is cool (1)

inasity_rules (1110095) | about 3 months ago | (#47105929)

A harmonic gearbox will reduce the backlash on a servo to zero, but then it all depends how much money you have to spend.

To be honest, I am quite surprised they weren't already using encoders and feedback control. That and a small PID loop and you can even minimize overshoot. Or just have acceleration/deceleration profiles...

Re:this is cool (1)

lisaparratt (752068) | about 3 months ago | (#47098619)

You seem to have mistaken 3d printing for a cheap hobby. Given the price of a reel of filament, it's madness to cheap out on the machine itself.

Re:this is cool (0)

Anonymous Coward | about 3 months ago | (#47099113)

It's an expensive and pointless hobby.

Exactly. (0)

Anonymous Coward | about 3 months ago | (#47099365)

Well said, lisaparratt! High performance machining centers which still use rotating servos ar much more accurate. Used in combination with glass scales positioning can be as small as .000050-.0001" but you have to pay to play; prices typically starting at $175K-$250K. Too bad the bead has to be laid down relatively slow. Ultra performance machines sometimes use linear motors rather than the rotating variety that can position at velocites of 2500"+/min.

It's funny to hear all this discussion of drives at such a low level of technology and performance. It would be like a 2014 scientist listen to a 1950's scientist talk about all this new fangled technology that borders on black magic. LOL

Re:Exactly. (1)

Skal Tura (595728) | about 3 months ago | (#47099585)

It's not a matter if there is stronger and more precise machinery available - it's a matter of getting it to consumers, ie. on the cheap.
Getting price down on things is just as much a science as everything else - but it's different, and mostly engineering rather than science in instances like this.
It's about figuring out how to utilize something existing, now cheap, on creating new things.

Money is not infinite for everyone but goverments and big banks.

Re:Exactly. (1)

jimbolauski (882977) | about 3 months ago | (#47100323)

If it could be done cheaply it would, it's not just the motors that are introducing error it's the backlash in the feed screws/gearing/belt, backlash in the motor coupling, flex or misalignment of the linear rails, ... Eliminating backlash requires parts with very tight tolerances those parts are not cheap no matter how many are made, if they were cheap CNC machines would be cheap. If you want precision you need linear rails with tight fitting ball screws for control. A 3 axis setup like that is going to cost $1000 just for the table not the printer or controllers.

Re:Exactly. (0)

Anonymous Coward | about 3 months ago | (#47101291)

Backlash compensation can be done without high tolerance parts and quite cheaply on such setups where there are other bottlenecks, especially in a 3D printer setup where you don't need as much torque and varying load as you would get in a CNC mill cutting metal at a reasonable rate. Lack of rigidity and lack of accuracy in positioning system (cheap lead screw) will cause problems much before backlash in such a setup.

Or dont overdrive the steppers (4, Interesting)

Gothmolly (148874) | about 3 months ago | (#47098519)

Stepper motors have known performance curves, so you could simply NOT send pulses to them faster than they can react.
Or you can zero them (or your coordinates) periodically by returning them to their start point.
Or you could have stepper motors AND a feedback loop.

TL;DR - shitty printer design is shitty.

Re:Or dont overdrive the steppers (4, Informative)

Anonymous Coward | about 3 months ago | (#47098965)

Or you could do ALL those things, which in non-hobbyist robotics is commonly known as "the bare minimum". I see a lot of industrial robotics in semiconductor fabs. The standard for the last 30 years has been:

Use stepper motors of adequate torque, geared appropriately so as to have very high resolution,
AND you use high-resolution encoders on the steppers,
AND you check the end effector motion against fixed "home" positions with breakbeam or similar sensors.

The software constantly compares the stepper commands with the shaft encoder reading. If they ever don't match, the tool instantly stops and thows the ubiquitous "encoder mismatch" error. If a home-position flag is ever missed, the tool freezes and throws the almost-as-common "robot position error" error. This is the bare minimum when you are moving around $10,000 wafers.

The idea that 300 steps per revolution is "not enough" resolution is so wrong as to be not-even-wrong. That's why God invented gear ratios. If there is no space for gears or timing belts, use a harmonic drive. A very common configuration on AMAT cluster tools is a 500steps/rev 5-phase stepper with a 100:1 harmonic drive giving 50,000 steps per revolution.

Re:Or dont overdrive the steppers (1)

OzPeter (195038) | about 3 months ago | (#47099157)

^^What he said

Closed loop control with continual re-homing is standard for any position critical industrial automation system.

Shit I even do that with cranes that lift cargo containers off ships - so the scale of the end process is irrelevant!

Re:Or dont overdrive the steppers (1)

ArcadeMan (2766669) | about 3 months ago | (#47101327)

The idea that 300 steps per revolution is "not enough" resolution is so wrong as to be not-even-wrong.

No to mention that I've seen 24, 48, 100, 200 and 400 steps per revolution steppers, but I've never even heard of a 300 steps one.

Re:Or dont overdrive the steppers (0)

Anonymous Coward | about 3 months ago | (#47099865)

The belts flapping around will ruin accuracy as well.

what is this stupid shit (-1)

Anonymous Coward | about 3 months ago | (#47098547)

how the fuck do I get rid of this beta shit
the site looks like complete crap
the javascript is just fucked
what the hell is going on?

Evil Rethuglicans listen to Rush Limbaugh (-1)

Anonymous Coward | about 3 months ago | (#47098567)

Obama seeks to stabilise the economy and readies EO 10-289. Finally something is being done to put these rich capitalist evil men in their place and to raise the wages and living condtitions of the poor. Yes more could be done but this is a good start. This combined with comprehensive immigration reform legislation should put this country back on stable economic footing and make all of us prosperous again. Call Obama and support this directive and tell him to bash these wicked Republicans into submission.

"In the name of the general welfare, to protect the people's security, to achieve full equality and total stability, it is decreed for the duration of the national emergency that:

Point One. All workers, wage earners and employees of any kind whatsoever shall henceforth be attached to their jobs and shall not leave nor be dismissed nor change employment, under penalty of a term in jail. The penalty shall be determined by the Unification Board, such Board to be appointed by the Bureau of Economic Planning and National Resources. All persons reaching the age of twenty-one shall report to the Unification Board, which shall assign them to where, in its opinion, their services will best serve the interests of the nation.

Point Two. All industrial, commercial, manufacturing and business establishments of any nature whatsoever shall henceforth remain in operation, and the owners of such establishments shall not quit nor leave nor retire, nor close, sell or transfer their business, under penalty of the nationalization of their establishment and of any and all of their property.

Point Three. All patents and copyrights, pertaining to any devices, inventions, formulas, processes and works of any nature whatsoever, shall be turned over to the nation as a patriotic emergency gift by means of Gift Certificates to be signed voluntarily by the owners of all such patents and copyrights. The Unification Board shall then license the use of such patents and copyrights to all applicants, equally and without discrimination, for the purpose of eliminating monopolistic practices, discarding obsolete products and making the best available to the whole nation. No trademarks, brand names or copyrighted titles shall be used. Every formerly patented product shall be known by a new name and sold by all manufacturers under the same name, such name to be selected by the Unification Board. All private trademarks and brand names are hereby abolished.

Point Four. No new devices, inventions, products, or goods of any nature whatsoever, not now on the market, shall be produced, invented, manufactured or sold after the date of this directive. The Office of Patents and Copyrights is hereby suspended.

Point Five. Every establishment, concern, corporation or person engaged in production of any nature whatsoever shall henceforth produce the same amount of goods per year as it, they or he produced during the Basic Year, no more and no less. The year to be known as the Basic or Yardstick Year is to be the year ending on the date of this directive. Over or under production shall be fined, such fines to be determined by the Unification Board.

Point Six. Every person of any age, sex, class or income, shall henceforth spend the same amount of money on the purchase of goods per year as he or she spent during the Basic Year, no more and no less. Over or under purchasing shall be fined, such fines to be determined by the Unification Board.

Point Seven. All wages, prices, salaries, dividends, profits, interest rates and forms of income of any nature whatsoever, shall be frozen at their present figures, as of the date of this directive.

Point Eight. All cases arising from and rules not specifically provided for in this directive, shall be settled and determined by the Unification Board, whose decisions will be final."

Give Me a break (0)

Anonymous Coward | about 3 months ago | (#47098629)

You are kidding that they are using stepper motors & open loop control systems?

Cheap and efficient and accurate servo motor control systems with quad encoders have been around for 25+ years. Problems when so many technology companies don't use engineers to design their machines and hire the cheapest talent around. Pretty sad.

Re:Give Me a break (2)

mrchaotica (681592) | about 3 months ago | (#47098741)

Problems when so many technology companies don't use engineers to design their machines and hire the cheapest talent around.

Perhaps we should stop referring to employees as "talent" when they don't have any.

Re:Give Me a break (1)

HornWumpus (783565) | about 3 months ago | (#47100841)

Everybody has a talent. Some are just very limited. e.g. There is one around hear who knows the difference between 'then' and 'than' and likes to insert mental farts into conversations.

When it's all they've got, it's what they run with.

Re:Give Me a break (1)

mrchaotica (681592) | about 3 months ago | (#47102051)

I congratulate you on your brilliantly subtle troll.

Re:Give Me a break (0)

Anonymous Coward | about 3 months ago | (#47101167)

Cheap and efficient and accurate servo motor control systems with quad encoders have been around for 25+ years.

Only if you are very loose with your definition of "cheap." For a given price, a servo will suck compared to a stepper motor for applications like this. And spending more to get a servo with similar precision and torque will be a waste compared to just getting an encoder for the stepper motor, which even then could be a waste depending on the design.

Move along nothing to see here. (3, Insightful)

daid303 (843777) | about 3 months ago | (#47098719)

Pretty much all lies from the start.

First off, almost nobody is missing steps in their cheap 3D printers. They simply do not move fast enough for that to happen. And if they are missing steps you have a bigger issue, usually lots of friction somewhere.

Secondly, 200 steps per rotation is normal for motors. However, the drivers everyone is using do 16x microstepping, good for 3200 steps per revolution. Accurate steps per revolution. That's better then 4096 +- 2 steps.

You also lose the close coupling between the 4 axis that you need (the feed stock of the material is also an axis that you need to control), which is a big deal in running accurate prints.

The cheap hobby servos will also have mechanical play, which will cause vibrations to be transferred to the head, which will result in a reduction of print quality.

I'm also willing to argue that it's more expensive. But I didn't do the math on that part yet.

(Who am I to say so? Just a guy who has been working at Ultimaker for 2 years. Kinda know what's needed for quality 3D printing at a low price and what's not)

Re:Move along nothing to see here. (0)

Anonymous Coward | about 3 months ago | (#47098827)

I am pretty sure that a really well implemented solution based on closed-loop controlled servos would offer faster positioning and higher accuracy, but at a much higher price point than with steppers (as you point out mechanical play of cheap motors may ruin everything). I agree that you probably will not miss full steps at these speeds, but in the few projects I used steppers in the microstepping was not really reliable. We added encoders to the steppers, but closed-loop control of steppers is just a nightmare (I am a control engineer).

Re:Move along nothing to see here. (1)

gigne (990887) | about 3 months ago | (#47099563)

This.

I have spent a lot of time with servo motors and closed loop PID. (mainly Openservo) Even the best servo has some slop in the mechanics.

The real problem here isnt the mechanics, it is the PID loop. Unless precicely calibrated (and I mean really precicely) then the overshoot or settle becomes a big problem.

Much better to close that loop with a stepper motor or decent DC and precision gearbox.

My UM has never missed a step that I know of, and is certainly more precise than +/- 2 steps.

Re:Move along nothing to see here. (1)

jimbolauski (882977) | about 3 months ago | (#47099757)

3d printing accuracy needs to be defined much the same way a cnc is. Expecting to get good parts on a cheap printer with an accuracy of 1/4" is setting yourself up for failure. It's not just that the cheap models are inaccurate but that their inaccuracy is not defined leading people to think their $250 printer has 1/64" precision. Simply defining the precision of the printers will make a huge difference, like you said 200 points per rotation is not an issue, it's the backlash in the gears moving the head, the rigidity of the rails the head travels on, or the slippage of the belt drive.

Re:Move along nothing to see here. (0)

Anonymous Coward | about 3 months ago | (#47099889)

Nope.
Steppers usually have a rotational accuracy around 5% for a full step. Anything more than 5 or so microsteps is down in the noise and all you're doing is fooling yourself.

Re:Move along nothing to see here. (1)

rijrunner (263757) | about 3 months ago | (#47100143)

I would also argue that the cheaper (affordable) 3D printer lack enough structural rigidity to really push the servos to their limits.

But, the reality is what you describe. Unlike a CNC milling machine, there is no load being transferred to the head. It is just moving its own weight. Barring bad mechanical assembly, you can not miss steps in normal operation. On a milling machine, I have seen steps missed when making a rapid change of direction in a deep cutting operation. In that scenario, the correct thing to do is fix the g-code.

Re:Move along nothing to see here. (1)

thestuckmud (955767) | about 3 months ago | (#47100215)

200 steps per rotation is normal for motors. However, the drivers everyone is using do 16x microstepping, good for 3200 steps per revolution. Accurate steps per revolution. That's better then 4096 +- 2 steps.

No, those motors are not good for 3200 accurate steps/rev: Motor accuracy here is likely to be +/-5% (10% range), so ideal accuracy will be closer to 2000 steps/rev, but real world accuracy drops with increased microstepping resolution due to varying load and detent torques, stiction, etc.

The good news is that this level of motor accuracy is irrelevant here. All you really need to do is beat the required positioning resolution (likely on the order of a few mils). A 20tpi lead screw and 200 step/rev motor easily beat this without microstepping. You probably still want a microstepping driver, though, since it can prevent mid-band resonance in addition to other features.

Re:Move along nothing to see here. (1)

Animats (122034) | about 3 months ago | (#47100287)

Pretty much all lies from the start.

Agreed. Making an CNC positioner work is a solved problem. There are botched positioner designs in the 3D printer world that fail, but that's because of bad engineering. It's an easy positioner problem - the load doesn't vary much. If a stepper is missing steps, you probably did something very wrong. Like using the crap Arduino stepper board from Adafruit, which uses a chip intended for LED dimming.

When I saw the article title, I thought that perhaps someone had closed loop thermal control of the extrusion process. No such luck. The real problems with extrusion-type 3D printers are where the extruded material is welded to the previously deposited material. This is welding a hot thing to a cold thing, which usually fails. On top of that, standard ABS has a high coefficient of expansion, and shrinks when it cools. This is why many 3D printer jobs crack about 1-2 inches from the heated build platform.

Extruder type 3D printers need temperature control over not just the extruder, but chamber air temperature and the temperature of the spot being welded to. There are commercial plastic welders which aim a hot air jet at the spot about to be welded [professionalplastics.com] , in addition to heating and extruding the plastic welding rod. 3D printers need something like that. Maybe a laser (a 10W diode should do it) aimed at the join point.

3D printer designers should quit futzing with the positioner design and focus on exactly what's happening at the weld point.

Re:Move along nothing to see here. (1)

Artraze (600366) | about 3 months ago | (#47100357)

> First off, almost nobody is missing steps in their cheap 3D printers. They simply do not move fast enough for that to happen.
> And if they are missing steps you have a bigger issue, usually lots of friction somewhere.

Well, keep in mind that not moving fast enough is a bit circular: One reason they don't move fast enough is to prevent them from skipping steps. Of course, on hobby machines rigidity is probably a bigger issue so it's not terribly helpful in that regard.
(I will say, though, that steps can be missed outside normal operation if the machine crashes. Feedback is nice for identifying that quickly!)

> Secondly, 200 steps per rotation is normal for motors. However, the drivers everyone is using do 16x microstepping,
> good for 3200 steps per revolution. Accurate steps per revolution. That's better then 4096 +- 2 steps.

No. Microstepping (and indeed stepping at all!) is a zero torque accuracy. In a motor, torque is only generated when the magnetic fields are unaligned, a situation known as "slip". If the fields are aligned (zero slip), there is no force and so no torque, but the rotor is exactly where you expect it. Maximum torque occurs at 90 degrees from the poles, and if that is exceeded you lose a step. The idea of the stepper is that the poles are so close that the maximal 90deg slip (+/- 1/4 step) is insignificant (usually only a degree or less) and therefore you can infer an amount of positioning based on that. All microstepping does is rotate the poles; you will still have the same uncertainty because the width of the poles is unaffected.

Granted, if the stepper in providing much more torque than is needed the slip will be pretty small. However, unless you have very low friction and zero other torque you can usually expect to always be a least a (16x) microstep or two off your expected rotation. Haven't you ever wondered why the advent of cheap microstepping drives hasn't killed small step steppers and encoders? You're still only as accurate as your physical step size.

In addition, steppers are generally used with minimal gearing. Other motors will usually have to be geared down pretty significantly which means that a motor mounted encoder will provide a "geared up" precision. Yes, backlash can be a problem but it's actually not a much as people like to think (for reasons beyond the scope of this discussion).

So to compare:
A) 200 step stepper, 16x microstepping, direct-drive : ~1000 counts per rev
B) Brushless DC motor with 4096 encoder and 10:1 gear box: ~20000 counts per rev.

> I'm also willing to argue that it's more expensive.

You better believe it! Brushless DC motors are less expensive than steppers, usually, but steppers are a one piece solution. All you need is a single chip driver and a shaft coupling are you're done. If you want to use a DC motor, you need all that and a gearbox (which could maybe be a low pitch ball screw in this application), an encoder, an encoder reader (a microcontroller is fine, but one per axis!). You also need better control software too.

In the end, though, you get what you pay for and that setup will beat the tar out of a stepper directly driving a timing belt. However, it's also far better than your average reprap mechanics, which will lack to rigidity to actually use it to its fullest. So now you have to build a better frame, etc, etc. And all of a sudden you've got a $20k industrial machine and not a $1k hobby one.

So, I agree that for the application there is nothing at all to see here. Cheap servos for a cheap machine are pointless and steppers are the right solution. After all, the difference between 1k and 100k counts per rev doesn't really matter if your extruded plastic is +/-0.1mm. However, for a better machine a closed loop servo is really the only way to go.

Re:Move along nothing to see here. (0)

Anonymous Coward | about 3 months ago | (#47101773)

So to compare:
A) 200 step stepper, 16x microstepping, direct-drive : 3200 counts per rev
B) Brushless DC motor with 4096 encoder and 10:1 gear box: 40960 counts per rev.

FTFY.

Re:Move along nothing to see here. (0)

Anonymous Coward | about 3 months ago | (#47103655)

Hi Daid! Ultimaker rocks!

unnecessary complication (3, Interesting)

csumpi (2258986) | about 3 months ago | (#47098871)

While it sounds like a cool project, using servos instead of steppers is just a bunch of added complication, cost and downsides.

But first, let's be realistic: we are extruding plastic at several 0.1mm width. For example a 0.35mm nozzle has to lay down plastic at a minimum of about 0.4mm width to achieve good layer adhesion. So having 4096 steps per rotation on a servo vs 3200 steps on a stepper (200 steps * 16 microsteps) will make zero difference. (Although higher microstepping is also possible at the cost of power output and processing speed.)

Then you add a whole bunch of electronic components, increasing cost and failure points. Brushes in servos wear out, needing replacement. And I'm sorry, but some cheapo small servos from RC cars will not be a replacement for the beefy steppers used in even the cheapest 3d printers. BTW, servos are a major point of fail in RC car, and a decent servo costs several times that of a nice stepper.

Let's also think about what happens if there's a mechanical failure that would trigger a step being lost, for example a stuck bearing. A stepper would simply stop working. A servo would not stop until the encoder wheel reaches its position, so without some added safety system the servo would just commit suicide, burning itself down or chewing up its gears.

Having said all this, my current reprap printer has yet to skip a step after several hundreds of hours of print time. So looking for a solution to a problem that doesn't exist?

Re:unnecessary complication (1)

Skal Tura (595728) | about 3 months ago | (#47099681)

Skipping steps becomes a real issue when you start driving it faster and faster ...
and print time is a serious issue with current gen 3d printers... make it faster, without loosing precision or causing missed steps, at the same cost makes tons of sense.

Re:unnecessary complication (1)

marcosdumay (620877) | about 3 months ago | (#47100293)

To be fair my (badly constructed?) printer loses precision from vibration much before the stepers have any problem.

Also, all steps that it missed were due to electronic or software problems. Except when the software sent things beyhond the end of the printer, it never lost a step due to physical resistence.

Re:unnecessary complication (2)

csumpi (2258986) | about 3 months ago | (#47101139)

Did you see the speed in the video? That thing goes at max 10mm/sec. I print at 100mm/sec, no skipped steps.

At some point, there are just limitations. For example how much plastic you can melt through the hotend.

With speed you also face the biggest evil of 3d printing right in the face: acceleration. High acceleration is what makes a good print. More speed, more inertia, crappier prints. In fact skipping steps has not much to do with speed, and a lot more with the lack of acceleration.

.

Re:unnecessary complication (0)

Anonymous Coward | about 3 months ago | (#47099707)

A servo would not stop until the encoder wheel reaches its position, so without some added safety system the servo would just commit suicide, burning itself down or chewing up its gears

Anyone that designs a servo-based tool without basic stuff like limit switches deserves to have their machine eat itself like that.

Not sure if this is an improvement (1)

mark_reh (2015546) | about 3 months ago | (#47098967)

To be an improvement it has to either perform better or cost less for equal performance. I'm not sure it does either.

Better performance: it would need to be faster or more precise/accurate. I don't think it's going to go faster without some very expensive motors and controllers, and how much precision/accuracy can you get when you're squirting molten plastic out of a nozzle that's 0.25 mm diameter or larger? The properties of the plastic and the temperature at which it extrudes are going to affect the precision/accuracy more than the motors that drive the system. How fast can you extrude the plastic and still have a print that doesn't pull itself apart? The stuff about steppers skipping steps doesn't seem to be a real-world problem.

Finally, a nit-picking correction. That machine shown is not a RepRap type machine. It is a delta-bot aka Rostok machine.

OK so *now* (0)

Anonymous Coward | about 3 months ago | (#47099105)

it's the brave new 3D future? Can I sell everything I have and just wander the world with a 3D printer in a solar-powered backpack?

servor motors aren't (0)

Anonymous Coward | about 3 months ago | (#47099233)

Interesting lack of knowledge on the part of the OP. First, there's no such thing as a "servomotor" no matter how hard companies selling small DC motors combined with potentiometers try to push the "concept". There are instead servomechanisms, aka servos. It takes three things to make a servo. You need something to provide motion, something to detect position, and a negative feedback control system (analog or digital). Any device that can provide motion can drive a servo, including steppers, and including devices like hydraulic cylinders.

Second, steppers are not limited to large steps. So called micro steppers are made that have steps so small that it's nearly impossible to see the individual steps. Combined with a suitable drive train, you can get steps so small that the temperature of the mechanism limits your accuracy.

Third, don't confuse the concepts of precision and accuracy. They are not at all the same thing.

In my experience (and I used to design and build machine tools way back when America used to build things), perhaps the worst thing you can do in designing a servomechanism is to cheap out on the position detection. Specifically, by using a cheap potentiometer. Just like you get with a cheap "servomotor". They tend not to be accurate and are of questionable precision.

Another thing experience teaches is the value of open loop control, especially with stepper motors. They are usually fairly accurate, and quite precise if you know how to drive them. To provide similar performance with AC or DC motor based servos, it nearly always costs more and requires more effort. Who would have thought that more complexity would do that? ;-)

While I like servos (they are seriously nice toys for control systems engineers, no question), I've had enough experience to know that often times an open loop control system based on steppers will give you better accuracy and greater precision for less money.

Hall Sensors (2)

drinkypoo (153816) | about 3 months ago | (#47099423)

So you take a servo, which has a resistive sensor, and then you add on another sensor. Why not just take a motor and a gearbox, and add a sensor?

Re:Hall Sensors (1)

gigne (990887) | about 3 months ago | (#47099575)

That servo has to turn more than the 270 degrees of a normal servo. The pot isn't setup for 360 degree rotation. The end result is that you have to modify the serv and replace the pot with something else.

Re:Hall Sensors (1)

drinkypoo (153816) | about 3 months ago | (#47099629)

Right, but if you're going to have to modify it anyway, what are you gaining? Servos are cool primarily because you buy them and plug them in and use them.

Steppers need higher voltages. (3, Interesting)

LoRdTAW (99712) | about 3 months ago | (#47099755)

I do a lot of industrial automation using steppers as they are very cheap and pretty robust for low speed work. In fact as we speak I am building a stepper indexer using off the self motors and drives.

Steppers stall because they are driven faster than the current can build up in the coils. As a result, the torque drops off since torque is directly proportional to the current in the motors coils. The motor can no longer move its load so it simply stalls. This happens after missing 2 or more steps and even if you remove the load the armature is stuck until the current is shut off. All of these 3D printers are probably using 12 volts to the bridge drivers which severely limits their torque curve.

One way to fix this is to increase the bus voltage to the bridge drivers. Industrial stepper drives mostly use 80-160V. Larger drives usually rectify the mains 120/240V AC and send it to the bridge drivers after some filtering. This allows the current to build faster and extend the torque curve further into the higher RPM's. But these are still stepper motors and they typically all drop torque after you go over 1000-2000 RPM. Remember, missed steps from resistance on the motor shaft is bad, it almost always leads to a stall.

Stepper motors are an indexing type motor and have physical teeth cut into the armature which line up with the stator poles. You index the motor by turning the poles on and off in sequence and the armature follows, cogging into place as the magnetic field lines up. Most steppers have 200 steps per rev, smaller steppers can vary quite a bit. There are a few stepper out there with more than 200, the 5 phase steppers from oriental motor are an example with 1000 steps per rev. The step count per rev can be increased using what is called micro stepping. The steps get divided up by varying current to the poles to hold the armature between the two poles using fast PWM.

Very rarely are steppers closed loop. If you command a stepper to move 200 counts, you will get 200 counts. The only reason you would need it is if you want to detect a few missed steps and compensate for it in your motion loop or detect a stall. The controller cant fix a stall unless it stops the current flows and starts over. And at that point you just ruined a part so its not much help.

Servo motors on the other hand can run at very high speeds. Servo drives can supply extra current when necessary to overcome resistance and keep the motion smooth and on track. This is done via the velocity loop which calculates the speed from the encoder feedback. When the motor slows, current is bumped up to overcome the resistance. But its usually only for a fraction of a second. Too much resistance and the drives will stop with an over current fault. You need to slow your system down, reduce the load or up the motor size.

Servo motors don't stall unless you lock up the output shaft which is usually a mechanical fault (hard limits hit, shaft coupler failure, bearing failure, etc.) or an undersized motor. And if you really want performance you get rid of the lead screws and rotary motors and go balls out with linear motors. They can achieve accuracies greater than 1 micron and speeds to 2+ meters per second. I have seen a few systems using them in person and its scary how fast they can gracefully accelerate and position a load.

And torque? Man they have torque. I had a large XY table with little NEMA 23 500W motors snap the aluminum couplings like a twig. The drive went bad, lost sync and tried to launch the table to the moon. Even jammed the table guides and ball screw nut requiring me to un-stick it with a come-along. A real mess. A similar sized stepper would have stalled. That table can easily position 500+ pounds though most of our motion is low speed so we don't need huge motors.

Re:Steppers need higher voltages. (1)

Anomalyst (742352) | about 3 months ago | (#47102789)

wish I had mod points +1 informative

Bowler (2)

wagnerrp (1305589) | about 3 months ago | (#47099863)

All designed using Bowler, a new communications spec for machine control, because with Modbus, and Profibus, and ProfiNet, and ControlNet, and DeviceNet, and CAN, and EthernetIP, and EtherCAT, and X2X, and Pamux, and all the dozens of other industrial communications protocols, surely we need one more, and they're going to do it right this time.

Obligitory! [xkcd.com]

Re:Bowler (1)

Luciano Moretti (2887109) | about 3 months ago | (#47101219)

While I in general agree with you, you're conflating the issue between protocols and physical wiring.

DeviceNet, ControlNet, and EthernetIP are all the same protocol (more or less) just over different physical buses.
CANOpen and EtherCAT use the same protocol (more or less) just over different physical buses.

CAN describes a physical layer for CANOpen, DeviceNet, and a few other protocols.
Ethernet is used as the physical layer for EtherCAT, EthernetIP and ProfiNet.

Re:Bowler (1)

wagnerrp (1305589) | about 3 months ago | (#47101579)

Bowler is just the packet protocol, independent of physical wiring or wire protocol. That still has nothing to do with the primary issue of why they chose to write their own protocol, rather than choose an existing one that sufficiently approximated their needs. As a garage tinkerer, surely you would want to use hardware that operated on an industry standard interface, so you could choose from a vast selection of existing hardware. As an educator, surely you would want to use hardware that operated on an industry standard interface, so those you were teaching would be familiar with a technology they could use in the work place.

The only reason for them to write their own protocol is because of ignorance, hubris, or the desire to produce their own hardware ecosystem they can exert control over.

Re:Bowler (0)

Anonymous Coward | about 3 months ago | (#47103687)

I'm a let you finish, but ProfiNET is a complete pile of shit.

Yea, let's just take Profibus messages and send them over TCP, There can't possibly be any downside to that?!

4096 +-2 (1)

viperidaenz (2515578) | about 3 months ago | (#47101769)

Great... Don't current 3D printer controllers use microstepping?
With a 300 step motor and 16 microsteps you can drive a stepper motor to 4800 steps per revolution +/- 0.

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>