Jump to content
Electronics-Lab.com Community

motor controller protocols


Recommended Posts


By protocol I mean that I'd like to know how the request/command is structured for a serial bus, and what all information it includes.

For servos I found a three byte protocol, the first of which only synchronizes the bus. I'd like to see more.

For steppers I hope to find one or more protocols that include (at the very least) speed, direction, duration, motor ID, etc. Compact is good. I'm sure that whatever I come up with will cover most of my needs, but I'd like to use an established protocol for portability.

Link to comment
Share on other sites

Steppers will not receive a serial protocol. They do not have any smart circuitry or logic in them. Just coils and the magnet basically. Whenever you see a serial communication to a stepper, the serial communication is sent to a micro or motor controller chip and the chip sends the data to the stepper in a parallel fashion. This is because the coils are energized in a sequence such as 1000, then 0100, then 0010, then 0001. (This also depends upon you using unipolar or bipolar). This sequence makes one step. To change the speed, you change the speed at which you send the bits to the stepper. To change the direction, you use the sequence above backwards. There are several motor controller chips that will do most of this for you and you only have to send a command for step and direction.
The following is a link that might help. There is an in-depth tutorial on steppers here:
http://www.cs.uiowa.edu/~jones/step/
Hope this is helpful and I apologize if I have covered anything that you already knew. I really do not know what level of information you need, so I might have been stating the basics here.
Will you be using a micro or one of the stepper controller chips such as the UCN5804B?

MP

Link to comment
Share on other sites

Good morning MP, and thanks for showing interest in my (possible) future project. I guess I'm having trouble communicating clearly, and made the classical (arrogant) mistake of trying to meter the information to narrow the response.

Last question first. I'll be using a 16c73a. I obtained about eighty that have been used, but can be overwritten and are still servicable in a limited capacity. I figure I'll have enough resources on board to take care of four steppers, two on port b and one each on ports a and c. I'll be able to keep and update a profile on each motor (maximum speed, acceleration, run duration in steps or cycles, slave to another motor, etc). It'll definitely be slow by anybody's standards, at 1k steps per second, but should suffice for my (yet to be) needs.

What I'd really like to see is how others structure the data they send to their controllers. I'll write my own protocol if I have to, but I'd rather use one that's established.

Link to comment
Share on other sites

Here is a site that might interest you. The author is using AVR with the program written in basic. Very similar to using the PIC and very easy to read. Perhaps you can pull some information from it. He has a serial port controlled stepper as well.
http://home.planet.nl/~meurs274/

MP

Link to comment
Share on other sites

Is a stepper motor a digital input device? Is it a DC motor? I have never seen one. Any information about them would be appreciated. I have heard that motors generate a feedback voltage. Does this happen when they change direction? What is the electronics representation of the motor in terms of inductance and resistance? One thing I know is that they polarize like magnets and cause spin.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
  • Create New...