stepper motor does not move

More
2 weeks 2 days ago #350254 by tommylight

The motor vibrates when it is supposed to move but I cannot see or feel, respectively, any movement.
Causes for that might be wrong motor wiring to drive, or to low current set on the drive.
Check the motor wiring to drive first, there are strict rules on wiring winding A to output A, and winding B to output B.
Then read the manuals and set the drives to correct current for the motors you are using.
-
Was this with the step timing set to something extremely low like 2ns or similar? Why would you change stuff at random?
Friendly advice, stop messing with things and expecting them to work, do a bit of reading before actually wiring and running stuff.

Please Log in to join the conversation.

More
2 weeks 2 days ago #350255 by tuxcnc
Replied by tuxcnc on topic stepper motor does not move
The stepper motor pins can be checked without any tools.
Disconnect the motor from the controller.
Jump any two pins together.
Turn the motor shaft by hand.
If you feel a clear resistance, the pins belong to the same coil.
If the shaft rotates freely, the pins belong to other coils.
Shaft vibration instead of rotation is a typical symptom of confused wiring.
However, if the engine stands still and squeaks, it is a matter of settings, either the controller or the program.

Please Log in to join the conversation.

More
2 weeks 2 days ago #350256 by geebee
Replied by geebee on topic stepper motor does not move
Sörry for eventually annoying anyone. Some reading I certainly did, it is just a lot of stuff. I have used several motors both of the same and different types and two different drivers. I can limit current at the tb6600 and certainly did. The cs-d508 does not provide any switch to do so. Its datasheet mentions overvoltage and overcurrent protection. Apparently the current nevertheless is too high, not too low. The motors heat up quickly when not moving. I lost a second one even though I have become more careful after the first one burned. I certainly do know how to wire a 2 phase stepper. Mistakes might happen, but I will not repeat them every time I reconnect the stuff. I have been working with steppers and arduino but not yet on a professional basis.

So at the moment, I suggest its more likely a latency issue. It is gonna take me a while to go through the stuff pcw has told me. After that, I will let you know what I did and what were the results.

Cheers

Please Log in to join the conversation.

More
2 weeks 2 days ago #350257 by tuxcnc
Replied by tuxcnc on topic stepper motor does not move
The stepper motor withstands temperatures of 120 degrees Celsius.
This is, of course, the maximum parameter and during normal operation it should be cooler.
On the other hand, if the motor is cold, it means that the current is too low, resulting in less shaft torque.
Without a thermometer, this can be assessed by stating that the engine should be hot, but should be able to be touched by hand.

Please Log in to join the conversation.

More
2 weeks 2 days ago #350258 by tommylight
LinuxCNC is very good at pointing out failures, so if you are not getting latency warnings while using it, it is not a latency issue.
-
When i replied about the low current, i was going to add that to much current can also do that, but it has to be way over the rated motor current to cause such issues.
-
In general,
-if the motor gets warm in 3 minutes, or hot in 5 minutes of being on = way to much current
-if it gets hot in 15-30 minutes = all should be good
-warm is if you can keep your palm on the motor
-hot is when you can keep your finger on it, but not the palm
-to hot is if you skin remains on the motor = the motor is cooked
-
keep in mind that current ratings on cheap drives are "peak", while on good expensive drives it is "RMS", but lately cheap drives have both ratings written on them, so use the "peak" values while testing, then decide if you need to add more current if the motor skips.
Always use lower current if not sure.

Please Log in to join the conversation.

More
2 weeks 2 days ago #350259 by PCW
Replied by PCW on topic stepper motor does not move
You have:

FF1 = 0

in your ini file

This should always be 1

Please Log in to join the conversation.

More
2 weeks 2 days ago #350261 by tommylight
@geebee
Make a new config, start over.

Please Log in to join the conversation.

More
2 weeks 18 hours ago #350294 by geebee
Replied by geebee on topic stepper motor does not move
The cs-d508 driver reports by led signal when no motor or just one coil is connected. When good, all coils of both motors have a resistance of 2 ohms , they should have 1,8 according to the data sheet. Inductance is perfectly 5 mH. Damaged coils in my case still show a resistance of one Ohm. Maybe this is just enough for the driver not to notice any problem like a short circuit or similar.. I had motors in the past seeing similar temperatures that did not fail that quickly.

Please Log in to join the conversation.

More
2 weeks 17 hours ago #350295 by geebee
Replied by geebee on topic stepper motor does not move
I did soma latency testing and tuning. What helped most was to turn off hypertheading which reducedjitter from 30 to around 22 microseconds. Other bios settings like HPET off, EPU power saving, and cpu turbo on or off in my case made little to no difference. So did isolcpus, irqaffinity, nohz_full, and rcu_nocbs. rcu_nocb_pull yielded one microsecond less, so did setting sched_rt_rumtime_us to -1.

Please note RedHat warns to do this;

Issue

Is it safe to set /proc/sys/kernel/sched_rt_runtime_us to -1?

Resolution

In short, setting sched_rt_runtime_us to -1 can be extremely dangerous. A value of -1 means no limit. In other words, a "run-away" real-time task will be permitted to monopolise a CPU which could (potentially) lock up a system. The default value for sched_rt_runtime_us is 950000 or 0.95 seconds. Broadly speaking, this allows 0.05 seconds to be used by other non-real-time tasks (i.e. SCHED_OTHER) - a small window at which to recover a system.

The kernel parameter namely /proc/sys/kernel/sched_rt_runtime_us can be set between -1 and (INT_MAX - 1).

I left it at -1 anyway. In the end I was able to reduce jitter from sightly above 30 microseconds to just below 20. All test were done with one instance of glxgears running.

Please Log in to join the conversation.

Time to create page: 0.145 seconds
Powered by Kunena Forum