This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LMP90100 Output Data Rate

Other Parts Discussed in Thread: LMP90100

Hello,

I am using a LMP90100 to take some current and voltage readings.  The problem is that my amperage reading is not stable enough.  At 5A and above we would like a tolerance of .2% and below 5A we would like to be at +/- 10mA.  One of the methods I was looking into to improve the stability was to change the Output Data Rate(ODR) from 212SPS to ~13SPS.  According to the data sheet this should have resulted in 50Hz/6-Hz noise rejection.  However, when I changed the ODR the single was nosier than before.  I have included a sample of my initialization code below.  Variables that are all caps are constants from the data sheet. If you need specific values of the constants or any more information please ask.

Thanks in advance,

John Barksdale

void LMPInit(void){
  unsigned long calreg[3];
  unsigned int ch_scan_reg_config;  // Channel Scan Config
  unsigned int ch0_inputcn_config;  // CH0 Input Control Config
  unsigned int ch1_inputcn_config;  // CH1 Input Control Config
  unsigned int ch0_configuration;
  unsigned int ch1_configuration;

  // Set up config words
  ch_scan_reg_config = (CH_SCAN_SEL_MODE3 | LAST_CH_CH1 | FIRST_CH_CH0);
  ch0_inputcn_config = (BURNOUT_EN | VREF_SEL_1 | VINP_VIN0 | VINN_VIN1);
  ch1_inputcn_config = (BURNOUT_EN | VREF_SEL_1 | VINP_VIN2 | VINN_VIN3);
  ch0_configuration = (ODR_SEL_13SPS | GAIN_SEL1 | BUFF_EN);
  ch1_configuration = (ODR_SEL_13SPS | GAIN_SEL1 | BUFF_EN);

  // Setup LMP90100
  WriteLMP(RESETCN_REG, REGRST_CMD, SIZE_1B);
  WriteLMP(CH_SCAN_REG, ch_scan_reg_config, SIZE_1B);
  WriteLMP(CH0_INPUTCN, ch0_inputcn_config, SIZE_1B);
  WriteLMP(CH0_CONFIG, ch0_configuration, SIZE_1B);
  WriteLMP(CH1_INPUTCN, ch1_inputcn_config, SIZE_1B);
  WriteLMP(CH1_CONFIG, ch1_configuration, SIZE_1B);
}// LMP90100 Initialization

  • For some clarification I am measuring the current as a voltage reading across a shunt.  Also i guess the main thing I am curious about is if I am setting up the chip right or if there is some special order I have to initialize things in?

    Thanks,

    John Barksdale