5 4051 multiplexer chips (31 pots connected to 4 chips, all connected to "master" 4051)
6 4021 registers (46 buttons)
4 74HC595 registers (27 LEDs)
1 LM324D amp
Now I was thinking of separating the power lines like this
+5V from arduino to 4021+74HC595+LM324D, GND from each of those chips to arduino GND
+9V to 4051, ground from those chips to GND of 9V adapter.
Why? Because I've learned 4051 are really sensitive. When there is nothing connected to Arduino except from those mux chips everything seems to work fine, but the more stuff I add readings become worse.
What should I do? I do not have much experience with grounds and larger schematics like this (larger for me at least) so please advise me.
By "Arduino ground", are you using an actual Arduino board, or making your own PCB? If you're doing your own PCB, don't run from IC to IC, use planes instead.
Biggest thing is to use 100nF caps on each power pin to ground. Use a 10uF cap nearby each "group" of ICs to remove any power dips. If you're making your own board, a 100uF cap at the PSU entry helps too. If noise is still a problem, you may need to use inductors between noisy components.
SirNickity:
By "Arduino ground", are you using an actual Arduino board, or making your own PCB?
This whole project is on one PCB. There are two ground planes - one for 4051 chips and one for the other ones. I attached the picture. Do note that the board isn't finished yet. The first GND plane (upper) will be connected to Arduino and other (lower) to 9V adapters ground. Is that correct anyways?
SirNickity:
Biggest thing is to use 100nF caps on each power pin to ground. Use a 10uF cap nearby each "group" of ICs to remove any power dips. If you're making your own board, a 100uF cap at the PSU entry helps too. If noise is still a problem, you may need to use inductors between noisy components.
They call Vss ground, not Vee. We are talking about the CD4051, not the 74HC4051 though - there will
possibly be differences in thresholds.
I'm not sure you can reliably drive the control inputs from 5V when Vdd is 9V, it would be more common
for Vee = -5V, Vss=gnd=0V, Vdd=+5V from what I understand.
I'm having difficulties understanding this. So in short best thing to would be to just use Arduinos +5 power supply and use decoupling caps on every chip?
You only need the -ve where your "analog" signal is going negative. As it would for a very
small AC or audio signal.
If your input signal is a DC analog signal with the same +ve and ground limits as your circuit,
you don't need the negative input and you can connect both Vss and Vee to ground.
just to make sure that you don't get brown outs I would connect a LM7805 or buck ic to the 9V supply and connect all the 5V ic's to it. You cant overdo it with the decoupling caps.
vasquo:
It looks like the chips require split +/-5V supply.
No, they don't require it at all, they will run with the analog rails (Vdd, Vee) from 3 to 18V apart.
However the logic inputs are referenced to Vss and Vdd - this means that it makes sense to
have Vee at -5V if dealing with analog signals that are AC centred around 0V. In that case Vss will
be 0V to allow the logic inputs to work (Vss = 0V, Vdd = +5V, same as logic)
However you can common Vss and Vee if you want. However the logic rails need to be approximately
the same voltage as the analog supply then - the logic LOW/HIGH thresholds are between Vdd and
Vss. If Vss = 0V and Vdd = 9V then 5V logic probably won't drive it. A level-shifter would be needed.
Peertux:
just to make sure that you don't get brown outs I would connect a LM7805 or buck ic to the 9V supply and connect all the 5V ic's to it. You cant overdo it with the decoupling caps.
Okay is this acceptable then: 9V power supply regulated with LM7805 -> regulated 5V as source for every chip, including arduino?
EDIT: Does that even make sense, I mean, voltage from USB is also 5V. My guess would be that 5V from LM7805 is more stable, am I right?