I want to test the analog inputs of a CD4051BE multiplexer, so I created four voltage dividers in order to measure four different values of analog input. I connected them to the I/O0 – I/O3 ports of the IC and connected the output port of the IC to the analog input of an arduino board.
After that I read the values of each one voltage divider using the select lines, and it worked as expected.
I have five pieces of CD4051BE in my possession (bought from the same shop), so I decided to try them all. I was surprised by the fact that every each one was delivering different values, about 5-10% of maximum value.
Mt guess is that it happens due to a slightly different internal resistor for each one IC. If this is the case, how can a multiplexer be used for manupulation of several analog sensors, since accuracy errors occur?
Best Answer
I have just repeated your test with 3 random different 4051 ICs.
I just used a DVM to measure the voltage on the multiplexed pin - pin 3.
In each case, the voltage on pin 3 was the same to 3 decimal places and was the same as the voltage on the potential divider on the input.
I presume the problem must be in the way you are reading the analogue input. Have you tested the voltage on pin 3 with a DVM to verify your results?