I want to hook up a resistive touchscreen to an ADC.
I'm new to electronics and experienced in developing software.
My intention is to learn, I would much appreciate it if you could nudge me into the right direction, pointing out the problems, rather than handing a solution.
Also I'm not native to the language, I might not get the words quite right, my apologies.
I got a 4-wire resistive touchscreen glued to the TFT panel "CFAF320240F-035T (320x240)"
and a "LPC2138" microprocessor board.
I have a 12V 300mA DC power source.
The source is powering the microprocessor, which is regulated to 3.3V;
and the backlight, using an uC output pin, transistor and resistors,
So i got 12V and 3.3V right away.
The ADC is specified with
- 10Bit
- voltage source interface resistance 40kOhm
- analog input voltage 0..VDDA; VDDA being 3.3V here
The documentation has little specification on the touchscreen,
by using a meter i got a resistance span of
- 300..600 Ohm.
I do not want to use an Op-Amp or a TS-driver-IC just yet.
In the following I just worked with the horizontal direction on the TS. These are all assumptions, I have absolutely no idea if or where I am wrong!
(Figure 1)
R8-300 + R-TP1-300 is the touchscreen, I don't know how to present that more adequately yet.
By using a voltage divider, ignoring the ADC's resistance, i get a usable voltage span of maximum 0,5661V;
at R_TS = 300 Ohm ADC_IN becomes 1.4139V,
at R_TS = 600 Ohm ADC_IN becomes 1.98V;
With the ADC that gets me 17%, or a span of 7 bit, about 175 points on the screen.
It also draws 3,8mA +- 0,6mA;
Now I would like to have at least 320 points horizontal.
(Figure 2)
This is where I got so far.
There are no numbers yet, since that is still a bit of a struggle for me,
I'd prefer to get the heading right first
- On the left I use the touchscreen plus resistor R6 to get the control current down.
- Next, T1, R1, R2 and R4 build up a current source which will be pulled down by
- R3 and T2.
Using R10, R6 and R5 I can manipulate the offset, using R3 I can scale the output.
C2 I put in since I believe I have to filter the ADC's input.
Is that an applicable approach? Where am I wrong or where do I miss things?
Thank you for your time.