Jump to content
OMRON Forums

Additional Quadrature inputs for ACC-24E3 (or any DSPGate3 Servo product)


Sina.Sattari
 Share

Recommended Posts

On each ACC-24E3, either with Digital or Sinusoidal Feedback options channel can accept quadrature signal on input lines A, B and C (or their equivalent Sin, Cos and Index on Sinusoidal feedback interface). In addition, a second quadrature encode can be connected to each channel on U,V,W & T lines. This quadrature input does not support index or C-flag input and shares the input lines with Hall sensor input and serial encoder inputs. This extra quadrature input without index signal can be very useful in implementing dual feedback without a need for an additional servo channel.

 

Here are the settings to get this extra quadrature input working:

 

1. Set Gate3.SerialEncCtrl=$F400000(Default value)

2. Set Gate3.Chan[j].SerialEncEna=0 (Default value)

3. Read the quadrature counter from Gate3.Chan[j].SerialEncDataA. (it has 8 bits of 1/T fractional counts). You can use EncTable[x].Type=1 to read this location with an EncTable[x].ScaleFactor=1/256

 

EncTable[x].Type=1

EncTable[x].pEnc=Gate3.Chan[j].SerialEncDataA.a

EncTable[x].pEnc1=sys.pushm

EncTable[x].index1=0

EncTable[x].index2=0

EncTable[x].index3=0

EncTable[x].index4=0

EncTable[x].ScaleFactor=1/256

 

4. If you want to reset the 24-bit quadrature counter set bit 10 of Gate3.Chan[j].SerialEncCmd to 1 (logical or with a value of $400).

5. If you want to switch the counting direction change bit 11 of Gate3.Chan[j].SerialEncCmd 6. If you want to check for encoder count error flag, check bit 31 of Gate3.Chan[j].SerialEncDataB

Link to comment
Share on other sites

  • 4 weeks later...
  • Replies 13
  • Created
  • Last Reply

Top Posters In This Topic

I can't get this to work. I don't yet know if it is the cable I have had made up. But here are some points I observed from this post:

 

1. Set Gate3.SerialEncCtrl=$F4000000 (Default value)

 

After I full reset my gate3's have default values of $F400000 not $F4000000.

 

I assume you need to set Sys.WpKey = $AAAAAAAA; in script to change this to whichever is correct? (Neither work for me). It would be useful to state this (for newbies to gate3 like me)

 

2. Set Gate3.SerialEncEna=0 (Default value)

 

This does not exist so I used Gate3.Chan[j].SerialEncEna=0. I assume this is correct?

 

3. Read the quadrature counter from Gate3.Chan[j].SerialEncDataA.

 

Mine sits on 255.

 

Are there any other setup parameters I could be missing?

 

My first suspicion lies with the cable as bit 31 of Gate3.Chan[j].SerialEncDataB is set, but I wanted to make sure the setup was right before I make an enemy of the electrician who soldered it up!

Link to comment
Share on other sites

Right, it was the cable. I now have some feedback. All seems to work except the error bit is always 1, how do I prevent this?

 

Should the description of zeroing the counter say to set bit 10 rather than make equal to $400 (you lose other bits e.g. the $800 reverse direction bit)?

Link to comment
Share on other sites

Right, it was the cable. I now have some feedback. All seems to work except the error bit is always 1, how do I prevent this?

 

Should the description of zeroing the counter say to set bit 10 rather than make equal to $400 (you lose other bits e.g. the $800 reverse direction bit)?

 

hi Daves,

 

You are correct. The description will be corrected to say set bit 10 to reset the counter, rather than setting the whole word to a value.

Link to comment
Share on other sites

  • 6 months later...

Steve - is there any chance of adding pulse/direction in a future variant?

 

[in our products, we currently use "spare encoder" channels for connections to tacho devices fitted to car wheels to measure individual wheel rotational rates. On a TurboUMAC system we have to fit an additional stepper card into the system to do this. We had hoped to be able to use these additional inputs to do it instead which would make the product more desirable to our customers.]

 

Thanks - Mat.

Link to comment
Share on other sites

Steve - is there any chance of adding pulse/direction in a future variant?

 

[in our products, we currently use "spare encoder" channels for connections to tacho devices fitted to car wheels to measure individual wheel rotational rates. On a TurboUMAC system we have to fit an additional stepper card into the system to do this. We had hoped to be able to use these additional inputs to do it instead which would make the product more desirable to our customers.]

 

Thanks - Mat.

Link to comment
Share on other sites

Correction - the ACC-24E3 is differential on the auxiliary encoders.

SENCDAT+/- to: A+/-

SENCCLK+/- to: B+/-

 

As far a adding some of the more advanced features of the primary Gate3 channels - this would require significant redesign of the gate structure. We do plan on adding new serial encoder formats and options in the future.

Link to comment
Share on other sites

Correction - the ACC-24E3 is differential on the auxiliary encoders.

SENCDAT+/- to: A+/-

SENCCLK+/- to: B+/-

 

As far a adding some of the more advanced features of the primary Gate3 channels - this would require significant redesign of the gate structure. We do plan on adding new serial encoder formats and options in the future.

Link to comment
Share on other sites

The DSPGATE3 IC can generate an interrupt to the processor on a hardware position-capture. This ISR can be invoked on this highest-priority interrupt. Now if your “tach” is a simple once per rev sensor you could wire this to any other channel's unused trigger input and set up to trigger on this and it should be fast enough to count the pulses in an ISR routine.
Link to comment
Share on other sites

The DSPGATE3 IC can generate an interrupt to the processor on a hardware position-capture. This ISR can be invoked on this highest-priority interrupt. Now if your “tach” is a simple once per rev sensor you could wire this to any other channel's unused trigger input and set up to trigger on this and it should be fast enough to count the pulses in an ISR routine.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share


×
×
  • Create New...