How to Connect a Switchboard to Arduino

arduinomultiplexer

Sorry if this is a simple question, but I‘m quite new to Arduino. What I‘m looking for is a way to connect 100+ strain gauges to one Arduino board.

Now, those each need a separate ADC (HX711) to convert the input from snalog to digital (best would be if only 1 was needed)(Also, I use 3 resistors to make it a quarter-bridge, so only 1 strain gauge per HX711 is needed.)

What I thought would be a good way, is to connect the HX711 to the Arduino like normal, but also connect the Arduino and the HX711 to something like a switchboard, in which the Arduino tells it to which setup to connect to, and the switchboard then changes the connections (pretty much like a transitor.)

Not sure if I‘m clear here, so something like this:

(This – means connected to)

  1. Arduino – HX711
  2. Arduino – Switch
  3. HX711 – Switch
  4. Switchboard – StrainGaugeQB [1,2,3,4…100] (All 100+ quarter bridges = 400 wires.)

Something like this: It‘s not really a masterpiece, but I think it‘s clear

Basically, the Arduino switches between which strain gauge is to be read currently. Although they should at the end still each be read at least 4-5 times a second.

I read something about multiplexers, but they don‘t seem to be exactly what I‘m looking for. They seem to be only serial, or did I get that wrong? They only have one in/out connected, but if it‘s not serial, could I maybe use 4 or those each getting one of the wires of the HX711? Something like multiplexer 1 being connected to wire e+ of multiple quarterbridges, 2 being e- of those, 3/4 being connected to their a+/a-?

Best Answer

i use 3 resistors to make it a quarter-bridge

I don't see your wiring in the schematics, but if what you are doing is what I think, then you basically killing the performance of the strain gauge. Not a good idea. You need to switch all four lines.

Also, i read something about multiplexers, but they don‘t seem to be exactly what i‘m looking for

You were reading about wrong multiplexers. What you are looking for is called analog switch, and it is designed exactly for switching analog signals.

Some of them controlled by binary address lines (e.g. ADG726), others have internal shift register (e.g. ADG725). In first case you need more free control lines but can randomly access any specific gauge. In the second case you save control lines but an access is sequential.

The problem, however, is that analog muxes will affect the signals somewhat, reducing precision and linearity of your measurements. So, it all depends on your requirements.

For better precision you could use a hundred 4PST relays, but those are more expensive than HX711 modules and need additional switching circuits.

I think the best solution would be to use multiple HX711 permanently connected to their gauges. Since you are talking about hundreds of gauges, they cannot possibly be located in close proximity to the control board. Running analog signals all the way from the gauges to your "switchboard" will be another way to look for troubles.

By placing HX711 next to each gauge you will be shifting wiring into digital domain, greatly improving resolution and simplifying switching. In this case you can still use analog muxes mentioned above but since you only be switching 2 lines you need only half of chips and wiring is easier.

UPDATE:

You've commented that you are going to look into ADG725. Unfortunately, ADG725 does not have carry output, so you'd need additional lines to select groups of MUXes. Using directly addressable ADG726 MUX might be more convenient.

Connect clock pin to 7-bit counter (74HC4024), connect first 5 bits of counter to address inputs of all muxes, then use decoder chip (74HC138D) to convert next two bits into 4 enable lines for groups of muxes. This will enable you to switch up to 128 gauges with only 2 pins (3 if you count optional "clear" signal).