1
\$\begingroup\$

I have a 3 phase ac servo motor. I wrote a foc algorithm suitable for this motor (I think!), but I need to determine the zero rotation angle to get the starting commutation of the rotor. I asked this question in another forum, but could not get the answer. There is a sincos encoder on the motor (SRS50). This encoder works with 8 v input voltage. and the output signal has an offset voltage of around 2.5V. output signal has 1V peak to peak voltage with 90 degree phase difference. The encoder has 1024 periods in 1 turn. There is no index output on the encoder. Below is the datasheet file. There are REFCOS, REFSIN outputs in the encoder information in the datasheette. Since REFSIN output connection is problematic, I couldn't observe it, but he could observe the RESCOS output after energizing it. According to the oscilloscope image, it has a constant 2.88V dc voltage. This is the offset value of the cos output signal I mentioned above. How do I know the zero degree position of the motor shaft? I really need your help in this matter? Thank you.

Datasheet: bergerlahr ser368/3l7ss0co

enter image description here

\$\endgroup\$
1
\$\begingroup\$

If you were using the Resolver version, it would simply be when the amplitude of the SIN output was 0 and the COS amplitude was peak. Demodulate these using REF as a reference carrier.

With the sensor you have, clearly it does some processing which will be documented elsewhere. So find that document and consult it. It may be that the SIN and COS outputs work as though they came from a resolver and REFSIN/REFCOS are the DC components (compare with SIN/COS to find zero crossings etc) but without the databook that is mere speculation.

It may also be there is a direct positional indication on the RS485 outputs, in which case it's easier to use that instead.

As the datasheet says,

For more information see www.stegmann.de

\$\endgroup\$
0
\$\begingroup\$

If you energize the motor in a certain vector Va and Vb, it will align itself somewhat like a stepper motor to a consistent electrical angle. Depending on how many poles the motor has, it might turn up to 1/4 turn. Some applications can handle this much unknown movement, some cannot. You'll have to either use something like this, or use battery powered encoder circuitry so that you never lose the home position.

\$\endgroup\$
0
\$\begingroup\$

How do I know the zero degree position of the motor shaft?

You don't. And you can't.

Since REFSIN output connection is problematic, I couldn't observe it,

And there's your problem. Well, one of them. I have no idea how you are exciting the servo windings, or even if you are exciting them. The three servo windings are excited at a common frequency, with different amplitudes which represent a phase shift of the driving voltage between the three. The interaction of the three windings causes the winding to assume a particular shaft angle.

In this process, there is no such thing as a "reference zero angle". If you want to choose a particular winding a representing zero degrees you can do that, but you can do exactly the same with the other two windings.

Then, there is the question of how you attach your load to the motor shaft. Although there is a flat on the shaft, there is no guarantee that this will represent a zero mark on your final system.

Finally, even if you do decide on the format for your position, a sin/cos encoder requires both sin and cos to work. Your 2.88 volts may (and may not) represent a trigonometric zero from the encoder, but without the sine channel there is no way to be certain. For that matter, if you are assuming 2.88 is close enough to the 2.5 volt bias, this corresponds to +/- 90 degress for the cosine function - look it up. And without the sine channel it could be either one.

The first thing you need to do is get the sine channel connected and working. Next, you should apply a drive that gets the shaft spinning, then monitor both encoder channels. You need to determine the upper and lower limit of each channel, and the average of the two will determine your exact zero level.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.