2021-06-27: Designing a strain gauge digitiser board¶
Lately at $work, we wanted to check a couple of strain gauges glued to a steel structure. They weren’t in active use for the last 15 years and it was not even known if they are measuring anything. I didn’t have any suitable measurement instrument at hand. I asked whether the task is time critical or can wait for a month or so. It was a perfect opportunity to play a bit and design a strain gauge digitiser board for the NW-R platform.
We wanted to measure six strain gauges simultaneously at a rate of about 40 samples per second (let’s call it a dynamic mode) or at a rate of a single measurement per a couple of minutes. Exact sampling synchronisation was not a required feature, though I wanted to implement it as it allows you to see how the steel structure moves.
At first I though it is easily doable, but no. Simultaneous sampling converters for six channels and more are prohibitively expensive for this application, at least in the 24 bit range. Using multiple converters is an option but the price tag is the same. I didn’t want to lower the resolution to 16 bits but at the end I resigned from doing simultaneous sampling.
Anyway. picking up the right components in the middle of 2021 was an entertaining quest. Not because there aren’t any suitable, they simply cannot be obtained.
With these requirements, the set of available and obtainable options expanded. So only those converters offering the following features were selected:
analog input buffers to avoid using external op-amp buffers
multiplexer for multiple channels
programmable gain amplifier
external synchronisation option
AD7124-8 was finally picked up. It promised:
22 noise free bits
19200 SPS maximum data rate, which is much more than I require
PGA with gains ranging from 1 to 128
Because the strain gauges in question are 120 ohm and the low power consumption of the board is critical, a voltage lower than VDDA was needed for strain gauge excitation. A programmable excitation voltage with a regulator similar to TPS7A7200 would be the best, but let’s keep things simple for the prototypes. A low noise, high PSRR LDO TPS7A20 was selected, 2.8 V version for the VDDA analog supply voltage and the 1.2 V version for a fixed voltage strain gauge excitation. X2SON package looked pretty neat. A big mistake.
As I later found out, I didn’t comprehend the samples-per-second thing too and I missed some really important details.
For a MCU, I selected whatever I had in my stock. STM32L462CEU6 it was. Other parts were simply copied from older boards:
TPS6282518 for the digital power supply (VBUS -> 1V8)
TPS259531 as a hot-plug power switch and e-fuse
Power input section is my standard design for NW-R boards. C10, C16 and FB2 forms a filter preventing noise from the backplane, TVS1 is an ESD protection diode. Capacitor values are kept small to limit the inrush current. A hot-plug power switch follows with an enable/UVLO threshold of 2.4 V, which is a mistake (it should be set to 4.5 V rising). A 10 nF dV/dt cap limits output slew rate. 2k7 resistor on the ILIM pin limits the output current to about 0.8 A to prevent backplane power from collapsing should a board malfunction happen. C18, C38, C40 and FB3 form another low pass filter.
Power for the 1V8 digital domain is sourced by a TPS6282518 synchronous, low Iq step-down converter. It doesn’t require any external components except input and output caps and an inductor.
Analog regulators were selected on TI based on their noise and quiescent current consumption. X2SON packaged TPS7A20 was selected. 1.2 V excitation voltage was planned but as the 1.2 V version of the regulator was not available on Mouser at that time, 1.8 V was used.
AD7124-8 design was simply taken from the reference schematic provided by ADI. The only modified part is the reference voltage sensing and strain gauge excitation.
Digital power supply is filtered with C7, C9 and FB1 and decoupled with a 100n cap. VDDA is decopled with 100n and 1u caps and powered by the low noise VDDA LDO. Excitation voltage reference input is filtered with a 100n/1k RC low-pass filter (it is internally buffered). RN1 and RN2 series resistors in SPI and clock lines lowers the digital noise a bit.
Analog input comprises a series protection resistors, a cap across positive and negative input forming an antialiasing low-pass filter with the protection resistors and two 10n common mode filter caps.
Other parts of the schematic are standard. This time I didn’t forget LED driving mosfet transistors (they will not lit with 1.8 V).
After the schematic was mostly done, I started doing the layout. A more dense and shielded connector was required on the front panel. I selected a 36 pin MDR (mini D ribbon) - it fits nicely. Front panel mounting holes were removed. Front panel should be mounted using the connector itself. I checked the newly created component using 3D model provided by 3M.
Components were placed in multiple areas. A low noise analog part is on the left together with the MDR connector. Ground plane is cut around this area as per AD7124 recommendation. It is connected to the rest of the board directly under the ADC. Switching power supply is placed in the opposite corner (right top) to minimise interference with the analog part. VDDA and excitation voltage regulators are placed close to the ADC. 75 ohm resistor networks are in the middle between analog and digital parts.
Routing was done using 4 layers. Top and bottom are signal layers, inner top contains the ground plane, inner bottom has various power connections and power planes.
Boards were submitted for manufacturing on 2021-05-29. A 3 week wait follows…
Meanwhile I was trying to source all required components. I was lucky everything was still available. I forgot to order MDR connectors though.
Populating the prototypes¶
Components were soldered as usual, QFN and other “hard” SMT components first, passives, “big” THT components and finally connectors. Both boards were done in about 4.5 hour totals. Those damned X2SON regulators took nearly one hour to solder them properly.
Soldering components on the first two prototype boards, finished prototypes:
Preparing cables for sensor connections
Programming testing firmware