I am trying to run 4 dc motors off of an Adafruit motor shield. However, on one of the terminals, the motors are only getting 3 volts rather than 12. When I press the reset button on the shield, the motor then gets 12 volts for a couple of seconds and when I hold it down it gets constant 12 volts. Sometimes when I press the reset button the motor gets no voltage rather than 12 volts. I cannot see any shorts or bad soldering anywhere so I am really confused.
Is that with or without the motors connected? Did you try putting different motors on different terminals to eliminate the possibility of a bad motor? How is the power to the motor shield supplied? Shared with the arduino board or separate?
Try using a wall transformer to power it all. Your AA batteries probably aren't getting it done. If they can't supply the needed current, voltage will sag.
Sounds like you have a burned chip on your motor driver shield. I've fried the TB6612 MOSFET driver chip on those boards before. The board has two of these chips. One for M1 and M2 and the other for M3 and M4. If that is the problem, you can still use the other half.
I tried another driver and I still have the same problem. Meanwhile, I stacked two boards together so I can use ports 1 and 2 on both the top and bottom boards.
Hi,
What Adafruit shield?
Does it have an Adafruit Library?
If so what examples do they have and have you tried them?
What motors are you using, can you post a link to specs/data?
Can you post a circuit of how you have your project connected?
Can you post a picture of your project so we can see your component layout.?
Can you post the code you are using please?
Have you got some code to JUST control one motor?
Do you have a DMM to measure some circuit parameters?
Little busy right now to draw a circuit, but it is simply the shield on the arduino. 12 volts supplied through a switch to the shield. Running the Arduino off of USB. Have two motors plugged into each terminal. I get 12 volts on the terminal closest to the 12v input and I get closer to 6 on the other side. Currently, to bypass having to use the terminals which aren't working, I have two shields stacked on each other with motors plugged into terminals 1 and 2 on each. This works fine for now. f
Project is in a lab right now so I can probably send a picture tomorrow.
I have run the motors individually before, the code above is with the stacking. That is the only difference. If it was unstacked, myMotor3 and 4 would be in AFMSbot.
Yes, I have tested the shield with the multimeter, but have yet to test the Arduino itself.