PLC Stepper Control

sie625

Member
Join Date
Aug 2005
Location
Chicago
Posts
24
I started off yesterday not knowing a thing about stepper motors, so hopefully this makes some sense and i am not missing something simple and/or obvious.

I need to control 8 stepper motors. Travel is not over too great of a distance, but accuracy is fairly critical. There is no "program" that will control these, rather we will have some sort of input device (1 for each motor) that will tell the motor to move X distance. The first way that i thought to do this was with a Siemens S7-226 with the EM 253 position module. But it looks like i will need 1 module for every motor, is that correct? If so, one CPU cannot handle that many modules.

It seems to me that there has to be an easier way to accomplish this. In a previous post someone mentioned that an easier way would be to use a ET200S CPU and a pulse output module. Is that all the EM253 does, send a pulse output to the Stepper Drive?

I apoligize for not having some of the basic concepts down, i am confident i can figure out whatever is necessary, i just dont know the appropriate place to start. If there is a simplier approach i am all ears. I can give more details, but this is getting sort of long and i am not sure which information is relevant.
 
It may help if you state what bran motors etc you are using. You may be using a multiaxis controller or just an amplifier, there is a big difference. In some cases each motor will use an amplifier, it others a multiaxis controller may have the amplifier built in.

A controller may not need a plc but if a plc is used the command signals will depend on the controller...ie you may be able to use bus communication (Profibus etc), analog, or digital.
 
You could always Multiplex the Motors with 1 or 2 Step/Direction Cards...

Multiplexing is using one card to control multiple devices, You would basically be turning on and off relays which would divert the pulses to the proper motor driver.

Not sure how accurate this would be if you had noisy contacts they could add a pulse or two...

The Other way would be getting a drive that would accept ASCII and then just send out commands over a 485 network....

I did a quick search and www.pontech.com has a serial stepper drive, so there should be others....
 
The motors and drives i was looking at were from Haydon, but that was really only a result of finding them first. Recommendations would be appreciated. Ill probably need like a size 17.

After looking into this more it seems like all i really need to make motion happen are step/direction inputs. As i mentioned before, there is not very much travel involved, and speed is really not an issue, so i dont think i need any acceleration ramps or anything like that. I also found that the S7 has a Pulse output. So here is my question/possible solution, i hope that it is not too misguided. Can i use the pulse output to control all 8 motors? Can this be done using a "multiplexer" as was suggested above? I am also not familiar with that, so some guidance or a recommendation would help. Would this be similar to putting the pulse to 8 relays and then just switching on the relay for whichever motor i want to move?

the way i was thinking, i would need one pulse output going to 8 relays, 8 outputs to control the relays, 8 outputs to control "direction" of the motor. This seems pretty crude to me, but as i mentioned, speed isnt an issue, so whatever i set the frequency at would be fine for all 8 motors and across the entire travel.

am i getting closer?
 
Do these 8 steppers need to move in sync? Or do they move independantly.
Do you require a closed loop stepper?(position of motor is assured)

Give us more info on what you are wanting to do:
1) accuracy
2) product (safety issues?)
3) ETC

I suppose you could do a down-n-dirty with 16 relay outputs but, where is the elegance?

Rod (The CNC Dude)
 
They all move independently. We will want some type of feedback, the motors i am looking at have an encoder. 1/16" accuracy is in the ballpark of what we need. An elegant solution would be nice, but i am still new to the game and i dont know the best place to start. My only experience of consequence is with the S7-200's, which is why i am coming up with these possibilites. If there was a high-speed output module, that looks like it would be the easiest, does one exist? I only went with the relay option because i believe that only 2 high speed outputs are available.

I would have no problem diving in a different direction because this would be a great excuse to learn something different/play with some new equipment.
 
From my studenting experience with a stepper motor (just ONE) it can be a real challenge.

Time and time again in here I see the comment "you gotta know the process"

What kind of process is this "automatic pipetting" filling milk cartons putting bolts in jet engines - you gotta tell us what is going on

OK so you got these 8 thingys that have to move.
I assume each does a different thing
They all can move independent of each other.
No one of these positions is dependent on the other ??

You gave a tolerance of 1/16". Stepper motors often are rated in pulses per revolution ie 200 per 1 RPM. So what does 1/16 equate to in pulses?
Do NOT forget to include gear reduction if any.

The adventure starts are you going to sense positions to tell the stepper when to stop and or start? How are you going to set home?

YOu said you will have them bi directional now you need algorithms for CW and CCW stops starts, position etc etc.

FIRST AND FOREMOST
make sure the #)(@^&) dip switches are set correctly on the encoder. Get some way of inputting a known number of pulses into encoder and see how far motor turns.
I did NOT do that - if I had it would have saved HOURS of hair pulling.

Now you may be ready to start trying to run and control this thing with a PLC.


Dan Bentler
 
Alright, well now im thinking this is going to be a little more difficult than i anticipated. So lets start with one motor, because really, they are all independent of each other, although they all do the same thing. The process is similiar to the "electromagnetic brake" application in Ron's 1st link from oriental motor. We are basically moving a plate along a leadscrew, although we are doing it horizontally so there is no safety issue of something coming crashing down. There is some more song and dance going on, but basically there is going to be somekind of operator input to tell the plc where we need the plate to move to. Here comes the fantasy of how easy i think it should be. PLC will look at where the plate is now and compare it to where it needs to go(this can be done strictly by pulse count of the encoder i believe) and send the drive the appropriate input for CW, CCW. on the drive i was looking at this was called the "direction" input, and it really looked that easy. now that it knows which way to go it sends a pulsed output to the drive (i realize this requires a much deeper look that how i am presenting it). it didnt look like this sort of thing was too difficult to setup in MicroWin. i am sure the setup/math behind all of this is going to be a pain, but thats for another day. but like i said, it doesnt need to get there in any hurry and the travel isnt too far. so i would think that if i sent out a XXX kHz pulse for the entire range of travel it shouldnt be a problem.

the details aside, if this basically how i would go about it with one motor, how do i do it with 8, being that i only have 2 high speed output, and i'm not sure off the top of my head, but for some reason i dont think i have enough high speed counters either. right now i am staring at a s7-226.

i think i am probably oversimplifying how the drive works, or having too much faith in the S7. but from what i read, thats all it takes, you give the drive a step input and a direction input and it will make the motor spin. if this is true, how do i get a pulsed input to 8 drives?
 
the 1 source signal split 8 ways is what i want to do but i am not sure how to control it once it is split. i said relays but i would think that would tend to reduce the accuracy as i have in the past had trouble with relays inducing noise on some things. someone previously said a multiplexer, and i havent had any luck going about finding that.

short of leaving the signal on the drive continuously and finding a different way to switch on/off like an enable circuit, or if the drive wont go if there is no direction input i dont know a better way to do this. or would something like that be reasonable, i would think that cant be a good idea.
 
After Googling my way around the topic of your post, I came across a Compumotor stepper controller for up to eight axis of control.

Here's a web page:

http://www.automation.com/sitepages/pid607.php

It sure wouldn't hurt to contact a stepper motor manufacturer's tech sales or application engineering department for some help or guidance. That's what I would do. Your problem can't be the first of its kind.

For added fun, be sure to mention to the vendor that you might need 50-100 of these and see how fast they beat down your door.

DISCLAIMER: I don't work for Compumotor. I've just used their products.
 
If the motors will act independently then one signal can not be used for all motors, it will need enable/direction and speed commands for each motor. Depending on several factors it may be a better idea to use stepper controller(s), in some cases the controllers will act like a plc...has I/O etc with ability to interface an HMI.

It also seems that you have not purchased any items for this project so another idea to consider is hydraulic servo. This company has the RMC100 which can control 8 axis http://www.deltacompsys.com/products/motion/
They can assist you in developing the system.
 
Thanks for the ideas guys. I have used parker products previously to control a 2-axis servo application and it seemed like that type of thing was over kill for this project.

Ron,
I thought it would be possible to use the same speed reference for each motor because they will all spin at the same speed with no acceleration ramps or motion profiles. Each motor would have its own enable input as well as its own direction input, they would only share the pulse input, which would be somehow switched to each drive.

I dont think i need to tell my vendor i need 50 of them, if i tell my parker rep i want to get spare cables he is out here within a day. i was hoping that there was a "smaller" way to do it. An 8-axis controller with 8 drives takes up an awful lot of room.
 
If it is as simple as you state then why not use AC drives and motors? It would not be hard to incorporate fractional HP motors with MicroMaster (or preferred brand) drives using Profibus and S7-200, this would allow you to use a PLC for main control and the drive could obtain necessary encoder and I/O data.

I mentioned the MicroMaster for a variety of reasons, overall good drives, MM410 works with 1/6HP motors, and can use Profibus. It is also a Siemens product, if using an S7-200 then you could probably obtain everything from the same supplier.

The only issue I am not sure about would be the motors physical size, even a fractional HP motor can be significantly larger than a stepper.

I did a system not too long back on a bar mill straightener with 7 axis. I used Horner plcs with Toshiba drives on DeviceNet. I had a few issues with hardware but the actual programming was easy.

The scenario you are suggesting with the steppers may work but I think you will have problems. The main issue I think will be that each unit will have to move one at a time to do what you want or need its own pulse signal. I could be wrong in my assessment though and this may not be a problem.

If the AC drive is an option it would definitely be less expensive, you are probably looking at $8000, possibly more, my rough figure is $1500 per unit for stepper motors and drives where the AC drive and motors could be $3-4000, around $500 for each drive and motor.

The AC option could possibly eliminate some wiring aspects especially if using encoders, the drive would obtain this data and pass it to the plc thru Profibus. I am not sure what you would have to do with the steppers and the encoders to verify position, it appears you would need 8 (possibly high speed) inputs to directly link the encoders to the plc.

I am just offering ideas.
 
Last edited:

Similar Topics

Hello all, I am completely new to PLC programming and automation in general. I am working for a company that wants to use a TECO SG2 PLC to...
Replies
0
Views
1,513
I am would like to use a FUJI electric SPB PLC to control a stepper motor. I need the stepper motor to drive a rotating plate a specific number of...
Replies
9
Views
4,596
Hello, First off I'm not an experienced PLC programmer But I have been using a single axis stepper controlled via a PC for 6 years or so...
Replies
17
Views
8,409
Hello, as I know, usually special modules are used to control stepper. So i'm wondering why not just connect stepper to the PLC's digital...
Replies
4
Views
4,201
This is my first time in this site I hope you can help me. I am doing a project that involves the control of stepper motors with a plc i have not...
Replies
2
Views
5,193
Back
Top Bottom