Other Parts Discussed in Thread: TMS320F28069M
I'm using the LDC1612, attached to the TMS320F28069M C2000 MC, and I have the LDC module connected to the M coil from the LDC reference coils.
I'm communicating with the module through an I2C communication, and I am able to read and write data no problem, except that when I move my metal target either away from or towards the sensor, there is no corresponding change on the output code for that channel. I'm reading the data approximately every 1.5 seconds, with the quickest read-time being ~.75 seconds. Yet, I see large distances (during which there was constant movement of the target) where the LDC data register does not change at all.
The target is an aluminum plate roughly 5 times larger than the sensor, and at it's farthest position it is ~3.05mm away, and closest at 1.95mm. As per the Configuration design spreadsheet provided by TI, I configured the module with the following settings:
Register | Address | Setting |
RCOUNT_CH0 | 0x08 | 0x131E |
RCOUNT_CH1 | 0x09 | 0x131E |
OFFSET_CH0 | 0x0C | 0x0000 |
OFFSET_CH1 | 0x0D | 0x0000 |
SETTLECOUNT_CH0 | 0x10 | 0x0021 |
SETTLECOUNT_CH1 | 0x11 | 0x0021 |
CLOCK_DIVIDERS_CH0 | 0x14 | 0x1001 |
CLOCK_DIVIDERS_CH1 | 0x15 | 0x1001 |
CONFIG | 0x1A | 0x5401 |
MUX_CONFIG | 0x1B | 0x020C |
RESET_DEV | 0x1C | 0x0000 |
DRIVE_CURRENT_CH0 | 0x1E | 0x9000 |
DRIVE_CURRENT_CH1 | 0x1F | 0x9000 |
With the Error Config register set to 0xF800, as well. These settings should permit me a ~.25 micron resolution, according to the spreadsheet. Yet, here is my recorded plot of the distance (relative to 2mm center point):
As very clear, there are entire ranges of axial movement where no change in the data code is recorded at all. If it's relevant, in the DATA_MSB_CH1 register, the Errors bits are all zero, except for CH1_ERR_AE which is high each time I read it (yet the Status Register does not say there is a problem, for some reason).
Thanks in advanced!