How can I read 96 input channels with minimal hardware and noise?

  • Thread starter Thread starter _Bd_
  • Start date Start date
Click For Summary
SUMMARY

The discussion focuses on selecting an integrated circuit (IC) solution for reading 96 input channels with minimal hardware and noise. Two primary options are proposed: Option A involves cycling through all 96 inputs sequentially, while Option B allows for real-time monitoring of 18 channels by identifying connected sensors. The use of multiplexers, specifically the DG406 from Maxim Integrated, is recommended to manage the input channels effectively. The conversation emphasizes the importance of understanding the sensor types and their power requirements for optimal circuit design.

PREREQUISITES
  • Understanding of analog and digital sensors, specifically temperature-dependent resistors and EEPROMs.
  • Familiarity with multiplexers, particularly the DG406 model for channel management.
  • Basic knowledge of Arduino microcontrollers for data digitization.
  • PCB design principles for integrating multiple sensors and components.
NEXT STEPS
  • Research the specifications and applications of the DG406 analog switch/multiplexer.
  • Learn about digital temperature sensors, such as the DS18S20, and their integration into existing systems.
  • Explore PCB design techniques for minimizing noise in sensor circuits.
  • Investigate calibration methods for temperature sensors and the use of EEPROMs for storing calibration data.
USEFUL FOR

Mechanical engineers, electrical engineers, and hobbyists involved in sensor integration and data acquisition systems, particularly those focusing on temperature measurement applications.

_Bd_
Messages
107
Reaction score
0
Hi,
Im working on a project that could potentially do 2 of the following. I am a mechanical Engineer and I don't know much about electrical engineering, bu talking to a friend of mine who is still studying EE, he gave me his input which I felt was not the best option, I hope you guys can help me clear my mind a little on what is the best solution:

What I need is an IC that can read many inputs or somehow, sort through options and only use the ones connected.Option A:
Cycle through 96 inputs, this option would basically read 96 resistances from each sensor position in sequence and output all the data through a single channel 96 times. It will be more time consuming and would not allow for real-time monitoring, however it would allow for all 96 sensors to be used at the same time.Option B:
Real-time limited monitoring: This option would allow to monitor 18 channels (I am limited to mulitples of 9), in this case the IC would go through all 96 channels, locate only those that have a sensor connected to them (if its not an open circuit, then there is a sensor in there), number them in a logical way (so that always the top row leftmost is no.1 and bottom row rightmost is no. 18) and output real-time data in 18 parallel channels.
My question for both options or either option (whichever you think is more convenient) is:
- How would I go about selecting an IC for this? what chip should I use? Arduino? or some other one?
but my main concern is, AFAIK arduinos don't have 96 input channels and 18 output channels, so how would I go about reading all 96 ? As mentioned my friend told me that you would need things that group X amount of positions into clusters, and then once you reduce 96 to say, 8 clusters of 12 then you can use a regular IC with 8 inputs and 1 output or 8 inputs and 18 outputs. (something more reasonable).

I don't know if this is the best option, I was thinking about TV's, their processors control each pixel individually, and I don't think they have an IC with 2084400 inputs and outputs, and I doubt they have clusters, because that number is way too big to be reducing it in a pyramid, plus I believe that would add noise to the signals if you keep clustering them.
So, once again, if TL:DR:

- How to read 96 channels using the least amount of IC components? and with the least amount of noise.

What hardware should I use? How should I set this up in my PCB?
 
Last edited by a moderator:
Engineering news on Phys.org
So you are tasked with completing either option A or option B. Real time will be more complicated.

What type of sensors will this interface with?
How fast are the sensors required to be read?
What will the data be used for.

These are all important questions that NEED to be answered when you leave your problem statement that open ended.
If you narrow it down (aka "I need to read 96 sensors that each have to be read at least once per second and the data has to go into memory") then we can advise on hardware.

edit: very important also is digital or analog sensors
 
Ok, thank you for the reply.

The sensors are a set of values:

Each sensor has a 5 pin-interface (Only 4 pins used):
Pin 1 and 2 go to a temperature-dependent resistor (so an analog device)
Pin 3,4 go to an EEPROM, that stores the calibration values of the resistor in place (it contains the values of temperature associated with the values of resistance)
So, I don't know if that's considered digital or analog, maybe both?

About the options, the faster we can read all the better, or if real time monitoring is possible, I believe that might work as well, but you say its difficult. so let's go with option A
 
_Bd_ said:
Each sensor has a 5 pin-interface (Only 4 pins used):
Pin 1 and 2 go to a temperature-dependent resistor (so an analog device)
Pin 3,4 go to an EEPROM, that stores the calibration values of the resistor in place (it contains the values of temperature associated with the values of resistance)

How is the EEPROM powered? Is power available at each sensor? How far apart are the sensors placed? How long are the wires to the sensors? How (electrically) noisy is the environment? I'm assuming that the EEPROMs are programmed at some calibration time for each sensor?
 
What format do you need the data in? If analog readout of the sensors is good enough?

The easiest way to go for sure will be to use a reference resistor and then switch the temperate dependent resistors in series with them one at a time, recording the voltage you get (configure them as a voltage divider).

You might be able to use this part for example: http://www.maximintegrated.com/en/products/analog/analog-switches-multiplexers/DG406.html

You would need 7 of them to read out 96 sensors (96/16 + 1). Then an Arduino would be easy to use to digitze this if you need to.
 
And have you considered using something like these digital "1-Wire Serial" temperature sensors?

http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/DS18S20.html
 
berkeman said:
How is the EEPROM powered? Is power available at each sensor? How far apart are the sensors placed? How long are the wires to the sensors? How (electrically) noisy is the environment? I'm assuming that the EEPROMs are programmed at some calibration time for each sensor?

Well, the EEPRROM has a single in/out wire, a Vcc and a GND. I am still researching to see if I can share ground with the resistor, if that's the case I will only use 4 pins:

1- GND
2- Resistor
3- Vcc
4- Data In/out

if its not possible I will use all 5 pins:
1 - GND
2 - Resistor 1
3 - Resistor 2
4 - Vcc
5 - Data In/out.

This circuit will be in a PCB, except for the temperature dependent resistors, they will have lead wires of about an inch
About the format of the data, I think analog would be fine. This whole assembly will later be connected to a computer which will log the data and convert resistances to temperatures. However it does need to read the calibration data off each resistor (I assume the data on th EEPROMs is digital, so I don't know if this is some sort of mixed signal or if it can be just boiled down to pure analog).

About the mulitplexers, this was what my friend was talkign about (the clusters things). I just forgot the name on my opening post. I do wonder tho, do TV's have hundreds of mulitplexers? or how does a TV controll all millions of pixels independently?
But yes, mulitplexers are my plan-B in case I can't find any more efficient, less-populated way of wiring the PCB.
 
What do you think about my suggestion in Post #6? Seems like a lot cleaner solution is to just use digital temperature sensors and read them all over a single serial bus...
 
I don't really understand that link very well, from what I gather its a whole device in itself right?
The thing is that I am trying to make a probe for a meter I already have.
I already have the meter with a very good processor that can measure up to .002 C. the problem however is the actual sensor itself.
While sensors can be just tubular probes, needle probes, surface probes etc. there's a very particular type of probe I am trying here, its like a surface probe, but its very large and has a lot of "positions" in which you can place your actual sensor.
 
  • #10
An off the shelf meter or data acquisition system made by a reputable vendor, like Fluke, Kiethly, or Agilent, is a valid solution. Specialists have worked long hours to overcome scores of problems that your common EE won't be cognizant of. Also, these companies have established the validity of their products performance through long term testing with NIST or an equivalent body.
Chips are only as good as the way they are used, and it is a very rare EE that understands how to design these products.

As to making precision temperature measurements in small / weird spaces, I've had some success with the Minco platinum RTDs. They will not give you anything close to the accuracy of a reference device, but if you access to a metrology group with a precision temperature bath, they can collect two or three data points giving you a temporary tertiary reference (i.e +/-.01C). Generally, it doesn't matter weather you achieve such accuracies because you will measure a weighted average of the measurement point and the environment.
 
  • Like
Likes   Reactions: berkeman

Similar threads

Replies
3
Views
2K
Replies
5
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
Replies
9
Views
5K
  • · Replies 24 ·
Replies
24
Views
5K
Replies
9
Views
4K
Replies
2
Views
2K
  • · Replies 38 ·
2
Replies
38
Views
5K
  • · Replies 13 ·
Replies
13
Views
2K