Skip to content
Snippets Groups Projects
Commit c6815f61 authored by David Preiss's avatar David Preiss
Browse files

Update README.md, images/LDC1101_reading1.mp4, images/frequency_response.mp4 files

parent a691fdf3
Branches
No related tags found
No related merge requests found
# Inductive Encoder
## HTMSTMAA Week 8 - 4/22/21
This week I managed to get the LDC1101 configured and up and running, and in the process switched over to an [STM32L432KC](https://www.st.com/en/microcontrollers-microprocessors/stm32l432kc.html) in Nucleo form, which is a cortex M4 clocked at 80 MHz with an FPU, and most importantly gives straightforward access to timer peripherals (my struggle last week was that after configuring a timer on the Feather M4, it seemed to promply get overwritten by Arduino's USB peripheral). Ultimately this will make more sense considering I would like to integrate this sensor into a closed loop stepper driver that I also built on ST hardware.
ST micros require an ST-Link for programming and debugging, which is a dedicated programmer with their own M0 MCU on board. For their lines of pre-broken-out microcontrollers (Nucelos or Discovery Boards), akin to what we all think of as an Arduino, they supply an on-board version of the ST-link, often with break-away tabs. They make it simple to perform in-line debugging with breakpoints, but if you want to actually start reading out data in real-time, the simplest way to do it is actually to talk with the St-Link over UART. It took me a while to figure this all out, but [Here's an excellent + straightforward guide to getting serial communication up and running if you're curious.](https://deepbluembedded.com/stm32-debugging-with-uart-serial-print/)
[Here's a link to the sensor up and running.](./images/LDC1101_reading1.mp4) It's incredibly sensitive (24 bits) and for context is resolving the motion of an aluminum plate attached to that stage, at 25um / revolution, so should be easily into nanometer range. The sensor is also far from configured properly, and allows for plenty of swapping between resolution, peak measuring range, and refresh rate. Lots of work left to do towards this end!
And lastly [here's the actual frequency response of the LC circuit changing as a large chunk of aluminum is brought over the coil](./images/frequency_response.mp4) It's hard to make out, but it's varying between 1.4 and 1.6 MHz, where frequency increases with the presence of aluminum. Steel had a similar, but slightly less prominent response (although the two pieces of metal were very different sizes so don't read into that too much). The steel target also reduced the amplitude of the response, and yielded cleaner, presumably less noisy oscilations.
## HTMSTMAA Week 7 - 4/15/21
This week I switched gears from working on the dynamometer and set out to start communicating with the [LDC1101](https://www.ti.com/product/LDC1101) from TI. The LDC1101 is an inductive to digital converter that uses an external [LC tank circuit](https://en.wikipedia.org/wiki/LC_circuit) to measure changes in impedance (Rp measurement mode) or resonant frequency (LHC mode) of the oscillator, relative to the change in presence of conductive or magnetically permeable materials respectively. Despite the existence of plenty of inductive to digital converters on the market (many of which are 2 or 4 channel devices in a single package), the LDC1101 is the only one I could find that uses SPI, and has a sample rate fast enough for high speed rotary encoding. These encoders are a bit of a bear to configure, and require multiple spreadsheets and a pretty thorough read through the datasheet. With that said, there aren't many other sensing options that provide 24 bits with noise this low, and with SPS + communication this fast.
......
File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment