Other Blogs in this project
Forget Me Not Design Challenge Week 01: The Introduction
Forget Me Not Design Challenge Week 04: Tektronix TBS1052B-EDU Oscilloscope
Forget Me Not Design Challenge Post 05: EnOcean EOP-350 Universal Programmer Board
Forget Me Not Challenge Design Challenge Post 06: Cadsoft Eagle Schematics
Forget Me Not Challenge Design Challenge Post 07: Door Lock Monitor
Forget Me Not Challenge Design Challenge Post 08: Soldering Iron Monitor
Forget Me Not Challenge Design Challenge Post 09: Soil Moisture Monitor
Forget Me Not Challenge Design Challenge Post 11: Project Summary
Overview
My original cat feed monitor is shown in Figure 1. This cat feed monitor uses two methods to determine if the cat has fed. First, a Force Sensitive Resistor (FSR) [1] [2] is used to sense the presence of cat food in the bowl by changes in the weight in the bowl. The second method uses a capacitive touch sensor to sense when the cat was touching the bowl when feeding. A STM-332U temperature sensor reports the force setting through the set point monitor, and reports the touch input ADIO3 input. The capacitive touch sensor is an AT42QT1070 touch sensor breakout board from Adafruit [3] [4] [5]. The STM-332U temperature sensor, touch sensor, cu foil touch pad all mount on a platform that sits on a base with feet. On of the feet applies pressure to the FSR that is mounted on the bottom of the platform.
Figure 1
Design Update
I was concerned that the aligning all feet so one would center on the FSR would become too complicated. I revised the packaging method as shown in Figure 2. The electronics, touch pad and FSR are all contained inside a box with a transparent platform that can support any bowl of any material. The platform is hinged on one side and has the FSR that contacts a pedestal and disk on the opposite side. When a bowl of food or any mass is placed on the platform the FSR is compress between the platform and the disk and pedestal. The area of the disk gives some control over the sensitivity and measurement range of the force (weight) monitor. The transparent platform and box was fashioned by modifying a double thick CD case.
The FSR and a 10k Ohm resistor form a resistor divider that connects between SWPWR (switched power) and ground. The center tap of the divider connects to ADIO0. The voltage at ADIO0 is converted to analog by the STM-332U and transmitter out as the set point value.
The capacitance touch sensor is connected to a touch pad made of copper foil that rings the platform edges inside the box. When ever capacitance changes output KEY0 of the AT42QT1070 breakout board goes low. This occurs whenever something touches the platform near the foil touch pad.
Figure 2
Temperature Sensor Modifications
I modified the STM-332 Temperature Sensor as shown in Figure 3. A 1206 size resistor was soldered on the connector pins between ground and ADIO0. Wires with a single pin connector on one end was soldered to ADIO0 and ground on top of the resistor pad. The wire with a connector was soldered to the connector pad for WAKE0,. Two of these wires with connectors were soldered to SWPWR. The modification would still allow the module to be configured in the EOP-350 Universal Programmer Board (UPB).
Figure 3
Temperature Sensor Configuration
The STM-332U was configured with an EPP profile to report temperature, set point, and occupancy (see Figure 4). The threshold for changes in value that should be reported were lowered, and the sensor was configured to report values every 16 seconds to make testing easier.
Figure 4
Figure 5 shows the FSR and the little connector used to extent the pins a bit so that the pin connectors on the STM-332U temperature sensor module would hold on to them. The pins on the FSR are a little too short. These pins are crimped onto the plastic substrate and conductive ink. Soldering these pins melts the plastic substrate and isn’t recommended. The resistance ranges from open circuit with no pressure to about 500 Ohms with high pressure.
Figure 5
The touch sensor breakout board is shown in Figure 6. It provides for 5 touch pads but only one is used for this application. Touch port 0 is used (KEY0 input and Out0). The LEDs have been removed to minimize power dissipation and a 10k Ohm pull-up resistor has been replaced the LED for touch port 0 (modifications were made after the photo was taken).
Figure 6
Figure 7 shows all the modifications to the STM-332U. The single pin connectors on the right side go to the FSR, and the connectors on the left side go to the touch sensor.
Figure 7
Figure 8 Shows the STM-332U connected to the FSR and touch sensor board. A small block was used to apply pressure to the FSR. FHEM reports a set point value of 238. When no pressure is applied, then the set point value is 0 since the FSR is an open circuit.
Figure 8
Figure 9 shows the modified CD case with touch pad and some tests on the FSR, pedestal, and disk to determine location, sensitivity, and resistance range of the FSR for different weights. An empty beaker which is my bowl substitute produces a FSR resistance of 46k Ohms. I added 3 oz of water to the beaker and the FSR resistance drops to about 16k Ohms. The water is my substitute for a single serving of cat food.
Figure 9
Figure 10 shows the assembly of the temperature sensor module, touch sensor, touch pad (copper foil), and FSR all mounted in the inside cover of the CD case (the transparent platform).
Figure 10
Figure 11 shows platform mounted components, force pedestal & disk, and the alignment of the FSR with the force disk. Wood and plastic blocks were used to provide support between sections of the CD case. The center structure was too flexible. Adding the blocks made the structure rigid and coupled the forces to the bottom of the box and to what ever it is placed in.
Figure 11
Cat Feed Monitor Tests
The cat feed monitor was tested with different amounts water as a for substitute cat food (see Figure 12). The cat feed monitor reports a set point reading from 0 with noting on the platform, 65 with an empty beaker, 80 with a beaker with 1 oz of water, 95 with a beaker with 2 oz of water, 105 with a beaker with 3 oz of water, and 158 with a measuring cup with 16 oz of water.
Figure 12
There is a problem between the STM-332U WAKE0 input signal and the touch sensor KEY0 output. The occupancy switch never goes shows closed indicating that the touch pad has been touched. Figure 13 shows SWPWR on channel 1 and WAKE0 on channel 2. I’m so happy to finally measure the switch power signal. SWPWR goes high to 1.8 V for about 2 ms. The output of the touch sensor board (OUT0) is connected to WAKE0 and never goes low no matter how long you touch the touch pad.
I disconnected the touch sensor and connect a jumper between ground and WAKE0, and DolphinView reported that the occupancy button was pressed.
Figure 13
I disconnected the touch sensor from the STM-332U temperature sensor module and powered it separately and measured OUT0. It works quite well and I can touch the touch pad anywhere and get a good reading. I also tried removing the jumper between WAKE0 and UVDDext when the two boards are connected, but this did not help either.
Figure 14
Summary
The weight measure of the cat feed monitor is simple and worked quite well. The approach has the potential to make a nice low cost wireless self-power scale. The touch sensor IC and touch pad also worked well by itself, but I could not get the STM-332U to report that the cat feed monitor had been touched through the occupancy switch input (WAKE0). Using another input might be needed and more troubleshooting is required to determine the cause of this interface issue.
Video
References
[1] Adafruit, Force Sensitive Resistor
[2] Interlink Electronics, FSR 400 series Datasheet
[3] Adafruit, Standalone 5-Pad Capacitive Touch Sensor Breakout - AT42QT1070
[4] Atmel, AT42QT1070 Datasheet
[5] Atmel, AT42QT1070 app notes and documents