Pressure Sensor Readings with Minimal Analog Pin Availability

Thread Starter

ecePerson

Joined Nov 24, 2022
2
Hi,

We are trying to create a project which uses an Arduino Nano to obtain pressure sensor readings from 8-10 sensors. The problem we are running into is that the nano only has 8 analog pins. Of the 8, 2 will be used for a serial connection to an accelerometer, leaving us with 6 analog pins.

We have looked into using a multiplexer but were wondering if there’s a way to do this purely with voltage ratios. We found this schematic online but can’t make much sense of it

1669311196592.png
TLDR;
  • Can use max 6 analog pins (i.e. can only measure voltage at 6 points)
  • Need to read in 10 (8-9 would also be acceptable) separate voltage values

Is there any way to create a circuit from which we could obtain 9+ voltage readings using only 6 measurements, keeping in mind that the pressure sensor works by giving us variable resistances depending on pressure.

Any help is appreciated!
 

MrChips

Joined Oct 2, 2009
27,670
Welcome to AAC!

The straight forward solution is to use a single ADC input on the MCU.
Use a 16-channel analog multiplexer such as CD4067 or ADG406 or DG406.
You can also use multiple 8-channel MUX such as ADG408 or DG408 in multiple ADC inputs.
 

Ian0

Joined Aug 7, 2020
6,677
GO for the straightforward solution! The complexity of driving the switches and working out the results will far exceed the complexity of driving a 4067.
Also, am I correct in thinking that pressure sensors have quite low resistances? If so , you might be introducing lots of errors from the resistances of the switches.
 

MrChips

Joined Oct 2, 2009
27,670
In effect, you wish to measure the resistance of a number of resistive pressure sensors.
The first solution that comes to most people's minds is to measure voltage using an ADC.
There are other ways to measure resistance by direct conversion from resistance to digital. In effect, you create your own ADC using an MCU that does not even have an ADC.

Think time-constant = RC.

You can create a method that measures time digitally. Now you can select each sensor digitally and measure the resistance digitally.
 
Top