why do stepper motors sometimes lose a step? - Page 1
Forum section: electronics / general

author: legacy
author_rank: Super Contributor
timestamp: November 17, 2018, 04:44:39 pm
content: my brother yesterday got the crazy idea of building a BIG 3 axes CNC machine!He wants stepper motors and the first thing have been suggested: add an optical encoder to each motor, don't trust them, sometimes they lose a step, especially on long distances.yeah, it makes sense, but exactly WHY?In theory, a stepper motor shouldn't' lose any step.Practically, a lot of 3d printers don't have any optical encoder coupled to step motors.CNC's do, hence I infer this is really a mistake on 3d printers.I miss: why?

author: legacy
author_rank: Super Contributor
timestamp: November 17, 2018, 04:49:51 pm
content: "long" is relative. For what he is willing to build, "long" has the meaning of axes whose length measurement is 1000 mm(Probably a CNC of the shape of a cube of 1000 mm per side sounds a very crazy project, or something very cool. Who knows)

author: sokoloff
author_rank: Super Contributor
timestamp: November 17, 2018, 04:50:46 pm
content: They won't lose a step if never overloaded. (If not asked to accelerate more than the drive current is capable of keeping them from losing steps and if never "crashed" into the workpiece or fixture.)It's sort of definitional though. A stepper won't lose steps if never overloaded. Just like saying "I'm confident that no minor will be able to legally buy alcohol/cigarettes/weed". By definition, if they do, it wasn't legal.In many years of 3D printing (low loads on the steppers), I've only skipped steps when I crashed the head or carrier into the platen.

author: coppice
author_rank: Super Contributor
timestamp: November 17, 2018, 04:52:18 pm
content: Stepper motors usually lose steps when the motor's torque is not sufficiently high to overcome the load. The load varies a lot with a CNC, so its hard to predict the peak load torque which will be presented to the motor. The torque from the motor varies during each step. When stepping slowly you need to allow for that, rather than using some vague averaged figure for the motor's torque capability. When you are stepping fast the flywheel effect will typically carry you through the torque minimum.

author: legacy
author_rank: Super Contributor
timestamp: November 17, 2018, 04:54:07 pm
content: ok, understood: overload and torque are the keywords!Perfect, now things start making more sense in my head

author: fourtytwo42
author_rank: Super Contributor
timestamp: November 17, 2018, 04:59:11 pm
content: Another reason for steppers to loose steps is being expected to step to fast! If the on time of a phase is to short the current does not have enough time (due to winding inductance) to reach it's nominal value and hence produce the nominal torque. There are zillions of schemes that attempt to ameliorate this problem but it sure is a gotcha

author: nctnico
author_rank: Super Contributor
timestamp: November 17, 2018, 06:07:54 pm
content: Quote from: legacy on November 17, 2018, 04:44:39 pmBecause you can't fully predict the load. With an encoder you can detect missing a step and correct immediately. Without it you are lost. This has been explained at length before. For a CNC machine I'd look into linear motors for XYZ movement.

author: cncjerry
author_rank: Unknown
timestamp: November 17, 2018, 06:44:29 pm
content: noise in the drivers coming from the spindle motor. Use separate outlets, ground strips with noise suppression, shielded cables...Servos cost very little more especially the larger motors vs large steppers.

author: hussamaldean
author_rank: Unknown
timestamp: November 17, 2018, 07:00:41 pm
content: Quote from: IonizedGears on November 17, 2018, 05:03:31 pmand don't forget that it also the inertia of the motor which is also a factor of skipping the steps (unloaded one )

author: langwadt
author_rank: Super Contributor
timestamp: November 17, 2018, 07:21:26 pm
content: Quote from: nctnico on November 17, 2018, 06:07:54 pmif you lose steps you are pushing the machine too hard and all the encoder will mostly be a way to let you know you screwed upI'd suspect linear motors, especially with the forced needed for CNC, to be several orders of magnitude more expensive than ballscrews and servos/steppers

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 17, 2018, 07:24:54 pm
content: Some stepper drivers like the Trinamic ASICs used in the MK3 or CR-10S Pro can detect missed steps, by driving the motor like a sensorless BLDC.

author: legacy
author_rank: Super Contributor
timestamp: November 17, 2018, 07:28:53 pm
content: why does someone use rotary absolute encoders instead of incremental encoders?what is the reason?p.s.which kind of "rotary absolute encoders"? optic? magnetic (frictionless, of course)?

author: legacy
author_rank: Super Contributor
timestamp: November 17, 2018, 07:57:26 pm
content: Quote from: NiHaoMike on November 17, 2018, 07:24:54 pmGood trick! I will dig deeper

author: legacy
author_rank: Super Contributor
timestamp: November 17, 2018, 08:00:32 pm
content: Quote from: langwadt on November 17, 2018, 07:21:26 pmMy brother said 1:10 -> 10X more expensive, at least. Ummm

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 18, 2018, 03:21:17 am
content: Quote from: langwadt on November 17, 2018, 07:21:26 pmYep. Usually they need reduction gearboxes and optical encoders. They are much more expensive.Using stepper motors in 3D printers usually makes sense because the load is pretty constant.In a machining CNC, it's absolutely not. But if chosen carefully and if the CNC is controlled accordingly (meaning the programmed paths and speed should take the machining forces into account so as not to exceed the stepper motors' max torque), you can still use stepper motors with decent results.

author: legacy
author_rank: Super Contributor
timestamp: November 18, 2018, 08:42:39 pm
content: Quote from: legacy on November 17, 2018, 07:28:53 pmThis question seems hardthiswebsite has a lot of encoders.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 18, 2018, 11:27:14 pm
content: Yeah, you can only get a relative position with incremental encoders (they just give you increments from the current position), so you have no means of knowing what's the real position until you add some feature to get a reference position (sometimes called "zeroing"). 3D printers for instance all embed some process for zeroing, most of the cheaper ones using a manual process, and they don't really need that accurate a reference (they just need to have an accurate enough zero for the Z axis so the very first layer sticks to the platter - the rest is all relative.)For a CNC, unless you can get a very accurate reference position with additional sensors, using incremental encoders would royally suck IMO.

author: nctnico
author_rank: Super Contributor
timestamp: November 18, 2018, 11:34:47 pm
content: Quote from: IonizedGears on November 18, 2018, 09:02:36 pmThe absolute position sensors aren't that expensive any more. There are lots of add-on kits for existing CNC machines. Using servo motors and these absolute position sensors would be a way more sensible solution compared to using stepper motors.

author: langwadt
author_rank: Super Contributor
timestamp: November 18, 2018, 11:53:21 pm
content: Quote from: nctnico on November 18, 2018, 11:34:47 pmdepends on how fast the sensors are

author: SparkyFX
author_rank: Frequent Contributor
timestamp: November 19, 2018, 02:08:41 am
content: There are also glass scales that incorporate relative positioning and reference signals every x encoder steps.How fast the software can accelerate and drive a feedbackless machine without loosing steps also needs a consistent built machine (= same friction along the full travel), which can be proven by measurements or additional feedback. CNC-only machines can not provide such a feedback to the user, as there is no handle to check this manually.Other measurements needed for precision are the backlash and of course the rigidity.Adding encoders makes the system closed loop and it removes most of the inaccuracy, ... makes the motion controller more expensive or it is handled in software.The next issue could be the hard-/software used. A non-realtime operating system might loose encoder steps on the input or jerk the machine when processor load goes up.

author: ebclr
author_rank: Super Contributor
timestamp: November 19, 2018, 03:42:40 am
content: If you wanna a sure step or alarm in impossible conditions ,put a little more money on the controller/motorhttps://www.amazon.com/Nema24-Stepper-Engrvaving-Milling-Machine/dp/B079CCPCPQ/ref=sr_1_1_sspa?ie=UTF8&qid=1542598849&sr=8-1-spons&keywords=ac+servo+motor&psc=1

author: mfro
author_rank: Regular Contributor
timestamp: November 19, 2018, 10:50:45 am
content: Two main reasons:With machining, it is the absolute length that determines the precision of the result, not the number of steps. So, if you want best precision, you implement a feedback loop that considers the measurement that directly affects this precision, taking as much mechanical parameters (like spindle thread pitch errors or mechanical play) in between as possible out of the equation.others have already mentioned exceeding maximum torque as reason for missed steps. Consider a milling machine doing a tight corner in rapid move. Torque (<=> max. acceleration) on the spindle motors will be very different whether you have a wristwatch or a large marine diesel engine block on the table.Much safer to know where your table is instead of where it is supposed to be...

author: nctnico
author_rank: Super Contributor
timestamp: November 19, 2018, 11:22:41 am
content: Quote from: SparkyFX on November 19, 2018, 02:08:41 amOne thing to remember is that a CNC machine moves along 3D vectors (so from one XYZ to another XYZ). All axis need to move at the same time (probably at different speeds) in order to get a straight line along the 3D vector.

author: joeqsmith
author_rank: Super Contributor
timestamp: November 19, 2018, 12:10:11 pm
content: You can buy steppers with built-on controllers and feedback. These can even simulate a servo.

author: legacy
author_rank: Super Contributor
timestamp: November 19, 2018, 01:20:05 pm
content: Quote from: joeqsmith on November 19, 2018, 12:10:11 pmsteppers with built-on controllers and feedback: what shall I look for? (and where?)

author: langwadt
author_rank: Super Contributor
timestamp: November 19, 2018, 04:11:55 pm
content: Quote from: legacy on November 19, 2018, 01:20:05 pmshipping is a bit steep, but they have everything needed to build a CNC,https://robotdigg.com/product/1363/Integrated-Servo-Stepper-or-AC-Servo-NEMA23