Sina.Sattari Posted April 23, 2014 Share Posted April 23, 2014 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 More sharing options...
daves Posted May 19, 2014 Share Posted May 19, 2014 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 More sharing options...
daves Posted May 19, 2014 Share Posted May 19, 2014 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 More sharing options...
Sina.Sattari Posted May 19, 2014 Author Share Posted May 19, 2014 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 More sharing options...
mathubbard Posted November 21, 2014 Share Posted November 21, 2014 Do the auxiliary encoder inputs support: 1) Pulse and Direction inputs 2) Differential input encoder loss detection... or are they only single ended inputs? Thanks, Mat. Link to comment Share on other sites More sharing options...
mathubbard Posted November 21, 2014 Share Posted November 21, 2014 Do the auxiliary encoder inputs support: 1) Pulse and Direction inputs 2) Differential input encoder loss detection... or are they only single ended inputs? Thanks, Mat. Link to comment Share on other sites More sharing options...
steve.milici Posted November 24, 2014 Share Posted November 24, 2014 This is a very basic "auxiliary" encoder input and as such does not have an encoder loss feature. It is only for single ended quadrature encoders. It dose however have an encoder count error bit. Link to comment Share on other sites More sharing options...
steve.milici Posted November 24, 2014 Share Posted November 24, 2014 This is a very basic "auxiliary" encoder input and as such does not have an encoder loss feature. It is only for single ended quadrature encoders. It dose however have an encoder count error bit. Link to comment Share on other sites More sharing options...
mathubbard Posted November 25, 2014 Share Posted November 25, 2014 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 More sharing options...
mathubbard Posted November 25, 2014 Share Posted November 25, 2014 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 More sharing options...
steve.milici Posted November 25, 2014 Share Posted November 25, 2014 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 More sharing options...
steve.milici Posted November 25, 2014 Share Posted November 25, 2014 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 More sharing options...
steve.milici Posted November 25, 2014 Share Posted November 25, 2014 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 More sharing options...
steve.milici Posted November 25, 2014 Share Posted November 25, 2014 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 More sharing options...
Recommended Posts