64 pots controller question

Hi, this is my first post on this forum ..
i'm designing a 64 pots controller thats made from atmega328 and four 4067 multiplexers. The design is fairly simple, atmega will be populated with arduino code and output simple cc midi data thru serial midi. I've added leds for every potentiometer to show values via brightness.

I have to add that i'm not an educated electronician :slight_smile: so if you could point out some mistakes, things that could be done better .. i would appreciate it very much.
I've attached my schematics and board layout.

thanks
michael


First, as leds have a threshould voltage, they will light up only when pot is set more than half.
Second, they would not light up at all with pot value more than a few k Ohm.

I think you are going to have some problems with the LEDs. The brightness will not vary linearly across the range of the pot. Try it with one pot to make sure the effect you get is what you want. The loading of the LEDs may also cause the output voltage to be non-linear.

I hope the pots have a very high resistance since you have 64 of them in parallel between power and ground they will be drawing power. If the pots are 1k the array would draw 320 milliamps just sitting around. They should be at least 10k ohms.

You have through-hole components that are being soldered directly to the huge ground plane. This makes soldering difficult because the ground plane acts as a heat sink. You should provide thermal relief. Read this: PCB Thermal Relief | Inside a Poustinia.

i have already ordered 10k linear pots ..
what if i put a diode and resistor to lower the potentiometer resistance and make it kind of anti-log (like here http://sound.westhost.com/pots-f9.gif)?
will this help to light to leds?

thanks .. i will make termals for all components

thanks for reply

something like this maybe?

i don't have the parts to test it yet .. is there a chance that this will do the trick?

For your leds, i think it will be better to use a led driver like this one: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=MAX7219CNG%2B-ND, this one is used for the arduinome for exemple.

Hi, thanks for your tip.
Will this ic allow me to change brightness of individual leds?

No it will not. Changing the individual brightness for so many LEDs is a step up on what you are doing. You need something like four TLC5940 chips or one that you multiplex.

ok, for now i will try to do a test without driver ic's .. and than if it's not ok, i'll be back with some questions about tlc5940

thanks

i have one more question .. since all of you guys sugest a pwm controll for the leds .. i thought of another scenario

the idea is quite simple

  1. add a triangle wave generator that outputs 0-5v tri wave like this one
  2. put a small comparator for every led .. for instance MCP6541
  3. compare the triangle wave with pot output to generate proper pwm signal for leds

will this work?

Excellent idea! A sawtooth or triangle wave and comparator will produce an excellent PWM signal for the LEDs. If you run the oscillator at well above audio ranges you shouldn't have to worry about the signal leaking into any audio lines.

Now that I think about it, the triangle wave is definitely better than a sawtooth. With a sawtooth you would have many LED's turning on (or off) at the same time. With a triangle wave, both the ON and OFF times will be staggered based on the pot settings.

thanks, i'll make some tests on monday.

It is a good idea but for 64 LEDs it is heavy on the hardware. One TLC5940 or PCA9685 will control 16 LEDs with one chip.

I totally agree, it will be about 3 times more to solder .. but it will grab some pins and eat some resources from atmega which i could use differently

i don't mind to solder more :slight_smile: practice makes a master