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.

LDC1612: Register Configuration

Part Number: LDC1612
Other Parts Discussed in Thread: LDCCOILEVM,

Hello,

Posting on behalf of customer:

I am trying to connect the LDC1612 with an Arduino. I am able to connect to it but I don’t have any values change when I move the handle. Could you verify that I am setting up the configuration registers correctly?

We are using channel 0 on the dev board.

  writeConfig(LDC, 0x14, 0x10, 0x02);//CLOCK_DIVIDERS_CH0

  writeConfig(LDC, 0x1E, 0x90, 0x00);//DRIVE_CURRENT_CH0

  writeConfig(LDC, 0x10, 0x00, 0x0A);//SETTLECOUNT_CH0

  writeConfig(LDC, 0x08, 0x04, 0xD6);//RCOUNT_CH0

  writeConfig(LDC, 0x15, 0x10, 0x02);//CLOCK_DIVIDERS_CH1

  writeConfig(LDC, 0x1F, 0x90, 0x00);//DRIVE_CURRENT_CH1

  writeConfig(LDC, 0x11, 0x00, 0x0A);//SETTLECOUNT_CH1

  writeConfig(LDC, 0x09, 0x04, 0xD6);//RCOUNT_CH1

  writeConfig(LDC, 0x16, 0x10, 0x02);//CLOCK_DIVIDERS_CH2

  writeConfig(LDC, 0x20, 0x90, 0x00);//DRIVE_CURRENT_CH2

  writeConfig(LDC, 0x12, 0x00, 0x0A);//SETTLECOUNT_CH2

  writeConfig(LDC, 0x0A, 0x04, 0xD6);//RCOUNT_CH2

  writeConfig(LDC, 0x17, 0x10, 0x02);//CLOCK_DIVIDERS_CH3

  writeConfig(LDC, 0x21, 0x90, 0x00);//DRIVE_CURRENT_CH3

  writeConfig(LDC, 0x13, 0x00, 0x0A);//SETTLECOUNT_CH3

  writeConfig(LDC, 0x0B, 0x04, 0xD6);//RCOUNT_CH3

  writeConfig(LDC, 0x19, 0x00, 0x00);//ERROR_CONFIG

  writeConfig(LDC, 0x1B, 0x02, 0x0C);//MUX_CONFIG

  writeConfig(LDC, 0x1A, 0x16, 0x00);//CONFIG

Thank you,

Keith

  • Hi Keith,

    I need  a little more info to be able to help you. What's the application? You will need to provide me more details about the inductive coil they are using.

    As an FYI we have a LDC Configuration tool that will spit out LDC1x1x config registers based on  a coil design. This tool can be found here.

    Regards,

    Varn.

  • Hello Varn,

    As Keith mentionned we are using the above setup currently.

    We began testing with the LDC1612EVM module with the "E" coil from the LDCCOILEVM board. Using the software that came with the LDC1612EVM module we got very good results using the default configuration of the software. Channel 0 was used on the board. I now broke off the tab containing the microcontroller and am attempting to connect to the sensor using an Arduino Uno.

    I can connect to the module but nothing changes values wise when I move the target over the coil which worked before.

    Wanted to know if there is a specific order that the registers must be written and if I am missing something on the configuration side of things.

    Thanks,
    Tom
  • Hi Keith and Tom,

    What cap value are using with Coil E, I would recommend something like 100 pF for that coil. Here are the optimized settings for that coil and cap config:

    LDC1612 Register Configuration
    Register Address Setting
    RCOUNT_CH0 0x08 0x0946
    RCOUNT_CH1 0x09 0x0946
    RCOUNT_CH2 0x0A DNC
    RCOUNT_CH3 0x0B DNC
    OFFSET_CH0 0x0C 0x0000
    OFFSET_CH1 0x0D 0x0000
    OFFSET_CH2 0x0E 0x0000
    OFFSET_CH3 0x0F 0x0000
    SETTLECOUNT_CH0 0x10 0x0006
    SETTLECOUNT_CH1 0x11 0x0006
    SETTLECOUNT_CH2 0x12 DNC
    SETTLECOUNT_CH3 0x13 DNC
    CLOCK_DIVIDERS_CH0 0x14 0x1001
    CLOCK_DIVIDERS_CH1 0x15 0x1001
    CLOCK_DIVIDERS_CH2 0x16 DNC
    CLOCK_DIVIDERS_CH3 0x17 DNC
    CONFIG 0x1A 0x1600
    MUX_CONFIG 0x1B 0x820D
    RESET_DEV 0x1C 0x0000
    DRIVE_CURRENT_CH0 0x1E 0xB000
    DRIVE_CURRENT_CH1 0x1F 0xB000
    DRIVE_CURRENT_CH2 0x20 DNC
    DRIVE_CURRENT_CH3 0x21 DNC

    In addition, it is preferred if you put the device in to sleep mode before programming any of the channel config values. When the LDC powers up, it enters into Sleep Mode and will wait for configuration. Once the device is configured, exit Sleep Mode by setting CONFIG.SLEEP_MODE_EN to b0.

    Let us know if this resolves the issue. I am assuming that you able to establish i2c comm. with the device. Have you read the STATUS registers to determine if the device is reporting any errors?


    Regards,

    Varn.