Stepper motor control.

Hi guys

I have a few questions with regards to operating a set of stepper motors in a mechanism, and would appreciate some product information/ advice on a drive electronics unit for the stepper motors.

I am a Final year student currently working on an a pointing mechanism for my final individual project, which utilises a set of permanent stepper motors for its operation. Unfortunately the manufacturing company did not supply the university with any AMP integral electronics, or a dedicated APM-Electronic unit, hence it has become my duty to obtain one.

I am currently uncertain as to which drive kit I need to obtain, having done much research I have come across the idea of possibly using a Frequency (pulse) generator & an Arduino board for driving the motors, however am unsure whether this will work and would kindly appreciate any sort of guidance.

The following are some information about the device and its motors:

The mechanism utilises unipolar 6 wire 15º permanent magnet stepper motors, the gear ratio is 701:1 from motor shaft to ring gear which gives a typical output step size of 0.0008º for each motor step.

The feed to the mechanism is carried out via a 44 pin connector (which can be re-wired for a suitable attachment to the Drive card) , shown in the electrical interface sheet, with a power consumption as follows:

  • Trimming 4W/motor
  • Repointing 4W/motor
  • Steady State pointing 0W/motor
  • Phase current and voltage currently unknown, a meeting will be set up with the manufacturer later on during the academic year however I would like to start on this project as early as possible to relive some stress on my other modules, thus ramping up is an option.

Opening up the device is very difficult as the mechanism utilises hazards core material, thus connections have to be soldered from the pin connection (Diagram attached) to the required drive board.

Could someone kindly guide me as to (1) whether the use of an Arduino broad will resolve my issue and (2) which would be compatible with the device in order to operate the stepper motors, and possibly the encoders (not as important)

Your time and help is much appreciated.

19820015480 - Development of a high stability pointing mechanism for wide application.pdf (794 KB)

The information you provide is far from adequate.

What are the elecrical charecteristics of the stepper motors? -- talk to the suppliers.

What are you pointing at ? How do you find it?

your second link provides me with data for an ESA development programme.

If you've ESA level finances, I'll set up a team and have a go

regards

Allan

MHADDAD:
Unfortunately the manufacturing company did not supply the university with any AMP integral electronics, or a dedicated APM-Electronic unit, hence it has become my duty to obtain one.

Why not contact the manufacturers if you want to obtain one of those units?

Or do you mean "create" one.

It seems to me it would be a good starting point if you explain what a "dedicated APM-Electronic unit" is? Can you post a link to the datasheet for the unit?

For me, your description of your machine is incomprehensible (and I am not too bad at understanding machines). You need to provide drawings and circuit diagrams to supplement your description. I suspect most of the stuff in the paragragh that starts "The mechanism utilises the swash-plate or rotating wedge principle " is irrelevant for the purposes of figuring out a role for an Arduino. And the subsequent paragragh is not much help either.

An Arduino can be programmed to produce output pulses for a stepper motor. Is that what you require?

This link shows the type of stepper motor that most people here are familiar with.

...R

Robin2:
Why not contact the manufacturers if you want to obtain one of those units?

I have tried contacting the manufacturer however they do not seem to reply, the only other way is via my tutor at the university however that would have to wait till the academic year begins (around a month), and I am trying to shave as much workload as i can off last year.

Robin2:
explain what a "dedicated APM-Electronic unit" is?

The APME is plainly the electronics for operating the mechanism, anything from driving the motors to reading the sensors, unfortunately I can't go into much detail into the specifications as i cant seem to find much information about it, this would have been supplied by the manufacturer, however due to the age of the device, the APME would not be compatible with today's systems, nor is it specifically designed for one APM, rather multiple APM systems used on a single satellite.

I have attached the output 44 pin diagram (1st attachment) which shows the motor input/output pins and their types. To determine the voltage i was thinking of ramping up till movement is achieved, What i require is a method of operating the motors while maintaining pointing accuracy, i.e. controlling the frequency to operate the stepper motor, can an arduino be used to manoeuvre the motors at a close accuracy to its output step size (0.0008º for each motor step).

The test method can be for example a laser beam mounted on the mechanism projected on a position sensitive detector.

allanhurst:
If you've ESA level finances, I'll set up a team and have a go

!! I'm just a student working on a project looking for some advice! that all.
I don't particularly want anyone to complete my work for me, just pointers or suggestions would be extremely useful.

Having gone though the forum, I have seen many people writing posts with certain problems they are facing within their projects, with others giving them some sort of feedback or an idea for a solution, that is all i am looking for.

The second attachment is the development program of the device, I have uploaded it for better understanding of the operation and functionality of the mechanism.

The main question is, could an Arduino board be a possible solution to my problem?

I'm sure an arduino could handle the processor control part.
Steppers are not like servo motors. When they are stopped,
you need to hit them hard to get them started. This often
means a two stage current. This is especially true when
doing slow pulse rates while accelerating or decelerating.
One also has to look out for resonances. Usually the manufacture
has of the stepper has this in the data sheet for the stepper.
You can not run a stepper motor at a constant speed matching
the resonant speed. One ramps up and down past them.
Of course, I have no idea if you will even be in that range
of speed.
You need to model the system in a simulation first to make
sure the control system is stable and that you don't rip the
antenna off the mounts.
Dwight

MHADDAD:
unfortunately I can't go into much detail into the specifications as i cant seem to find much information about it,

I think it is essential to have that information in order to answer your question "could an Arduino board be a possible solution to my problem"

Either the system is genuinely very complex - in which case the detailed specification is essential - or you are making a simple system appear very complex - perhaps because you don't understand it.

I presume you do realize that you need some form of stepper driver board between the Arduino and the stepper motors. Stepper drivers are designed to provide suitable sequences of power to the motor coils. If your motor is not like the type of motor I linked to then my guess is that you would have to use the specialized driver that is designed for it.

...R

Google tells me the Olympus was a satellite used to test and analyze vibrations in the spacecraft. The system included an antenna pointing system.

My alma mater received an early digital mini computer. I am sure they gave a large value receipt for the donation. It never worked, or at lease the college people could not get it to play. Later they discovered it was a one-off product that never got to the commercial market.

I suspect the same transaction took place for the Olympus device the OP is looking at. The prof wants to be a hero if he can salvage any used for the device. There are several antenna orienting devices used by amateur radio operators to point large antenna arrays at the moon for moon-bounce communications.

I recommend the OP investigate these if the object of his project is antenna pointing rather than resurrecting old stuff.

Paul

Paul_KD7HB:
I recommend the OP investigate these if the object of his project is antenna pointing rather than resurrecting old stuff.

Sounds very sensible.

Is the process any different from the very common process of aligning amateur astronomical telescopes?

...R

Looking at the documents he has, it looks like the mount he
has was designed to go into a satellite. It was intended as a fine
tune for pointing an antenna in a zero g environment.
It has limited travel and is intended to be used with another
coarse pointing mechanism.
It has sensors for travel limiters of type I'm not sure.
It has unipolar steppers.
If I read right, the size is about 4 inches.
If he is intending to use it in a earth environment it can't support
the kind of load it was intended to use in zero g.
It contains beryllium that is a toxic material, most likely in a
alloy of copper used for springs but could be other purposes.
He has misquoted one of the specs, indicating that he does not understand
mechanical units. Should he decide to use this mount he should
first understand the limitations and what they mean.
He has asked if a arduino could be used as the uP part of the control
and I see no reason to think it couldn't. The steppers would require
appropriate buffering. Being unipolar, this could be as simple as
some N-channel power FETs.
It is not clear as to what the position sensors are but maybe I just didn't
see the right note. He needs to determine what they are because they
are critical to the operation of the mount.
Dwight

dwightthinker:
It was intended as a fine
tune for pointing an antenna in a zero g environment.

It seems to me the business of keeping a satellite antenna carefully oriented is very different from one mounted solidly to good ole mother earth. I presume the movement of the antenna could upset the orientation of the satellite.

If the OP is trying to design something to be used in earth orbit, I think we should be told.

It's beginning to look like yet another XY-problem.

...R

Robin2:
It seems to me the business of keeping a satellite antenna carefully oriented is very different from one mounted solidly to good ole mother earth. I presume the movement of the antenna could upset the orientation of the satellite.

If the OP is trying to design something to be used in earth orbit, I think we should be told.

It's beginning to look like yet another XY-problem.

...R

Agreed.
One has to know how the satellite is stabilized and what masses are involve.
I'm not sure what level of understanding he has of the specification in the documents.
It isn't clear what level of operation he is expecting for his project.
If he is intending to use an arduino in space, I'm not sure how space worthy they'd
be. Using one on earth is not like in orbit with, radiation, temperature extremes and no air.
If his project it just to take an arduino, give it commands to a particular angle and have
it do that, it is well within what an arduino can handle.
Dwight

Thank you all for your time & replies;

dwightthinker:
.....If he is intending to use it in a earth environment it can't support
the kind of load it was intended to use in zero g.....

.... He has asked if a arduino could be used as the uP part of the control
and I see no reason to think it couldn't. The steppers would require
appropriate buffering. Being unipolar, this could be as simple as
some N-channel power FETs.....

The idea for the project is just to get the mechanism going and measuring its response initially,
The only load on the mechanism will be a laser module, which combined with a position sensitive detector, will allow for movement assessment.

As with regards to the Arduino, my thoughts was use a frequency generator for pulse control, which would allow for movement of the motors at a given speed, then using and Arduino card coupled with the frequency control card, thus allowing for a certain number of steps to be taken by the gears on the motor, allowing for a certain pointing angle to be achieved, (i.e. used as a microcontroller), sorry if my understanding is a bit basic, this is why I wanted to ask a professional :slight_smile: (You guys)

dwightthinker:
He has misquoted one of the specs, indicating that he does not understand
mechanical units. Should he decide to use this mount he should
first understand the limitations and what they mean.

Which part exactly?

Robin2:
If the OP is trying to design something to be used in earth orbit, I think we should be told.

Just a project on demonstrating the functionality of the mechanism, on earth, at the university.
I have researched the mechanical principles on the device and have found that it uses 2 permanent magnet stepper motors, I'm at the point of trying to figure out how to manoeuvre the stepper motors while maintain accuracy (As much as possible). Getting the drive electronics unit from the manufacture is likely not possible, thus I have to create my own. This is why I am checking out which options are available out there i.e. using an Arduino.

You must have changed it because I don't see it anymore.
At one point you had the load as 50Kgm^3. Inertial load is Kgm^2.

I think you may misunderstand the two steppers.
As an example, a LASER in the center pointing straight up.
Depending on which direction, both would be running at the same
time. For one particular direction both would be running at the same
rate. Other direction would have different rates.
If you were tracking a line that didn't cross straight up, the rates
would be changing all the time.
Do note that it has sensors to limit the travel. I don't know if crashing it
off the end will damage it but you should be in control of the
motors enough to know when you are at the limits.
To understand how it works, you might consider a trip to the
hardware store and get 3 lazy susans. You can then build a safe to
use swash plate to play with.
I suspect the stepper use relatively low voltage, being made for
satellite usage. Maybe 5V to 24V someplace.
Dwight

MHADDAD:
As with regards to the Arduino, my thoughts was use a frequency generator for pulse control, which would allow for movement of the motors at a given speed, then using and Arduino card coupled with the frequency control card, thus allowing for a certain number of steps to be taken by the gears on the motor, allowing for a certain pointing angle to be achieved,

I have no idea whether that approach is or is not appropriate.

I DO know that the concept must have grown from some notion in your mind of how the machine works and which you have not shared with us.

I must be missing something fundamental because I cannot conceive of how a device intended to hold position needs to move "at a given speed". Surely the essence of the machine is that it does NOT move except in occasional small increments to correct the position?

Unless a very high frequency is required (what is the frequency?) the Arduino can probably generate step pulses without a separate frequency generator.

None of this is intended to contradict anything @dwightthinker has said.

In any case, what is the value of getting this particular machine to work compared with building an equivalent machine with familiar components?

...R

dwightthinker:
You must have changed it because I don't see it anymore.
At one point you had the load as 50Kgm^3. Inertial load is Kgm^2.

You are absolutely right, I did mistake the power. I have removed it since everyone is saying that this information is irrelevant. My apologies.

dwightthinker:
As an example, a LASER in the center pointing straight up.
Depending on which direction, both would be running at the same
time. For one particular direction both would be running at the same
rate. Other direction would have different rates.
If you were tracking a line that didn't cross straight up, the rates
would be changing all the time.

You are right, looking at the output electrical diagram, I can see that both motors are joined thus (my guess is) both plates would be turning at the same time. I have no clue how to separate the movement and is something I have to look into. My initial plan was to achieve movement (slight at-least) and then figuring out how to change the rates to achieve separate movement. like you've said the idea is still not clear enough in my head, hence why i am trying to figure all this out before the year begins.

dwightthinker:
Do note that it has sensors to limit the travel. I don't know if crashing it
off the end will damage it but you should be in control of the
motors enough to know when you are at the limits.

I thought the position sensors are only used to determine the position of the swash plates and do not have any form of input into the movement?

Robin2:
... how a device intended to hold position needs to move "at a given speed". Surely the essence of the machine is that it does NOT move except in occasional small increments to correct the position?

Unless a very high frequency is required (what is the frequency?) the Arduino can probably generate step pulses without a separate frequency generator.

Sorry, I might have miscommunicated my idea. What I mean by "moving at a given speed" is feeding it pulses at "a given frequency" (yet to be determined) and tracking its movement.
The device like you mentioned is designed to move in small increments to track its target, however my aim is to demonstrate its movement, hence i would be moving it way more than it actually might be moved in space, it is however capable of covering a wide angle so that shouldn't be a problem.

Robin2:
... what is the value of getting this particular machine to work compared with building an equivalent machine with familiar components?

That is actually a good idea, however as i was presented with the device and was told to operate it, that is my current aim, I might actually mention this idea to my professor and see what he says.

With regards to the drive card or buffer.
What information would I require to obtain a compatible drive card or a buffer for the motors? would the electrical characteristics be sufficient? or are there any universal cards out there?

By using a frequency (pulse) generator, couldn't I theoretically feed it pulses for a certain period of time and consequently achieve an unspecified angle? (without the use of an arduino and a buffer?)

I think the main reason he is using this is that it is cheap.
The schools get surplus stuff at no cost. Making a learning project
from it sounds OK. He is not actually trying to create a
product.
Dwight

MHADDAD:
I thought the position sensors are only used to determine the position of the swash plates and do not have any form of input into the movement?

That is actually a good idea, however as i was presented with the device and was told to operate it, that is my current aim, I might actually mention this idea to my professor and see what he says.

With regards to the drive card or buffer.
What information would I require to obtain a compatible drive card or a buffer for the motors? would the electrical characteristics be sufficient? or are there any universal cards out there?

By using a frequency (pulse) generator, couldn't I theoretically feed it pulses for a certain period of time and consequently achieve an unspecified angle? (without the use of an arduino and a buffer?)

The sensors sound like quadrature with mechanical switches, when I read the document.
There was the mention of an optical zero position sensor?
Looking at the drawings, the top plate has its own cable connector.
I suspect that will limit the travel but I still don't know if there are internal travel limits.

Stepper require a sequence of signals based on the direction that it is desired to travel.
The diagram shows uni-polar steppers. Each stepper would require 4 outputs to control it.
It is not just a square wave generator. Do some research on steppers. There is a lot
of information on the web. Look at some of the examples for driving steppers on this web
page but also look up the general theory of how steppers work on the web.
Most steppers also require a ramp up in speed and a ramp down at the end.
If stepping at speed and you suddenly disconnect the step power will often cause
the stepper to rotate a few more steps before stopping.
The drive for each coil can be as simple as a power FET and a diode.
I don't know if there are ready made driver boards for uni-polar steppers but the are
a several H bridge types for bi-polar.
You could drive it with a H bridge type since you are under control of how you wire the
steppers coils.
Many of these controllers have are simple as a direction signal and a step signal.
Uni-polar were from a period when such controllers required more hardware.
Complicated IC are trivial to make now days.
Either is up you. Both will require you to do some studying.

Building the simple model with 2 lazy susans will allow you to explore how the two steppers
work together.
Look at the equations in the document paper. Put degree marks on the top and bottom
with pointers on the center swash plate. You can then see how they relate to the equations
in the paper.
Have fun and keep us informed on how it is going. DO SOME RESEARCH!!
Dwight