Might put some small caps between the pot signal wire and the ground to kill noise. They might be acting like giant antennas.
You also could try stronger pull-ups on the i2c. -Jerry > On Mar 9, 2015, at 1:24 PM, Jim Larson <[email protected]> wrote: > > Following is a description of a problem I'm having in a motor control system > I'm working on down here in Sunny San Diego. Any thoughts or insights would > be most appreciated. > > I have 8, 10K linear pots. The wiper of each pot is tied to an analog input > of an Arduino Mega (Analog pins 0 to 7). One end of each pot is tied to the > 5V rail; the other to ground. The pots are located 3 to 8 feet from the > Arduino. I have a header for the power connections and another for the > grounds. A wire from each header connects them to the 5V and GND connections > on the Mega. There are 6 motor driver shields (ADFruit Motor Shield V2) > stacked on the Mega and the header connections actually plug into the top one > of these. My problem is that connecting the headers to the Mega with all the > pots connected to the headers causes the motor shields to fail > initialization. When I connect the headers with only 6 (maybe 7) pots > connected, works fine. If I connect the last one or two pots, it fails. If > the two headers are not connected, all is well. Motor boards initialize just > fine. If I connect even the ground header(!), the initialization fails. By > fails, I mean that somewhere in the initialization of the very first board, the driver code hangs. I have not yet tried to find exactly where the driver code hangs - I don't think that's where the problem lurks. > > Voltages measure just fine. That is, the Arduino rails measure 4.99V between > them with the headers connected or not connected. Using an external supply to > drive the Arduino doesn't change anything. I'm considering an independent 5V > supply for the pots, but I'm not convinced that will solve the problem (since > I don't know what the problem is.) > > Resistance between the headers measures about 1.3K - what you'd expect for 8, > 10K resistors in series. > > One possible clue: the motor shields use I2C for all control. That could be > my "canary". > > Something that bothers me: There is a measurable voltage on the headers when > they are not connected to power and ground. (4.99V). Since the wires only > connect to each end of the pots and should not be connected to the circuitry > otherwise, I don't know why this voltage should exist. The wipers of the pots > are connected to the Analog pins of the Arduino Mega. I am assuming that > these are configured as inputs by Arduino and should not be sourcing any > voltage, right? So where is the voltage coming from? Is it induced by > voltages elsewhere in the system? The resistance measurement does not > indicate a short anywhere. > > > --- > This email has been checked for viruses by Avast antivirus software. > http://www.avast.com > > _______________________________________________ > dorkbotpdx-blabber mailing list > [email protected] > http://music.columbia.edu/mailman/listinfo/dorkbotpdx-blabber _______________________________________________ dorkbotpdx-blabber mailing list [email protected] http://music.columbia.edu/mailman/listinfo/dorkbotpdx-blabber
