Jump to content
OMRON Forums

External time base with analog feedback


Recommended Posts

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

The analog (sinusoidal) encoder card can take 5V digital signals and process them properly.


Thanks Curt - I now know it's possible!


I've been trying to setup the pulse counter by inputting it into SENCDAT+- and trying to use it as a quadrature encoder (30khz 50% duty cycle)- The following have been set but I do not see ACC24E3[1].Chan[2].ServoCapt increasing.


//setup pulse on Chan[2] for external timebase

ACC24E3[1].SerialEncCtrl = 0; //Quadrature interface

ACC24E3[1].Chan[2].EncCtrl = 0;

Acc24E3[1].Chan[2].TimerMode = 0;

ACC24E3[1].Chan[2].SerialEncCmd = 0;

Acc24E3[1].Chan[2].SerialEncEna = 1;


//External timebase setup

EncTable[3].type=1; //Single-register read conversion

EncTable[3].pEnc = Acc24E3[1].Chan[2].ServoCapt.a; //Combind pos reg

EncTable[3].index1 = 0; //No left shift

EncTable[3].index2 = 0; //No right shift



EncTable[3].ScaleFactor = 1/(256*30) //for 1ms timebase


I'm not even sure you can input a single pulse in the quadrature encoder for it to start counting incrementally. Also the manual hinted that you should be able to do this through the SIN/COS inputs but I have not worked that out yet.

Link to comment
Share on other sites

A few points:


The main encoder interface on a hardware channel has the ability to accept and count a single pulse train instead of quadrature. This can be done with Gate3.Chan[j].EncCtrl, setting a value for either pulse-and-direction or pulse-up/pulse-down input instead of the default quadrature setting.


The serial encoder input for the channel can be used for quadrature if SerialEncEna is 0 (note that you did not do this), but not for single pulse counting. You would see the count value toggling back and forth a single count (in SerialEncDataA, not ServoCapt) if you fed it a single toggling pulse.


As to signal levels: the sine encoder inputs on these cards use the same differential line driver input ICs as the serial encoder inputs, and as the quadrature encoder inputs on other cards. The sine encoder input lines do not have pullup resistors, and the lines also drive A/D converters through op-amp networks. Even at the 1Vpp analog levels, the receivers create digital quadrature signals into the ASIC counter. If you feed it 5V digital pulses, these will pass through the receivers properly into the ASIC as well. The A/D converter circuits will be saturated, but not damaged.

Link to comment
Share on other sites

Thanks - I got it working (almost) - The signal was placed on the SIN input and the following register set: Acc24E3[1].Chan[2].EncCtrl = 13


1) It would not count using a TTL/CMOS square wave - I suspect the 220 Ohm termination packs may have something to do with this but I need to think about that - I possibly need a driver before the PMAC.

2) Using a standard 50 Ohm output on a function generator (1Vpp square wave) worked fine.


I also wanted to clarify the serial encoder settings as the manual differs to your suggested settings - Can I confirm that if you wanted to use the serial encoder input as a supplemental quadrature encoder then as per the manual


gate.SerialEncCtrl = 0

gate.chan[j].SerialEncEna = 1 //difference here

Link to comment
Share on other sites

Ah, the Acc-24E3 manual is incorrect in this regard. (The main Power PMAC manuals are correct.) My apologies.


The choice of disabling the serial encoder interface and using the pins for quadrature interface is done on a per-channel basis by setting Gate3.Chan[j].SerialEncEna to 0.

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...