Post Go back to editing

AD7734 AD7732 calibration procedures

Category: Software
Product Number: AD7734 AD7732

Hi

May I know calibration procedure for AD7734 and AD7732? I still cannot figure out how to calibrate them.. Please tell me how to do step by step in software? Or you have software examples?

Best Regards

Thanks

Parents
  • Hi

    full-scale voltages need to apply is 10V or -10V for AD7734? I am not sure about this. Can you explain me a bit easy way of step-by-step instructions on how to do per channel and self-calibration?

    Best Regards

  • Hi, 

    I thought the attached link provided the step you are looking for. Hopefully i can make it simpler with these steps below. 

    If both self-calibration and system calibration are used in the system, an ADC full-scale self-calibration should be performed first, followed by a system calibration cycle. 

    Please take note that only one channel can be active during calibration, you can repeat the procedure when multiple channels are being used. It is also recommended to perform a reset upon initialization by writing 32 1s. Read back all register values to ensure that they are all at default upon power up. 

    Self-Calibration

    It is strongly recommended not to change the ADC full scale register. Thus, for self-calibration a zero-scale self-calibration is only performed. To perform this, follow the steps below.  

    1. Configure the registers based on selected channel target configuration (i.e., enable, input range, conversion time). All other channels are disabled. You can readback the registers to make sure it was written correctly.
    2. Connect the negative input terminal of selected channel to a valid common mode (e.g., 0V or GND)
    3. Perform ADC Zero-Scale Self Calibration Mode. Write the relevant value to the mode register. 
    4. Wait for completion. You can either check the RDY bits in the status register, or monitor the /SYNC pin or wait until the ADC reverts to idle mode (you can also check this by reading the mode register)
    5. Read the ADC zero-scale calibration register and check that the coefficient/value have changed from default value. 
    6. When calibration is complete, set the mode register to the required mode (e.g., continuous conversion mode or system calibration mode)

    Per channel system calibration. 

    1.  Configure the registers based on selected channel target configuration (i.e., enable, input range, conversion time). All other channels are disabled. You can readback the registers to make sure it was written correctly.
    2. Apply a fully settled zero scale voltage to the selected analog input channel (e.g., 0V)
    3. Perform Channel Zero-Scale System Calibration Mode. Write the relevant value to the mode register. 
    4. Wait for completion. You can either check the RDY bits in the status register, or monitor the /SYNC pin or wait until the ADC reverts to idle mode (you can also check this by reading the mode register)
    5. Read the Channel Zero-Scale System register and check that the coefficient/value have changed from default value. 
    6. When channel zero-scale system calibration is complete, removed the zero-scale input (0V) and apply a full-scale voltage to the selected channel (i.e., +10V, +5V depending on selected input range)
    7. Wait for completion. You can either check the RDY bits in the status register, or monitor the /SYNC pin or wait until the ADC reverts to idle mode (you can also check this by reading the mode register)
    8. Read the Channel Full-Scale System register and check that the coefficient/value have changed from default value. 
    9. When calibration is complete, set the mode register to the required mode (e.g., continuous conversion mode)

    After performing the system calibration you should see that your applied zero scale voltage or full scale voltage will corresponds to the code while the rest of the voltage level will be scaled accordingly. 

    Thanks,

    Jellenie

  • Hi

    So for Per channel system calibration, Channel Zero-Scale System register values should be read and stored it somewhere for calibration purpose? Or they are automatically updated in AD7734/AD7732 registers and no need to apply calibration offsets in microcontroller? if offset values are needed to apply, what formula should I use in microcontroller for calibrated output? Register is volatile? why dont you guys make calibration at test machine?

    Best Regards

    scale

  • Hi 

    The ADC automatically applies these corrections to the ADC conversions; therefore, the customer does not have to worry about these coefficients. From a customer perspective, the standard equation to convert codes to volts. 

    I think the purpose of reading of the registers value is first to check that it was updated and that the calibration was performed successfully. Then second is you can store it and write it directly so you do not need to perform this all over again once your registers was reset to default values due to some circumstances or if you are operating across different temperatures,you can just perform one time calibration for each temp then update the coefficients accordingly.   

    Thanks,

    Jellenie

  • Hi

    Do I need to apply formula Data = ((ADC result – ADC ZS Cal. reg.) ×
    ADC FS Reg./400000h + 800000h – Ch. ZS Cal. reg.)
    × Ch. FS Cal. reg./200000h for adc conversion after each channel is read? so AD7734 will automatically do formula calculation? Do I need to store calibration values for self and per channel calibration? Every time AD7734 is switch off and on from MCU, do I need to reload self and zero calibration data?

    Best Regards

  • Hi

    short AI0 to ground in AD7734.

    After reading initial self zero calibration, reading register gives default value of 0x00800000 and do self calibration by writing mode register with address 0x38 and 0x82 (register value). after that I read back self zero calibration register and it gives value of 0x007FF5D2. Then I switch off the power of mcu, and then switch on power again and register content of self zero calibration is again 0x00800000. so we need to store content of self calibration register in eeprom or other non-volatile memory and need to write value every time mcu is power on? Please reply back to me.

  • is

    Hi

    for +/-5V range, for channel zero system calibration, I should use 0V or -5V?

    Best regards

  • Hi, 

    You should use 0V. 

    Thanks,

    Jellenie

  • Hi, 

    Yes, the ADC applied the formula internally. 
    Yes, upon power up or after performing reset the register values will reset at default values. So if you do not want to perform calibration again then you can store your coefficients and reload it. Please take note that it is only applicable with the same setup (same channel, gain, polarity, speed, temperature, etc.). 

    Thanks,

    Jellenie

Reply
  • Hi, 

    Yes, the ADC applied the formula internally. 
    Yes, upon power up or after performing reset the register values will reset at default values. So if you do not want to perform calibration again then you can store your coefficients and reload it. Please take note that it is only applicable with the same setup (same channel, gain, polarity, speed, temperature, etc.). 

    Thanks,

    Jellenie

Children
No Data