Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
24-bit counter position
#1
Setup: new 4-axis Geobrick, 2100 line BEI differential encoder on Encoder Input 1.

$$$***
Turn encoder, watch M101->X:$078001,0,24,S, looks fine.

Now I200=1, leave encoder on Input 1, and M201 now counts to minus infinity when I turn encoder, but M101 seems fine.

I300=1, leave encoder on Input 1, M301 counts randomly up all the time.

^K does not stop the counting on M301.

Put encoder on Input 2, turn encoder and M201 seems fine but M101 fluctuates +-1 count and M301 counts randomly up.

Now $$$*** (so that I200=0), turn encoder, and M101 fluctuates randomly +-1 count.

Two questions:

1) Is this normal? I'm kind of surprised. I don't right off see anything about this in Turbo SRM, or a warning about doing this, or what might happen. I might have guessed the 24 bit counters would stay zero without a working encoder on them, regardless of whether the motor activation control is 0 or 1, or what other encoders are doing. Turbo SRM says if activated monitoring is performed for the motor, but it doesn't say if not activated the registers are random numbers. I don't recall seeing this behavior on my 2007 Geobrick, but I don't have it with me right now - I don't know where it is between here and Chatsworth. And I'm surprised that, given something weird happens, the weirdness is different between M201 and M301. I mean, inconsistent weirdness is weirdness^2. Anyway, is this the way it is for everybody, or is my Geobrick faulty?

2) With respect to this encoder behavior, if I'm closing the position loop for motor 3 using encoder Input 4 (and using encoder Input 3 for velocity and commutation), do I need to I400=1? Or will putting a working encoder on input 4 suffice? Now I'm worried that Ixx00 has something to do with encoders, and has to be activated for them to work correctly.

#2
jwkuehne,

What you have discovered is not anything unexpected. What you are observing is the noise on floating encoder inputs. Under normal circumstances where you use an encoder there is no random behavior on encoder capture registers. I think this explains the difference you were observing between channels 2 and 3.

Also please note that the encoder inputs in Brick family of products is designed for differential signals. In order to use single-ended encoders, user must ground the complementry inputs to ground using 1K to 3K resistors.

I hope this explains what you were observing and answers your questions.

Regards,
Sina Sattari
Hardware Engineering Manager
Delta Tau Data Systems, Inc.
#3
Thanks for the quick response.

For those of us weak in the heart, and just a a few days out from an engineering run who see frightening counts appear that aren't really there, could we get a sentence inserted into TURBO SRM for IXX00

"When no encoder is attached to an input and Ixx00=1, the value of the corresponding 24-bit position register is indeterminate and may fluctuate randomly."

There might be conditions where you need to activate a motor, but you aren't using an encoder, e.g. direct microstepping of a 3-phase induction motor. In this case, you don't want engineers gasping in horror and dropping dead from a heart attack.

-J
#4
We can add it to the list of manual corrections. No problem.

The position and velocity pointers in direct micro-stepping, or other similar usage (not requiring the presence of an actual encoder) are steered away, which should alleviate panic attacks.


Forum Jump:


Users browsing this thread: 1 Guest(s)