AD7191
Production
The AD7191 is a low noise, complete analog front end for high precision measurement applications. It contains a low noise, 24-bit sigma-delta (Σ-Δ) ADC...
Datasheet
AD7191 on Analog.com
AD7192
Production
The AD7192 is a low noise, complete analog front end for high precision measurement applications. It contains a low noise, 24-bit sigma-delta (Σ-Δ) analog...
Datasheet
AD7192 on Analog.com
AD7190
Production
The AD7190 is a low noise, complete analog front end for high precision measurement applications. It contains a low noise, 24-bit sigma-delta (Σ-Δ) analog...
Datasheet
AD7190 on Analog.com
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.
Moved from High-Speed ADCs to Precision ADCs on Saturday, November 18, 2023 3:22:48 PM by AbarNic
$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"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 AbarNic ,
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