Advice for the best Touch Panel A/N circuit (or resistance-to-digital)

Hello,

I want to digitize some sensors and a touch panel with a FPGA. FPGA allow a certain flexibility but good external analog parts are necessary.

In my context, the trouble comes from the screen's touch panel (classic low-value resistor type with 4 wires). I know that it is very sensitive to the environment (temperature, power supply, interferences...) and drift is very annoying (1% is maximum allowable) so precision parts are required (a good analog comparator instead of just a digital CMOS input, low-drift capacitors etc.).

My current idea is to create a VFO where only the touch panel resistance influences the frequency. The FPGA counts the number of edges during 1/50s (given by a Xtal) and this gives a ratio of the resistance, software then scales the results.

But I also want to make it consume as little current as possible. This seems difficult to reconcile because the higher the frequency, the better the converter resolution, but also the more edges and power consumption.

Does anybody know a better method that is simple, economic, power-efficient, reliable and stable ? What type of circuit is commonly used ?

thanks for any insight, yg

--
http://ygdes.com / http://yasep.org
Reply to
whygee
Loading thread data ...

There is a note on our web site about a simple touch switch that we have used in many applications for 25 plus years

formatting link

We have used this approach to implement a full keyboard and individual switches. No contact is needed a switch panel can (should) be covered with an insulator.

Contact me offline if you have questions.

Regards,

-- Walter Banks Byte Craft Limited

formatting link

Reply to
Walter Banks

4-wire analog resistive touch panels are usually driven so as to make them "potentiometers" (*not* "variable resistors"). So they are not generally particularly sensitive to temperature in my experience.

You put a voltage across Y+ and Y-, then use an X electrode as the "wiper" of the potentiometer to read the Y position. Then switch things around to put the voltage across X+ and X-, then use a Y electrode to read off the X position.

The voltage is thus independent of the resistivity of the touch screen to a first approximation.

If you are going to use one instead as a variable resistor that seems to be asking for trouble.

I usually use some spare analog inputs on a microcontroller and some switched I/O port pins. But you can get "stand-alone" touch screen controllers too which will enable a pure digital interface to your FPGA. Are some of your sensors analog (i.e. have you already got an ADC in the system)?

--

John Devereux
Reply to
John Devereux

Thank you. However, I was maybe not specific enough : my OP was about a LCD touch pannel, this gives X,Y position.

YG

--
http://ygdes.com / http://yasep.org
Reply to
whygee

Oh then it explains why I couldn't figure a suitable method :-/ thank you very much for this explanation !

maybe from Maxim or ADi... if it's not too expensive.

I need about 8 A/D with at least 10 or 12 bits at about 50 to 100Hz. Maybe an integrated 16-bit 8-channel ADC with internal MUX would work. I can even use an existing SPI bus to reduce the pin count.

Or I could dedicate a dumb PIC to this task. It would sequence the measurements and serially send the results to the FPGA with a few pins.

Ok so now I'm on the right tracks, thanks :-)

yg

--
http://ygdes.com / http://yasep.org
Reply to
whygee

So Maxim has the right part : MXB7946 which comes with an additional temperature sensor, battery voltage converter and a free/spare A/D chanel.

Issue solved :-)

yg

--
http://ygdes.com / http://yasep.org
Reply to
whygee

Well that's cheating!

--

John Devereux
Reply to
John Devereux

Is this an acknowledgement that I'm growing up ? ;-)

The chip does the requested work (and even a bit more), it is not too expensive (well, in quantities), it interfaces with SPI (which I use a lot in this design), it consumes the least possible power, it has enough resolution, it takes less room than a discrete version and it requires no programming from me (unlike if I used a PIC). (Well there is some kind of SPI protocol to manage but it's well explained in the datasheet).

I would be silly to not use it.

However, digging in this subject taught me a lot, and I intend to reuse this with PICs, as cheap and friendly interface for gadgets that I could develop in the future :-) (where power draw and precision are not critical).

regards, yg

--
http://ygdes.com / http://yasep.org
Reply to
whygee

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.