Introduction
This board was developed to enable me to test the Freescale semiconductor MC34940E, 7 button capacitive touch sensor IC.
Unlike similar capacitive touch IC’s on the market this device is a lower cost version to some of the alternative parts available on the market, which have internal noise rejection, DSP filtering and digital output. This device instead can therefore be considered more as an analogue multiplexer, and button driver, this therefore means the controlling MCU must preform the analogue to digital conversion and DSP filtering.
In this project I developed a fairly cude LPF in software, which simply detects a moving mean over a 1 second time period, then looks for a sudden change in level indicating a button press, when the button is released the old level before the button is restored.
The moving mean filter is neccessary since the capacitance that is being sensed is very small reliative to the baseline capacitance change that can occur due to ambient changes in the enviorment due to changes in humidity, for misalignment of the top surface etc.
A delta threshold value which must be exceeded is incorporated in the software this value must be determined experimentally for the desired application.
Finally a basic level shifter was built on breadboard to enable to me to test this design, as this device is intended for automotive applications it uses 12V supply rails instead of the 3.3V or 5V used on most integrated capacitive touch devices. At first sight it might be thought this is a disadvantage, it is in fact an advantage in noisy applications since it increases the SNR of the recieved signal.
Images
Top of PCB showing just two though hole electrolytic capacitors and a 10 way connector, the presses can be sensed from this side.
Bottom side showing all SMD, note the wire jumpers have been used here to connect the touch pad buttons, however 0R resistors can also be used.
Downloads
Software (AVR GCC)
Schematic of board
Schematic of level shifter (Breadboard)