Author Topic: Stepper motor cannot start at full speed?  (Read 17658 times)

0 Members and 1 Guest are viewing this topic.

Offline dzarrenTopic starter

  • Contributor
  • Posts: 31
  • Country: ca
Stepper motor cannot start at full speed?
« on: March 10, 2021, 04:41:44 am »
I'm running a 17HS4401S motor with an A4988 motor driver. It's based pretty much on this circuit here, but I've got a dpdt switches that pull the direction pin high and low to be able to control the direction of the motor. its maybe 5-200 rpm or so is my rmp range.

All is well, and im also using the same swtich to pull the enable pin low and high to disable the motor while the switch is in the middle position, since it would leave the direction pin floating otherwise. Does this have anything to do with my problem?

My problem is that i cannot get the motor to start when my pots are set such that the motor is at max rpm. If i switch the motor on at middle range, it starts no problem, and i can crank the pots and bring the motor up to full speed no problem.

but if i leave the pots cranked to the max rpm value (lowest resistance), and then throw the switch, the motor will not start, it just buzzes and cannot get going. and never will settle and start going, it just buzzes, clearly recieving steps, but it does not turn in either direction.

I have to turn the pots down to a mid or low range, and then bring it back up to full speed if i want it at full speed.
I'll almost always be using it in a low to moderate range, but there are times i will want to jog the motor at full speed.

What might my problem be?

I read this article, saying it was likely a problem with the current limit set on the motor coils, and if i adjust the V ref with the pot on the A4988 board, it would solve this. I found the current sense resistor, it is 0.1ohms, which with the calculation (V_ref = I_max x 8 x R_sense) give me a V_ref of about 1 volt. (using 0.8 x 1.7A, which is the max current of my motor, 80 percent seemed like an alright percentage of the max current)
The V_ref started at 0.6 V, the formula calls for 1.08V I set it to about that.
But setting this voltage higher seemed to make things even worse, i have to start it at an even lower speed, and the motor has problems starting even at a moderate fast ish speed.
I turned it back down to about 0.7V and it seems to work a bit better, but it won't start at high ish speeds.

Please do let me know if you have any suggesttions for me.
I'll include at the end an actual picture of my circuit, I dont have a schematic drawn up at the moment. I know its hard to see whats going on but perhaps can give some idea.





So in this circuit, Ive got 12V power in, the LED swtich cuts the power to the entire circuit.
Theres a 5V regulator for my logic 5V. Ive got decoupling caps on the regulator from 12 to ground and 5 to ground. I've got a big 2200uF electrolytic across the main 12V rails.
And i have a 555 that gives me my steps, i scoped it, it gives about 75% or so duty cycle, seems kind of high, i was expecting maybe 50% or so. Ive got some decoupling caps on the 555 as well. I know the heat sink on the regulator is huge.

Thank you!
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 12383
  • Country: us
    • Personal site
Re: Stepper motor cannot start at full speed?
« Reply #1 on: March 10, 2021, 04:54:23 am »
Motor is a mechanical device with inertia, it can't just start at full speed. That's why real controllers have ramp up and ramp down. Stopping instantly is also not great for the motors.

This gets even worse if you actually attach something useful to the motor to drive.
Alex
 

Offline Dmeads

  • Regular Contributor
  • *
  • Posts: 172
  • Country: us
  • who needs deep learning when you have 555 timers
Re: Stepper motor cannot start at full speed?
« Reply #2 on: March 10, 2021, 05:11:37 am »
The only thing that I can think of is that your 12V supply is limiting the current. If you take a motor that is not in motion, and try to immediately make is spin super fast, it will take a lot of current. Sometimes 3-4 times the current rating of the motor. If that current cannot be delivered by the source (if it is being limited) then the motor just wont start.

Additionally, turning up the reference voltage would not help because of ohms law, if you have a set load resistance (motor coil), and you increase the voltage applied, by V=IR the current has to also increase. So it explains why the performance is now worse, because even at medium speeds the motor is drawing too much current from the supply.

That is what I am thinking and could be wrong. It looks like a fun project and I hope it works out!

-Dom
 

Offline sleemanj

  • Super Contributor
  • ***
  • Posts: 3126
  • Country: nz
  • Professional tightwad.
    • The electronics hobby components I sell.
Re: Stepper motor cannot start at full speed?
« Reply #3 on: March 10, 2021, 05:26:37 am »
It's like a learner driver bunny hopping a car, you can't just dump the clutch and expect to take off - you have to ease into it.




~~~
EEVBlog Members - get yourself 10% discount off all my electronic components for sale just use the Buy Direct links and use Coupon Code "eevblog" during checkout.  Shipping from New Zealand, international orders welcome :-)
 

Offline phil from seattle

  • Super Contributor
  • ***
  • Posts: 1178
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #4 on: March 10, 2021, 05:31:52 am »
Acceleration.  All CNC machines that use stepper motors have that as a parameter.  Start slow and ramp up. I'd build it into your code as parameter that you can tune to get the best performance. Something like Steps/Sec^2 up an up to an upper limit.
« Last Edit: March 10, 2021, 05:41:27 pm by phil from seattle »
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 5194
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #5 on: March 10, 2021, 02:33:32 pm »
Stepper motors behave differently than other motors, they take discrete "steps" when the motor coils are activated. The step is related to the cogs positions on the rotor/stator, steppers are rated as to how many steps per rotation. Your A4988 controller is designed for steppers with 2 coils, sine and cosine, with the relative leading or lagging coil current defining the direction, and the magnitude creating the torque. At start the motor must make a step to the next cog position, then make another step to the next cog and so on for continuous rotation. As mentioned the inertia of the rotor and load must be overcome or the motor will slip a cog and not rotate, and continue to do so until the time between step commands is long enough to allow the motor to make the step. Once the motor is rotating the step rate can be increased as the motor/load inertia is overcome. Your controller also allows the coil current to flow during static use, this increases the "holding torque" of the motor. This current is created by a modulating technique where the coil current is increased then allowed to discharge into the supply and repeats at a brisk rate. What this does is allow a higher coil current but not requiring all the current from the supply, thus improving efficiency. When rotating this technique is used to approximate sine and cosine current waveforms. The motor dissipates power as I^2R, not I*Vsupply, where R is the motor resistance, and I is the coil current. Some modern controllers allow setting the holding current and running current separately. If you look at the coil voltage you will see a complex switching waveform from ground to the supply rail, however if the look at the coil current you will see the mentioned sine and cosine waveforms.

About 20 years ago we developed advanced imaging techniques to take pictures of the chips we designed, this became an obsession in better images, and higher resolution. This involved use for stepper motors that move the camera/lens in precise small increments. We evolved thru many types of controllers including the A4988, eventually ending with the Trinamic type controllers a few years ago. These controllers are very complex and allow profiling the motor/load characteristics and the movement profiles which allow very smooth operation and ultra-precison operation of our camera/lens to sub-micron positions. Many years of development have led to producing chip images nearing giga-pixel resolution as a result of these custom controllers which operate with a Raspberry Pi and the custom lenses utilized. When sub-micron positioning became a barrier, which was the practical limit for stepper based control, we began developing piezo-electric controllers which allow tens of nanometer positioning.

Anyway, hopes this helps and if you want more information on these controllers and the Hall Effect current sensor we developed for monitoring the stepper coil currents which helped develop the many motor/positioning/velocity profiling parameters I'll try and find this.

Best, 
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline CaptDon

  • Super Contributor
  • ***
  • Posts: 2498
  • Country: is
Re: Stepper motor cannot start at full speed?
« Reply #6 on: March 10, 2021, 03:59:19 pm »
Obviously you don't know anything about stepper motors!!! Of course they can't start at high operating step rates. Before the armature even has a chance to move to the first step you are telling the phases to go somewhere else so the motor just sits there and buzzes. When you plug in a 1/2 horsepower air compressor motor does it start at 1725 RPM? No, it ramps up. Just listen to all the 'robotic' sound effects in movies, you hear the arm motion steppers ramp up and back down, one of the very common sounds in sci-fi movies. Guess what, your stepper won't stop instantly at high speed either. This is why I hire engineers who show me common sense and not engineers who show me degrees.

Collector and repairer of vintage and not so vintage electronic gadgets and test equipment. What's the difference between a pizza and a musician? A pizza can feed a family of four!! Classically trained guitarist. Sound engineer.
 

Offline KrudyZ

  • Frequent Contributor
  • **
  • Posts: 323
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #7 on: March 10, 2021, 04:11:14 pm »
Obviously you don't know anything about stepper motors!!! Of course they can't start at high operating step rates. Before the armature even has a chance to move to the first step you are telling the phases to go somewhere else so the motor just sits there and buzzes. When you plug in a 1/2 horsepower air compressor motor does it start at 1725 RPM? No, it ramps up. Just listen to all the 'robotic' sound effects in movies, you hear the arm motion steppers ramp up and back down, one of the very common sounds in sci-fi movies. Guess what, your stepper won't stop instantly at high speed either. This is why I hire engineers who show me common sense and not engineers who show me degrees.

Did you ever consider the possibility that people are asking questions BECAUSE they don't know something?
 
The following users thanked this post: thm_w, dzarren, phil from seattle

Offline dzarrenTopic starter

  • Contributor
  • Posts: 31
  • Country: ca
Re: Stepper motor cannot start at full speed?
« Reply #8 on: March 10, 2021, 08:06:51 pm »
Thanks to everyone except Captain Prick here!

If you don't want to help, then just don't? I guess if it makes you happier to vent your accumulated daily rage through your keyboard, by all means, just don't have an aneurysm by accident. Obviously! :-+



I was making this project out of all discrete components, I didn't really want to dedicate one of my arduinos to this one(I only have a few, and they are being used), because it'll all be boxed up and enclosed behind a machine later. I'll be sure to manually ramp up the step speed with the pot, and this project will work out fine. Like I mentioned, in actual operation, the motor will only need to be run at fairly low to moderate speeds, so it's no problem. If it turns out i really would like access to quick speeds semi-instantaneously, ill write some accelration code and dedicate an arduino nano to it or something.

Thanks, almost everyone!


mawyatt, I'd be very interested in learning more about how you are achieving such high resolution, I made a Human stem cell incubator with a transparent base, that runs a microscope camera on a 3D gantry below, which is just a converted small CNC milling machine. What is the mechanical drive for your sub-micron axes, i am assuming some kind of lead or ball screw? thanks!
 

Offline Benta

  • Super Contributor
  • ***
  • Posts: 6924
  • Country: de
Re: Stepper motor cannot start at full speed?
« Reply #9 on: March 10, 2021, 08:17:35 pm »
If you want more in-depth info, go to the ON Semiconductor website.

ON took over AMI around 10 years back, and AMI were absolute experts on stepper motor controllers:
https://www.onsemi.com/products/power-management/motor-drivers

Lots of interesting stuff there, also on resonance phenomenons in the motors themselves. Check the tutorials, app notes and white papers.

Cheers.


« Last Edit: March 11, 2021, 01:58:43 am by Benta »
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 5194
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #10 on: March 10, 2021, 08:33:49 pm »
Obviously you don't know anything about stepper motors!!! Of course they can't start at high operating step rates. Before the armature even has a chance to move to the first step you are telling the phases to go somewhere else so the motor just sits there and buzzes. When you plug in a 1/2 horsepower air compressor motor does it start at 1725 RPM? No, it ramps up. Just listen to all the 'robotic' sound effects in movies, you hear the arm motion steppers ramp up and back down, one of the very common sounds in sci-fi movies. Guess what, your stepper won't stop instantly at high speed either. This is why I hire engineers who show me common sense and not engineers who show me degrees.

Obviously you know very little about stepper motors as well, since stepper motors do not have moving armatures, they have PM rotors, the effective armature is the stator, thus fixed. Might consider knowing what you are actually talking about before you lecture someone claiming they don't know anything, when that person is just asking for help.

Don't worry we wouldn't consider hiring you either since a license doesn't convey any deep technical knowledge, and we needed folks that actually knew what they were talking about, else how could they be effective design engineers ;)

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 5194
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #11 on: March 10, 2021, 08:49:52 pm »

mawyatt, I'd be very interested in learning more about how you are achieving such high resolution, I made a Human stem cell incubator with a transparent base, that runs a microscope camera on a 3D gantry below, which is just a converted small CNC milling machine. What is the mechanical drive for your sub-micron axes, i am assuming some kind of lead or ball screw? thanks!

We utilized a precision THK linear rail with a 1mm pitch lead screw, this was driven by a NEMA 17 400 step (0.9 degree) motor which was connected to a Trinamic controller/driver which can produce up to 256 micro steps. With a 400 step motor and a 1mm pitch screw thread this produces 1mm/400, or 2.5um increments per motor step. These 2.5um steps then get subdivided into a possible 2.5um/256 micro steps. Of course the linear rail can't revolve this small an increment and the practical limit is 8 to 16 micro steps for a resolution of 2.5um/8 or 2.5um/16 best practical case. So sub-micron linear position capability is possible if designed very carefully. The THK rails have superb performance and utilize a unique "rolling bearing" for the linear screw "nut" which has no measurable backlash and high repeatability. I can provide some images of these setup as such if you want, but not connected to my files at the moment.

Best,   
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 
The following users thanked this post: mycroft

Offline dzarrenTopic starter

  • Contributor
  • Posts: 31
  • Country: ca
Re: Stepper motor cannot start at full speed?
« Reply #12 on: March 10, 2021, 09:48:46 pm »

We utilized a precision THK linear rail with a 1mm pitch lead screw, this was driven by a NEMA 17 400 step (0.9 degree) motor which was connected to a Trinamic controller/driver which can produce up to 256 micro steps. With a 400 step motor and a 1mm pitch screw thread this produces 1mm/400, or 2.5um increments per motor step. These 2.5um steps then get subdivided into a possible 2.5um/256 micro steps. Of course the linear rail can't revolve this small an increment and the practical limit is 8 to 16 micro steps for a resolution of 2.5um/8 or 2.5um/16 best practical case. So sub-micron linear position capability is possible if designed very carefully. The THK rails have superb performance and utilize a unique "rolling bearing" for the linear screw "nut" which has no measurable backlash and high repeatability. I can provide some images of these setup as such if you want, but not connected to my files at the moment.

Best,

Thanks for the information! Is there any particular reason you went with the 1mm pitch lead screw? Unrelated, but the stepper I'm asking about here is driving a 1mm pitch lead screw as well, its the feed mechanism on an oh so tiny lathe. I'll be running it quite slow, in the 50 rpm range or so, but I'd like to rapid it, for instance, after i finish a (very light) cut, and want to bring the carriage back to the tailstock side quickly and reset the cut.

Did you go with the 1mm lead screw because the math/increments works out real nice that way?
The linear rails wouldn't be able to resolve steps this small, but I've seem screws up to 400 TPI, with 100 TPI being pretty common, couldn't you get absolutley insane linear step sizes that way? But there wouldn't be a good way to know where you actually were with the linear scale, but you could just calculate position based on the number of steps/stepper position?

Thanks again.
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 5194
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #13 on: March 10, 2021, 10:31:42 pm »

Thanks for the information! Is there any particular reason you went with the 1mm pitch lead screw? Unrelated, but the stepper I'm asking about here is driving a 1mm pitch lead screw as well, its the feed mechanism on an oh so tiny lathe. I'll be running it quite slow, in the 50 rpm range or so, but I'd like to rapid it, for instance, after i finish a (very light) cut, and want to bring the carriage back to the tailstock side quickly and reset the cut.

Did you go with the 1mm lead screw because the math/increments works out real nice that way?
The linear rails wouldn't be able to resolve steps this small, but I've seem screws up to 400 TPI, with 100 TPI being pretty common, couldn't you get absolutley insane linear step sizes that way? But there wouldn't be a good way to know where you actually were with the linear scale, but you could just calculate position based on the number of steps/stepper position?

Thanks again.

We picked the finest pitch THK offered in the KR20 line of linear rails, these have a full range of ~100mm which is what we ~ required. The lead screw linearity is very important, what this means is how well the linear movement follows are perfect straight line, or how much it deviates from this line, the THK are very good. This was important to our application, having finer pitch but poor linearity would provide no benefit. Use a 400 step motor provides cog positions that are machined in the rotor and stator, and we felt this was a better approach than completely relying more on micro stepping to create the finer resolution. Micro stepping positions the rotor in-between the magnetic cogs positions which are aligned with the mechanical machined cogs, by manipulating the sine and cosine current waveforms. This effect doesn't generally maintain the same torque as a full step and thus is more influenced by the load, so we decided to use the 400 step motors which reduced the requirements for micro stepping. BTW there's a report on Hack-A-Day I believe which shows the effects of load induced errors on micro stepping, the TI controller has horrible non-linearity. Also was informed by a Pololu engineer that the Toshiba controllers have a dead zone near the coil current zero crossing which creates a small "jerk/glitch" in motor rotational response.

These and many other reasons are why we decided on the Trinamic controller/driver chips. These are very complicated chips to get working but reward with outstanding performance once you get the various parameters homed in. These also take care of the relative position of the motor shaft which helps you know where you are at all times, and they provide extremely good velocity and position control while allowing the fastest possible motor speed. Highly recommended for your application, but prepare to spend considerable time effort getting to know how to use them effectively. I'll help as much as possible, but these are still an undertaking to get operational, and we found that Trinamic CS wasn't much help (not a large volume OEM).

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9582
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Stepper motor cannot start at full speed?
« Reply #14 on: March 11, 2021, 02:03:10 am »
All the Trinamic ASICs do is drive the stepper motors as the high pole count BLDC motors they really are.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 5194
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #15 on: March 11, 2021, 03:55:51 am »
Actually they are quite sophisticated controllers and allow a high degree of manipulation of the actual motor coil current waveforms, timing, current sensing, and have the ability to dynamically compensate for load changes , supply voltage variations and motor characteristics. With the position and velocity profiles, and motor profiles, you can create a very high performing system based around these controllers. We even developed Hall Effect current sensors to monitor the motor dynamic and static current waveforms which allowed optimization of the control algorithm parameters, but we were after extreme precision and resolution and likely not the cup of tea for most usages.

Here's some images of these Trinamic controllers based upon the TMC5130, TMC5160 & TMC5072.

If you want more detailed information on how these perform, including some videos of the performance do a search using Trinamic over at

https://www.photomacrography.net/index.htm

You'll find loads of information, you can also include my user name (mawyatt) in the search to see what we've done. When setup and configured properly (read not easy tho) these are the best performing stepper motor controllers we've encountered wrt to position control, peak velocity, smooth movement, noise levels (very quite), motor/controller efficiency, and so on. In fact we did a video of rotating a floating in water object to show how smooth the setup is, this was to show the folks that need to image objects at high magnifications suspended in water but can't perturb the specimen when rotating. In another video we did a chip image of a tiny feature at 800X  while moving away and back very quickly. Here's a few links.

https://drive.google.com/file/d/1P-95Ic2P9tuIHU2EgoVpmc5Y9WFqGWoe/view?usp=sharing

https://drive.google.com/file/d/1Ld40wU80KtxJoZsmEUSpN_mol4mkPIoH/view?usp=sharing

https://drive.google.com/file/d/1Yo-Xv3YAVJg9Q2h2rJjfAqwjgFGvINr-/view?usp=sharing

https://drive.google.com/file/d/19wE-B-dMesEXNtEZ552h_VnpWOjA0n0B/view?usp=sharing

Best,

Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 
The following users thanked this post: thm_w

Offline phil from seattle

  • Super Contributor
  • ***
  • Posts: 1178
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #16 on: March 11, 2021, 06:07:49 am »
I was making this project out of all discrete components, I didn't really want to dedicate one of my arduinos to this one(I only have a few, and they are being used), because it'll all be boxed up and enclosed behind a machine later. I'll be sure to manually ramp up the step speed with the pot, and this project will work out fine. Like I mentioned, in actual operation, the motor will only need to be run at fairly low to moderate speeds, so it's no problem. If it turns out i really would like access to quick speeds semi-instantaneously, ill write some accelration code and dedicate an arduino nano to it or something.

Thanks, almost everyone!

Lots of ways to skin that catse but I can't imagine doing it without an MCU of some sort.  A $1 ATTiny could drive the stepper controller no problem.  An RPi Pico could also do it - $3. The big advantage advantage of a Micro with a TMC driver is that you can program the driver in a number of ways and you can get missed step notification as well.
 

Offline Hellmut1956

  • Contributor
  • Posts: 10
  • Country: de
Re: Stepper motor cannot start at full speed?
« Reply #17 on: March 11, 2021, 09:53:28 am »
@dzarren: Bipolar stepper motors are my specialty. If I did see it right on your photo you are using a SimentStepSticks with the A4988. You are not referring to the information about setting up the A4988. I am not familiar with that A4988, but I guess it requires to be set up properly. I am familiar with the SilentStepSticks using a Trinamic stepper motor driver were SilentStepSticksTMC2208 or TMC2209 or TMC5160. People in the 3D printer communities choose to replace the driver using the A4988 because it is so loud. I am planning to upgrade my Creality Ender 5 Plus 3D printer using a SilentStepStickTMC5161.

I do begin by inserting a paragraph of the Trinamic FAQ about motors:

Begin:

Why do I need to use a stepper motor supply voltage higher than the rated phase voltage?


Stepper motors have a rated phase voltage and rated phase current. A typical stepper motor might have a rated voltage of 2.5 Volts and a maximum current of 2.8 Amps, for example. This basically means if you hook it up to 2.5 Volts it will draw 2.8 Amps. If you try to run it at a higher voltage it will draw more current and get excessively hot.


But stepper motors are usually not hooked up straight to a voltage source. Instead, a stepper driver circuit is used that regulates the current.


If you hook it up to 24V, for example, the motor would try to draw more current, but the stepper motor driver will not allow that to happen. That's because driver circuit uses its high frequency PWM and comparator algorithm to limit the average current to the desired maximum value. This is typically configurable in the one way or the other.


Stepper motors are designed to work this way and it is safe to run the motors at up to 20 times the rated voltage. You will actually get much better performance (max speed and dynamic behavior) by running at a higher voltage than the rated voltage.

End

https://www.trinamic.com/support/faq/#collapse-79

Here is a place where you can learn a lot about stepper motors as the functionality presented there takes advantage of the parameters that influence stepper motor operation to implement the functionality of Trinamic stepper motor drivers. You can find extensive examples of those functionalities going to the Trinamic channel on YouTube. But let me start just giving you a short story about stepper motors from the user perspective:

1. The torque a specific stepper motor can deliver is solely related to the amount of current flowing through its coils.
2. A stepper motor should deliver on the plate of the motor information about the nominal voltage and current of that motor and its holding torque.
3. The criteria that are key in selecting a good stepper motor is the value of its nominal voltage. If you have 2 stepper motors that have the same holding torque, select the one that has the lowest nominal voltage. As the paragraph above taken from the FAQ from Trinamic states, it is good practice to apply a voltage of up to 20x the nominal voltage!
4. A stepper motor has its torque maximum while it is holding its position. Why?

Veffective = Vapplied + (-Vinduced)

The stepper motor offers the highest value of torque when it is holding its position because then the induced voltage = "0". If you enter the value of "0" for "-voltage induced", Veffective = Vapplied.

When the voltage value of a voltage applied to a coil changes, this creates an induced voltage of inverse polarity to the applied voltage. The higher the change of the applied voltage is and the higher the frequency is that change of the value of the applied voltage is the higher the absolute value of the induced voltage is. This is why holding its position the stepper motor has no induced voltage and so the applied voltage = the effective voltage.

Stepper motor driver ICs, and remember I am exclusively talking about bipolar stepper motors, use a PWM where while the PWM cycle is active the current flows to the stepper motor and when it has a low value, the complement to the active duty cycle to 100% no current flows. So changing the length of the duty cycle of its PWM the stepper motor driver will allow a different amount of current flowing.

So when the applied voltage is identical to the effective voltage is the nominal voltage, the nominal current will flow. In this case, the duty cycle of the PWM will be 100%. So applying a higher voltage than the nominal voltage of the stepper, the length of the duty cycle of the PWM from the stepper motor driver will be below 100% to limit the amount of current flowing to be the nominal current value. But as you can see from the above equation, the stepper con increases the frequency of its steps and so increasing the value of the induced voltage the effective voltage will remain to be the nominal value or be greater and the nominal value of the current will remain its nominal value.

The Trinamic stepper motor drivers "play" with this game of parameters to realize its different functions.

When I started experimenting with stepper motors I did use a stepper motor driver board based on the ICs L297/L298. The stepper motor I did use had a nominal voltage value of 3.6 VDC and a nominal current value of 2.8 A. The voltage I did apply was 12 VDC and 24 VDC. I never got the stepper motor to do a single full step or a micro-step, the maximum number of micro-steps that Ics offered was 4.

On a trade show in Munich Trinamic gave me a stepper motor control board called stepRocker. Here I found out that my stepper motor only was able to do a micro-step when I set the number of micro-steps per full step to 16. So evidently it was impossible that my stepper motor could do any step!

https://youtu.be/nopezWBlDL0

Here is the link to a video I did record and upload to my YouTube channel "Hellmut Kohlsdorf" where I did try to find out how fast my stepper motor could do its steps and what the values for voltage and current were while increasing the frequency of its steps. The experiment was done with no load, I did not expect the stepper motor could make such a frequency of steps. I did set the parameters in the IDE from Trinamic, which is for free so that the stability of its internal electronics and mechanical behavior did not make the stepper motor fail. Just seeing what parameters you set in the Trinamic IDE, you learn a lot about stepper motors.
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 5194
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #18 on: March 11, 2021, 01:08:43 pm »
I was making this project out of all discrete components, I didn't really want to dedicate one of my arduinos to this one(I only have a few, and they are being used), because it'll all be boxed up and enclosed behind a machine later. I'll be sure to manually ramp up the step speed with the pot, and this project will work out fine. Like I mentioned, in actual operation, the motor will only need to be run at fairly low to moderate speeds, so it's no problem. If it turns out i really would like access to quick speeds semi-instantaneously, ill write some accelration code and dedicate an arduino nano to it or something.

Thanks, almost everyone!

Lots of ways to skin that catse but I can't imagine doing it without an MCU of some sort.  A $1 ATTiny could drive the stepper controller no problem.  An RPi Pico could also do it - $3. The big advantage advantage of a Micro with a TMC driver is that you can program the driver in a number of ways and you can get missed step notification as well.

The TMC5130, 5160 & 5072 (dual motor control) we've used have a micro controller integrated with the driver and are interfaced with standard SPI. You can operate them as just a simple Step and Direction control like other controllers, or take full advantage of the built-in sophisticated control algorithms, which are likely better than using your own created or 3rd party control algorithms. The internal micro controller and support electronics allows control over the motor current waveforms, timing, levels, and even use timing spreading to reduce noise levels, and even have Encoder inputs for feedback control.

See data sheet on TMC5130.

https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC5130_datasheet_Rev1.16.pdf

We chose the RPi to communicate with the TMC devices by SPI, others have used the Arduino.

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 5194
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #19 on: March 11, 2021, 01:24:31 pm »

Stepper motor driver ICs, and remember I am exclusively talking about bipolar stepper motors, use a PWM where while the PWM cycle is active the current flows to the stepper motor and when it has a low value, the complement to the active duty cycle to 100% no current flows. So changing the length of the duty cycle of its PWM the stepper motor driver will allow a different amount of current flowing.


The Trinamic we've used (TMC5130, 5160, 5161, & 5072) all work differently than what's stated above. When the motor is active, current is always flowing thru the coil windings from the power supply, then the motor current is returned to the power supply in a high speed cyclic nature. This is accomplished by using an "H Bridge" motor drive configuration and dynamically switching the the coil wires between ground and the supply to allow continuous motor coil current with efficient operation because during part of the timing cycle motor coil current is returned to the supply, thus recharging the decoupling capacitors on the supply. This timing is altered and current magnitude adjusted dynamically with the use of the specialized control algorithms StealthChop, SpreadCycle & CoolStep for example, see TMC data sheet for more details.

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline CaptDon

  • Super Contributor
  • ***
  • Posts: 2498
  • Country: is
Re: Stepper motor cannot start at full speed?
« Reply #20 on: March 11, 2021, 02:24:22 pm »
People have been referring to the rotating part of a motor as the armature for such a long time it has become a recognized term for 'the spinney part'. Let's see, alternators have fields, stators, rotors and armatures depending on who's shop you are standing in. Now let's see, my Prius has permanent magnets embedded in the rotating part of the motor. Is that the armature or rotor. I guess the reality is it is only an armature if it has windings and a commutator? What about a squirrel cage spinney thing like in a locomotive 3 phase traction motor? Is that the rotor, or armature? then what is the field winding? Is that an armature? I guess again it depends in who's shop you are standing in and to some degree what country that shop is in. Why doesn't the stepper start at full speed, I dunno, why doesn't my car pull away from the stop sign at 100mph when I floor it??? After all, it's floored and is capable of 100mph???

Collector and repairer of vintage and not so vintage electronic gadgets and test equipment. What's the difference between a pizza and a musician? A pizza can feed a family of four!! Classically trained guitarist. Sound engineer.
 

Offline Gyro

  • Super Contributor
  • ***
  • Posts: 10769
  • Country: gb
Re: Stepper motor cannot start at full speed?
« Reply #21 on: March 11, 2021, 02:46:04 pm »
Why doesn't the stepper start at full speed, I dunno, why doesn't my car pull away from the stop sign at 100mph when I floor it??? After all, it's floored and is capable of 100mph???


It should be perfectly obvious that the OP was referring to the motor failing to start when his driver was set to full speed rather than expecting the motor to instantly go from 0 to full RPM. If he is used to driving brushed motors, then when he applies full drive, then it spools rapidly up to full speed. He was not familiar with steppers!

Just drop it FFS!  ::)

« Last Edit: March 11, 2021, 03:55:25 pm by Gyro »
Best Regards, Chris
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 5194
  • Country: us
Re: Stepper motor cannot start at full speed?
« Reply #22 on: March 11, 2021, 03:35:23 pm »
One of the interesting properties of the stepper motors is the ability to make precise movements without the benefit of shaft feedback, and they also can maintain a holding position without power if the load doesn't exceed the unpowered holding torque. With much of the needed control and drive electronics fully integrated in the modern "controller chip", the shaft position can be known and reloaded at power up and kept up to date with digital counting techniques all taken care of by the controller/driver chip. Applications where the load can experience disturbances when the motor is not powered, or can cause the motor to jump cogs tho, will require a "homing routine" with an appropriate sensor to produce a known shaft position.

All in all these stepper motors are very useful devices and not expensive to implement reasonably precision movement systems with modern controller/driver chips. These informative discussions have got me interested in getting back to the chip imaging work we were doing with the 4 axis controllers (X,Y,Z,R), but got pushed aside since we hadn't developed any new chips lately.

Electronics is great, monitoring waveforms with our multi-channel DSOs, or measuring voltages/currents/resistances with our 8 1/2 digit DMMs, but seeing stuff move in very precise and repeatable ways is indeed intriguing ;D

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline TheHolyHorse

  • Regular Contributor
  • *
  • Posts: 179
  • Country: se
  • You don't need to be confused, just understand it.
Re: Stepper motor cannot start at full speed?
« Reply #23 on: March 11, 2021, 05:26:55 pm »
People have been referring to the rotating part of a motor as the armature for such a long time it has become a recognized term for 'the spinney part'. Let's see, alternators have fields, stators, rotors and armatures depending on who's shop you are standing in. Now let's see, my Prius has permanent magnets embedded in the rotating part of the motor. Is that the armature or rotor. I guess the reality is it is only an armature if it has windings and a commutator? What about a squirrel cage spinney thing like in a locomotive 3 phase traction motor? Is that the rotor, or armature? then what is the field winding? Is that an armature? I guess again it depends in who's shop you are standing in and to some degree what country that shop is in. Why doesn't the stepper start at full speed, I dunno, why doesn't my car pull away from the stop sign at 100mph when I floor it??? After all, it's floored and is capable of 100mph???

Why try so hard to prove that you actually know something to some random stranger on a forum.

This dude is asking for help so obviously he doesn't have much knowledge about this topic. Just thing about how you express yourself, to avoid situations like this. I'm sure you're intentions are good.
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 4671
  • Country: nl
Re: Stepper motor cannot start at full speed?
« Reply #24 on: March 11, 2021, 10:10:09 pm »
There is nothing special about the Trinamic drivers. Except maybe that they're the first to stop acting like the coils of stepper motors are simple on/off devices or to control them with a few discrete current values. For decent control of BLDC motors, use "FOC" as magic keyword. It means "Field Oriented Control".

Fun experiment: Take one of those fancy el-cheapo function generators with 2 outputs and set them to some sinewave with 90 degree phase shift and connect that to your stepper motor.
Perfectly smooth operation without any noise. You can boost it a bit with some simple audio amplifiers such as the TDA2050. It will have a horrible efficiency of course because of the linear regulation but is a fun experiment to do anyway.

I almost get sick when reading the trinamic datasheets. Lot's of fancy jargon some of their marketing personnel suck out of their thumbs. Don't be fooled by that.
What they do has been known for a long time and normal practice for regulating BLDC motors (and stepper motors are indeed just that).
I do give them some credit though for putting this all into a small SMT IC and selling it for ... (somewhat acceptable?) prices.
For a big part it's just Moore's law. Many more transistors on a smaller piece of silicon and at lower prices each year, and then at some time someone jumps in and puts all this on a chip.

If you want to experiment more, then have a look into projects such as the Ananas stepper and Mechaduino. These Open Source projects use two DC motor drivers and a uC to drive each coil of a 2-phase stepper motor separately. They also stick a magnet on the back of the stepper motor and use a HALL IC to measure rotation of the axle.
BigTreeTech also sells Nema17 motors with similar electronics bolted to the backside of the motor for quite reasonable prices.
« Last Edit: March 11, 2021, 10:16:17 pm by Doctorandus_P »
 
The following users thanked this post: Someone


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf