Stepper motor cannot start at full speed? - Page 1
Forum section: electronics / projects

author: dzarren
author_rank: Contributor
timestamp: March 10, 2021, 04:41:44 am
content: 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!

author: ataradov
author_rank: Super Contributor
timestamp: March 10, 2021, 04:54:23 am
content: 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.

author: Dmeads
author_rank: Regular Contributor
timestamp: March 10, 2021, 05:11:37 am
content: 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

author: sleemanj
author_rank: Super Contributor
timestamp: March 10, 2021, 05:26:37 am
content: 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.

author: phil from seattle
author_rank: Super Contributor
timestamp: March 10, 2021, 05:31:52 am
content: 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^2up anup to an upper limit.

author: mawyatt
author_rank: Super Contributor
timestamp: March 10, 2021, 02:33:32 pm
content: 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,

author: CaptDon
author_rank: Super Contributor
timestamp: March 10, 2021, 03:59:19 pm
content: 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.

author: KrudyZ
author_rank: Frequent Contributor
timestamp: March 10, 2021, 04:11:14 pm
content: Quote from: CaptDon on March 10, 2021, 03:59:19 pmDid you ever consider the possibility that people are asking questions BECAUSE they don't know something?

author: dzarren
author_rank: Contributor
timestamp: March 10, 2021, 08:06:51 pm
content: 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!

author: Benta
author_rank: Super Contributor
timestamp: March 10, 2021, 08:17:35 pm
content: 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-driversLots of interesting stuff there, also on resonance phenomenons in the motors themselves. Check the tutorials, app notes and white papers.Cheers.

author: mawyatt
author_rank: Super Contributor
timestamp: March 10, 2021, 08:33:49 pm
content: Quote from: CaptDon on March 10, 2021, 03:59:19 pmObviously 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 engineersBest,

author: mawyatt
author_rank: Super Contributor
timestamp: March 10, 2021, 08:49:52 pm
content: Quote from: dzarren on March 10, 2021, 08:06:51 pmWe 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,

author: dzarren
author_rank: Contributor
timestamp: March 10, 2021, 09:48:46 pm
content: Quote from: mawyatt on March 10, 2021, 08:49:52 pmThanks 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.

author: mawyatt
author_rank: Super Contributor
timestamp: March 10, 2021, 10:31:42 pm
content: Quote from: dzarren on March 10, 2021, 09:48:46 pmWe 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,

author: NiHaoMike
author_rank: Super Contributor
timestamp: March 11, 2021, 02:03:10 am
content: All the Trinamic ASICs do is drive the stepper motors as the high pole count BLDC motors they really are.

author: mawyatt
author_rank: Super Contributor
timestamp: March 11, 2021, 03:55:51 am
content: 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 athttps://www.photomacrography.net/index.htmYou'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=sharinghttps://drive.google.com/file/d/1Ld40wU80KtxJoZsmEUSpN_mol4mkPIoH/view?usp=sharinghttps://drive.google.com/file/d/1Yo-Xv3YAVJg9Q2h2rJjfAqwjgFGvINr-/view?usp=sharinghttps://drive.google.com/file/d/19wE-B-dMesEXNtEZ552h_VnpWOjA0n0B/view?usp=sharingBest,

author: phil from seattle
author_rank: Super Contributor
timestamp: March 11, 2021, 06:07:49 am
content: Quote from: dzarren on March 10, 2021, 08:06:51 pmLots of ways to skin that catsebut 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.

author: Hellmut1956
author_rank: Contributor
timestamp: March 11, 2021, 09:53:28 am
content: @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.Endhttps://www.trinamic.com/support/faq/#collapse-79Here 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/nopezWBlDL0Here 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.

author: mawyatt
author_rank: Super Contributor
timestamp: March 11, 2021, 01:08:43 pm
content: Quote from: phil from seattle on March 11, 2021, 06:07:49 amThe 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.pdfWe chose the RPi to communicate with the TMC devices by SPI, others have used the Arduino.Best,

author: mawyatt
author_rank: Super Contributor
timestamp: March 11, 2021, 01:24:31 pm
content: Quote from: Hellmut1956 on March 11, 2021, 09:53:28 amThe 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,

author: CaptDon
author_rank: Super Contributor
timestamp: March 11, 2021, 02:24:22 pm
content: 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???

author: Gyro
author_rank: Super Contributor
timestamp: March 11, 2021, 02:46:04 pm
content: Quote from: CaptDon on March 11, 2021, 02:24:22 pmIt 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!

author: mawyatt
author_rank: Super Contributor
timestamp: March 11, 2021, 03:35:23 pm
content: 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 intriguingBest,

author: TheHolyHorse
author_rank: Regular Contributor
timestamp: March 11, 2021, 05:26:55 pm
content: Quote from: CaptDon on March 11, 2021, 02:24:22 pmWhy 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.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: March 11, 2021, 10:10:09 pm
content: 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.

author: mawyatt
author_rank: Super Contributor
timestamp: March 13, 2021, 01:30:34 am
content: First off, the Trinamic are not just a stepper motor driver but a fully integrated micro controller with a H bridge driver. These fully integrated single chip controllers with the mentioned capability, like the noise reduction, velocity, acceleration and position control, dynamic current manipulation and flexible interfaces are readily available and not expensive. These devices don't just switch between ground and the supply in a simplistic manner, but coordinate a switching means to keep the coil current flowing continuously while returning energy to the supply, they can also modify this current profile while the motor is in motion adapting to the load changes. We haven't looked at the latest stepper motor control chips in the past ~4 years, maybe something new has emerged from another supplier, so please provide information??We routinely achieve accurate open loop 2.5 micron full steps when the motor is coupled to a THK KR20 linear rail with 1mm screw pitch, and achieve open loop sub-micron steps utilizing micro-stepping. Regarding BLDC motors and FOC techniques, we never seriously looked at this because the implementation was too complex and expensive, and seemed geared towards much higher power levels relative to the Trinamic solution we employed. Please provide information on a FOC controller and BLDC motor that can achieve equal performance to say the common TMC5130 or TMC5160 or 61 chip and a typical NEMA 17 400 step 2A motor without utilizing a feedback controller or sensor to achieve the mentioned performance at a similar cost?We ran that "fun" experiment many many years ago using a DC coupled audio amp, the motors got so hot, so quick that you could burn your finger, don't ask how I knowActually all our experimenting has been done over the past couple decades, and evolved to the Trinamic and THK solutions, and within the past couple years to developing a system based upon piezo electric control achieving 10s of nanometer resolutions.Do agree the Trinamic data sheets are way too complex, the customer service isn't good either (we aren't an OEM). This may be a way to keep smaller users at bay, and filter thru to the OEMs. So the message is the chips are good, the service isn'tEdit : Few images of single, dual, triple and quad axis Trinamic based controllers, and some custom Piezo Electric controllers.Best,

author: drussell
author_rank: Super Contributor
timestamp: March 16, 2021, 04:44:35 pm
content: Quote from: CaptDon on March 11, 2021, 02:24:22 pmYou are simply incorrect. The "spinney part" is called the rotor. It may or may not be an armature.Quote

author: CaptDon
author_rank: Super Contributor
timestamp: March 16, 2021, 06:07:44 pm
content: It's all good.....I am at the point where at times you need to tell the traction motor guys "Take the round part out of the square part because it doesn't go around anymore. Put a new round part in there and replace those big flat things on the ends with new flat things and if any of the little round balls fall out use different flat things. Rotor, Stator, Armature, really, half the guys in the shop call it one thing and half the guys call it something else, I guess because some of them grew up with the D.C. traction motors and called the spinning part the armature and the other guys grew up with A.C. traction motors and call the squirrel cage thing the rotor. Personally I couldn't care less as long as it gets fixed. Why do locomotive drivers have 4 terms for what they drive, Motors, Power Units, Engines, Locomotives? Really, who cares. All I do is design and build the part that takes 1400vdc and converts it to 3 phase A.C. in six different inverter stacks to make their spinning parts spin no matter what the blue collar rank and file guys call it. I did use stepper motors to move the contactor in the Crank Transfer Switch because as it traverses it encounters wildly different mechanical resistance across six inches of travel and I wanted to eliminate the monkey motion and have smooth travel produced by a stepped lead screw. And I incorporated acceleration and deceleration since we all know 'steppers won't start at full speed', and an LVDT position sensor to tell me where the thing was in its little world of controlled motion. So yup, I agree, I'm wrong!

author: Hellmut1956
author_rank: Contributor
timestamp: March 17, 2021, 12:10:13 pm
content: An interesting attractive way to make life easy and inexpensive without giving up and on the Trinamic stepper motor controllers. Those are the SilentStepSticks. in 3D printers today the most frequently used ones are the SilentStepSticksTMc2208 and SilentStepSticksTMC2209. In other applications using stepper motors to drive a CNC for example, depending on the torque you want a stepper motor to deliver those SilentStepSticks boards are still a good choice. If you do not want to use stepper motors that offer a very high torque the SilentStepSticksTMC5160, TMC5161, and the old TMC5160hv. The SilentStepSticksTMC5160, TMC6161 have the H-Bridge drivers outside the Trinamic Chip and so being able to better get rid of the heat. Using the heater dissipation on the Trinamic IC improves the heat dissipation.

author: mawyatt
author_rank: Super Contributor
timestamp: March 17, 2021, 01:12:01 pm
content: Watch out for certain SilentStepSticks, some time ago recall the ones based upon the TMC5160 could not be configured to allow access to the advanced control algorithms because the PCB had a critical chip pin grounded, and was under the chip package and not accessible to cut unless you removed the chip. These were designed to be plug in replacements for 3D printers and could only do Step and Dir control, and thus limited capability. Being a plug in replacement they just worked like a regular stepper driver but with lower noise, and utilized the same controlling software. This was brought up to the Trinamic some time ago, and they finally modified the PCB to allow full access. The BOB style we use for the TMC5130, 5160, 5161 & 5072 allow full access to all functions, and don't cost much more ($5) than the StepStick but are larger footprint. If you are creating something new, consider the BOB style if space isn't an issue.Does anyone know if any of the new 3D printers are utilizing the Trinamic chips with control algorithms rather than just Step and Dir control? Being new to 3D printing (and 3D modeling) just ordered a 3D printer (per recommendation) that apparently uses the SilentStepStick, but doubt it uses the control algorithms.Best,

author: ajb
author_rank: Super Contributor
timestamp: March 17, 2021, 08:00:33 pm
content: Quote from: mawyatt on March 17, 2021, 01:12:01 pmIf you're referring to the motion control algorithms, including acceleration management and positioning, probably not, because those control systems only work on a single axis. You can run multiple axes simultaneously but they won't be coordinated such that something like a 3D printer will move from one position in X/Y/Z to a different position in X/Y/Z in a straight line--the axes will accelerate and decelerate as individually programmed, so if the axes have to move different distances then they'll finish at different times, making them useless for any kind of coordinated motion. Well, you could sort of do coordinated motion by calculating the correct per-axis acceleration and velocity parameters and sending those to the controllers prior to every move, but that would be kind of silly and would be hard to get good results. Much easier to have one motion controller directing everything together.I think Trinamic have some more sophisticated motion control system that are independent of their motor drivers that may be able to do coordinated multi-axis motion.

author: mawyatt
author_rank: Super Contributor
timestamp: March 18, 2021, 12:55:01 am
content: Quote from: ajb on March 17, 2021, 08:00:33 pmThanks, that's a good point about coordinated multi-axis control since they wouldn't know what the other axis is doing when using the internal motion control algorithms. We did some XYZ movements with separate controller/drivers utilizing the built-in signal axis motion control algorithms, but they weren't tightly controlled wrt each other, and only the Z axis was of concern regarding precision. This seems like an opportunity for Trinamic to make an axis interface to allow direct "talking" between the X, Y and Z axis controllers/driver, or better a single multi-axis chip with new multi-axis motion control algorithms. To keep the chip cost reasonable they could use external power fets to drive the motor coils like they do with the TMC5160. With all the popularity of the 3D printers I'm surprised this isn't a product yet!!Anyway, thanks for the dialog and this explains why the first SilentStepStick TMC5160 didn't allow advanced motion control algorithm access, the later one has a 0 ohm resistor to set the interface to allow such.Best,

author: langwadt
author_rank: Super Contributor
timestamp: March 18, 2021, 01:30:45 am
content: Quote from: ajb on March 17, 2021, 08:00:33 pmas far as I can tell the "big" CNCs using FPGAs like MACH3/4 and linuxCNC basically does it by; every millisecond or so they calculate and tell each motor how fast to go to hit the next millisecond "waypoint" then wrap a PI loop around that using either using encoder feedback in the case of servos or number of steps taken in case of steppersI think trimanic has a controller that does similar, writing speed and reading position via SPI from three driverssince on the 5160 you can set the current in each coil directly and it has input for a quadrature encoder might be possible to do FOC and closed loop stepper, though I seem to remember that it might not be possible to use the decoder unless you also use the motion control

author: phil from seattle
author_rank: Super Contributor
timestamp: March 19, 2021, 12:32:30 am
content: Motion control systems like Marlin or GRBL coordinate steppers so you can make multiple axes do what you want - straight lines, curves, etc. At the heart of CNC machines, 3D printers, etc. If you have a need to make the steppers work together, I would look into something like GRBL or Marlin.

author: Hellmut1956
author_rank: Contributor
timestamp: March 19, 2021, 04:26:55 pm
content: @mawyatt: Please look more detailed into the datasheet of the Trinamic parts. The behavior you mention indicates that the Trinamic stepper driver has not been set up properly. Onthis pageat the Trinamic website, you find the different technologies Trinamic drivers offer and CoolStep is the one where the current is controlled by the actual load, so that, adding a safety margin only that amount of current flows through the coils of the stepper motor that is required to handle the load. Effectively this controlling the current flow by using a PWM and the much higher voltage applied allows choosing a stepper motor that does not have to offer the torque required at peak loads. The Trinamic stepper motor supporting CoolStepand that has been set up properly can increase the current flow for a short period of time to 120% generating this way 120% torque.I use this CoolStep as I have made a stepper motor to be the winch in my model sailboat to implement a smart control of the sails that mimics the way it was on the original sailboats at the beginning of the last century. I have tried to follow as close as possible the design of the Endeavour".Please do not see it as criticizing you, it is just sharing what I learned about 7 years ago. The Trinamic IDE is in combination with a proper evaluation board the vehicle I did use to learn about stepper motors. The stepper motor in my model sailboat is powered by a battery pack consisting of 12 cells LiFePO4 connected in series. Saving energy is key to achieve longer times at the pond. The CoolStep functionality has a dramatic impact in my model. Originally I had planned to use electrical brakes to reduce the power consumption while the stepper motor is holding its position!CoolStep™The sensorless load-dependent current control CoolStep is based on the StallGuard load values. It detects the motor load by changes in the back EMF and adapts the current to the actual load conditions. As a result, CoolStep always drives motors at their optimum current, saving tremendous amounts of energy by reducing the current to a minimum when the motor has a light load, and increasing the current when the load increases. This not only keeps the motor cool, it also allows short current boosts. CoolSteps improves reliability of the entire system.

author: mawyatt
author_rank: Super Contributor
timestamp: March 19, 2021, 07:30:40 pm
content: Where did we indicate that these Trinamic devices work differently that what you've just describe above? The coil current is normally not allowed to return to zero during the commutation process, and the PWM keeps the average current at whatever level is required with the particular algorithms selected at that particular time. We started using the Trinamic devices probably 5~6 years ago, didn't know about them and were using the Pololu controllers before. Our 1st Stepper control design dates back ~40 years, where a design was created out of discrete logic and bipolar transistors to drive a precision mirror system in the electro-optic Remote Sensing Chemical Agent Detector development, called XM21. This employed position feedback, so was a somewhat closed loop system, not pure open loop.Anyway, glad you like these Trinamic devices, we sure do!! Maybe others can benefit from their performance.Best,