Motor won't move in single microsteps - problem, or normal?


Results 1 to 17 of 17

Thread: Motor won't move in single microsteps - problem, or normal?

  1. #1
    Registered
    Join Date
    Dec 2006
    Location
    USA
    Posts
    79
    Downloads
    0
    Uploads
    0

    Default Motor won't move in single microsteps - problem, or normal?

    I have a 570 oz-in bipolar stepper motor (4 wire). I'm driving it through a SainSmart ST-4045-A1 driver. The stepper is pulling loads varying from 6-12 lbs, and movement is done via a 1" spindle that wraps/unwraps a 1.1mm braided steel wire from the spindle. The cable being used (from driver to motor) is a 4-wire shielded cable, and is about 10 feet long.

    I can't get the motor to move reliably in full-step mode - I've tried various combinations of speed, acceleration, etc, but it won't reliably move in full-step mode, especially when pulling a load. In microstep mode (I've tried 1/2 -1/16 microstepping modes) I can get it to do full steps (ie, not microsteps) and multiple-step moves, the catch is, when I move in one of these 1/n fractional modes, movements only occur reliably in increments of n - effectively eliminating the finer positioning that I was looking for with microstepping. (Multiple-step moves are increasingly smoother in the microstepping modes, but bottom line, I can only make an individual move in full-step increments. So, in 1/2 step mode, I have to make a minimum of a 2-step move to get movement. In 1/4 step mode, I need to make a minimum of a 4-step move, and when pulling load, these multi-step moves seem to generally behave in increments of n - I see missed steps if I try to move in some increment other than n.) I have tried many combinations of current (set at the driver), speed and acceleration (set in software), and both 12v and 24v supplies, all with the same effect.

    I'm trying to figure out if this is a driver problem, a wiring problem, a stepper problem, and application problem (ie, the load and/or cable/pulley system - the cable moves freely, BTW, but clearly load seems to play a role), or if this is really how things work, and I'm just confused.

    Thoughts/suggestions? If any additional information can be provided to help puzzle this out, please let me know.

    Thanks!

    Similar Threads:


  2. #2
    Member ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Township
    Posts
    35538
    Downloads
    1
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    When microstepping, each microstep has 1/n the torque. So in 1/16 mode, each microstep is 1/16 the full step torque. Microstep torque is cumulative, so you do get full torque at full step positions (half torque at half step positions. So, it sounds like you aren't getting full torque out of the motor, or there's enough friction in the system that more torque is required?
    What's the current rating of the motor? What current is the drive supplying? And what voltage are you running at?

    Gerry

    UCCNC 2017 Screenset
    [URL]http://www.thecncwoodworker.com/2017.html[/URL]

    Mach3 2010 Screenset
    [URL]http://www.thecncwoodworker.com/2010.html[/URL]

    JointCAM - CNC Dovetails & Box Joints
    [URL]http://www.g-forcecnc.com/jointcam.html[/URL]

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  3. #3
    Member
    Join Date
    Mar 2008
    Location
    US
    Posts
    1762
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    My first question would be: What king of accuracy are you trying to achieve in your motion? Do you need the Incremental step to be fine? Have you adjusted for the diameter of the cable?

    If you need fine movement you should add mechanical reduction, say 5:1 is common. You need to remember that you need to add 1/2 the diameter of the cable to the spindle radius to get proper calcs.

    Is the motor wired full coil? I would use a drive capable of 48 or 60 volts. Can you set to full holding torque? (adds heat)

    Gary Campbell GCnC Control
    Servo Control & ATC Retrofits


  4. #4
    Member awerby's Avatar
    Join Date
    Apr 2004
    Posts
    5731
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    You can't really expect to move accurately from one microstep position to another. Microstepping is done to smooth out motion and avoid resonance issues. It doesn't really give you finer positional control. A half-step is about as fine a position as you can count on, but it sounds like you're not giving it enough power to do that. Your drive specifies a minimum of 24v https://www.sainsmart.com/products/c...r-motor-driver and probably would do a lot better at 36v to 50v.. You might check the inductance of your motors too - steppers with a lot of holding torque like yours tend to have high inductance, which requires more power for reliable operation at full speed.

    [FONT=Verdana]Andrew Werby[/FONT]
    [URL="http://www.computersculpture.com/"]Website[/URL]


  5. #5
    Registered
    Join Date
    Dec 2006
    Location
    USA
    Posts
    79
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    Thanks for the replies and suggestions!

    In answer to the question of 'how fine of a step do you need?' - full-step might work, but I can't get the current combo of driver and stepper to reliably position in full-step mode. I *can* put it in half-step mode, and make 2 half-step moves, to achieve a full step. This gives me about .4mm of cable movement per step. (The cable is 1.1mm in diameter, and the spindle is just under 25mm, so I'm counting that as about 25.4mm diameter - I'd been shooting for 1", as I know that the cable will wrap smoothly around a spindle of that diameter.) There is a little drag and compression in the cable (it runs in a housing), but I get most of the .4mm out of a step. A smaller resolution would be nice to see how it plays out, but until I can get this all working reliably even at full-step steps (whether by 1 full step, or 2 half steps), I can't say for sure if the finer resolution would have any real-world effects or not. (I suspect that there would be no noticeable difference in the result of a finer move, due to physical realities (read, slop) in the system, but I can't say without trying.) I could achieve some further mechanical advantage by turning the spindle down to a smaller diameter. I could likely have it work well at 20mm, though the cable starts wanting to unwrap from the spool if slack is introduced into the system (there is a manual override on this system, so the operator can take over manual control, and can momentarily introduce slack in the cable - the stepper reels the slack in within a 2-second interval, but too much slack, and the cable can unwind from the spool at the smaller diameter - it doesn't tend to try to unwrap at the 1" diameter.

    The stepper is a 4-wire bipolar motor, rated at 5A per coil. I assume this means its wired 'full coil'? I've tried current settings on the driver from 2.8A through 4.5A, and really, there is really no noticeable difference once I get up to 3.3A (above 2.8A, there are options of 3.3, 3.8 and 4.5). I had originally tried running the stepper at 12v, but clearly was lacking oomph. I then went to 24v (using a 12v to 24v boost converter rated at 10A) , and things are quite noticeably improved at 24v. Based on the advice here, I'm going to try 48v next. (Just ordered a 12v to 48v boost converter rated at 5A - it'll be here on Thursday.)

    I'm guessing that the inability to make full steps (in full-step mode) is due to resonance? I've tried 6 ways from Sunday (varying speeds, accelerations, current, etc) and just can't get it to reliably position in full-step mode, even without load, but even more so w/ load. The 1/2 step mode (stepped wave form - called '1/2A' - the square wave '1/2B' mode won't work at any combo of settings I've tried) works pretty reliably, though I do miss some steps occasionally when it needs to make short transitions in direction of rotation. I additionally sometimes get what appear to be resonance problems (just sitting still buzzing) when trying to make a multiple-step movement from a standstill. In this 1/2-step mode, it is very sensitive to speed - it'll work at speed settings of between 100 and 120 steps per second, but won't work above or below that range. (Again, I'm having to move in two 1/2-step increments to get the motor to move - so I'm moving a full step at a time, but I can only achieve this by moving 2 steps in 1/2 step mode. Similarly, I can achieve it by moving 4 steps in 1/4 step mode, 8 steps in 1/8 step mode, but given that I'm moving a full step in all cases, there seems to be no point in reducing the available torque by going any lower than necessary.) I have found that using no acceleration yields the best results - trying to use acceleration leads to missed steps, just sitting still and buzzing, etc.

    @islaww - by 'set to full holding torque' - are you referring to upping the driver current to the max rating for the motor, or some other setting?

    Thanks Again for everyone's help and advice. If you have more based on what I've described, I'm all ears!

    I'll report back once the 48v converter arrives and has been hooked up - I have high hopes. :-)

    Last edited by jim_stoll; 08-08-2018 at 09:02 AM.


  6. #6
    Community Moderator Jim Dawson's Avatar
    Join Date
    Dec 2013
    Posts
    5717
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    You might want to step back and take a look at the whole operation. Based on your description, it seems that you are trying to use a digital device (stepper motor) for an analog (constant tension) application.

    It might work much better by using a small servo motor in torque control mode.

    Jim Dawson
    Sandy, Oregon, USA


  7. #7
    Registered
    Join Date
    Dec 2006
    Location
    USA
    Posts
    79
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    @jim-dawson - I'd tried using a linear servo previously, but was not able to get the speed or power that I needed to have responsive and accurate/repeatable positioning. (Granted, it was not an industrial actuator, but is 12v and rated at 20lbs of pull, with advertised 18mm/sec speed. Sadly, both speed and accuracy degraded very significantly under even a moderate load.) The stepper (when I can get it to move reliably within the narrow window of parameters that seem to work) has the speed and the power I need, but the occasional lost steps and resonance issues (I assume I'm dealing with some resonance issues) are definitely a problem.

    I'm not particularly familiar with constant tension applications (I know it can be used for winding/rolling of film products, etc, where its important to maintain even tension on the media), but I'm not clear on how a constant tension approach would benefit a positioning problem. (The stepper needs to position a throttle arm across a range of about 50mm, based on the chosen setpoint, and PID-based adjustments needed to maintain that setpoint under varying loads. I'm not challenging the advice, just trying to understand your recommendation better.) Can you explain a bit more about your suggestion? (In the mean time, I'll do a little reading on it, to try to better acquaint myself with the concepts involved.)



  8. #8
    Community Moderator Jim Dawson's Avatar
    Join Date
    Dec 2013
    Posts
    5717
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    Maybe I'm misunderstanding the application. I assumed you are winding a coil of cable on a form based on your description. But in your post above you mention ''throttle arm'' so that would lead me to an engine speed/torque management system (electronic governor). So that changes things a bit.

    In any case, a servo system will continue to apply torque until the commanded positions is reached and apply torque to maintain that position as needed. The term ''servo'' describes a closed loop system, rather than a specific type of motor. There are a number of automotive actuators that have encoder feedback and use digital (stepper) control. Cruise control comes to mind, and is designed exactly for this type of application. Generators and air compressors also use this type of system.

    Jim Dawson
    Sandy, Oregon, USA


  9. #9
    Registered
    Join Date
    Dec 2006
    Location
    USA
    Posts
    79
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    Yes, you've hit it exactly - this is essentially a very sensitive cruise control (for a boat), to be used over a fairly narrow range of throttle movement. While the full range of linear motion is about 50mm - spanning a range of approx 1200 RPM on the engine, the actual actively-managed range is much smaller - I can typically keep the managed RPM within +/-20 RPM of a given RPM setpoint, with the throttle moving within a range of just a few mm to do so. The RPM setpoint can be chosen within that 1200 RPM range, but once engaged, the actual throttle arm movement is typically on the order of just a few mm max, and the response needs to be very quick, in response to the quickly-varying loads placed on the boat by a slalom skier pulling the boat around from behind. Larger moves are made when the RPM starts to drop off more dramatically - such as when turning the boat around 180 deg at speed (lots of water drag, requiring a larger dose of throttle, then it backs off a fair distance again once the high-drag turn is done and the RPM is high) - but in general, the movement is only a few mm total to maintain the setpoint under the varying load of a skier loading up hard while cutting across the wake. They make commercial units like this for 'big boy' inboard tournament-style ski boats, but not for little podunk outboards like mine (they won't even sell you one, and the tuning would be all wrong, even if they would) - thus the DIY job. I've been running on my DIY stepper-based system for 2+ years now, and its worked well, but I'm heading into 'Phase 2', and trying to make some changes and improvements. One thing I've discovered is that I was missing steps, but was unaware of it (but it would manifest itself by eventually reaching the logical ends of the stepper range, as missed step errors accumulated over time on particularly long runs - I just thought I had a software bug.)

    For the sake of possible entertainment, this is the container for the CPU, stepper driver and voltage converter, as well as a shot of the head unit splash screen. :-)

    https://www.cnczone.com/forums/attac...d=399420&stc=1 https://www.cnczone.com/forums/attac...d=399424&stc=1

    For the sake of context, this is the stepper arrangement - courtesy of CamBam and my Taig CNC mill (There is some CNC connection here... :-). The idler arm is there to suck in slack cable, induced if the driver suddenly manually cuts the throttle - which happens faster than the stepper can wind it in, especially given that the PID controller is patiently accumulating integral error from the massive RPM drop, while derivatively being discouraged from taking rash action. :-) (I've got the PID tuned to worry about managing much smaller RPM changes, so it doesn't make huge movements quickly.) But, too much slack, and the cable can unwind from the spindle and come off the end, possibly get snagged on stuff, etc - the idler arm is strong enough to immediately take up the sudden slack cable, but weak enough to stay out of the way when the cable is under normal operating tension. (I describe this, just in case there is any question of the effect of the idler arm on things - its a non-entity during normal operation...) FWIW, the cable is hooked up to the throttle arm in such a way that the system can make movements around the point where the driver physically has the throttle set, but the driver ultimately has mechanical override, and can reduce or completely cut the throttle at will. (Though you have to reduce it below the controllable throttle range, or the controller will dutifully keep sucking in cable to increase the throttle, as you manually reduce the throttle - once the RPM has dropped below the manageable range, the controller reverts to manual mode, and sucks in any slack cable entirely, so the driver has full throttle authority available.)


    https://www.cnczone.com/forums/attac...d=399430&stc=1

    Attached Thumbnails Attached Thumbnails Motor won't move in single microsteps - problem, or normal?-hcu_side-jpg   Motor won't move in single microsteps - problem, or normal?-hcu_splash-jpg   Motor won't move in single microsteps - problem, or normal?-hcunewsteppermount-jpg  
    Last edited by jim_stoll; 08-08-2018 at 02:42 PM.


  10. #10
    Community Moderator Jim Dawson's Avatar
    Join Date
    Dec 2013
    Posts
    5717
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    Very cool ! I'm very familiar with what you are trying to do. The difference is that I was running a 375 hp 350 Chevy in mine.

    I did some quick research and there is a linear cruise control actuator the seems to be a stepper, not sure what vehicle it was from. I did a Google search for ''cruise control actuator'' and looked at the images. I'm pretty sure there are quite a few automotive throttle systems that are fly-by-wire also.

    It sounds like you have the controls end of things well under control, so it's just a matter of finding some kind of actuator that has the characteristics that are required for the application. Since you are operating against a spring that will require more torque as it is put under more tension, torque control might be a good option. I'd have to think about that one a bit.

    Jim Dawson
    Sandy, Oregon, USA


  11. #11
    Member
    Join Date
    Jan 2005
    Location
    USA
    Posts
    1943
    Downloads
    2
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    If you don't need that much travel then would something like an RC servo work? They can easily be controlled by an MCU, are fast, accurate, and can be obtained in large sizes that would have plenty of torque. Just thinking out loud.



  12. #12
    Registered
    Join Date
    Dec 2006
    Location
    USA
    Posts
    79
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    Yes, I'd looked into cruise control actuators early-on, but none of them allowed the manual override capability - they all seemed designed to take over throttle completely, and to allow adding *more* throttle manually, but the only way to decrease throttle manually was to press buttons on the controller to reduce the setpoint, or to disengage entirely by hitting 'Cancel' or the brake pedal (no brake pedal on a boat :-). I wanted the natural reaction (yanking back on the throttle lever) to be the ultimate arbiter of control. (Additionally, you can pull back on the throttle to slow the boat for maneuvering purposes - as long as you don't go below a particular RPM threshold - then just firewall it again after the maneuvering, and have it pick back up at the RPM setpoint it was holding before the throttle was manually reduced. The mechanics on this are very similar to the approach used by a commercial system for the big-boy boats. (Sounds like you were one of the big boys! :-) My little cruiser is primarily a family/tubing boat, but my skiing partners and I are all lightweights (under 140 lbs), so between a 4-blade prop, trim tabs, and this DIY throttle control unit, the little boat does astoundingly well as a recreational ski boat. (Also, as a small boat, it has a ridiculously flat wake! :-)

    I appreciate your tip, though, and I'll look again into automobile cruise control actuators - maybe the landscape has changed since I embarked on this project several years back. I'll also look more into the constant-tension approach you've mentioned. (In addition to the regular throttle return mechanism, I've added a heavier spring, to ensure that a tiny release of cable translates into an immediate reduction in throttle, so as you note, the closer to the max end of the throttle range it gets, the greater the pull against the cable by the extra-strong throttle return spring I've added.)

    I'm reasonably convinced that I can make this work acceptably with a stepper, but the occasional skipped steps and resonance issues make it less stable and reliable than I'd like it to be. (I have high hopes for the 48v stepper supply - if that doesn't fix the problem, I'm going to have to do a serious re-think...)

    Thanks Again for the great input and ideas!



  13. #13
    Registered
    Join Date
    Dec 2006
    Location
    USA
    Posts
    79
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    @109jb - you're right - a large RC servo could potentially work. I've been a little reluctant to go down that path, as the output shafts on even the large servos are surprisingly small, so I worry a bit about strength and stability. In order to work with the cable arrangement, I'd need to add a spool/spindle to it, and given the small/short output shaft, I suspect I'd need to add a bearing and support above the spool/spindle to adequately support side loading on that small output shaft joint - its just seemed like more trouble than I wanted to get into, but if the stepper approach continues to be problematic, I'm going to have to broaden my horizons, and a big RC servo will definitely be near the top on the list of options. (The good news is, something like the Hitec HS-5765MH can be had for under $100 - that is a beast of a servo, and should definitely have the needed strength - just a question of mating it up to the cable in a strong enough manner.)



  14. #14
    Registered
    Join Date
    Dec 2006
    Location
    USA
    Posts
    79
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    Sigh... Its with much deflation and disappointment that I report that while the stepper is definitely running better/stronger on 48v, I still can't get it to work in full-step mode, and its still missing occasional steps when making full-step moves in 1/2 step mode. (I also found the same thing in 1/4 step mode.) It will make full steps in 1/2 step mode, by moving 2 steps at a time. (And via 4 steps in 1/4 step mode.) At this point, I'd be happy to just have a reliable full-step - if I have to do that via 2 half-step moves, I'm Ok w/ that. There is still also a very narrow range of speeds that it will move reliably in 1/2 step mode.

    The missing steps, ironically, seem to be occurring mostly when I'm letting cable out (ie less load on the stepper), than when pulling cable in (more load on the stepper). I need to perhaps try experimenting with different speeds for pulling cable vs releasing cable, I dunno. The missing steps also seem to be associated with changing direction a bunch of times. (So, if I home it, move it out a bit, jog it back and forth a bit, then return to what should be the step zero position, and its either not quite all the way there, or it has bottomed out a few steps before reaching the home position.)

    I'm thinking the giant-honking RC servo might be the next logical step. I just can't help but feel that I must be doing something wrong w/ the stepper - steppers are used all the time w/o these problems. I don't know if its my driver, my wiring, the stepper, itself. (I have another stepper I will pull from something tomorrow, and try it out, just to be sure these problems are not specific to the motor I'm using.)

    Much confusion and dejection here...



  15. #15
    Member
    Join Date
    Apr 2007
    Location
    USA
    Posts
    1955
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    It seems like step one is to get the motor and driver to reliably make full steps. It might take gearing to hit the resolution you are after. (which frankly I don't like but it appears to be reality)

    I am sure that you are tired of throwing money at it, but perhaps try a gecko stepper motor driver and a bigger motor?

    Gekco doesn't sell it any more, but at one time they offered a size 34 motor with something like 1200 oz-in. For fun I tried to hold the shaft still when it was turning about 5 - 10 rpm - not a chance. It does what it wants to do.

    It just occurred to me that some drivers apply full current to "hold" the position of a motor and some drivers reduce the current to prevent over heating. The assumptions are:
    - in a cnc, the threaded drive shaft is providing most of the holding torque to be stationary
    - if the cutting head is stationary, it doesn't need as much power as when moving and cutting
    - sometimes a fan is attached to the shaft to provide cooling, and if the motor is "idled" it will over heat under full current.

    It looks like a fun project - don't give up.



  16. #16
    Member
    Join Date
    Apr 2007
    Location
    USA
    Posts
    1955
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    I looked at some of your older posts and see that you have a gecko 540 setup with 48 volts on your mill. Maybe you can temporarily try to run the test using your already proven setup and see if that helps any.



  17. #17
    Member hanermo's Avatar
    Join Date
    Aug 2004
    Location
    barcelona
    Posts
    780
    Downloads
    0
    Uploads
    0

    Default Re: Motor won't move in single microsteps - problem, or normal?

    Use a mechanical gear like a worm drive.
    Or a real AC brushless servo around 100W or so. Vastly better.

    Steppers will position fine to 1/4 step with good drives. No load or low load.
    But as load increases steppers lag on microsteps, and lag more on more microsteps.
    At 1/10 step steppers have iirc about 1/10 of max torque.
    Mariss / geckodrives wrote about this.

    I suspect;
    your motion-control train has 3 errors, each of various size.
    - Hysteresis
    The minimum movement is not controlled and jumps around erratically.
    -Sticktion
    The minimum movement has a major component of stick-slide vs the desired movement
    -Uniformity
    The required torque or force probably varies quite a lot.
    Pulleys and wires often indicate this

    Stretch/compliance leading to jumps is likely. Cables and pulleys.

    It is quite hard to make a stable, steady, accurate, high-resolution motion-control system using anything other than industrial components - like linear rails and ballscrews and timing belts and ac bearings.
    It is extremely hard to do so without industrial tooling and experience in a suitable field like cnc, astronomy, metrology, etc.
    It is very extremely hard to make a cheap motion control system, small, from non-industrial components - unless you are a cnc/automation specialist // similar.



Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Motor won't move in single microsteps - problem, or normal?

Motor won't move in single microsteps - problem, or normal?