This Sixth Sense design challenge is focused on sensors and this particular blog is focused on the TE Connectivity sensors that use a Wheatstone bridge architecture. Namely the FX1901 load cell and the KMT32B magnetic angle sensor.

The FX1901 load cell uses micro miniaturized piezoresistive MEMS strain gages fused with stamped stainless steel flexures. This impressive technology yields excellent long term performance at a low cost. As with most strain gage load cells, the output signal is about 20 mV per volt of excitation. This means the full scale signal (using a 3.3 volt supply) is only 66 mV. If we want to make good use of our A/D we need to amplify the signal by at least a factor of 50. It may be more in my case since my maximum weight is less than the full scale of the sensor.

In a Wheatstone bridge sensor the signal is measured between the mid points of 2 voltage divider resistance arms. This means both the negative and positive signals are sitting at approximately half the supply voltage and the signal is simply the voltage difference between these 2 points. We cannot amplify either of these signals by a factor of 50 without saturating at the supply voltage, so we need to amplify only the difference between the signals and translate it to a ground reference which is used by the A/D. One way to do this is to use a plus and minus excitation power supply so the voltage divider points sit near ground. Another way is to use an instrumentation amplifier.


Load Cell Circuit

For the load cell circuit I want to try using an  exotic amplifier from Maxim that uses an internal charge pump to provide a negative reference for the amplifier.

This will allow the load cell to have a negative rail controlled by an amplifier which forces one of the bridge nodes to precisely sit at zero volts, neatly minimizing offset in one arm. This allows the other signal node to be amplified and filtered by a normal amplifier, with any gain needed. Conceptually the circuit looks like this:

The first amp creates a negative voltage for the load cell which is about the same magnitude as the positive rail. This Maxim amp is a great (simple) way to force the negative signal node to zero volts which greatly simplifies the output amplifier. We can select any gain we want by changing R1.

In this case the gain is R2/R1 + 1 = 101.

The output resistor is just to ensure the amp is stable if the load or cable has high capacitance.

The Capacitor limits the amplifier slew rate, effectively providing a low-pass filter function. My application does not need any speed, so a heavy filter helps eliminate noise.

This load cell only operates in compression, so I only need to deal with single polarity output signals.

The full circuit below uses a voltage reference to supply the load cell, because the load cell is ratiometric. Changing the excitation changes the signal amplitude, so we want the excitation to be very constant. The load cell cannot be soldered to a card, so there is just a connector for the load cell.

The Load Cell PCB layout fits on a small card about 1" by 3/4". Note the test points which will allow the signals and reference voltage to be monitored by a DVM.

The documentation I have for this sensor does not explain how it is physically mounted or what exactly pushes on what, but it will be easy to figure out once the circuit card is working.


The Magnetic Angle Sensor Circuit

The KMT32B sensor has two Wheatstone bridge sensors physically angled at 45 degrees to each other.

The differential bridge signal of each bridge creates a sinusoidal voltage difference as the magnetic field rotates though 360 degrees.

Since sinusoids go both positive and negative, I cannot use the load cell circuit above.

I am going to use a similar circuit, but it will be biased to a reference voltage that is half the power supply. This will allow the gain stage to use the reference voltage as its "ground" and amplify the sinusoid about that reference - making full use of the A/D range. The MCU will also be able to read the reference voltage and subtract it to get a proper plus and minus sinusoid.

This circuit never goes below ground, so the Maxim amplifiers are not needed. Instead I want to use precision zero-drift op-amps. I chose a quad op-amp from ON Semiconductor for its low cost. NCS4333. I also used a low-cost zero-drift op-amp (from Microchip) to buffer the reference voltage because I had some in stock. MCP6021.

The circuit uses the same idea of dedicating one amp to force the negative signal node to the reference voltage in this case and a second amp to provide gain.

Here is the full schematic for the magnetic angle sensor:

Here is what the PCB layout looks like. It has even more test points but is about the same size as the load cell card.

The sensor chip is tiny - just over 2 mm (it almost fits in one of the 2 mm test points!) and the pads are only 0.25 mm so I made a special footprint with long pads so I can hand solder by "wicking" the solder under the pads. (because I don't have solder paste or a good way to re-flow it). The long pads allow excess solder to be dragged away from the chip and spread out enough to separate any solder bridges. (This is just my theory, not some standard soldering technique)

I'm not sure how close the magnet needs to be to the sensor, so I put the sensor chip by itself on the bottom of the card where there are no components to prevent getting the magnet very close to the sensor. I even needed to put a copper dot for pin 1 because there is no silk screen on the bottom.


Despite the analog nature of these circuits, I did not attempt to pour a ground plane. It is far more important to me to retain maximum flexibility for surgically altering the cards if I want to make changes.


I will give these one more check before ordering the PCBs and then it is a waiting game to see how long they take to get delivered.

In the mean time, there is still another PCB to design which includes an LCD and the RTD temperature sensor.

All of these circuits could have been put on the LCD card, but since I order 10 cards at a time, there may be other applications for these cards where I don't need an LCD.


The project has been languishing a bit due to other commitments, but the design is taking shape - at least in my mind.


Relevant Links

Sixth Sense Design Challenge: About This Challenge

Sixth Sense Design Challenge: Technical Documents

Sixth Sense Design Challenge


GraffitiBot Project Blogs

Sixth Sense GraffitiBot - blog 1

Sixth Sense - Kit Unboxing and Other Parts - GraffitiBot blog 2

Sixth Sense - Sensor Circuits - GraffitiBot blog 3

Sixth Sense - Interfaces - GraffitiBot blog 4

Sixth Sense GraffitiBot - System Interconnect - blog 5

Sixth Sense GraffitiBot - Wheels & Motors - blog 6

Sixth Sense GraffitiBot - ST Sensor Tile App - blog 7 

Sixth Sense - Load Cell PCB - GraffitiBot blog 8

Sixth Sense - Magnetic Angle Sensor - GraffitiBot - Blog 9

Sixth Sense - LCD Interface - GraffitiBot - blog 10 

Sixth Sense - Pump Controller - GraffitiBot Blog 11

Sixth Sense Main Drive Motor - GraffitiBot - blog 12

Sixth Sense Motor Controller Mods - GraffitiBot blog 13

Sixth Sense - RTD - GraffitiBot Blog 14

Sixth Sense Mechanical Design - GraffitiBot Blog 15

Sixth Sense GraffitiBot Motor Wiring - Blog 16

Sixthe Sense GarffitiBot - First Dry Run - Blog17

Sixth Sense GraffitiBot Hydraulics - Blog 18

Sixth Sense GraffitiBot Printing Graffiti - Blog 19 

Sixth Sense GraffitiBot - Summary - Blog 20