ADC signal conditionning for "advanced" joystick output

Thread Starter

kiweered

Joined Dec 13, 2021
28
Hello,

I have a Hall effect Joystick with the folowing characteristics :
Capture d’écran 2024-04-05 à 20.32.24.png

I will connect this joystick to a ADC integrated to a 3.3V MCU. Because Vref(MAX) of the target MCU is 3.3V, I can't connect it directly to it.
My solution for now is the folowing : I scale down the proportionnal output of the joystick to a 3.3V acceptable value with a simple voltage divider.
I don't realy have any information regarding maximum load impedance for ADC input on this MCU, but the voltage divider increase the Joystick output impedance and to ensure propper SAR conversion, I added an op-amp buffer to be sure. And a RC low pass filter, the signal from the joystick output is rather slow so low cutoff frequency is ok, here 15kHz approx.

Capture d’écran 2024-04-06 à 00.10.28.png
The thing is, that the joystick also has a Center Tap output pin, which is VDD/2.
The outputs are ratiometric, making a stable, noise free, power supply essential. Thus, measuring the voltage outputs relative to CT rather than GND eliminates inaccuracies created by variation in supply voltage. I was trying to find a solution to do so. The ADC can't do differential measures so I was looking at op-amp solutions. I don't want to include dual rail supply and I haven't find a circuit that do differential V(OUT_X)-V(CT) measure with offset and gain to acheive [-2.5 to 2.5]V to [0-3.3]V with single supplied op-amp.

Can you think of an easy/relatively cheap BOM solution ?
If not, I will also connect CT to an other input of ADC to do V(OUT_X)-V(CT) in software, but I think it's cool if I can learn an analog way of doing do.
If you have comments on the actual solution (voltage divider + opamp buffer + low pass filter) regarding components and values I'm open to critics :)

Thx all

EDIT : I forgot to say it's ok if the output is inverted (-2.5 when max travel, 2.5V when min travel) it's just some software considerations after.
 
Last edited:

MisterBill2

Joined Jan 23, 2018
18,975
OK, interesting problem. One option is to power the op-amp from a higher voltage so that it can handle the larger output from the stick without any scaling. Use a reasonable series resistor for the op-amp inverting input so that you can have another input of a DC voltage to provide the required offset. If you use a dual op-amp IC, then the second one can provide another inversion at unity gain so your signal will have the right polarity sense. But you will need a higher voltage power supply, such as +5 and -5 volts. you might be able to make it work splitting a 12 volt supply, I have not worked out that arrangement.
 

ericgibbs

Joined Jan 29, 2010
18,994
gain to acheive [-2.5 to 2.5]V to [0-3.3]V with single supplied op-amp.
Hi kiw,
As both Hall outputs have a common 0V, the Vhall voltage is +0.5v to +4.5v and the CT is +2.5v

E
 
Last edited:

dendad

Joined Feb 20, 2016
4,495
Why not just use a couple of voltage dividers, both the same, each feeding to a different ADC input? Run one from the variable output and the other from the CT point. Then you can measure both and work out any drift or other variations as you know that the CT must be the center "zero" position.
 

ericgibbs

Joined Jan 29, 2010
18,994
Hi den,
I agree that would be my choice, but he states.

If not, I will also connect CT to an other input of ADC to do V(OUT_X)-V(CT) in software, but I think it's cool if I can learn an analog way of doing do.

E
 
Top