Post Go back to editing

AD7190 and AD7192 Not respond when input voltage is negative(change polarity from + to- ) in Bipolar mode

Category: Hardware
Product Number: AD7190

Hi dears

Im trying to drive and use AD7190 or AD7192

When input voltage (on AIN1 &AIN2 or AIN3&AIN4 ) is positive all thing is right but when polarity of input changed to negativ, output of AD719x innot responding until input voltage polarity goto positive and re reconfigoration AD719x.

please help me to solve my problem.

thank you.

Edit Notes

AD7190
[edited by: AbarNic at 3:40 AM (GMT -5) on 21 Nov 2023]

Thread Notes

  • $regfile = "m128def.dat"
    $crystal = 11059200
    $hwstack = 128
    $swstack = 128
    $framesize = 128
    '*******************************************************************************
    $lib "glcdKS108.lbx"
    $lib "glcdsed.lbx"
    Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 7 , Ce2 = 3 , Cd = 6 , Rd = 4 , Reset = 2 , Enable = 5
    
    '-----------------------Pins alias -----------------------------
    
    Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
    Polarity = Low , Phase = 0 , Clockrate = 128 , Noss = 0
    
    Spiinit
    '******************************************************************8
    Data_ready Alias Pinb.3
    
    Set Portb.3
    C_s Alias Portd.7
    Sync Alias Portb.4
    
    Buz Alias Portg.4
    
    
    Led1 Alias Porte.0
    Led2 Alias Porte.1
    
    Config Led1 = Output
    Config Led2 = Output
    
    Config Data_ready = Input
    Config Sync = Output
    Config C_s = Output
    Config Buz = Output
    
    Dim Ad_data(5) As Byte
    Dim Data_t(5) As Dword
    
    Dim D(4) As Byte
    Dim Reset_reg As Byte
    Dim Reg As Byte
    Dim cnt As Byte
    Dim Mode_reg As Byte
    Dim COM_WRITE_CONFIG_REG_CMD As Byte
    Dim COM_WRITE_MODE_REG_CMD As Byte
    Dim COM_WRITE_GPCON_RED_CMD As Byte
    Dim COM_READ_CONFIG_REG_CMD As Byte
    Dim COM_READ_STATUS_REG_CMD As Byte
    Dim COM_READ_MODE_REG_CMD As Byte
    Dim COM_READ_DATA_REG_CMD As Byte
    Dim COM_READ_GPCON_REG_CMD As Byte
    Dim COM_READ_ID_REG_CMD As Byte
    Dim COM_READ_OFFSET_REG_CMD As Byte
    Dim COM_READ_FULL_SCALE_REG_CMD As Byte
    Dim FS_100_HZ As Byte
    Dim FS_1200_HZ As Byte
    Dim FS_960_HZ As Byte
    Dim FS_2400_HZ As Byte
    Dim CONFIG_REG_CMD_MSB As Byte
    Dim CONFIG_REG_CMD_MID As Byte
    Dim CONFIG_REG_CMD_LSB As Byte
    Dim MODE_REG_CMD_MSB As Byte
    Dim MODE_REG_CMD_MID As Byte
    Dim MODE_REG_CMD_LSB As Byte
    Dim COMM_REG_CREAD As Byte
    
    Dim Data_reg As word
    Dim Cur As Word
    
    ' Commands to write to specific registers
    COM_WRITE_CONFIG_REG_CMD = &H10
    COM_WRITE_MODE_REG_CMD = &H08
    COM_WRITE_GPCON_RED_CMD = &H28
    ' Commands to read from specific registers
    COM_READ_CONFIG_REG_CMD =  &H50
    COM_READ_STATUS_REG_CMD = &H40
    COM_READ_MODE_REG_CMD = &H48
    Com_read_data_reg_cmd = &H58
    Com_read_gpcon_reg_cmd = &H68
    COM_READ_ID_REG_CMD = &H60
    COM_READ_OFFSET_REG_CMD =  &H70
    Com_read_full_scale_reg_cmd = &H78
    ' Sampling Rates
    FS_100_HZ =  &H30
    Fs_1200_hz = &H04
    Fs_960_hz = &H05
    Fs_2400_hz = &H02
    
    'Register settings commands for Configuration Register
    Config_reg_cmd_msb = &H00
    Config_reg_cmd_mid = &H01
    
    'May have to change Gain depending on input signal voltage
    'See Table 19 in AD7190 datasheet for more information
    Config_reg_cmd_lsb = &H00
    
    ' Register settings commands for Mode Register
    Mode_reg_cmd_msb = &H08
    Mode_reg_cmd_mid = &H00
    Mode_reg_cmd_lsb = Fs_100_hz
    
    ' Read the data register continously and place the data on DOUT
    COMM_REG_CREAD = &H5C
    
    '-----------------------------------------------------------------
    Setfont Font8x8
    Set Led1
    Set Led2
    '************************ Sendig Configurations Data To Registers ************************
    Ad7190:
    
    Set C_s
    Set Sync
    
    Cls
    
    C_s = 0 : Waitms 2
    Reset_reg = &HFF
    
    For Cnt = 0 To 5
    Spiout Reset_reg , 1
    Next
    
    Wait 1                                                      'wait 1 second
    
    'AD7190_configure
    Spiout COM_WRITE_CONFIG_REG_CMD , 1
    Spiout CONFIG_REG_CMD_MSB , 1
    Spiout CONFIG_REG_CMD_MID , 1
    Spiout CONFIG_REG_CMD_LSB , 1
     Waitus 10
    'AD7190_mode
    Spiout Com_write_mode_reg_cmd , 1
    Spiout Mode_reg_cmd_msb , 1
    Spiout Mode_reg_cmd_mid , 1
    Spiout MODE_REG_CMD_LSB , 1
                                                 'fs
    Waitms 1
    '*****************************************************************************************
    
    Do
    
    
    
          Reg = Com_read_data_reg_cmd : Spiout Reg , 1
    
          Bitwait Data_ready , Reset
    
    
          Spiin Ad_data , 3
    
          Data_t(1) = Ad_data(1) * 65535
          Data_t(2) = Ad_data(2) * 255
          Data_t(2) = Data_t(1) + Data_t(2)
    
          Data_t(2) = Data_t(2) + Ad_data(3)
    
    
          Lcdat 7 , 1 , "d:" ; Data_t(2) ; "       "
    
          Waitms 200
    
    Loop
    
    
    $include "Font8x8.font"

  • Hi  ,

    I see that your comments have been verified. Have you resolved your issue?

    Regards,

    JC

  • Hi Dear 

    thank you for reply

    No, unfortunately it has not been resolved yet.
    Thank you for helping to solve this problem.

  • Hi  ,

    For additional info, when you say that the AD719x is not responding on negative input, what is the output code of the ADC?

      will be supporting you in your queries.

    Regards,

    JC

  • I have used S type load cell
    When the direction of the force is downward, everything is fine, but when the direction of the force is upward, as soon as the polarity of the output voltage of the load cell changes, the AD7190-92 Not responding.
    This happens when I use bipolar mode, but when I use unipolar mode, everything is ok , but that doesn't help me, because I can't read the negative voltage (pullup force).
    I need to use bipolar mode to read pullup force.

    Thanks to anyone who can help me solve this problem.

  • Hi Dear JC 

    the Data_ready pin go high and stay High.

  • Hi  ,

    Regarding your Data_ready pin on not going low, could you please try referring to number 11 of this FAQ: (+) Digital Interface FAQ - Sigma Delta ADC - Q&A - Precision ADCs - EngineerZone (analog.com) and see if it solves your problem? If not, kindly let us now as we will try on a different approach in solving your issue. 

    Thanks and regards,

    Rod

  • Hi Rod

    Thank you

    No matter what I do, as soon as the polarity of the input voltage (AIN1 AIN2 or AIN3 AIN4)becomes negative (in bipolar mode) the AD7190/92 stops working. Even when the IC is turned on for the first time, if the polarity of the input voltage is negative, the IC will not work.

    Regards

    Mori

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.