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

Reply via email to