Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Stepper driver control with step vs. clock input

Status
Not open for further replies.

mvoltin

Junior Member level 1
Joined
Jun 1, 2014
Messages
19
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
300
Description of the specific problem: 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. Unfortunately, these controllers (links below) have clock input instead of step input and not sure if these are interchangeble.

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 (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 receiving pulses at certain frequency as these drivers would expect, they would be receiving distinct pulses at random times and this is when they should be moving the steppers (based on microstepping and direction settings).

P.S. Here is what gives me some hope but wanted to confirm and get some direction before diving in:
here is the supporting info from the Instructables 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-Hardware-PWM-for-stepper-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: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 new to electronics and probably will need "baby words" to understand whether this is feasible. thank you
 

Some more clarification where the confusion lies:

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: https://pcbheaven.com/circuitpages/Full_Half_Stepper_Motor_with_STK672/ and could not find any examples with steps.
 

Some more clarification where the confusion lies:

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: https://pcbheaven.com/circuitpages/Full_Half_Stepper_Motor_with_STK672/ and could not find any examples with steps.

Read the datasheet for A3967 once again.
Max STEP frequency is 500 kHz (500,000 times per Second - 30,000,000 times per Minute)

For STK672 max STEP (Clock) frequency is 25 kHz.

Step frequency regulates the speed of stepper motor. Higher the frequency, faster the stepper turns. Simple as that.
 

Hi ZASto,
Yes, you caught me red handed: I missed this (forgot that it said kHz and not Hz when switching the pages). Problem solved!!!

You are an advanced member and hope you can make a difference when "elders" get together, maybe not, but here is my little frustration: I posted this question in a few forums and few times here (framing differently) and very very rarely someone is reading and responding to the actual question being raised. Majority of responses are either indirect (i.e. describing pulse and wave characteristics) or irrelevant (i.e. how stepper motors work or how the current is controlled controlled) or condescending (i.e. you should read the datasheet or read about stepper motors). Same here, this response has absolutely nothing to do with the question being asked, nothing, and it is absolutely not helpful to resolving the question- not a tiny bit.

Maybe, I have been terribly unclear about the question even though I bolded it and described exactly what I was trying to do - it could be my fault - maybe.

P.S. I finally got one straight response from the electro-tech-online: "yes, these drivers can accept the same single step commands as Easydriver... You are overthinking and you do not seem to be missing anything." As simple as that!
 

Sorry for not beeing helpful 100%, but ...:
1. You didn't listed specifications of the motors to get the propper answer/advice. You didn't wrote the motor currents required, so, even that you mentioned alternative drivers, they could be inadequate.
2. Overthinking can slow your progress too.

Now some technicalities:
3. For step pulses are not in any form PWM. At any given moment in time the Duty Cycle is (should be) 50%. Frequency is the parameter that is variable one.
4. You do not have to bother how the drive is regulating current through the motor windings, but you have to keep in mind that higher supply voltage results with the higher max. RPM of steppers
5. Every mechanical system has it's own resonant frequency, there only microstepping can save you from stalling motors.

I run a biggerCNC router, but with AC Servo motors and their drivers (nothing DIY, except the breakout board as I don't prefere DSP controller that came with machine).
 

OK. Then it must be me, really!!! None of the 5 points are related to my question and you took time to write them up - so you must be trying. I just need to share with someone else to see if I am missing something terribly big when asking the question:

1) question was whether the stated controllers/drivers can accept (on their "clock" pin) the same type of Arduino provided step signal as easydriver does (not for anything else: enable, direction, microstepping. Just "step" part of it). Motor specification has absolutely nothing to do with that. This is a question about input to the controllers (not the output signal they send to motors). The question was not whether these controllers can run the motor or not.

2) Yes. Many things are important as well. Current going through and ways to prevent stalling through microstepping are important. It is also important to have proper glasses prescribed by an optometrists if there are vision problems and use proper precaution when dealing with electricity. The list can be very long. The only problem is that none of these were related to the question and did not help clarify it.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top