Post Go back to editing

Distorted o/p in EXC_OUT Signal from EVAL-AD2S1210SDZ

I am trying to use EVAL-AD2S1210SDZ to read the angle of a resolver. But when I checked the o/p Excitation signal in CRO, I am not getting a sine signal . I am getting a clamped distorted signal.

I am using the op-amp AD8397 with 0.866 gain. 

Can someone please help me to understand why not getting the exact signal at output.

Parents
  • Hi,

    The issue on the excitation waveform resolved.

    I measured across resolver initially. Later got correct waveform by putting a high resistance.

    Now I want to know What is the maximum exciation voltage we can generate using this Board. We have a resolver which needs 4.25 Vrms exciation.

    I am using AD8397 ( LK14 to LK17 in position B) .Can you please let me know What is the maximum output voltage I can get using these configuration and How I can achieve it?

  • tpsamuel,

    If your resolver requires 4.25VRMS (differential) then that is about 6Vp (12Vpp).   The RDC swings between 7.2Vpp to 8.0Vpp differentially, natively which means you would need about 1.5x gain so the 15.4K option should be sufficient for your needs (LK10, LK12, LK14, LK16 = B),   As you are using the AD8397 path if you need a bit more gain you can always use OPTION A on LK10 and LK12 and R10 and R30 to increase the gain but you'll need to be mindful of the output limit with regards to headroom and footroom for the amplifier which roughly is 0.5V on either side with respect to the rail at 100 ohm load.  The issue is that you only have 2.5V of offset through that path.  You may be better off going through the AD8662 path to ensure distortion free operation.   The principle would be the same in that if you measured the peak output from each of EXC/EXCB you could calculate the correct gain and implement in the AD8662 stage.

    Sean

  • Hi,

    I want to use another controller like Arduino board instead of SDP control board using SPI interface.

    Can you provide more details for that.

  • tpsamuel,

    First you'll need to change LK9 to position B to select the serial interface.

    Next connect the following jumpers as follows to configure the interface for access through connector J4.

    LK1:  Position C   (Gives Software Control to SAMPLEb on J4, Connect to I/O on Arduino Board)

    LK2:  Position B:  Tie CS to ground to permanently enable AD2S1210 interface for this board.

    • OR Leave at Position C   (Gives Software Control to CS on J4, Connect to I/O on Arduino Board) if you want to connect multiple instances to the same IO port.

    LK3:  Position B   Tie RD to VDRIVE.

    LK4:  Position C   (Gives Software Control to A0 on J4, Connect to I/O on Arduino Board)

    LK5:  Position C   (Gives Software Control to A1 on J4, Connect to I/O on Arduino Board)

    Configure LK6, LK7 to the desired RESOLUTION.... You will need to match this setting when programming the part in configuration mode.

    Then connect arduino board as follows to the AD2S1210 EVB.

    J4-1 (SAMPLE):   GPIO for controlling sample 

    J4-2 (CS) If Connected GPIO for Controlling enable

    J4-3:   NO Connect

    J4-4 (WR/FSYNC):  Chip Select of SPI interface

    J4-5, J4-7 - Ground

    J4-6 - VDRIVE or Arduino VCC.

    J4-8 (SDO):  Connect to MISO of SPI Interface of Arduino Controller.

    J4-9 (SDI):    Connect to MOSI of SPI Interface of Arduino Controller.

    J4-10(SCLK):  Connect of SCLK of SPI Interface of Arduino

    J4-11(A1) Connect to GPIO for controlling mode of operation

    J4-12(A0) Connect to GPIO for controlling mode of operation


    I would also construct your code to use SPI MODE 3.

    Hope that get's you started.

    Sean

  • tpsamuel,

    What your are asking for is outside the scope of the support model for this forum.  However I can in general tell you the steps you'll need to consider based on my experience with Arduino in the past.  Please be sure to Verify you have enough I/O and resources on the NANO to do everything you need before making your purchase.

    1)  Include SPI.H header file

    2)  Define your pin connections using pinMode function.

    3) Use the Arduino SPI commands to construct write and read access functions for configuration and normal mode access.  I would recommend creating a variable called mySpiSettings of type SPISettings to pass to this function so you don't have to repeat it each time.   With regard to this please use SPI_MODE1 as I believe I misspoke in my previous recommendation. 

    4) Setup a Timer to generate an interrupt at the rate you wish to execute normal mode position/velocity reads.

    5) Setup your Main loop to do the following.

    A) configure the AD2S1210 to your desired configuration.

    B) Enable the timer and repeat for desired number of samples/forever

    If (interrupt) 

    {

     Read Measurement(s)

    }

    else 

    {

    do nothing

    }

     Sean

  • Thanks Sean.

    Can you provide the details for parallel interface also. Just want to understand that also.

    Also is it possible to use EVAL Board as standalone?

    In standalone mode, frequency will be 10kHz?

  • tpsamuel,

    For the parallel interface make the following changes to what I mentioned above.

    LK9 - No change.   Leave at position A for Parallel Mode.

    LK3 - Move to Position C and drive RD with a GPIO from the Nano board

    Move all connections for DATA I/O to J3.

    J3-1 -> DB0

    J3-16 -> DB15

    All bit assignments for the databus (DB) are in ascending numerical order.

    If you run short on I/O remember that you can access position and velocity measurements through configuration mode so you could use just DB0-> DB7 to get started.


    Sean

  • Hi 

    Can you elaborate on the last portion. how to use DB0 to DB7 for measuring position as in the datasheet it is mentioned as below

    0x80 D15 to D8 Read only
    0x81 D7 to D0 Read only

  • tpsamuel,

    The register map simply tells you which bits of the position/velocity register you are accessing when addressing register 0x80 or 0x81.   If 0x80 you are effectively outputing POSITION[15:8] to DB7-> DB0; likewise addressing 0x81 you get POSITION[7:0] output on DB7-> D0.

    Sean

  • Okay. So we need to set A0 and A1 as high for configuration mode and read the address 0x80 and 0x81 using that. No need to use Sample signal. Right?

  • Okay. So we need to set A0 and A1 as high for configuration mode and read the address 0x80 and 0x81 using that. No need to use Sample signal. Right?

Reply Children