Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Controlling with step vs. clock (pulses) for stepper motors

Status
Not open for further replies.

mvoltin

New Member
Description of the specific challenge: I have Arduino with GRBL that runs mini 3-axis CNC through three Easydrivers and it works great. Unfortunately, Easydrivers are limited in their max current and cannot handle my larger steppers. Wanted to substitute these with more robust controllers that came with the motors (as part of a older broken printers) that could take the same commands that Arduino sends to the Easydriver and control the motors.
About the Easydriver: It uses A3967 controller with the interpreter where "By simply inputting one pulse on the STEP input the motor will take one step (full, half, quarter, or eighth depending on two logic inputs). Maximum step frequency is 500 and here is the datasheet.

So, If I substituted the Easydriver with one of the drivers listed below - IB462 or Sanyo STK672-110 (and assuming that I figured out and addressed all other requirements for other pins on those drivers), can they control the motors the same way based on the Arduino outputs? The major difference I see that, instead of sending pulses at a certain frequency, these drivers would be receiving distinct pulses at random times and this is when they should be moving the steppers (based on microstepping and direction settings and one step for each incoming pulse).

Here is what gives me some hope but wanted to confirm and get some direction before diving in:
from the Insturctables site: "In it's simplest form a PWM square wave can be created with a few lines of code. The following code would produce a signal with a 1 second Frequency and a 10% duty cycle. " http://www.instructables.com/id/Arduino-Ha...r-motor-drives/

And here is the verbiage that scares me a little because it seems that clock input may not be just a simple collection of pulses at a certain frequency that can be easily "broken up":

1 - From IB462: The IB462H is a bipolar chopping stepper motor drive. It receives step clock, direction and mode signals from the system controller to generate constant phase currents which are adjustable in magnitude.
2 - And from Sanyo STK672-110:The incorporation of a phase distribution IC allows the STK672-110 to control the speed of the motor based on the frequency of an external input clock signal.

P.S. I am very new to electronics and probably need "baby talk" to understand the implications and how to move forward. thank you in advance. This question is only about the input into the controller. I probably will not able to grasp or need to know what happens inside the controller/interpreter - tried with the help of this forum and failed already.
 
Last edited:
I am not sure that I understand where your confusion lies, but let me just waffle a bit and see if that helps.

Both of the stepper motor drivers/controllers/etc in your links IB462 and Sanyo, when you pulse* the STEP signal pin on the controller, the motor will turn by one step (depending on whether the thing is set for half/quarter/micro step etc).

* Pulse means that the voltage of the signal changes from a 0 to a 1 and back again
eg: 0 volts, to 5 volts, and back to 0 volts.

When the STEP signal pin is pulsed by a continuous train of pulses, the motor will rotate in a continuous manner.
The speed of rotation will be directly related to the frequency of the pulse train.

If the train of pulses stops and starts, so will the motor stop and start.

If the pulse traing varies in frequency, so will the motor speed vary.

Does this help?

JimB
 
If I were you, I would google "stepper motor tutorial" or something alike and would try to understand how stepper motor works, which is quite simple actually.

You will need to generate simple sequences of signal to turn it a step (or half a step) one way or another.
 
Thank you. Here is the reason for asking the question and the point of confusion I have:

I have both unipolar and bipolar motors that were paired with these drivers/controllers posted (one set is coming from an older commercial printer and another from a commercial mail-sorting equipment) and wanted to reuse them.

Maybe I am overthinking this but "clock" input vs. "step" input stressed me out. Easydriver is simply stating that step pin can accept up to 500 pulses a minute. Even advanced Gecko drivers put it in similar terms. On the other hand, these two drivers call input "clock" and input as square-wave in Hz. It could be the same but was not sure if there was something else I was missing.

I assume (very much oversimplifying the statement) that these controllers are optimized for providing very specific speed for rotation through clock input (this is how these machines work) and I needed to use them for very specific number of steps. Newbee like me would think that it should work since we are dealing with stepper motors. Also, the reason the manufacturers used steppers instead of any other motor was that they also wanted to control number of steps as well. Unfortunately, all the videos and instructions with "clock" input I have seen focus on motor speed - here is one: **broken link removed**
 
Maybe I am overthinking this but "clock" input vs. "step" input stressed me out. Easydriver is simply stating that step pin can accept up to 500 pulses a minute. Even advanced Gecko drivers put it in similar terms. On the other hand, these two drivers call input "clock" and input as square-wave in Hz. It could be the same but was not sure if there was something else I was missing.
You are overthinking and you do not seem to be missing anything.


Unfortunately, all the videos and instructions with "clock" input I have seen focus on motor speed
Probably because it is "cool" to see the motor wizzing around like a demented dervish.
A few steps and then stop is BORING! :D

JimB
 
Maybe I am overthinking this but "clock" input vs. "step" input stressed me out. Easydriver is simply stating that step pin can accept up to 500 pulses a minute. **broken link removed**

Frequency and Hertz is times per second. 500 pulses a minute on a 200 step motor would only be 2.5 RPM.
 
Agree, I just wanted to make sure since these datasheets talked about square-waves as opposed to more conventional description (i.e. EasyDrivers and Geckos) and online discussions focused on speed control only - did not want to miss anything.

I have been trying to figure this out for a while and asked related questions in different posts but the challenge is that majority of responses were either indirect (i.e. describing pulse and wave characteristics) or irrelevant (i.e. how stepper motors work or how the current is controlled controlled) instead of "yes, these drivers/controllers can accept a single step/pulse signal" or "no, they cannot". Anyway, like I said, I am a lay person looking for a lay explanation in "baby small words" and finally got it from Jim. ;)
 
Give man a fish - you feed him for one day, teach him fishing - you feed him for life :)
That is very true, I am a great believer in that philosophy.

But...

... if the man only wants to know how to get to the river or seaside, all the stuff about maggots, flies, and rods is going to give him a pain in the brain.

JimB
 
Oh, common NorthGuy, I did not realize your response was right here or I would not have mentioned your example (I had tons of them spinning in my mind). And Jim? Teaming up against me after I complimented your response? I am devastated. :nailbiting:

Must confess, the exchange was very funny and appropriate in a poetic way.

At the same time, it maybe beneficial tiny bit of honest self-reflection (you do not have to tell anybody). The question was about the input that the driver/controller would accept; not about how it controls the motor or anything else on the controller's output side. So, while the river analogy is beautiful, it does not quite fit. here is the bolded text from the original text: "This question is only about the input into the controller. I probably will not able to grasp or need to know what happens inside the controller/interpreter - tried with the help of this forum and failed already."

No worries, I am also planning some self-reflection - it is unlikely (although possible) that so many responses from four different blogs were completely off the topic (they naturally tried to help). So, I plan to show it to my therapist and see if she gets the question right (she is a blond).
 
And Jim? Teaming up against me...
I am confused as to how you came to that conclusion.

You wanted baby words, I supplied baby words.

NorthGuy came in with the time worn platitiude about feeding a man with fishes.

I replied that I generally agreed with that fishy principle.
BUT...
If a man was only wanting directions to a place where fish may be found, do not bore him with the minutiae of how to catch those fish.

So there we have it.
How was I teaming up against you?
I just cannot win.

Farewell cruel ETO, I am off on my travels tomorrow and if I find Lili Von Shtupp down by the banks of the Bodensee, I will keep all the schnitzengruben for myself, I will not be bringing any back for you guys!

JimB
(In a frivolous "I am off on holiday" mood).

On edit:
(she is a blond).
And what is wrong with blond?
I was blond myself until most of it fell out!
 
Have a nice vacation Jim.

I think their trying to get you to understand stepper motors was a tactful way of telling you that PWM and stepper motors shouldn't be used in the same sentence (except for current limiting).
 
Last edited:
Status
Not open for further replies.

Latest threads

Back
Top